 
 DEFER: 'choice'
 
-: grouped ( quot suffix    -- parser )
+: 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.

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

    [
        [ CHAR: " = not ] satisfy repeat1 "\"" "\"" surrounded-by ,
        [ CHAR: ' = not ] satisfy repeat1 "'" "'" surrounded-by ,
    ] choice* [ >string unescape-string ] action ;

: 'non-terminal' ( -- parser )
    #! A non-terminal is the name of another rule. It can
