Sha256: 1e8f26ea90a9498aa887d7f205f8c72138e178749fff1f9d8145276342d32f48

Contents?: true

Size: 806 Bytes

Versions: 10

Compression:

Stored size: 806 Bytes

Contents

require_relative 'parse_rep_creator'
require_relative 'parse_forest_builder'

module Rley # This module is used as a namespace
  module Parser # This module is used as a namespace
    # Utility class that helps to create a ParseForest from
    # a given Parsing object.
    class ParseForestFactory < ParseRepCreator
      protected

      # Create a Builder, that is, an object
      # that will create piece by piece the forest
      def builder(aParseResult, _builder = nil)
        ParseForestBuilder.new(aParseResult.tokens)
      end
      
      # When a end vertex is re-visited then jump
      # its corresponding start vertex. This behaviour
      # makes sense for sharing nodes.
      def jump_to_start()
        true
      end       
    end # class
  end # module
end # module

# End of file

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
rley-0.5.14 lib/rley/parser/parse_forest_factory.rb
rley-0.5.13 lib/rley/parser/parse_forest_factory.rb
rley-0.5.12 lib/rley/parser/parse_forest_factory.rb
rley-0.5.11 lib/rley/parser/parse_forest_factory.rb
rley-0.5.10 lib/rley/parser/parse_forest_factory.rb
rley-0.5.09 lib/rley/parser/parse_forest_factory.rb
rley-0.5.08 lib/rley/parser/parse_forest_factory.rb
rley-0.5.07 lib/rley/parser/parse_forest_factory.rb
rley-0.5.06 lib/rley/parser/parse_forest_factory.rb
rley-0.5.05 lib/rley/parser/parse_forest_factory.rb