Class: Flexr::Automaton::NFABuilder

Inherits:
Object
  • Object
show all
Defined in:
lib/flexr/automaton/nfa.rb

Instance Method Summary collapse

Constructor Details

#initializeNFABuilder

Returns a new instance of NFABuilder.



34
35
36
# File 'lib/flexr/automaton/nfa.rb', line 34

def initialize
  @nfa = NFA.new
end

Instance Method Details

#build(patterns) ⇒ Object



38
39
40
41
42
43
44
45
# File 'lib/flexr/automaton/nfa.rb', line 38

def build(patterns)
  patterns.each do |pattern, acceptance|
    start, finish = fragment(pattern)
    @nfa.epsilon(@nfa.start, start)
    @nfa.states[finish].accepts << acceptance
  end
  @nfa
end