 : make-negative-lookbehind ( string -- )
     <negation> lookbehind boa push-stack ;
 
-DEFER: nested-parse-regexp
 : make-non-capturing-group ( string -- )
     non-capture-group boa push-stack ;
 


ERROR: bad-special-group string ;

: (parse-special-group) ( -- )
    read1 {
        { [ dup CHAR: : = ]

TUPLE: lookbehind term ; INSTANCE: lookbehind node
TUPLE: capture-group term ; INSTANCE: capture-group node
TUPLE: non-capture-group term ; INSTANCE: non-capture-group node
TUPLE: independent-group term ; INSTANCE: independent-group node ! atomic group
TUPLE: character-class-range from to ; INSTANCE: character-class-range node
SINGLETON: epsilon INSTANCE: epsilon node
SINGLETON: any-char INSTANCE: any-char node
