Module: Cucumber::Ast

Defined in:
lib/cucumber/ast.rb,
lib/cucumber/ast/step.rb,
lib/cucumber/ast/tags.rb,
lib/cucumber/ast/names.rb,
lib/cucumber/ast/table.rb,
lib/cucumber/ast/comment.rb,
lib/cucumber/ast/feature.rb,
lib/cucumber/ast/visitor.rb,
lib/cucumber/ast/examples.rb,
lib/cucumber/ast/features.rb,
lib/cucumber/ast/location.rb,
lib/cucumber/ast/scenario.rb,
lib/cucumber/ast/has_steps.rb,
lib/cucumber/ast/background.rb,
lib/cucumber/ast/doc_string.rb,
lib/cucumber/ast/tree_walker.rb,
lib/cucumber/ast/outline_table.rb,
lib/cucumber/ast/step_collection.rb,
lib/cucumber/ast/step_invocation.rb,
lib/cucumber/ast/empty_background.rb,
lib/cucumber/ast/scenario_outline.rb,
lib/cucumber/ast/multiline_argument.rb

Overview

Classes in this module represent the Abstract Syntax Tree (AST) that gets built when feature files are parsed.

AST classes don't expose any internal data directly. This is in order to encourage a less coupled design in the classes that operate on the AST. The only public method is #accept.

The AST can be traversed with a visitor. See Cucumber::Format::Pretty for an example.

Defined Under Namespace

Modules: HasLocation, HasSteps, MultilineArgument, Names Classes: Background, Comment, DocString, EmptyBackground, Examples, Feature, Features, Location, OutlineTable, Scenario, ScenarioOutline, Step, StepCollection, StepInvocation, Table, Tags, TreeWalker, Visitor