$*statement
Newlines -> NEWLINE
| Newlines NEWLINE
- Statementlist -> Statements ${ $0 = $<1; }$
- | Newlines Statements ${ $0 = $<2; }$
+ Statementlist -> Statements ${ $0 = $<S; }$
+ | Newlines Statements ${ $0 = $<S1; }$
Statements -> Statements Statement ${
{
| Newlines {
Close -> }
| Newlines }
- Block -> Open Statementlist Close ${ $0 = $<2; }$
- | Open SimpleStatements } ${ $0 = $<2; }$
- | : SimpleStatements ${ $0 = $<2; }$
- | : StatementBlock ${ $0 = $<2; }$
- StatementBlock -> Statementlist $$OUT ${ $0 = $<1; }$
+ Block -> Open Statementlist Close ${ $0 = $<S; }$
+ | Open SimpleStatements } ${ $0 = $<S; }$
+ | : SimpleStatements ${ $0 = $<SS; }$
+ | : StatementBlock ${ $0 = $<SB; }$
+ StatementBlock -> Statementlist $$OUT ${ $0 = $<Sl; }$
SimpleStatements -> SimpleStatements ; SimpleStatement ${
{
struct statement **s;
- $0 = $<1;
+ $0 = $<SSs;
s = &$0;
while (*s)
s = &(*s)->next;
- *s = $<3;
+ *s = $<SS;
}
}$
| SimpleStatement ${ $0 = $<1; }$