   "{" token sp hide
   [ 'rhs' sp ] delay
   "}" token sp hide 
-  3array seq ;
+  3array seq [ first <ebnf-repeat0> ] action ;
 
 : 'rhs' ( -- parser )
   'repeat0'

      ] each
    ] { } make ,
    [ call ] , \ map , \ seq , 
  ] [ ] make ;

M: ebnf-rule ebnf-compile ( ast -- quot )

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

