Do not accept 0-length tokens

This commit is contained in:
Josh Holtrop 2021-06-06 15:29:30 -04:00
parent 7f54778ba8
commit 930ac56148

View File

@ -33,15 +33,18 @@ module Imbecile
end
def process_nfa_state_set(nfa_state_set)
state = @states[@nfa_state_sets[nfa_state_set]]
nfa_state_set.each do |nfa_state|
if nfa_state.accepts
if state.accepts
if nfa_state.accepts.id < state.accepts.id
state_id = @nfa_state_sets[nfa_state_set]
state = @states[state_id]
if state_id > 0
nfa_state_set.each do |nfa_state|
if nfa_state.accepts
if state.accepts
if nfa_state.accepts.id < state.accepts.id
state.accepts = nfa_state.accepts
end
else
state.accepts = nfa_state.accepts
end
else
state.accepts = nfa_state.accepts
end
end
end