unbreak regexp
parent
a380ae2239
commit
fb37e0eaca
|
@ -51,10 +51,13 @@ IN: regexp.dfa
|
||||||
[ condition-states ] 2dip
|
[ condition-states ] 2dip
|
||||||
'[ _ _ add-todo-state ] each ;
|
'[ _ _ add-todo-state ] each ;
|
||||||
|
|
||||||
|
: ensure-state ( key table -- )
|
||||||
|
2dup key? [ 2drop ] [ [ H{ } clone ] 2dip set-at ] if ; inline
|
||||||
|
|
||||||
:: new-transitions ( nfa dfa new-states visited-states -- nfa dfa )
|
:: new-transitions ( nfa dfa new-states visited-states -- nfa dfa )
|
||||||
new-states [ nfa dfa ] [
|
new-states [ nfa dfa ] [
|
||||||
pop :> state
|
pop :> state
|
||||||
state dfa transitions>> maybe-initialize-key
|
state dfa transitions>> ensure-state
|
||||||
state nfa find-transitions
|
state nfa find-transitions
|
||||||
[| trans |
|
[| trans |
|
||||||
state trans nfa find-closure :> new-state
|
state trans nfa find-closure :> new-state
|
||||||
|
|
Loading…
Reference in New Issue