diff --git a/basis/regexp/dfa/dfa.factor b/basis/regexp/dfa/dfa.factor index ef985258fd..0abd1c2edc 100644 --- a/basis/regexp/dfa/dfa.factor +++ b/basis/regexp/dfa/dfa.factor @@ -43,7 +43,8 @@ IN: regexp.dfa dupd pop dup pick find-transitions rot [ [ [ 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 new-transitions ] if-empty ; diff --git a/basis/regexp/parser/parser.factor b/basis/regexp/parser/parser.factor index 7f1d92a1ab..1feba62f68 100644 --- a/basis/regexp/parser/parser.factor +++ b/basis/regexp/parser/parser.factor @@ -225,7 +225,7 @@ ERROR: invalid-range a b ; : handle-left-brace ( -- ) 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 ] [ [ nip at-most-n ] [ at-least-n ] if* ] if diff --git a/basis/regexp/transition-tables/transition-tables.factor b/basis/regexp/transition-tables/transition-tables.factor index 1c9a3e3001..3050be14fa 100644 --- a/basis/regexp/transition-tables/transition-tables.factor +++ b/basis/regexp/transition-tables/transition-tables.factor @@ -40,7 +40,7 @@ TUPLE: transition-table transitions start-state final-states ; 2dup [ to>> ] dip maybe-initialize-key [ [ to>> ] [ obj>> ] [ from>> ] tri ] dip 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 -- ) transitions>> set-transition ;