X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/c0ee9e21157b86eeb151debcc1b8f4b1ca7e9eb8..1266b636740f0c6719d8cc11a5d569084fa37009:/ChangeLog diff --git a/ChangeLog b/ChangeLog index 6a2327e0..9bf7137d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,598 @@ +2009-08-20 Eric Blake + + Make previous patch more robust. + * src/output.c (ARRAY_CARDINALITY): New macro, copied from + argmatch.h. + (output_skeleton): Use it. + Suggested by Akim Demaille. + + Import latest m4/m4.m4. + * m4/m4.m4: Copy from autoconf 2.64. + * configure.ac (M4_GNU_OPTION): New define. + * src/output.c (output_skeleton): Use it to resolve FIXME. + * NEWS: Mention this. + +2009-08-19 Joel E. Denny + + Fix complaints about escape sequences. + Discussed starting at + . + * src/scan-gram.l (SC_ESCAPED_STRING, SC_ESCAPED_CHARACTER): + For a \0 and similar escape sequences meaning the null + character, report an invalid escape sequence instead of an + invalid null character because the latter does not actually + appear in the user's input. + In all escape sequence complaints, don't escape the initial + backslash, and don't quote when the sequence appears at the end + of the complaint line unless there's whitespace that quotearg + won't escape. + Consistently say "invalid" not "unrecognized". + * tests/input.at (Bad escapes in literals): New. + +2009-08-19 Akim Demaille + + 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. + +2009-08-18 Joel E. Denny + + maint: update for gnulib's recent update-copyright changes + * gnulib: Update. + * .x-update-copyright (COPYING): Add as it's no longer implied + when .x-update-copyright is present. + * cfg.mk (update-copyright-local): Remove, now ignored. + (update-copyright): Declare update-b4-copyright as a dependency. + +2009-08-17 Akim Demaille + + 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-14 Joel E. Denny + + maint: fix use of copyright year intervals. + * gnulib: Update. + * bootstrap.conf (gnulib_modules): Update getopt to getopt-gnu + as now recommended in gnulib/NEWS. + * build-aux/update-b4-copyright: Fix. + * cfg.mk (update-copyright-env): Configure update-copyright. + +2009-08-12 Akim Demaille + + distcheck: fix. + + * examples/calc++/Makefile.am: (EXTRA_DIST): Ship calc.stamp. + +2009-08-06 Joel E. Denny + + maint: run "make update-copyright" + But first... + * .x-update-copyright (^data/m4sugar/): Add, because these + files are from Autoconf. + +2009-08-06 Joel E. Denny + + maint: make update-b4-copyright easier to use + * build-aux/update-b4-copyright: In warnings, report line + numbers rather than character positions. + * cfg.mk (update-copyright-local): Set to update-b4-copyright so + that update-copyright runs it. + * gnulib: Update. + +2009-08-05 Joel E. Denny + + maint: clean up update-b4-copyright code + * build-aux/update-b4-copyright: Do not accept 2-digit + UPDATE_COPYRIGHT_YEAR, which was not handled correctly. + Don't accept a `[' in a b4_copyright argument. + Format code more consistently. + Don't assume b4*copyright never occurs. + +2009-08-04 Joel E. Denny + + maint: automate b4_copyright updates. + * Makefile.am (update-b4-copyright): New target rule. + * build-aux/Makefile.am (EXTRA_DIST): Add update-b4-copyright. + * build-aux/update-b4-copyright: New. + * data/yacc.c: Remove stray characters around b4_copyright + invocations. + +2009-08-04 Joel E. Denny + + maint: automate annual package-wide copyright-year update. + * .x-update-copyright: New. + * Makefile.am (EXTRA_DIST): Remove maint.mk. + * bootstrap.conf (gnulib_modules): Add maintainer-makefile and + update-copyright. Remove gnumakefile, which is implied by + maintainer-makefile. + * cfg.mk (bootstrap-tools): Copy from old maint.mk. + * gnulib: Update. + * maint.mk: Remove, now copied from gnulib. + * examples/extexi: Add missing "(C)" in copyright statement so + update-copyright can recognize it. + * src/LR0.h: Likewise. + * src/print.h: Likewise. + * src/print_graph.h: Likewise. + * src/gram.c: Add missing comma in copyright statement. + * src/gram.h: Likewise. + +2009-08-04 Joel E. Denny + + Fix "make distcheck". + * examples/calc++/Makefile.am: Say $(srcdir)/calc.stamp instead + of just calc.stamp. + +2009-08-01 Joel E. Denny + + Pacify "gcc -Wunused" for the input function from Flex. + Reported by Alex Rozenman. This warning shows up with gcc-4.3.0 + and later. + * src/scan-code.l: Add "%option noinput", which I cannot find in + the Flex manual, but which Flex has supported since at least as + far back as 2.5.4. However, if any of our developers still use + Flex 2.5.4, they'll need to stop configuring with + --enable-gcc-warnings because "%option noinput" didn't work + correctly until Flex 2.5.6. + * src/scan-gram.l: Likewise. + * src/scan-skel.l: Likewise. + +2009-06-29 Akim Demaille + + build: avoid concurrent extraction of calc++. + * examples/calc++/Makefile.am (calc.stamp): New. + Depend on it to create the sources of calc++ so that concurrent + builds don't launch several "extexi" in parallel. + Not only this is inefficient, this also builds incorrect sources + with several extractions mixed together. + +2009-06-25 Akim Demaille + + hash: check insertion for memory exhaustion. + * src/uniqstr.c (uniqstr_new): New. + +2009-06-11 Akim Demaille + + hash: check insertion for memory exhaustion. + * src/muscle-tab.c (muscle_insert, muscle_grow) + * src/state.c (state_hash_insert): Check the return value of + hash_insert. + +2009-06-10 Akim Demaille + + gnulib: update. + * gnulib: Update to latest. + * lib/.cvsignore, lib/.gitignore, m4/.cvsignore, + * m4/.gitignore: Regen. + * src/symtab.c (symbol_from_uniqstr, semantic_type_from_uniqstr): + Call xalloc_die on hash_insert failures. + Requested by the new __warn_unused_result__ attribute of + hash_insert. + +2009-05-22 Joel E. Denny + + * data/c++.m4: Update copyright year. + +2009-05-19 Joel E. Denny + + Handle a trailing `:' in a user-supplied C++ namespace better. + * data/c++.m4 (b4_namespace_close): Don't let it be printed + among the closing braces here. This fix might make the + generated code easier to debug, but otherwise it should be + insignificant because a trailing `:' is a C++ error already. + +2009-05-11 Akim Demaille + + doc: use C++ headers. + * doc/bison.texinfo (Calc++ Scanner): Prefer C++ headers to C + headers. + +2009-05-01 Joel E. Denny + + Declare %code to be a permanent feature. + * NEWS (2.4.2): Here. + * doc/bison.texinfo (Prologue Alternatives): Don't say it's + experimental. + (Decl Summary): Likewise. + +2009-04-14 Akim Demaille + + doc: minor fixes. + * doc/bison.texinfo (Decl Summary): Fix entry about %debug. + (Table of Symbols): Remove duplicate entry for %debug. + +2009-04-06 Eric Blake + + Work around autoconf 2.63b bug in testsuite. + * tests/output.at (AT_CHECK_OUTPUT_FILE_NAME): Avoid tripping + autoconf bug related to # in test. + +2009-04-06 Joel E. Denny + + Fix options documentation. + * build-aux/cross-options.pl: As in --help output, write optional + arguments as [=ARG] not =[ARG]. + * doc/bison.texinfo (Bison Options): Add -W/--warnings argument. + +2008-11-07 Akim Demaille + + Fix --help. + * src/getargs.c (usage): Fix help string for -W. + +2008-11-07 Akim Demaille + + Handle more general types of option arguments. + * build-aux/cross-options.pl: The argument ends at the first + space, not the first non-symbol character. + Use @var for each word appearing the argument description. + +2009-04-04 Joel E. Denny + + Remove spurious initial empty lines. + * data/location.cc: End the @output lines with an @. + +2008-11-04 Akim Demaille + + Remove spurious initial empty lines. + * data/glr.c, data/glr.cc, data/lalr1.cc, data/lalr1.java, + * data/yacc.c: End the @output lines with an @. + +2009-04-04 Joel E. Denny + + Replace BISON_PROG_GNU_M4 with Autoconf's AC_PROG_GNU_M4. + If the first m4 in $PATH is wrong, it keeps looking. Moreover, its + requirements for a correct m4 are stricter. + * m4/m4.m4: Replace with Autoconf 2.63's m4/m4.m4. + * configure.ac: Update to use AC_PROG_GNU_M4. + Reported by Eric Blake. + +2009-04-03 Joel E. Denny + + Help with updating web manual. + * HACKING: Incorporate instructions from gnulib/doc/README. + * bootstrap.conf (gnulib_modules): Add gendocs. + +2009-04-03 Joel E. Denny + + Fix strange %define locations for default values. + Reported by Akim Demaille at + + and discussed again starting at + . + * data/bison.m4 (b4_percent_define_default): Leave syncline blank + because location information is bogus. + Use angle brackets to delimit fake file name because square brackets + look like underexpanded m4. Choose a better fake file name. + Use negative line numbers. + * src/muscle_tab.c (muscle_percent_define_default): Likewise. + * src/location.c (location_print): If line for a boundary is negative, + only print that boundary's file name. + * src/location.h: Document that. + * tests/skeletons.at (%define Boolean variables: invalid skeleton + defaults): Update output. + +2008-11-07 Akim Demaille + + Locations without columns for command line arguments. + * src/location.c (location_print): Don't display negative columns. + * src/location.h: Document this. + +2009-02-03 Joel E. Denny + + Add reminder about uploading public key to keys.gnupg.net. + * HACKING (Release Procedure): Here. + +2009-03-31 Akim Demaille + + bootstrap: --help to stdout. + * bootstrap (usage): Don't send --help to stderr. + Use a here doc instead of a long string. + +2009-03-31 Akim Demaille + + bootstrap: README-hacking no longer exists + * bootstrap (checkout_only_file): Set to HACKING. + +2009-03-26 Akim Demaille + + doc: merge HACKING and README-hacking. + Two files is confusing. + Reported by Alexandre Duret-Lutz. + + * README-hacking: Merge into... + * HACKING (Working from the repository): here. + +2009-03-26 Akim Demaille + + doc: update README-hacking. + * README-hacking: We now use git and git submodules. + Reported by Ralf Wildenhues and Alexandre Duret-Lutz. + +2009-03-26 Akim Demaille + + lalr1.cc: avoid GCC 4.3 warnings. + GCC 4.3 now warns about "a || b && c" and asks for explicit + parentheses. + Reported by Alexandre Duret-Lutz. + * data/location.cc: Update copyright years. + (Position::operator==): Use parens to make precedence explicit. + Compare lines and columns first, as they are more likely to be + different, and they are faster to compare. + +2009-03-26 Akim Demaille + + gnulib: update. + * gnulib: Update to latest. + * lib/Makefile.am (AM_CPPFLAGS): It is now defined by gnulib, so + use +=. + +2009-01-08 Akim Demaille + + 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. + +2008-12-11 Joel E. Denny + + Version 2.4.1. + * NEWS: Set version and date. + * lib/Makefile.am: Update copyright year. + * tests/atlocal.in: Update copyright year. + +2008-12-11 Joel E. Denny + + Semicolon feature removal is not about future language support. + * NEWS: The semicolon feature is no longer active for newer languages, + so don't claim that it causes trouble for them. + +2008-12-11 Joel E. Denny + + * gnulib: Update submodule to HEAD. + +2008-12-09 Akim Demaille + + Update data/README. + * data/README: Document glr.cc, lalr1.java, m4sugar and xslt. + +2008-12-05 Eric Blake + + Build testsuite with newer autoconf. + * tests/output.at (m4_expand): Don't override in newer autoconf, + where the underlying implementation changed. + * tests/cxx-type.at (_AT_RESOLVED_GLR_OUTPUT) + (_AT_RESOLVED_GLR_OUTPUT_WITH_LOC, _AT_AMBIG_GLR_OUTPUT) + (_AT_AMBIG_GLR_OUTPUT_WITH_LOC, _AT_GLR_STDERR) + (_AT_VERBOSE_GLR_STDERR): Expand to double-quoted strings, + since some of them contain unbalanced ')'. + +2008-11-19 Joel E. Denny + + * NEWS: Clarify a little. + +2008-11-19 Joel E. Denny + + * NEWS: Update for recent changes. + +2008-11-18 Joel E. Denny + + Fix unexpanded macros in GLR defines file. + Reported by Csaba Raduly at + . + * 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 source file. + +2008-11-17 Joel E. Denny + + Don't let maintainer-*-check targets force a version update. + * cfg.mk (_is-dist-target): Implement. maintainer-check* was already + handled. + +2008-11-17 Di-an Jan + + * doc/bison.texinfo: Synchronize ``Detail Node Listing''. + Align menus. Adjust word wrapping. Use node names for menu names. + (Examples): Don't abbreviate node names. + (LocalWords): Remove abbreviations. + (Copying): Make description a sentence. + (Java Action Features): Remove period to match the rest of menu. + +2008-11-11 Paolo Bonzini + + * bootstrap.conf: Replace m4/warning.m4 with warnings module. + * configure.ac: Adjust usage. + * lib/Makefile.am: Replace $(WARNING_CFLAGS) with $(WARN_CFLAGS). + * src/Makefile.am: Replace $(WARNING_CFLAGS) with $(WARN_CFLAGS). + * tests/atlocal.in: Replace $(WARNING_*FLAGS) with $(WARN_*FLAGS). + +2008-11-07 Joel E. Denny + + Don't add a semicolon to actions for %skeleton or %language. + It breaks Java test cases as reported by Akim Demaille. + * src/scan-code.l: Implement. + +2008-11-07 Joel E. Denny + + Clean up %skeleton and %language priority implementation. + * src/getargs.c (skeleton_prio): Use default_prio rather than 2, and + remove static qualifier because others will soon need to see it. + (language_prio): Likewise. + (getargs): Use command_line_prio rather than 0. + * src/getargs.h (command_line_prio, grammar_prio, default_prio): New + enum fields. + (skeleton_prio): Extern it. + (language_prio): Extern it. + * src/parse-gram.y: Use grammar_prio rather than 1. + +2008-11-04 Akim Demaille + + * NEWS: Mention the trailing semicolon in action. + +2008-11-04 Akim Demaille + + Reformat NEWS. + * NEWS: Use more outline-mode markup. + Suggested by Jim Meyering. + +2008-11-04 Joel E. Denny + + Fix user actions without a trailing semicolon. + Reported by Sergei Steshenko at + . + * 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-02 Joel E. Denny + + Initiate further development. + * NEWS: Create an empty section for new entries. + * gnulib: Update submodule to HEAD. + +2008-11-02 Joel E. Denny + + * NEWS: Version 2.4. + +2008-11-02 Joel E. Denny + + Prepare for next release. + * NEWS: Briefly mention changes since 2.3b. + * README: Say GNU m4 1.4.6, which we've been requiring in release + announcements already, not 1.4.3, which breaks the build. + +2008-11-02 Joel E. Denny + + Say %language is experimental. + We're thinking of extending it's effect on output file naming. See the + thread at + . + * NEWS: Say it's experimental. + * doc/bison.texinfo (Decl Summary): Say it's experimental, and so don't + recommend it over %skeleton for now. + (Bison Options): Likewise. + (C++ Bison Interface): Use %skeleton not %language. + (Calc++ Parser): Use %skeleton not %language. + * src/getargs.c (usage): Say it's experimental. + +2008-11-01 Di-an Jan + Paolo Bonzini + + Support all Java parser class modifiers. + * data/java.m4 (b4_percent_define_get3): New. + (b4_final_if, b4_strictfp_if): New. + * data/lalr1.java (final, strictfp, extends, implements): Support. + * doc/bison.texinfo (final, strictfp, extends, implements): Add + documentation. + * tests/java.at (AT_CHECK_JAVA_MINIMAL): New. + (AT_CHECK_JAVA_MINIMAL_W_LEXER): New. + (AT_CHECK_JAVA_GREP): New. + (Java parser class modifiers): New test. + (Java parser class extends and implements): New test. + + Model exception propagation better with throws and lex_throws. + * data/java.m4 (b4_list2): New. + (throws): Change default. + * data/lalr1.java (yyaction): Add throws. + (parse): Add lex_throws in addition to throws. + * doc/bison.texinfo (throws, lex_throws): Add documentation. + * tests/java.at (Java throws specifications): New test. + + Improve documentation for Java parsers. + * doc/bison.texinfo (Java Parsers): Add subsections. + Don't quote first argument of %define. + (Java Bison Interface): Document output files. Move documentation + of parser class and merge into Java Parser Interface. Document + features that error out. Document directives with no effect. + Move note about Javadoc higher. + (Java Semantic Values): Explicitly mention stype. + Document that generic types cannot be used. + (Java Location Values): Use @deftypeivar. Document constructors. + Correct return value for toString. + (Java Parser Interface): List undocumented constants/fields. + Move documentation of fields added by %parse-param closer to list + of members. Document that token names are added as fields. + Document constructors accurately. Remove error method. + (Java Scanner Interface): Move note on %pure-parser to Java Bison + Interface. Describe %code lexer and yylex accutately. + Remove documentation that does not match the code. + (Java Action Features): New. + (Java Differences): Add reference. Add item on semantic values. + Add note about @{ ... @}. Clarify %% epilogue placement. + (Java Declarations Summary): New. + + Fix Java skeleton. + * data/java.m4 (b4_prefix): Correct quoting for m4_define_default. + (b4_remove_comma): Quote test argument. + (b4_identification): Remove "bison" field. + * tests/java.at (Java parser class and package names): New test. + (Java %parse-param and %lex-param): New test. + (Java stype, position_class and location_class): New test. + +2008-10-31 Di-an Jan + + * data/lalr1.jave: Update copyright years. + (YYParser): Correct name of "generated from" file in Javadoc: + use b4_file_name instead of @ofile@. + (Location constructor): Correct Javadoc parameter name. + (yylloc): Add missing opening m4 quote after b4_location_if. + This removes a stray [ in the Javadoc of Lexer.getStartPos. + (Lexer.yyerror): Fix incorrect m4 and Javadoc. + (YYParser constructor): Correct Javadoc parameter name. + +2008-10-30 Joel E. Denny + + Always put auxiliary code files in the same dir as other output files. + * src/files.c (compute_file_name_parts): When the user specifies + --output but not --file-prefix, extract the directory prefix from the + file prefix not from the grammar file name. This affects the location + of files like location.hh generated by the C++ skeleton. The includes + in the other output files require this fix. + * tests/output.at (AT_CHECK_OUTPUT): Automatically create directories + for expected output files. + (Output files): Add a test for the above. + +2008-10-29 Joel E. Denny + + * gnulib: Update submodule to HEAD. + +2008-10-28 Joel E. Denny + + Update copyright year. + * src/files.c: Here. + 2008-10-28 Di-an Jan (tiny change) Don't overwrite the input file. @@ -73,9 +668,9 @@ 2008-08-29 Akim Demaille Clarify UPDATED use. - * doc/bison.texinfo: It refers to the last edition of this file, + * doc/bison.texinfo: It refers to the last edition of this file, not to the release date of Bison. - Reported by Joel E. Denny. + Reported by Joel E. Denny. 2008-08-29 Akim Demaille @@ -95,15 +690,15 @@ 2008-08-27 Akim Demaille Check yyerrok in calc.at. - * tests/calc.at (calc.y): Use yyerrok on "( error )". - (AT_CHECK_CALC): Add a check that ensures that yyerrok works as - expected. + * tests/calc.at (calc.y): Use yyerrok on "( error )". + (AT_CHECK_CALC): Add a check that ensures that yyerrok works as + expected. 2008-08-27 Akim Demaille Support yyerrok in lalr1.cc. YYBACKUP is still to import back into lalr1.cc. - * data/lalr1.cc (yyerrork, yyclearin, YYRECOVERING): Define. + * data/lalr1.cc (yyerrork, yyclearin, YYRECOVERING): Define. 2008-08-26 Joel E. Denny @@ -20867,8 +21462,8 @@ ----- Copyright (C) 1987, 1988, 1991, 1992, 1993, 1994, 1995, 1996, - 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 - Free Software Foundation, Inc. + 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted provided the copyright notice and this