Commit Graph

93 Commits

Author SHA1 Message Date
Joel E. Denny
4333ba11c6 tests: fix for newer Sun Studio C++.
Reported by Dagobert Michelsen at
<http://lists.gnu.org/archive/html/bug-bison/2010-03/msg00023.html>.
* THANKS (Dagobert Michelsen): Add.
* configure.ac (AC_PREREQ): Set to 2.64 so we get the latest
Autoconf macro for handling the restrict keyword.
* gnulib: Update to latest, which no longer overrides that macro
from Autoconf.
2010-04-10 17:37:27 -04:00
Joel E. Denny
311b2e56ea portability: fix spawning on at least FreeBSD 8 and FreeBSD 9.
Reported by Johan van Selst at
<http://lists.gnu.org/archive/html/bug-bison/2010-03/msg00014.html>.
* NEWS (2.4.3): New.
* THANKS (Johan van Selst): Add.
* gnulib: Update to latest.
2010-03-23 12:37:50 -04:00
Joel E. Denny
22cc8d813e portability: fix several issues with M4 subprocess.
M4's output pipe was not being drained upon fatal errors during
scan_skel.  As a result, broken-pipe messages from M4 were seen
on at least AIX, HP-UX, Solaris, and RHEL4, and this caused a
failure in the test suite.  The problem was that, on platforms
where the default disposition for SIGPIPE is ignore instead of
terminate, M4 sometimes saw fwrite fail with errno=EPIPE and
then reported it.  However, there's some sort of race condition,
because the new test group occasionally succeeded.
Reported by Albert Chin at
<http://lists.gnu.org/archive/html/bug-bison/2010-02/msg00004.html>.

There were also problems with the test suite livelocking on
Tru64 5.1b.  Reported by Didier Godefroy at
<http://lists.gnu.org/archive/html/bug-bison/2009-05/msg00005.html>.
Switching to create_pipe_bidi suggested by Akim Demaille.

To attempt to solve both of these problems, switch to gnulib's
create_pipe_bidi and register M4 process as a slave.  Along the
way, clean up file name conflict handling, which was affected by
the broken-pipe problem before the switch.
* NEWS (2.4.2): Document.
* THANKS (Didier Godefroy): Add.
* bootstrap.conf (gnulib_modules): Add pipe.
* gnulib: Update to latest to make sure we have all the latest
fixes.
* lib/Makefile.am (libbison_a_SOURCES): Remove subpipe.h and
subpipe.c.
* po/POTFILES.in (lib/subpipe.c): Remove.
* src/files.c (compute_output_file_names): Update invocations
of output_file_name_check.
(output_file_name_check): In the case that the grammar file
would be overwritten, use complain instead of fatal, but replace
the output file name with /dev/null.  Use the /dev/null solution
for the case of two conflicting output files as well because it
seems safer in case Bison one day tries to open both files at
the same time.
* src/files.h (output_file_name_check): Update prototype.
* src/output.c (output_skeleton): Use create_pipe_bidi and
wait_subprocess.  Assert that scan_skel completely drains the
pipe.
* src/scan-skel.l (at_directive_perform): Update
output_file_name_check invocation.
* tests/output.at (AT_CHECK_CONFLICTING_OUTPUT): Check that the
grammar file actually isn't overwritten.
(Conflicting output files: -o foo.y): Update expected output.
* tests/skeletons.at (Fatal errors but M4 continues producing
output): New test group.
2010-02-22 18:09:19 -05:00
Joel E. Denny
d45708d418 Thank the developer of the initial push parser implementation.
This unfortunate oversight is several years old.
* THANKS (Odd Arild Olsen): Add.
(cherry picked from commit 326e5cf81e)
2010-01-15 13:45:08 -05:00
Joel E. Denny
39c2566994 Document gcc -Wundef fix.
* NEWS (2.4.2): Here.
* THANKS (Jonathan Nieder): Add.
(cherry picked from commit c938d650db)
2009-12-16 01:58:38 -05:00
Joel E. Denny
2ceb8c617c tests: skip tests of file names that platform does not support.
Reported by Michael Raskin at
<http://lists.gnu.org/archive/html/bug-bison/2009-09/msg00001.html>.
* THANKS (Michael Raskin): Add.
* tests/output.at (AT_CHECK_OUTPUT_FILE_NAME): Fix.  Cygwin used
to fail at least for file names containing ":" or "\".
2009-10-04 23:14:29 -04:00
Akim Demaille
a022ff4186 doc: %initial-action to initialize yylloc.
Reported by Bill Allombert.
	* doc/bison.texinfo: Set fill-column to 76.
	(Location Type): Document the use of %initial-action to initialize
	yylloc.

