lib/rley/parser/parse_forest_factory.rb in rley-0.3.00 vs lib/rley/parser/parse_forest_factory.rb in rley-0.3.01
- old
+ new
@@ -11,11 +11,11 @@
def initialize(aParsingResult)
@parsing = aParsingResult
end
-
+
# Factory that produces the parse forest
def build_parse_forest()
a_walker = walker(parsing)
a_builder = builder(parsing)
@@ -37,16 +37,18 @@
# Create a Parsing walker, that is, an object
# that will iterate over the relevant nodes (= parsing entries)
# of a GFGParsing
def walker(aParseResult)
walker_factory = ParseWalkerFactory.new
- walker = walker_factory.build_walker(aParseResult)
+ accept_entry = aParseResult.accepting_entry
+ accept_index = aParseResult.chart.last_index
+ walker = walker_factory.build_walker(accept_entry, accept_index)
end
# Create a Builder, that is, an object
# that will create piece by piece the forest
def builder(aParseResult)
- ParseForestBuilder.new(aParseResult)
+ ParseForestBuilder.new(aParseResult.tokens)
end
end # class
end # module
end # module
\ No newline at end of file