]> gitweb.factorcode.org Git - factor.git/blobdiff - basis/regexp/regexp.factor
regexp: don't use execute so the generated code is easier to read
[factor.git] / basis / regexp / regexp.factor
index b243f16f588d1fdc2992eeaad51040f5ada91ae0..42138d5c66e7792b109f2b1651837fa6e02e496f 100644 (file)
@@ -1,9 +1,10 @@
 ! Copyright (C) 2008, 2009 Doug Coleman, Daniel Ehrenberg.
 ! See http://factorcode.org/license.txt for BSD license.
 USING: accessors arrays classes compiler.units kernel
-kernel.private lexer make math ranges namespaces regexp.ast
-regexp.compiler regexp.negation regexp.parser sequences
-sequences.private splitting strings vocabs.loader words ;
+kernel.private lexer make math ranges namespaces quotations
+regexp.ast regexp.compiler regexp.negation regexp.parser
+sequences sequences.private splitting strings vocabs.loader
+words ;
 IN: regexp
 
 TUPLE: regexp
@@ -18,7 +19,7 @@ TUPLE: reverse-regexp < regexp ;
 
 M: lookahead question>quot
     ! Returns ( index string -- ? )
-    term>> ast>dfa dfa>shortest-word '[ f _ execute ] ;
+    term>> ast>dfa dfa>shortest-word 1quotation [ f ] prepose ;
 
 : <reversed-option> ( ast -- reversed )
     "r" string>options <with-options> ;
@@ -27,7 +28,7 @@ M: lookbehind question>quot
     ! Returns ( index string -- ? )
     term>> <reversed-option>
     ast>dfa dfa>reverse-shortest-word
-    '[ [ 1 - ] dip f _ execute ] ;
+    1quotation [ [ 1 - ] dip f ] prepose ;
 
 : match-index-from ( i string regexp -- index/f )
     ! This word is unsafe. It assumes that i is a fixnum