fix options before non-capturing groups
parent
da35e13153
commit
56fbeb25ff
|
@ -132,14 +132,9 @@ ERROR: bad-option ch ;
|
||||||
: parse-options ( string -- )
|
: parse-options ( string -- )
|
||||||
"-" split1 [ t (parse-options) ] [ f (parse-options) ] bi* ;
|
"-" 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 ;
|
ERROR: bad-special-group string ;
|
||||||
|
|
||||||
|
DEFER: (parse-regexp)
|
||||||
: nested-parse-regexp ( token ? -- )
|
: nested-parse-regexp ( token ? -- )
|
||||||
[ push-stack (parse-regexp) pop-stack ] dip
|
[ push-stack (parse-regexp) pop-stack ] dip
|
||||||
[ <negation> ] when pop-stack boa push-stack ;
|
[ <negation> ] when pop-stack boa push-stack ;
|
||||||
|
@ -165,7 +160,7 @@ ERROR: bad-special-group string ;
|
||||||
":)" read-until
|
":)" read-until
|
||||||
[ swap prefix ] dip
|
[ swap prefix ] dip
|
||||||
{
|
{
|
||||||
{ CHAR: : [ parse-options (parse-special-group) ] }
|
{ CHAR: : [ parse-options non-capture-group f nested-parse-regexp ] }
|
||||||
{ CHAR: ) [ parse-options ] }
|
{ CHAR: ) [ parse-options ] }
|
||||||
[ drop bad-special-group ]
|
[ drop bad-special-group ]
|
||||||
} case
|
} case
|
||||||
|
|
Loading…
Reference in New Issue