Program -> Statementlist ${ print_statement($1, 0); }$
$*statement
+ Newlines -> NEWLINE
+ | Newlines NEWLINE
Statementlist -> Statements ${ $0 = $<1; }$
- | NEWLINE Statementlist ${ $0 = $<2; }$
+ | Newlines Statements ${ $0 = $<2; }$
Statements -> Statements Statement ${
{
| ERROR ${ printf("statement ERROR\n"); $0 = NULL; }$
Open -> {
- | NEWLINE Open
+ | Newlines {
Close -> }
- | NEWLINE Close
+ | Newlines }
Block -> Open Statementlist Close ${ $0 = $<2; }$
| Open SimpleStatements } ${ $0 = $<2; }$
| : SimpleStatements ${ $0 = $<2; }$