Sha256: 3d7a24946b4572ffd71f7443fe1f71e8b44784e69b2c307658ce4c05e0e2f41f

Contents?: true

Size: 761 Bytes

Versions: 10

Compression:

Stored size: 761 Bytes

Contents

require_relative '../syntax/grammar'
require_relative 'grm_items_builder' # Use mix-in module
require_relative 'parse_tracer'
require_relative 'parsing'

module Rley # This module is used as a namespace
  module Parser # This module is used as a namespace
    # Abstract class for Earley parser.
    class BaseParser
      include GrmItemsBuilder # Mix-in for creating dotted items of grammar

      # The grammar of the language.
      attr_reader(:grammar)

      # The dotted items/rules for the productions of the grammar
      attr_reader(:dotted_items)


      def initialize(aGrammar)
        @grammar = aGrammar
        @dotted_items = build_dotted_items(grammar) # Method from mixin
      end
    end # class
  end # module
end # module

# End of file

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
rley-0.4.01 lib/rley/parser/base_parser.rb
rley-0.4.00 lib/rley/parser/base_parser.rb
rley-0.3.12 lib/rley/parser/base_parser.rb
rley-0.3.11 lib/rley/parser/base_parser.rb
rley-0.3.10 lib/rley/parser/base_parser.rb
rley-0.3.09 lib/rley/parser/base_parser.rb
rley-0.3.08 lib/rley/parser/base_parser.rb
rley-0.3.07 lib/rley/parser/base_parser.rb
rley-0.3.06 lib/rley/parser/base_parser.rb
rley-0.3.05 lib/rley/parser/base_parser.rb