X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/9852b61c2b87f619117e4a170c7c34b29a8afc59..1c4ad777cb220ea669dc934c9b600a25a824a658:/ChangeLog?ds=sidebyside

diff --git a/ChangeLog b/ChangeLog
index 7345b242..885a5740 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,480 @@
+2010-01-04  Joel E. Denny  <jdenny@clemson.edu>
+
+	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  <jdenny@clemson.edu>
+
+	maint: run "make update-copyright"
+
+2009-12-30  Joel E. Denny  <jdenny@clemson.edu>
+
+	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  <jdenny@clemson.edu>
+
+	POSIX: warn if %prec's token was not defined.
+	Reported by Florian Krohm at
+	<http://lists.gnu.org/archive/html/bug-bison/2009-12/msg00005.html>.
+	* 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  <jdenny@clemson.edu>
+
+	* HACKING (Release Procedure): Recommend a secure automake.
+
+2008-12-11  Akim Demaille  <demaille@gostai.com>
+
+	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  <jdenny@clemson.edu>
+
+	Port small part of master's 11707b2b so future ports are easier.
+	* data/lalr1.java (YYParser::yysyntax_error): Untabify.
+
+2008-12-11  Akim Demaille  <demaille@gostai.com>
+
+	Simplify the i18n of the error messages.
+	* data/lalr1.cc: Comment changes.
+
+2008-11-11  Akim Demaille  <demaille@gostai.com>
+
+	Prefer M4 to CPP.
+	* data/lalr1.cc: Use b4_error_verbose_if instead of #if
+	YYERROR_VERBOSE.
+
+2008-11-11  Akim Demaille  <demaille@gostai.com>
+
+	Support i18n of the parse error messages.
+	* TODO (lalr1.cc/I18n): Remove.
+	* data/lalr1.cc (yysyntax_error_): Support the translation of the
+	error messages, as done in yacc.c.
+	Stay within the yy* pseudo namespace.
+
+2009-12-22  Joel E. Denny  <jdenny@clemson.edu>
+
+	Port small part of master's 8901f32e so future ports are easier.
+	* data/lalr1.cc (yy::parser::yysyntax_error_): Always add second
+	argument, but name it in the function definition only when
+	verbose error messages are enabled and it'll thus be used.
+	(yy::parser::parse): Update use of yysyntax_error_.
+
+2009-12-29  Joel E. Denny  <jdenny@clemson.edu>
+
+	portability: `<' and `>' are not always defined on addresses.
+	Specifically, don't sort objects by their memory addresses when
+	they're not allocated in the same array or other object.  Though
+	I haven't found a test case where that fails on my platform, C
+	says the behavior is undefined.
+	* src/AnnotationList.c (AnnotationList__insertInto): Remove
+	FIXME.  Use new id field of InadequacyList nodes rather than
+	their memory addresses when sorting.
+	(AnnotationList__compute_from_inadequacies): Add
+	inadequacy_list_node_count argument to pass to
+	InadequacyList__new_conflict.
+	* src/AnnotationList.h
+	(AnnotationList__compute_from_inadequacies): Update prototype
+	and documentation for new argument.
+	* src/InadequacyList.c (InadequacyList__new_conflict): Add
+	node_count argument and use it to assign a unique ID.
+	* src/InadequacyList.h (InadequacyListNodeCount): New typedef.
+	(InadequacyList): Add id field.
+	(InadequacyList__new_conflict): Update prototype and
+	documentation for new argument.
+	* src/ielr.c (ielr_compute_annotation_lists): Update
+	AnnotationList__compute_from_inadequacies invocation.
+
+2009-12-20  Joel E. Denny  <jdenny@clemson.edu>
+
+	Fix handling of yychar manipulation in user semantic actions.
+	The problem was that yacc.c didn't always update the yychar
+	translation afterwards.  However, other skeletons appear to be
+	fine.  glr.c appears to already translate yychar before every
+	use.  lalr1.cc does not define yychar and does not document its
+	replacement, yyla, for users.  It does provide yyclearin, but
+	that does not manipulate yyla and thus requires no translation
+	update.  In lalr1.java, yychar is out of scope during semantic
+	actions.
+	* NEWS (2.5): Document.
+	* data/yacc.c (YYBACKUP): Don't bother translating yychar into
+	yytoken here.
+	(yyparse, yypush_parse): Instead, translate before every use of
+	yytoken, and add comments explaining this approach.
+	* tests/actions.at (Destroying lookahead assigned by semantic
+	action): New test group checking that translation happens before
+	lookahead destructor calls at parser return.  Previously,
+	incorrect destructors were called.
+	* tests/conflicts.at (%error-verbose and consistent
+	errors): New test group checking that translation happens at
+	syntax error detection before the associated verbose error
+	message and the associated lookahead destructor calls.  While
+	the destructor call is fixed by this patch, the verbose error
+	message is currently incorrect due to another bug (see
+	comments in test group), so this is an expected failure for now.
+
+2009-12-21  Joel E. Denny  <jdenny@clemson.edu>
+
+	YYFAIL: warn about uses and remove from lalr1.java.
+	* NEWS (2.5): Document.
+	* data/lalr1.java (parser::YYStack::YYFAIL): Rename to YYERRLAB,
+	and make it private.  Update all uses.
+	* src/scan-code.l (SC_RULE_ACTION): Implement warning.
+
+2009-12-21  Joel E. Denny  <jdenny@clemson.edu>
+
+	YYFAIL: deprecate.
+	* NEWS (2.4.2): Document deprecation and the phase-out plan.
+	* data/lalr1.java (parser::YYStack::YYFAIL): Add comment about
+	deprecation.
+	* data/yacc.c (YYFAIL): Likewise, and suppress warnings about
+	YYFAIL from GCC cpp's -Wunused-macros.
+	* doc/bison.texinfo (Java Action Features): Remove YYFAIL
+	documentation.
+	(LocalWords): Remove YYFAIL.
+
+2009-12-17  Joel E. Denny  <jdenny@clemson.edu>
+
+	Code cleanup.
+	* src/symtab.c, src/symtab.h (symbol_class_get_string): Remove
+	function, which is no longer used.
+
+2009-12-16  Joel E. Denny  <jdenny@clemson.edu>
+
+	Add gcc's -Wundef to test suite and fix another warning from it.
+	* NEWS (2.4.2): Update description of -Wundef fix.
+	* configure.ac (WARN_CXXFLAGS_TEST): New substitution.
+	(WARN_CFLAGS_TEST): New substitution.
+	* data/glr.c: Avoid warning about __STRICT_ANSI__.
+	* tests/atlocal.in (CFLAGS): Use WARN_CFLAGS_TEST instead of
+	WARN_CFLAGS.
+	(NO_WERROR_CFLAGS): Likewise.
+	(CXXFLAGS): Use WARN_CXXFLAGS_TEST instead of WARN_CXXFLAGS.
+
+2009-12-16  Joel E. Denny  <jdenny@clemson.edu>
+
+	* data/yacc.c: Reformat m4 a little.
+
+2009-12-16  Joel E. Denny  <jdenny@clemson.edu>
+
+	Document gcc -Wundef fix.
+	* NEWS (2.4.2): Here.
+	* THANKS (Jonathan Nieder): Add.
+
+2009-12-15  Jonathan Nieder  <jrnieder@gmail.com>  (tiny change)
+
+	Simplify y.tab.c when location tracking is disabled.
+	* data/yacc.c: Do not check YYLTYPE_IS_TRIVIAL if location
+	tracking is not enabled.  Instead, unconditionally define
+	YY_LOCATION_PRINT as a no-op for backward compatibility.
+
+2009-12-15  Jonathan Nieder  <jrnieder@gmail.com>  (tiny change)
+
+	Avoid warnings from gcc -Wundef y.tab.c.
+	* data/glr.c: Check if YYENABLE_NLS and YYLTYPE_IS_TRIVIAL are
+	defined before using them.
+	* data/lalr1.cc: Likewise.
+	* data/yacc.c: Likewise.
+
+2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
+
+	autoconf: update to latest for fix of M4 detection.
+	Reported by Eric Blake.
+	* submodules/autoconf: Update.
+
+2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
+
+	portability: use -DGNULIB_POSIXCHECK.
+	Reported by Eric Blake.  See discussions at
+	<http://lists.gnu.org/archive/html/bug-bison/2009-09/msg00008.html>
+	and
+	<http://lists.gnu.org/archive/html/bug-gnulib/2009-10/msg00108.html>.
+	* HACKING (Release checks): Suggest -DGNULIB_POSIXCHECK.
+	* bootstrap.conf (gnulib_modules): Add all the printf modules
+	suggested by -DGNULIB_POSIXCHECK.  Add realloc-posix as
+	suggested by -DGNULIB_POSIXCHECK for gnulib's own vasnprintf.c.
+	(excluded_files): Remove m4/printf-posix.m4.
+	* tests/atlocal.in (LIBS): As for LDADD in src/local.mk, add
+	lib/libbison.a so gnulib libraries can be linked.
+
+2009-12-14  Joel E. Denny  <jdenny@clemson.edu>
+
+	Enable assertion output and --disable-assert for configure.
+	* bootstrap.conf (gnulib_modules): Add assert module.
+	* src/system.h (aver): Define as assert, and summarize the
+	discussion on this issue.
+
+2009-12-14  Joel E. Denny  <jdenny@clemson.edu>
+
+	Expand GLR acronym in summary of Bison.
+	Based on discussion with Akim Demaille starting at
+	<http://lists.gnu.org/archive/html/bison-patches/2009-04/msg00087.html>.
+	* doc/bison.texinfo (Introduction): Here.
+	* src/getargs.c (usage): Here.
+
+2009-10-03  Alex Rozenman  <rozenman@gmail.com>
+
+	Document named references.
+	* doc/bison.texinfo (Actions): Add new example and xref to
+	Using Named References node.
+	(Using Named References): New node.
+
+2009-10-16  Joel E. Denny  <jdenny@clemson.edu>
+
+	cleanup.
+	* src/Sbitset.c (Sbitset__new_on_obstack): Use Sbitset instead
+	of char*.
+	(Sbitset__isEmpty): Use Sbitset instead of char*.
+	* src/Sbitset.h (Sbitset): Make it a pointer to unsigned char
+	instead of char.  This helps to avoid casting errors.
+	(Sbitset__or): Use Sbitset instead of char*.
+
+2009-10-16  Joel E. Denny  <jdenny@clemson.edu>
+
+	portability: don't assume 8-bit bytes.
+	That is, use CHAR_BIT and UCHAR_MAX instead of 8 and 0xff.
+	* src/Sbitset.h (Sbitset__nbytes): Here.
+	(Sbitset__byteAddress): Here.
+	(Sbitset__bit_mask): Here.
+	(Sbitset__last_byte_mask): Here.
+	(Sbitset__ones): Here.
+	(SBITSET__FOR_EACH): Here.
+
+2009-10-11  Joel E. Denny  <jdenny@clemson.edu>
+
+	portability: use va_start and va_end in the same function.
+	* src/complain.c (error_message): Move va_end from here...
+	(ERROR_MESSAGE): ... to here.
+
+2009-10-08  Joel E. Denny  <jdenny@clemson.edu>
+
+	* data/bison.m4: Update comments for rename to muscle-tab.h.
+
+2009-10-08  Joel E. Denny  <jdenny@clemson.edu>
+
+	Rename muscle_tab.* to muscle-tab.* for consistency with master.
+	* src/Makefile.am (bison_SOURCES): Update.
+	* src/getargs.c, src/ielr.c, src/lalr.c, src/main.c,
+	src/output.c, src/parse-gram.y, src/print.c, src/reader.c,
+	src/tables.c: Update include.
+	* src/muscle_tab.c, src/muscle_tab.h: Rename to...
+	* src/muscle-tab.c, src/muscle-tab.h: ... these and update
+	include.
+
+2009-10-07  Joel E. Denny  <jdenny@clemson.edu>
+
+	Minor code cleanup.
+	* src/muscle_tab.c (MUSCLE_USER_NAME_CONVERT): Remove macro and
+	replace all uses with UNIQSTR_CONCAT.
+	* src/uniqstr.c (uniqstr_vsprintf): New function.
+	* src/uniqstr.h (uniqstr_vsprintf): Add prototype.
+	(UNIQSTR_CONCAT, UNIQSTR_GEN_FORMAT, UNIQSTR_GEN_FORMAT_): New
+	macros.
+
+2009-10-04  Joel E. Denny  <jdenny@clemson.edu>
+
+	Minor code cleanup.
+	* src/parse-gram.y: Clean up sorting of declarations.
+	Use types to simplify %printer declarations where possible.
+	Provide %printer for BRACKETED_ID and symbol.prec.
+	* src/symtab.c: Whitespace change.
+
+2009-10-04  Joel E. Denny  <jdenny@clemson.edu>
+
+	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-09-23  Joel E. Denny  <jdenny@clemson.edu>
+
+	yysyntax_error: avoid duplicate lookahead collection.
+	Except when memory reallocation is required, this change
+	eliminates the need to invoke yysyntax_error twice and thus to
+	repeat the collection of lookaheads.  It also prepares for
+	future extensions that will make those repetitions more
+	expensive and that will require additional memory management in
+	yysyntax_error.  Finally, it fixes an obscure bug already
+	exercised in the test suite.
+	* data/yacc.c (yysyntax_error): Add arguments for message
+	buffer variables stored in the parser.  Instead of size, return
+	status similar to yyparse status but indicating success of
+	message creation.  Other than the actual reallocation of the
+	message buffer, import and clean up memory management code
+	from...
+	(yyparse, yypush_parse): ... here.
+	* tests/regression.at (%error-verbose overflow): No longer an
+	expected failure.
+
+2009-09-23  Joel E. Denny  <jdenny@clemson.edu>
+
+	yysyntax_error: test memory management more.
+	* tests/atlocal.in (NO_WERROR_CFLAGS): New cpp macro.
+	* tests/regression.at (%error-verbose and YYSTACK_USE_ALLOCA):
+	New test group.
+	(%error-verbose overflow): New test group that reveals an
+	obscure bug.  Expected fail for now.
+
+2008-12-11  Akim Demaille  <demaille@gostai.com>
+
+	Pass the token type to yysyntax_error.
+	* data/yacc.c (yysyntax_error): Take the transated token instead
+	of the raw number.
+	Adjust callers.
+
+2008-12-11  Akim Demaille  <demaille@gostai.com>
+
+	Simplify the i18n of the error messages.
+	* data/yacc.c (yysyntax_error): Rewrite, using a switch instead
+	of building dynamically the format string.
+
+2009-10-03  Joel E. Denny  <jdenny@clemson.edu>
+
+	Remove dead code.
+	* src/symtab.c (symbol_pack): Here because every symbol's number
+	is always defined by this time.
+
+2009-10-03  Alex Rozenman  <rozenman@gmail.com>
+
+	Add additional space after periods in NEWS.
+	* NEWS (2.5): here.
+
+2009-09-29  Joel E. Denny  <jdenny@clemson.edu>
+
+	Use the correct conversion specifier for size_t.
+	Reported by Jim Meyering.
+	* src/Sbitset.h (SBITSET__INDEX__CONVERSION_SPEC): New, "zu"
+	because Sbitset__Index is size_t.
+	* src/Sbitset.c (Sbitset__fprint): Use it instead of %d.
+
+2009-09-27  Joel E. Denny  <jdenny@clemson.edu>
+
+	tests: don't abuse AT_BISON_CHECK.
+	* tests/regression.at (parse-gram.y: LALR = IELR): Move
+	additional shell commands outside of AT_BISON_CHECK.
+
+2009-09-26  Joel E. Denny  <jdenny@clemson.edu>
+
+	tests: check that parse-gram.y's IELR and LALR are identical.
+	* tests/atlocal.in (abs_top_srcdir): New shell variable.
+	* tests/regression.at (parse-gram.y: LALR = IELR): New test
+	group.
+
+2009-09-16  Akim Demaille  <demaille@gostai.com>
+
+	doc: comment changes.
+	* doc/bison.texinfo: Comment changes.
+
+2009-09-16  Akim Demaille  <demaille@gostai.com>
+
+	doc: spell checking.
+	* doc/bison.texinfo: here.
+
+2009-09-19  Alex Rozenman  <rozenman@gmail.com>
+
+	Keep sub-messages aligned. Fix strings for translation.
+	* src/location.h (location_print): Add return value.
+	* src/location.c (location_print): Return number of printed
+	characters.
+	* src/complain.h (complain_at_indent, warn_at_indent): Prototype
+	new functions.
+	* src/complain.cpp (indent_ptr): New static variable.
+	(error_message, complain_at_indent, warn_at_indent): Implement
+	the alignment mechanism.
+	* src/scan-code.l (parse_ref, show_sub_messages): Fix strings
+	for translations. Use new alignment mechanism.
+	* tests/named-ref.at: Adjust test-cases.
+	* NEWS (2.5): Add an announcement about named references.
+
+2009-09-13  Joel E. Denny  <jdenny@clemson.edu>
+
+	tests: clean up push.at test group titles.
+	* tests/push.at: Remove "Push Parsing: " from test group titles
+	because these are already under the banner "Push Parsing Tests".
+
+2009-09-12  Alex Rozenman  <rozenman@gmail.com>
+
+	Provide an additional sub-message for clarity.
+	Add "symbol not found in production" error message when
+	an "invalid reference" is detected in named references
+	resolution.
+	* src/scan-code.l: Update "invalid reference" case.
+	* tests/named-ref.at: Adjust test-cases.
+
+2009-09-10  Joel E. Denny  <jdenny@clemson.edu>
+
+	Clean up yacc.c a little.
+	* data/yacc.c: Clean up M4 for readability, and make output
+	whitespace more consistent.  For the main parse function
+	comment, instead of saying "yyparse or yypush_parse", say either
+	"yyparse" or "yypush_parse" depending on which it actually is.
+
+2009-09-03  Joel E. Denny  <jdenny@clemson.edu>
+
+	Complain about unused %define variables and %code qualifiers.
+	* NEWS (2.5): Document.
+	* data/bison.m4 (b4_check_user_names): Complain instead of warn.
+	* doc/bison.texinfo (Decl Summary): Document complaint, and
+	improve %define documentation a little otherwise.
+	* tests/input.at (Reject unused %code qualifiers): Update.
+	(%define errors): Update.
+	(%define, --define, --force-define): Update.
+	(%define backward compatibility): Update.
+	(Unused %define api.pure): Update.
+	* tests/push.at (Push Parsing: Unsupported Skeletons): Update.
+
+2009-09-03  Joel E. Denny  <jdenny@clemson.edu>
+
+	Use aver not assert.
+	* src/output.c: Don't include assert.h.
+	(output_skeleton): Use aver not assert.
+	* src/system.h (aver): In documentation of why, add links to
+	Paul Eggert's explanations in the mailing lists.
+
+2009-09-05  Alex Rozenman  <rozenman@gmail.com>
+
+	Use "Unresolved reference" error message when no symbols were found
+	in a symbolic reference resolution. Remove .expr and -expr from
+	the shown reference when the reference is unresolved.
+	* src/scan-code.l: Change the error message, adjust location columns,
+	rename variable "exact_mode" to "explicit_bracketing".
+	* tests/named-ref.at: Adjust existing tests and add a new one.
+
+2009-09-03  Akim Demaille  <demaille@gostai.com>
+
+	* NEWS (2.4.2): Add "Internationalization" item.
+
+2009-09-03  Akim Demaille  <demaille@gostai.com>
+
+	bootstrap: fix/improve find_tool.
+	* bootstrap (find_tool): Improve error messages.
+	Fix typo about find_tool_names.
+
 2009-08-29  Joel E. Denny  <jdenny@clemson.edu>
 
 	Fix gcc 3.4.4 shadowing warning reported by Eric Blake.
@@ -22353,9 +22830,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