(cherry picked from commit d59e456dbf)
2009-08-19 13:37:20 +02:00
Akim Demaille
b9e42bb439 build: lower gettext requirements.
Bison was uselessly requiring the formatstring macros from
gettext, which resulted in mo files not being installed on systems
that perfectly supported Bison mo files.  Lower the requirement.
http://lists.gnu.org/archive/html/bug-bison/2009-08/msg00006.html

	* configure.ac: Require need-ngettext instead of
	need-formatstring-macros.
	Reported by Martin Jabocs.
	Suggested by Bruno Haible.
	* INSTALL: Restructure.
	(Internationalization): New.
2009-08-17 09:48:11 +02:00
Akim Demaille
6469c4d72b doc: update README-hacking.
* README-hacking: We now use git and git submodules.
	Reported by Ralf Wildenhues and Alexandre Duret-Lutz.
2009-03-26 23:48:46 +01:00
Akim Demaille
8defe11bfa Fix grep portability issues.
Grep on Solaris does not support -q.
Reported by Summum Bonum.

	* NEWS: Add a stub for 2.4.2.
	* THANKS: Add Summum Bonum.
	* tests/atlocal.in (EGREP): New.
	(CC, CXX, XSLTPROC): Make it possible to override them via
	envvars.
	* tests/java.at: Use $EGREP instead of egrep.
	Use AT_CHECK's ignore instead of grep's -q.
2009-01-08 09:46:40 +01:00
Joel E. Denny
462503f825 Fix unexpanded macros in GLR defines file.
Reported by Csaba Raduly at
<http://lists.gnu.org/archive/html/bug-bison/2008-11/msg00048.html>.
* THANKS (Csaba Raduly): Add.
* data/glr.c: Fix overquoting on b4_prefix for yylval and yylloc.
* tests/calc.at (_AT_DATA_CALC_Y): If %defines is specified, generate
lexer in a separate module that includes the defines file.
(AT_CHECK_CALC): Use AT_FULL_COMPILE and request compilation of lexer
source.
* tests/local.at (_AT_BISON_OPTION_PUSHDEFS): Push AT_DEFINES_IF.
Adjust AT_LOC and AT_VAL to use AT_NAME_PREFIX.
(AT_BISON_OPTION_POPDEFS): Pop AT_DEFINES_IF.
(AT_DATA_SOURCE_PROLOGUE): New.
(AT_DATA_GRAMMAR_PROLOGUE): Use AT_DATA_SOURCE_PROLOGUE.
(AT_DATA_SOURCE): New.
(AT_FULL_COMPILE): New, copied from master branch and extended to
support an additional output file.
2008-11-19 00:38:14 -05:00
Joel E. Denny
14da0cdd07 Fix user actions without a trailing semicolon.
Reported by Sergei Steshenko at
<http://lists.gnu.org/archive/html/bug-bison/2008-11/msg00001.html>.
* THANKS (Sergei Steshenko): Add.
* src/scan-code.l (SC_RULE_ACTION): Fix it.
* tests/regression.at (Fix user actions without a trailing semicolon):
New test case.
2008-11-04 13:30:38 -05:00
Joel E. Denny
0f0e1ace60 Fix yyerror_range for user-defined location type in C++.
Reported by Georg Sauthoff at
<http://lists.gnu.org/archive/html/bug-bison/2008-08/msg00008.html>.
* data/lalr1.cc (parse): Change type of yyerror_range to location_type.
* THANKS (Georg Sauthoff): Add.
2008-10-18 12:46:12 -04:00
Paolo Bonzini
ddf17a6e0e small but important bugfixes for the Java skeleton
2008-10-08  Di-an Jan  <dianj@freeshell.org>  (tiny change)

	Small but important bugfixes for the Java skeleton.
	* data/lalr1.java (yyerror): Change Location to b4_location_type.
	(yy_symbol_print): Call toString on yyvaluep.
