Method: Dhaka::Lexer#initialize
- Defined in:
- lib/dhaka/lexer/lexer.rb
#initialize(specification) ⇒ Lexer
Creates a new lexer from a given specification.
11 12 13 14 15 16 17 18 |
# File 'lib/dhaka/lexer/lexer.rb', line 11 def initialize(specification) dfas = {} @specification = specification specification.items.each do |pattern, item| dfas[pattern] = LexerSupport::DFA.new(pattern) end super(ItemSet.new(dfas.values.collect{|dfa| dfa.start_state})) end |