X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/70afaf26037e919f6abf3904e43845d116899df3..3d4a0cad569527d854a97ed1c54f5de7eaa22458:/ChangeLog diff --git a/ChangeLog b/ChangeLog index 0fd021ab..2b80e95b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,415 @@ +2010-05-11 Akim Demaille + + lalrl1.cc: give a chance to user defined YYLLOC_DEFAULT. + * data/lalr1.cc (YYLLOC_DEFAULT): Move its definition from the + header file to the implementation file, after the user %code + sections. + * NEWS (2.5): Document this. + +2010-05-07 Akim Demaille + + c++: use YYRHSLOC. + * data/lalr1.cc (YYRHSLOC): New. + (YYLLOC_DEFAULT): Use it. + * data/glr.cc: If location_type was user defined, do not include + location.hh, and do not produce location.hh and position.hh. + * tests/calc.at (YYLLOC_DEFAULT): Use YYRHSLOC. + Check that glr.cc supports user defined location_type. + * NEWS: Document this. + +2010-05-10 Akim Demaille + + doc: fix lalr1.cc documentation. + * doc/bison.texinfo (C++ Scanner Interface): Fix yylex signature. + (C++ Bison Interface): Fix lalr1.cc skeleton name. + (C++ Parser Interface): Fix semantic_type and location_type names. + Document yy::parser::token. + Reported by Jerry Quinn. + +2010-05-04 Akim Demaille + + lalr1.cc: don't generate location.hh when location_type is defined + * data/bison.m4 (b4_percent_define_use): New. + (b4_percent_define_get): Use it. + Accept a default value. + * data/c++.m4: Do not provide a default value for the %define + variable location_type, rather, use b4_percent_define_get with a + default argument where its value is needed. + * data/lalr1.cc: Do not load location.cc (which outputs both + location.hh and position.hh) if the user defined location_type. + Do not include location.hh either. + * data/glr.cc: Likewise. + +2010-05-04 Akim Demaille + + lalr1.cc: location_type: make sure we don't depend on loc.(begin|end). + * tests/calc.at (Span): Instead of begin/end, as in the built-in + location class, use first and last. + Define YYLLOC_DEFAULT to adjust to these changes. + * tests/local.at (_AT_BISON_OPTION_PUSHDEFS): Adjust to the + location_type changes. + +2010-05-04 Akim Demaille + + tests: enhance AT_SYNCLINES_COMPILE. + * tests/synclines.at (AT_TEST_SYNCLINE): Move GCC 4.5 protection + into... + (AT_SYNCLINES_COMPILE): here. + Add more distcc patterns. + +2010-05-01 Joel E. Denny + + tests: fix maintainer-xml-check. + * data/xslt/xml2dot.xsl (xsl:template match="bison-xml-report"): + Update output to include comments now produced by --graph. + (xsl:template match="automaton"): As for --graph, name the + digraph after the grammar file. + * src/print-xml.c (escape_bufs): Enlarge array. + (print_xml): Add bug-report and url attributes to + bison-xml-report element. + +2010-05-01 Joel E. Denny + + In DOT output, convert from "/*" comments to "//" comments. + This handles the possibility that a "*/" might appear in + variable portions of those comments at some point in the future. + * src/graphviz.c (start_graph): Implement. + +2010-04-30 Joel E. Denny + + Document that undefined %prec identifier warnings will remain. + * NEWS (2.4.3): Here. + (2.4.2): Here. + +2010-04-30 Joel E. Denny + + Revert 2009-12-30 change for undefined %prec token complaints. + That is, keep them as warnings because that should be sufficient + to satisfy POSIX without creating backward compatibility issues. + Suggested by Richard Stallman at + . + * NEWS (2.5): Remove mention of complaint. + * src/reader.c (grammar_rule_check): Convert complaint back to + warning. + * tests/input.at (%prec's token must be defined): Update. + +2010-04-25 Joel E. Denny + + build: don't require src/bison during bootstrap. + Suggested by Eric Blake at + . + * bootstrap.conf (bootstrap_epilogue): New function to make sure + src/parse-gram.[ch] are stamped later than src/parse-gram.y. + +2010-04-25 Joel E. Denny + + i18n: fix untranslatable string. + Reported by Goran Uddeborg at + . + * src/muscle-tab.c (muscle_percent_define_insert): Here. + +2010-04-13 Akim Demaille + + tests: calc: minor refactoring. + * tests/calc.at (_AT_DATA_CALC_Y): Simplify yylex. + +2010-04-13 Akim Demaille + + tests: calc: simplify location management. + * tests/local.at (AT_LOC_PUSHDEF, AT_LOC_POPDEF): New. + (_AT_BISON_OPTION_PUSHDEFS, AT_BISON_OPTION_POPDEFS): Use them to + define the appropriate AT_LOC accessors. + * tests/calc.at: Use AT_LOC accessors. + +2010-04-13 Akim Demaille + + test location_type. + * tests/local.at (_AT_BISON_OPTION_PUSHDEFS): + Define AT_LOCATION_TYPE_IF. + (_AT_BISON_OPTION_POPDEFS): Undefine AT_LOCATION_TYPE_IF. + * tests/calc.at (_AT_DATA_CALC_Y): When %define location_type is + used, provide a user location type and use it. + (Simple LALR1 C++ Calculator): Add a test case for location_type. + +2010-04-13 Akim Demaille + + tests: check fclose's return value. + * tests/calc.at (_AT_DATA_CALC_Y): Check fclose's return status. + +2010-04-13 Akim Demaille + + tests: don't depend on the actual location type. + * tests/calc.at: Use yy::parser::location_type rather than + yy::location, since the former is always right, and might point to + another type than the latter. + +2010-04-13 Akim Demaille + + formatting changes. + * tests/calc.at: Formatting changes. + +2010-04-13 Akim Demaille + + lalr1.cc: remove useless forward declaration. + * data/lalr1.cc: Include location.hh before stack.hh. + Remove the useless forward declarations of position and location. + Reported by Chris Morley. + * data/glr.cc: Likewise. + +2010-04-11 Joel E. Denny + + * NEWS (2.4.3): Mention fix for Sun Studio C++. + +2010-04-10 Joel E. Denny + + tests: fix for newer Sun Studio C++. + Reported by Dagobert Michelsen at + . + * 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-03 Joel E. Denny + + portability: fix pointer arithmetic to conform to C standard. + Reported by Tys Lefering at + . + This fix is already implemented in glr.c and does not apply to + lalr1.java. + * data/lalr1.cc (yy::parser::parse): Increase size of + yyerror_range and adjust subscripting so you don't have to + subtract one from the beginning of the array. + * data/yacc.c (b4_declare_parser_state_variables, + yyparse, yypush_parse): Likewise. + +2010-04-05 Akim Demaille + + remove useless include. + * src/graphviz.h: Don't include stdbool.h. + +2010-04-05 Akim Demaille + + graph: sign the output file. + * src/graphviz.c (start_graph): Issue comments about Bison. + Suggested by Tys Lefering. + +2010-03-31 Joel E. Denny + + portability: fix test suite for GCC 4.5's new #error message. + Reported by Tys Lefering at + . + * NEWS (2.4.3): Mention. + * tests/synclines.at (AT_TEST_SYNCLINE): Implement. + +2010-03-30 Akim Demaille + + fix comments. + * src/graphviz.h: Add missing license notice. + Document. + +2010-03-25 Akim Demaille + + tests: fix 250: parse.error=verbose overflow. + * tests/regression.at (parse.error=verbose overflow): Avoid the + double inclusion of stdlib.h as it triggers hard errors. + +2010-03-23 Joel E. Denny + + portability: fix for BSD make. + Reported by Johan van Selst at + . + * tests/Makefile.am ($(TESTSUITE)): Qualify package.m4 in + this dependency list as in package.m4's target rule. + +2010-03-23 Joel E. Denny + + portability: fix spawning on at least FreeBSD 8 and FreeBSD 9. + Reported by Johan van Selst at + . + * NEWS (2.4.3): New. + * THANKS (Johan van Selst): Add. + * gnulib: Update to latest. + +2010-03-20 Joel E. Denny + + maint: update for changes to gnulib's announce-gen. + * HACKING (Announce): RELEASE_TYPE=major must now be written + RELEASE_TYPE=stable. + +2010-03-20 Joel E. Denny + + Version 2.4.2. + * NEWS (2.4.2): Set version and date. For the recent test suite + portability fixes, don't be so optimistic about their success + given the lack of feedback on the affected platforms. + +2010-02-22 Joel E. Denny + + tests: fix maintainer-xml-check for recent changes. + * tests/output.at (AT_CHECK_CONFLICTING_OUTPUT): Use + AT_BISON_CHECK_NO_XML rather than AT_BISON_CHECK because an + output file whose name conflicts with a previous output file + is now never generated. + +2010-02-22 Joel E. Denny + + 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 + . + + There were also problems with the test suite livelocking on + Tru64 5.1b. Reported by Didier Godefroy at + . + 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-04 Joel E. Denny + + Update POTFILES. + * HACKING (Release Procedure): Add reminder about keeping + POTFILES files up-to-date. + * po/POTFILES.in (src/muscle-tab.c, src/scan-skel.l): Add. + +2010-02-01 Joel E. Denny + + Code cleanup. + * tests/atlocal.in (abs_top_srcdir): Remove shell variable, + which is already defined in atconfig. + +2010-01-21 Joel E. Denny + + * cfg.mk (gnulib_dir): Assume gnulib is a subdirectory. + +2010-01-21 Joel E. Denny + + maint: automate PACKAGE_COPYRIGHT_YEAR update, and update it. + * HACKING (Release Procedure): Update notes on copyright years. + * Makefile.am (update-package-copyright-year): New target rule. + * build-aux/update-package-copyright-year: New file. + * cfg.mk (update-copyright): Add update-package-copyright-year + as a dependency. + +2010-01-19 Joel E. Denny + + * bootstrap: Import improvements from latest gnulib. + +2010-01-19 Joel E. Denny + + build: require Automake 1.11.1 to avoid a security flaw. + * HACKING (Release Procedure): Don't document Automake security + flaw here. + * configure.ac (AM_INIT_AUTOMAKE): Require 1.11.1, and explain + why here. + +2010-01-19 Joel E. Denny + + gnulib: update to latest. + +2010-01-19 Joel E. Denny + + ChangeLog (2006-09-15): add Odd Arild Olsen's role for push.c. + +2010-01-15 Joel E. Denny + + Thank the developer of the initial push parser implementation. + This unfortunate oversight is several years old. + * THANKS (Odd Arild Olsen): Add. + +2010-01-04 Joel E. Denny + + Fix some comments concerning LR(0) versus LALR(1). + + Stop equating LR(0) with nondeterminism and LALR(1) with + determinism. That is, if all states are consistent, then LR(0) + tables are deterministic. On the other hand, LALR(1) tables + might be nondeterministic before conflict resolution, and GLR + permits LALR(1) tables to remain nondeterministic. + * src/LR0.c, src/LR0.h: Here. + * src/lalr.c, src/lalr.h: Here. + * src/main.c (main): Here. + * src/state.c, src/state.h: Here. + + * src/ielr.h (ielr): In preconditions, expect LR(0) not LALR(1) + parser tables. + +2010-01-04 Joel E. Denny + + maint: run "make update-copyright" + +2009-12-30 Joel E. Denny + + POSIX: complain if %prec's token was not defined. + * NEWS (2.5): Document. + * src/reader.c (grammar_rule_check): Convert warning to + complaint. + * tests/input.at (%prec's token must be defined): Update. + +2009-12-30 Joel E. Denny + + POSIX: warn if %prec's token was not defined. + Reported by Florian Krohm at + . + * NEWS (2.4.2): Document. + * src/reader.c (grammar_rule_check): Implement. + (grammar_current_rule_prec_set): Add comments explaining that we + here assume a %prec identifier is a token, but we still manage + to support POSIX. + * tests/input.at (%prec's token must be defined): New test + group. + +2009-12-31 Joel E. Denny + + * HACKING (Release Procedure): Recommend a secure automake. + +2008-12-11 Akim Demaille + + Propagate i18n changes into glr.c. + * data/glr.c (yyreportSyntaxError): Use "switch" instead of + building the error message format dynamically. + * data/lalr1.java: Formatting changes. + 2009-12-22 Joel E. Denny Port small part of master's 11707b2b so future ports are easier. @@ -5602,9 +6014,12 @@ 2006-09-15 Bob Rossi + Add support for push parsing. Based on the original work of + Odd Arild Olsen . * data/Makefile.am (dist_pkgdata_DATA): Add push.c. * data/c.m4 (YYPUSH): New. (b4_push_if): New macro. Use it instead of #ifdef YYPUSH. + * data/push.c: New file. * src/getargs.c (push_parser): New var. * src/getargs.h (push_parser): New declaration. * src/output.c (prepare): Add macro insertion of `push_flag'. @@ -22777,9 +23192,8 @@ ----- - Copyright (C) 1987, 1988, 1991, 1992, 1993, 1994, 1995, 1996, - 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009 Free Software Foundation, Inc. + Copyright (C) 1987-1988, 1991-2010 Free Software Foundation, + Inc. Copying and distribution of this file, with or without modification, are permitted provided the copyright notice and this