--- /dev/null
+initial file ;
+
+file
+ = declaration+ # File
+ ;
+
+declaration
+ = NONTERMINAL EQUALS prod (BAR prod)* SEMICOLON # Production
+ | INITIAL NONTERMINAL SEMICOLON # Initial
+ ;
+
+prod
+ = regexps HASH TERMINAL (COMMA (SHIFT|REDUCE) TERMINAL)* # ProductionRhs
+ ;
+
+regexps
+ = (regexp (regexp | STAR | PLUS | OPTIONAL)*)? # Concatenation
+ ;
+
+regexp
+ = (TERMINAL | NONTERMINAL | SHIFT | REDUCE | INITIAL) # Terminal
+ | LPAREN regexps (BAR regexps)* RPAREN # Union
+ ;