grammar: no longer detect and cure missing semicolon at end of actions

Bison 3.0 is already breaking backward compatibility with other
features.  It is an appropriate time to drop this feature.  Note that
it was disabled when --yacc is passed.  See
http://lists.gnu.org/archive/html/bison-patches/2013-02/msg00102.html

Basically, revert e8cd1ad655.

* src/scan-code.l (braces_level, need_semicolon, in_cpp): Remove.
Remove every rule needed to detect and add missing semicolon.
* tests/actions.at (Fix user actions without a trailing semicolon):
Remove.
* NEWS: Adjust.
This commit is contained in:
Akim Demaille
2013-02-25 15:33:55 +01:00
parent f1526426cd
commit 05e25f2384
3 changed files with 8 additions and 198 deletions

11
NEWS
View File

@@ -4,14 +4,6 @@ GNU Bison NEWS
** WARNING: Future backward-incompatibilities!
Bison will stop adding a semicolon at the end of the actions (as announced
in the release 2.5):
foo.y:2.25: warning: a ';' might be needed at the end of action code
exp: "number" { $$ = $1 }
^
foo.y:2.25: future versions of Bison will not add the ';'
Like other GNU packages, Bison will start using some of the C99 features
for its own code, especially the definition of variables after statements.
The generated C parsers still aim at C90.
@@ -28,6 +20,9 @@ GNU Bison NEWS
Support for YYLEX_PARAM and YYPARSE_PARAM is removed (deprecated in Bison
1.875): use %lex-param, %parse-param, or %param.
Missing semicolons at the end of actions are no longer added (as announced
in the release 2.5).
** Bug fixes
*** The epilogue is no longer affected by internal #defines (glr.c)