summaryrefslogtreecommitdiff
path: root/src/reader.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/reader.c')
-rw-r--r--src/reader.c9
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