diff --git a/src/language.yacc b/src/language.yacc index 3cc1a30ea272434849b04cb309d13fc3ebff1538..fb0abfb3b1f06390c8a56238afe0d490be4d1fb5 100644 --- a/src/language.yacc +++ b/src/language.yacc @@ -179,7 +179,7 @@ /* This is the grammar definition of Pike. */ #include "global.h" -RCSID("$Id: language.yacc,v 1.98 1998/06/06 13:50:44 grubba Exp $"); +RCSID("$Id: language.yacc,v 1.99 1998/07/31 21:51:31 hubbe Exp $"); #ifdef HAVE_MEMORY_H #include <memory.h> #endif @@ -1260,6 +1260,7 @@ safe_lvalue: lvalue ; safe_expr0: expr0 + | F_LEX_EOF { yyerror("Unexpected end of file."); $$=mkintnode(0); } | error { $$=mkintnode(0); } ; @@ -1267,7 +1268,7 @@ foreach: F_FOREACH { $<number>$=compiler_frame->current_number_of_locals; } - '(' safe_expr0 ',' safe_lvalue end_cond statement + '(' expr0 ',' safe_lvalue end_cond statement { if ($6) { $$=mknode(F_FOREACH, mknode(F_VAL_LVAL,$4,$6),$8);