From 56fbeb25ff88228a270bde7c584d3714a8350568 Mon Sep 17 00:00:00 2001 From: Doug Coleman Date: Mon, 22 Sep 2008 11:45:36 -0500 Subject: [PATCH] fix options before non-capturing groups --- basis/regexp/parser/parser.factor | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/basis/regexp/parser/parser.factor b/basis/regexp/parser/parser.factor index fc3f949670..987d05591f 100644 --- a/basis/regexp/parser/parser.factor +++ b/basis/regexp/parser/parser.factor @@ -132,14 +132,9 @@ ERROR: bad-option ch ; : parse-options ( string -- ) "-" split1 [ t (parse-options) ] [ f (parse-options) ] bi* ; -DEFER: (parse-regexp) -: parse-special-group ( -- ) - ; - ! beginning-of-group push-stack - ! (parse-regexp) pop-stack make-non-capturing-group ; - ERROR: bad-special-group string ; +DEFER: (parse-regexp) : nested-parse-regexp ( token ? -- ) [ push-stack (parse-regexp) pop-stack ] dip [ ] when pop-stack boa push-stack ; @@ -165,7 +160,7 @@ ERROR: bad-special-group string ; ":)" read-until [ swap prefix ] dip { - { CHAR: : [ parse-options (parse-special-group) ] } + { CHAR: : [ parse-options non-capture-group f nested-parse-regexp ] } { CHAR: ) [ parse-options ] } [ drop bad-special-group ] } case