diff options
Diffstat (limited to 'src/reader.c')
-rw-r--r-- | src/reader.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/reader.c b/src/reader.c index 529cebe9..ad9469e7 100644 --- a/src/reader.c +++ b/src/reader.c @@ -1440,7 +1440,10 @@ readgram (void) unlex (t1); symval = ssave; if (t1 == tok_colon) - break; + { + complain (_("previous rule lacks an ending `;'")); + break; + } if (!first_rhs) /* JF */ first_rhs = symval; @@ -1549,6 +1552,8 @@ readgram (void) /* Warn if there is no default for $$ but we need one. */ else if (!xactions && !first_rhs && lhs->type_name != 0) complain (_("empty rule for typed nonterminal, and no action")); + if (t == tok_two_percents || t == tok_eof) + complain (_("previous rule lacks an ending `;'")); if (t == tok_semicolon) t = lex (); } @@ -1585,7 +1590,7 @@ readgram (void) } else if (t == tok_start) { - parse_start_decl (); + parse_start_decl (;) t = lex (); } #endif |