Class: Rley::ParseRep::ParseRepCreator
- Inherits:
-
Object
- Object
- Rley::ParseRep::ParseRepCreator
- Defined in:
- lib/rley/parse_rep/parse_rep_creator.rb
Overview
Utility class that helps to create a representation of a parse from a given Parsing object.
Direct Known Subclasses
Instance Attribute Summary collapse
-
#parsing ⇒ GFGParsing
readonly
Link to Parsing object (= results of recognizer).
Instance Method Summary collapse
-
#create(aBuilder = nil) ⇒ ParseTree
Factory method that produces the representation of the parse.
-
#initialize(aParsingResult) ⇒ ParseRepCreator
constructor
Constructor.
Constructor Details
#initialize(aParsingResult) ⇒ ParseRepCreator
Constructor. Creates and initialize a ParseRepCreator instance.
13 14 15 |
# File 'lib/rley/parse_rep/parse_rep_creator.rb', line 13 def initialize(aParsingResult) @parsing = aParsingResult end |
Instance Attribute Details
#parsing ⇒ GFGParsing (readonly)
Returns Link to Parsing object (= results of recognizer).
9 10 11 |
# File 'lib/rley/parse_rep/parse_rep_creator.rb', line 9 def parsing @parsing end |
Instance Method Details
#create(aBuilder = nil) ⇒ ParseTree
Factory method that produces the representation of the parse.
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/rley/parse_rep/parse_rep_creator.rb', line 19 def create(aBuilder = nil) a_walker = walker(parsing) a_builder = builder(parsing, aBuilder) begin loop do event = a_walker.next # puts "EVENT #{event[0]} #{event[1]}" a_builder.receive_event(*event) end rescue StopIteration => exc # Do nothing end a_builder.done! return a_builder.result end |