3 whitespace: /[\r\n\s\t]+/;
6 statement -> .nonterm=ident "->" derivations ";" | "@ignore" ident "in" ident +(,) ";";
7 derivations -> derivation +("|");
9 single_term -> regex | string | .nonterm=ident;
10 term -> ( "." .name=ident "=" )? (regex | string | .nonterm=ident ) modifier ? ;
11 modifier -> "?" | "*" | "+" |
12 ("*" | "+") "(" single_term ")";
13 string -> '"' .dquote_str_body=/([^"\\]|\\.)*/ '"' |
14 "'" .squote_str_body=/([^'\\]|\\.)*/ "'";
15 regex -> "/" .regex_body=/([^\/\\]|\\.)*/ "/";
17 @ignore whitespace in grammar, statement, derivations, derivation, term;