Sha256: 0f9823d256b21d577f1a0bfb0ebf8f81204311b369af352d764d1ff3597ee7f8

Contents?: true

Size: 763 Bytes

Versions: 10

Compression:

Stored size: 763 Bytes

Contents

require_relative 'parse_rep_creator'
# require_relative 'parse_tree_builder' # TODO remove this line
require_relative 'cst_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 ParseTree from
    # a given Parsing object.
    class ParseTreeFactory < ParseRepCreator
      protected

      # Create a Builder, that is, an object
      # that will create piece by piece the forest
      def builder(aParseResult, aBuilder = nil)
        if aBuilder
          aBuilder.new(aParseResult.tokens)
        else
          CSTBuilder.new(aParseResult.tokens)
        end
      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_tree_factory.rb
rley-0.5.13 lib/rley/parser/parse_tree_factory.rb
rley-0.5.12 lib/rley/parser/parse_tree_factory.rb
rley-0.5.11 lib/rley/parser/parse_tree_factory.rb
rley-0.5.10 lib/rley/parser/parse_tree_factory.rb
rley-0.5.09 lib/rley/parser/parse_tree_factory.rb
rley-0.5.08 lib/rley/parser/parse_tree_factory.rb
rley-0.5.07 lib/rley/parser/parse_tree_factory.rb
rley-0.5.06 lib/rley/parser/parse_tree_factory.rb
rley-0.5.05 lib/rley/parser/parse_tree_factory.rb