Method: Kleene::NFA#initialize
- Defined in:
- lib/kleene/nfa.rb
#initialize(start_state, alphabet = DEFAULT_ALPHABET, transitions = Hash.new, initial_states = nil) ⇒ NFA
Returns a new instance of NFA.
33 34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/kleene/nfa.rb', line 33 def initialize(start_state, alphabet = DEFAULT_ALPHABET, transitions = Hash.new, initial_states = nil) @start_state = start_state @transitions = transitions @alphabet = alphabet + all_transitions.map(&:token) @states = initial_states || reachable_states(start_state) @current_states = Set.new @final_states = Set.new update_final_states reset_current_states end |