2008-10-09 21:26:29 +02:00
Joel E. Denny
bcf07cb707 Fix untranslatable composition of sentences.
Reported by Goran Uddeborg at
<http://lists.gnu.org/archive/html/bug-bison/2008-06/msg00000.html>.
* THANKS (Goran Uddeborg): Add.
* src/reduce.c (reduce_print): Report the number of nonterminals and
rules useless in the grammar in separate sentences.
* tests/reduce.at (Useless Rules): Update output.
(Reduced Automaton): Likewise.
(Underivable Rules): Likewise.
(Empty Language): Likewise.
2008-07-16 02:56:36 -04:00
Joel E. Denny
8f7e2e1ff2 * THANKS: Add Eric Blake. 2008-05-07 05:02:12 +00:00
Juan Manuel Guerrero
80d2c3adcc * THANKS: Update my email address. 2008-02-06 10:24:07 +00:00
Joel E. Denny
a2ea208d82 * data/yacc.c (yyexhaustedlab): Define it when YYERROR_VERBOSE is
true since it's then always used regardless of whether yyoverflow is
defined.  Reported by Christian Burger at
<http://lists.gnu.org/archive/html/bug-bison/2007-07/msg00031.html>.
* THANKS: Add Christian Burger.
2007-08-03 04:51:23 +00:00
Joel E. Denny
eb1b07409f Fix push parsing memory leak reported by Brandon Lucia at
<http://lists.gnu.org/archive/html/bug-bison/2007-07/msg00032.html>.
* THANKS: Add Brandon Lucia.
* data/push.c (yypstate_delete): Free the stack if it was reallocated
but the parse never completed and thus freed it.
* tests/Makefile.am (TESTSUITE_AT): Add push.at.
* tests/testsuite.at: Include push.at.
* test/push.at: New.
(Push Parsing: Memory Leak for Early Deletion): New test case.
2007-07-28 04:27:32 +00:00
Joel E. Denny
0c650a2027 * data/glr.c (yylval): As in yacc.c, don't extern in the header for
the case of pure parsers.  Reported by Frans Englich at
<http://lists.gnu.org/archive/html/help-bison/2007-05/msg00018.html>.
* THANKS: Add Frans Englich.
2007-05-26 19:10:43 +00:00
Paul Eggert
9b33de72cd Use ASCII for Sebastien Fricker's name. 2007-04-04 22:41:58 +00:00
Joel E. Denny
2955354793 * doc/bison.texinfo (Destructor Decl): Fix typo reported by Sebastian
Setzer.
(Java Differences): Fix some typos.
* THANKS: Add Sebastian Setzer.
2007-03-10 21:05:24 +00:00
Joel E. Denny
f57a753663 Use YYFPRINTF instead of fprintf where appropriate. Reported by
Sbastien Fricker at
<http://lists.gnu.org/archive/html/bug-bison/2007-02/msg00035.html>.
* THANKS: Add Sbastien Fricker.
* data/glr.c, data/push.c, data/yacc.c (yy_reduce_print): Implement.
* doc/bison.texinfo (Tracing): Make it clearer that YYFPRINTF must
accept a variable number of arguments.
2007-02-24 05:43:35 +00:00
Paul Eggert
fcab4a2ee2 Credit Satya for the graphviz change. 2006-10-12 23:35:24 +00:00
Paul Eggert
c1630a8b80 * THANKS: Add Paolo Bonzini and Bob Rossi. 2006-10-09 16:18:52 +00:00
Paul Eggert
40637e8169 Add name for twlevo. 2006-06-15 18:29:10 +00:00
Joel E. Denny
9138c575d8 * data/glr.c (yyreportTree): Make room in yystates for the state
preceding the RHS.  This fixes the segmentation fault reported by Derek
M. Jones in
<http://lists.gnu.org/archive/html/help-bison/2006-05/msg00035.html>.
(yyreportTree, yypdumpstack): Subtract 1 from yyrule before printing
to the user.  Reported for yyreportTree by Derek M. Jones later in the
same thread.
* THANKS: Add Derek M. Jones.
Update my email address.
Fix typo in Steve Murphy's name.
2006-05-17 16:39:40 +00:00
Akim Demaille
cd8b579166 * doc/bison.texinfo (C++ Bison Interface): Clarify the naming
scheme.
Reported by Steve Murphy.
2006-05-14 21:00:37 +00:00
Akim Demaille
3cf084ecae * examples/extexi: Enforce the precedence of concatenation over
>>.
Reported by   tommy.nordgren@chello.se
2006-05-11 11:35:13 +00:00
Akim Demaille
f94705b204 Complete ChangeLog. 2006-05-11 06:21:18 +00:00
Akim Demaille
b2ddc3f337 * src/scan-gram.l: Be robust to BRACED_CODE appearing before any
rule.
Reported by Mickael Labau.
* tests/input.at (Torturing the Scanner): Test it.
2006-04-03 13:50:10 +00:00
Akim Demaille
7625ec2c83 * src/scan-skel.l: Output the base name parts of the parser and
header file names.
* tests/output.at (AT_CHECK_OUTPUT): Support subdirectorioes, and
additional checks.
Use this to exercise C++ outputs in subdirs.
Reported by Oleg Smolsky.
2005-10-13 10:13:24 +00:00
Paul Eggert
f9315de5a4 * data/glr.c (yyresolveValue): Fix redundant parse tree problem
reported by Joel E. Denny in
<http://lists.gnu.org/archive/html/bison-patches/2005-08/msg00004.html>
(trivial change).
* tests/glr-regression.at (Duplicate representation of merged trees):
New test, from Joel E. Denny in:
<http://lists.gnu.org/archive/html/help-bison/2005-07/msg00013.html>.
* THANKS: Add Joel E. Denny.
2005-08-21 23:43:56 +00:00
Paul Eggert
1eeda0abd5 Add Anthony Heading, twlevo@xs4all.nl. 2005-07-22 21:20:58 +00:00
Paul Eggert
267757362f Add Alexandre Duret-Lutz, Baron Schwartz, Frank Heckenbach, Guido
Trentalancia, Peter Fales, Troy A. Johnson, Vin Shelton.  Change Paul
Eggert's email address.
2004-12-11 04:40:20 +00:00
Akim Demaille
b165c324a3 * doc/bison.texinfo (How Can I Reset the Parser): More about start
conditions.
From Bruno Haible.
2003-12-02 17:08:31 +00:00
Akim Demaille
22e304a6da Write a test the yycheck overrun reported by Andrew Suffield.
* tests/regression.at (_AT_DATA_DANCER_Y, AT_CHECK_DANCER): New.
Use them to exercise yycheck overrun.
Based on Andrew Suffield's grammar.
2003-03-02 11:22:19 +00:00
Paul Eggert
ba1ecc079b Stick to ASCII for now. 2003-02-24 21:06:17 +00:00
Akim Demaille
d3c4e709ff * doc/bison.texinfo (Tracing): `yyprint' shouldn't prepend a
space.
From Tim Van Holder.
2002-11-18 09:33:22 +00:00
Akim Demaille
3d9a71d28a Typo. 2002-11-06 15:35:03 +00:00
Akim Demaille
437c2d8000 Restore --no-lines.
Reported by Jim Kent.
* data/c.m4 (b4_syncline): New.
* data/glr.c, data/yacc.c, data/lalr1.cc: Use it.
* src/reader.c (prologue_augment, epilogue_set): Use b4_syncline.
* src/output.c (user_actions_output): Likewise.
(prepare): Define 'b4_synclines_flag'.
2002-11-06 14:11:47 +00:00
Akim Demaille
f1886bb280 * data/yacc.c (m4_int_type): New.
* data/c.m4 (m4_int_type): Don't use yysigned_char, but `signed
char' as only yacc.c wants K&R portability.
* data/glr.c (yysigned_char): Remove.
* data/lalr1.cc: Rename the trailing b4_name as b4_parser_class_name.
Reported by Quoc Peyrot.
2002-10-24 10:01:52 +00:00
Akim Demaille
27b0ffea3e * src/system.h: Include sys/types.
Reported by Bert Deknuydt.
2002-10-23 16:30:50 +00:00
Akim Demaille
05846dae07 * src/tables.c (table_ninf_remap): base -> tab.
Reported by Matt Rosing.
2002-10-14 11:38:21 +00:00
Akim Demaille
f50adbbdb0 GLR parsers sometimes raise parse errors instead of performing the
default reduction.
Reported by Charles-Henry de Boysson.
* tests/calc.at (_AT_CHECK_CALC, _AT_CHECK_CALC_ERROR): Don't
check the length of the	traces when %glr.
(_AT_CHECK_CALC_ERROR): Also skip `^Stack' lines, coming from
GLR's traces.
(AT_CHECK_CALC_LALR, AT_CHECK_CALC_GLR): New.
Test GLR parsers.
* data/glr.c (YYLEFTMOST_STATE): Fix its value.
(yyltype): Remove the yy prefix from the member names.
(yytable): Complete its comment.
(yygetLRActions): Map error action number from YYTABLE from
YYTABLE_NINF to 0.
(yyisErrorAction): No longer compare YYACTION to YYPACT_NINF
(which was a bug: it should have been YYTABEL_NINF, and yet it was
not satisfying as we could compare an YYACTION computed from
YYDEFACT to YYTABLE_NINF although they are unrelated): 0 is the
only value for error actions.
(yyreportParseError): In verbose parse error messages, don't issue
`error' in the list of expected tokens.
* data/yacc.c (yyparse) <yybackup>: Rewrite the decoding of the
next action to perform to match glr.c's decoding.
(yytable): Complete its comment.
2002-10-13 14:25:14 +00:00
Akim Demaille
eb71459201 * tests/regression.at Characters Escapes): New.
* src/scan-gram.l (SC_ESCAPED_CHARACTER): Accept ' in strings and
characters.
Reported by Jan Nieuwenhuizen.
2002-10-11 11:23:19 +00:00
Akim Demaille
927f781708 * configure.ac: Update AC_OUTPUT and AM_CONFIG_HEADER
invocations.
* tests/cxx-type.at (declarator): Don't rely on NDEBUG being not
defined.
2002-09-30 12:27:31 +00:00
Akim Demaille
d862b1be60 * m4/prereq.m4: Update, from Fileutils 4.1.5.
* configure.ac (jm_PREREQ_TEMPNAME): Invoke it.
Reported by Martin Mokrejs.
2002-09-12 16:11:55 +00:00
Akim Demaille
c0ad8bf3c2 * data/yacc.c: Guard the declaration of yytoknum also with
`#ifdef YYPRINT', so it is declared only when used.
2002-09-04 12:03:01 +00:00
Paul Eggert
93a1e33a1d Add Paul Hilfinger. 2002-08-12 15:03:15 +00:00