remove >r r> from regexp
parent
b00156bc85
commit
afc97627f9
|
@ -43,7 +43,8 @@ IN: regexp.dfa
|
||||||
dupd pop dup pick find-transitions rot
|
dupd pop dup pick find-transitions rot
|
||||||
[
|
[
|
||||||
[ [ find-closure ] 2keep nip dupd add-todo-state ] 3keep
|
[ [ find-closure ] 2keep nip dupd add-todo-state ] 3keep
|
||||||
>r swapd transition make-transition r> dfa-table>> add-transition
|
[ swapd transition make-transition ] dip
|
||||||
|
dfa-table>> add-transition
|
||||||
] curry with each
|
] curry with each
|
||||||
new-transitions
|
new-transitions
|
||||||
] if-empty ;
|
] if-empty ;
|
||||||
|
|
|
@ -225,7 +225,7 @@ ERROR: invalid-range a b ;
|
||||||
|
|
||||||
: handle-left-brace ( -- )
|
: handle-left-brace ( -- )
|
||||||
parse-repetition
|
parse-repetition
|
||||||
>r 2dup [ [ 0 < [ invalid-range ] when ] when* ] bi@ r>
|
[ 2dup [ [ 0 < [ invalid-range ] when ] when* ] bi@ ] dip
|
||||||
[
|
[
|
||||||
2dup and [ from-m-to-n ]
|
2dup and [ from-m-to-n ]
|
||||||
[ [ nip at-most-n ] [ at-least-n ] if* ] if
|
[ [ nip at-most-n ] [ at-least-n ] if* ] if
|
||||||
|
|
|
@ -40,7 +40,7 @@ TUPLE: transition-table transitions start-state final-states ;
|
||||||
2dup [ to>> ] dip maybe-initialize-key
|
2dup [ to>> ] dip maybe-initialize-key
|
||||||
[ [ to>> ] [ obj>> ] [ from>> ] tri ] dip
|
[ [ to>> ] [ obj>> ] [ from>> ] tri ] dip
|
||||||
2dup at* [ 2nip insert-at ]
|
2dup at* [ 2nip insert-at ]
|
||||||
[ drop >r >r H{ } clone [ insert-at ] keep r> r> set-at ] if ;
|
[ drop [ H{ } clone [ insert-at ] keep ] 2dip set-at ] if ;
|
||||||
|
|
||||||
: add-transition ( transition transition-table -- )
|
: add-transition ( transition transition-table -- )
|
||||||
transitions>> set-transition ;
|
transitions>> set-transition ;
|
||||||
|
|
Loading…
Reference in New Issue