Sha256: face0f1858644c328d1159d4a5df85a1e2b289f31ef364b9df55c3c33ffc89cc

Contents?: true

Size: 840 Bytes

Versions: 4

Compression:

Stored size: 840 Bytes

Contents

# frozen_string_literal: true

require_relative 'parse_rep_creator'
require_relative 'parse_forest_builder'

module Rley # This module is used as a namespace
  module ParseRep # 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 an 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

4 entries across 4 versions & 1 rubygems

Version Path
rley-0.7.07 lib/rley/parse_rep/parse_forest_factory.rb
rley-0.7.06 lib/rley/parse_rep/parse_forest_factory.rb
rley-0.7.05 lib/rley/parse_rep/parse_forest_factory.rb
rley-0.7.04 lib/rley/parse_rep/parse_forest_factory.rb