Class: Aurum::Lexer

Inherits:
Object
  • Object
show all
Defined in:
lib/aurum/engine.rb

Class Method Summary collapse

Class Method Details

.new(grammar) ⇒ Object



23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/aurum/engine.rb', line 23

def Lexer.new grammar
  Class.new do
    @@lexical_table = grammar.lexical_table
    include Aurum::Engine::BasicTokenizationCapability
    def initialize input
      @input = Aurum::Engine::PushbackString.new(input)
      @states, @line, @column, @push_back = [], 0, 0, []
      shift_to('initial')
    end
    private
    def lexical_table
      @@lexical_table
    end
  end
end