From 52e977602713a5c989b0669105efd95429bec97d Mon Sep 17 00:00:00 2001 From: Akim Demaille Date: Sat, 15 Dec 2001 11:07:56 +0000 Subject: [PATCH] * src/reader.c (copy_action): When --yacc, don't append a `;' to the user action: let it fail if lacking. Suggested by Aharon Robbins and Tom Tromey. --- ChangeLog | 6 ++++++ NEWS | 5 +++++ THANKS | 2 ++ src/reader.c | 8 +++++++- 4 files changed, 20 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 1b973685..f9b0e6b3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2001-12-15 Akim Demaille + + * src/reader.c (copy_action): When --yacc, don't append a `;' + to the user action: let it fail if lacking. + Suggested by Aharon Robbins and Tom Tromey. + 2001-12-13 Akim Demaille Version 1.30g. diff --git a/NEWS b/NEWS index 10e920e8..58884909 100644 --- a/NEWS +++ b/NEWS @@ -3,6 +3,11 @@ Bison News Changes in version 1.30h: +* User Actions + Bison has always permitted actions such as { $$ = $1 }: it adds the + ending semicolon. Now if in Yacc compatibility mode, the semicolon + is no longer output: one has to write { $$ = $1; }. + Changes in version 1.30g: * Bug fixes diff --git a/THANKS b/THANKS index e0ae913f..195a0463 100644 --- a/THANKS +++ b/THANKS @@ -2,6 +2,7 @@ Bison was originally written by Robert Corbett. It would not be what it is today without the invaluable help of these people: Airy Andre Airy.Andre@edf.fr +Aharon Robbins arnold@gnu.org Akim Demaille akim@freefriends.org Albert Chin-A-Young china@thewrittenword.com Alexander Belopolsky alexb@rentec.com @@ -28,6 +29,7 @@ Richard Stallman rms@gnu.org Robert Anisko anisko_r@epita.fr Shura debil_urod@ngs.ru Tom Lane tgl@sss.pgh.pa.us +Tom Tromey tromey@cygnus.com Wolfram Wagner ww@mpi-sb.mpg.de Wwp subscript@free.fr diff --git a/src/reader.c b/src/reader.c index 028ffc0b..33f8e130 100644 --- a/src/reader.c +++ b/src/reader.c @@ -1125,7 +1125,13 @@ copy_action (symbol_list *rule, int stack_offset) } } - obstack_sgrow (&action_obstack, ";\n break;}"); + /* As a Bison extension, add the ending semicolon. Since some Yacc + don't do that, help people using bison as a Yacc finding their + missing semicolons. */ + if (yacc_flag) + obstack_sgrow (&action_obstack, "}\n break;"); + else + obstack_sgrow (&action_obstack, ";\n break;}"); } /*-------------------------------------------------------------------. -- 2.50.0