 peg.search quotations sequences splitting stack-checker strings
 summary unicode.categories words ;
 FROM: compiler.units => with-compilation-unit ;
+FROM: strings.parser => unescape-string ;
 FROM: vocabs.parser => search ;
 FROM: peg.search => replace ;
 IN: peg.ebnf

        [ "[" syntax , "[" token ensure-not , ] seq* hide ,
        [ CHAR: ] = not ] satisfy repeat1 ,
        "]" syntax ,
    ] seq* [ first >string <ebnf-range> ] action ;

: ('element') ( -- parser )
    #! An element of a rule. It can be a terminal or a


DEFER: 'choice'

: grouped ( quot suffix -- parser )
    #! Parse a group of choices, with a suffix indicating
    #! the type of group (repeat0, repeat1, etc) and
    #! an quot that is the action that produces the AST.
