       ] each
     ] { } make ,
     [ call ] , \ map , \ seq , 
+  ] [ ] make ;
+
+M: ebnf-repeat0 ebnf-compile ( ast -- quot )
+  [
+    ebnf-repeat0-group ebnf-compile % \ repeat0 , 
   ] [ ] make ;
 
 M: ebnf-rule ebnf-compile ( ast -- quot )

TUPLE: ebnf-terminal symbol ;
TUPLE: ebnf-choice options ;
TUPLE: ebnf-sequence elements ;
TUPLE: ebnf-rule symbol elements ;
TUPLE: ebnf rules ;


C: <ebnf-terminal> ebnf-terminal
C: <ebnf-choice> ebnf-choice
C: <ebnf-sequence> ebnf-sequence
C: <ebnf-repeat0> ebnf-repeat0
C: <ebnf-rule> ebnf-rule
C: <ebnf> ebnf

