X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/a4e1a53bf93cc37f2d523d2d267d08be75547e73..a749a695018a5e6aac14d90a6e87e131050ba858:/ChangeLog

diff --git a/ChangeLog b/ChangeLog
index 4339c288..3b55967a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,456 @@
+2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* src/symtab.c (symbol_make_alias): Call symbol_type_set,
+	reverting the 2004-10-11 change to this function.
+	(symbol_check_alias_consistency): Don't call symbol_type_set
+	if the type name is already correct.
+	* tests/input.at (Typed symbol aliases): New test, from Tim Van Holder.
+
+2005-03-25  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* tests/regression.at (Token definitions): Don't use a token named
+	c, as that generates a "#define c ..." that runs afoul of buggy
+	stdlib.h that uses the identifier c as a member of struct
+	drand48_data.  Problem reported by Horst Wente.
+
+2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* bootstrap: Change translation URL from
+	http://www2.iro.umontreal.ca/~gnutra/po/maint/bison/ to
+	http://www.iro.umontreal.ca/translation/maint/bison/ to avoid
+	redirection glitches.  Problem reported by twlevo@xs4all.nl.
+
+2005-03-20  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* tests/local.at (AT_COMPILE, AT_COMPILE_CXX): Don't put options
+	after operands; POSIX says this isn't portable for the c99 command.
+
+2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* tests/glr-regression.at (glr-regr2a.y): Try to dump core
+	immediately if a data overrun has occurred; this may help us track
+	down what may be a spurious failure on MacOS.
+
+2005-03-17  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Respond to problems reported by twlevo@xs4all.nl.
+
+	* bootstrap: Use "trap - 0" rather than the unportable "trap 0".
+
+	* src/vcg.h: Comment fix.
+	* src/vcg_defaults.h: Parenthesize macro bodies to make them safe.
+	(G_CMAX): Change to -1 instead of INT_MAX.
+
+	* data/yacc.c (yyparse): Omit spaces before #line.
+
+2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* src/tables.c (state_number_to_vector_number): Put it inside an
+	"#if 0", since it's not currently used.  Problem reported by
+	Roland McGrath.
+
+2005-03-06  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* src/output.c (escaped_output): Renamed from
+	escaped_file_name_output, since we now use it for symbol tags as
+	well.  All uses changed.
+	(symbol_destructors_output, symbol_printers_output):
+	Escape symbol tags too.
+	Problem reported by Matyas Forstner in
+	<http://lists.gnu.org/archive/html/bug-bison/2005-03/msg00009.html>.
+
+	* src/muscle_tab.c (muscle_code_grow): Don't quote numbers; it's
+	not needed.
+	* src/output.c (user_actions_output, token_definitions_output,
+	symbol_destructors_output, symbol_printers_output): Likewise.
+	* src/reader.c (prologue_augment): Likewise.
+	* src/scan-gram.l (handle_action_dollar, handle_action_at): Likewise.
+
+	* src/vcg.c (output_edge): Don't quote linestyle arg.
+	Problem reported by twlevo@xs4all.nl.
+
+2005-02-28  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* doc/bison.texinfo (Semantic Tokens): Fix scoping problem in
+	example, reported by Derek M Jones.  Also, make the example even
+	more outrageous, to better illustrate how bad the problem is.
+
+2005-02-24  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* doc/bison.texinfo (Mfcalc Symtab): Correct the prototype for
+	putsym.  Typo reported by Sebastian Piping.
+
+2005-02-23  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* doc/bison.texinfo (Language and Grammar): some -> same
+	(Epilogue): int he -> in the
+	Typos reported by Sebastian Piping via Justin Pence.
+
+2005-02-07  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* tests/glr-regression.at (Improper handling of embedded actions
+	and dollar(-N) in GLR parsers): Renamed from "Improper handling of
+	embedded actions and $-N in GLR parsers", work around an Autoconf bug
+	with dollar signs in test names.
+	* tests/input.at (Invalid dollar-n): Renamed from "Invalid \$n",
+	for a similar reason.
+
+2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* src/vcg.c (output_graph): G_VIEW -> normal_view in case someone
+	wants to redefine G_VIEW.
+
+2005-01-27  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* src/vcg.c (get_view_str): Remove case for normal_view.
+	Problem reported by twlevo@xs4all.nl.
+
+2005-01-24  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* configure.ac (O0CFLAGS, O0CXXFLAGS): Fix quoting bug.
+	Problem reported by twlevo@xs4all.nl.
+
+	* doc/bison.texinfo: Change @dircategory from "GNU programming
+	tools" to "Software development".  Requested by Richard Stallman
+	via Karl Berry.
+
+2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* tests/c++.at (AT_CHECK_DOXYGEN): Don't use options after operands.
+	Problem reported by twlevo@xs4all.nl.
+
+2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* data/yacc.c (YYCOPY, yystpcpy, yyparse): Remove "register"
+	keyword; it's not needed with modern compilers, and it doesn't
+	affect correctness with older compilers.  Suggested by
+	twlevo@xs4all.nl.
+
+2005-01-17  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* data/glr.c (yyuserAction): Add "default: break;" case to pacify
+	gcc -Wswitch-default.
+	* data/lalr1.cc (yy::]b4_parser_class_name[::parse): Likewise.
+	* data/yacc.c (yyparse): Likewise.
+
+2005-01-12  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* src/system.h (OUTPUT_EXT, TAB_EXT): Define only if not defined
+	already.  Let config.h define any nonstandard values.
+
+2005-01-10  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* tests/calc.at (_AT_DATA_CALC_Y): Use alarm (100), not alarm (10),
+	for the benefit of slower hosts.  Problem reported by
+	Nelson H. F. Beebe.
+
+2005-01-07  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* data/yacc.c (yyparse): Pacify non-GCC compilers about yyerrorlab
+	being defined and not used.
+	* data/lalr1.cc (yyparse): Likewise.
+	Use "if (false)" rather than "if (0)".
+
+2005-01-05  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* TODO: Mention that we should allow NUL bytes in tokens.
+
+2005-01-02  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* src/scan-skel.l (<<EOF>>): Don't close standard output.
+	Problem reported by Hans Aberg.
+
+2005-01-01  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* src/getargs.c (version): Happy new year; update overall
+	program copyright date from 2004 to 2005.
+
+	* src/scan-skel.l ("@output ".*\n): Don't close standard output.
+	Problem reported by Hans Aberg.
+	* tests/output.at (AT_CHECK_OUTPUT): New arg SHELLIO.
+	(Output file names.): Add a test for the case when standard output
+	is closed.
+
+2004-12-26  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* doc/bison.texinfo (@copying): Update FDL version number to 1.2,
+	to fix an oversight in the Bison 2.0 manual.
+
+2004-12-25  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* NEWS: Version 2.0.  Reformat the existing news items since
+	1.875, so that related items are grouped together.
+	* configure.ac (AC_INIT): Bump version to 2.0.
+	* src/parse-gram.c, src/parse-gram.h: Regenerate with 2.0.
+
+	* tests/torture.at (Exploding the Stack Size with Alloca): Set
+	YYSTACK_USE_ALLOCA to 1 if __GNUC__ or alloca are defined;
+	otherwise, we're not testing alloca.  Unfortunately there's no
+	simple way to consult HAVE_ALLOCA here.
+
+	* data/lalr1.cc (yydestruct_): Pacify unused variable warning
+	for yymsg, too.
+
+	* src/LR0.c (new_itemsets): Use memset rather than zeroing by
+	hand.  This avoids a warning about comparing int to size_t when
+	GCC warnings are enabled.
+
+2004-12-22  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* NEWS: Bison-generated parsers no longer default to using the
+	alloca function (when available) to extend the parser stack, due
+	to widespread problems in unchecked stack-overflow detection.
+	* data/glr.c (YYMAXDEPTH): Remove undef when zero.  It's the user's
+	responsibility to set it to a positive value.  This lets the user
+	specify a value that is not a preprocessor constant.
+	* data/yacc.c (YYMAXDEPTH): Likewise.
+	(YYSTACK_ALLOC): Define only if YYSTACK_USE_ALLOCA is nonzero.
+	* doc/bison.texinfo (Stack Overflow): YYMAXDEPTH no longer needs
+	to be a compile-time constant.  However, explain the constraints on it.
+	Also, explain the constraints on YYINITDEPTH.
+	(Table of Symbols): Explain that alloca is no longer the default.
+	Explain the user's responsibility if they define YYSTACK_USE_ALLOCA
+	to 1.
+
+	* doc/bison.texinfo (Location Default Action): Mention that n must
+	be zero when k is zero.  Suggested by Frank Heckenbach.
+
+2004-12-22  Akim Demaille  <akim@epita.fr>
+
+	* data/lalr1.cc (parser::token_number_type, parser::rhs_number_type)
+	(parser::state_type, parser::semantic_type, parser::location_type):
+	Private, not public.
+	(parser::parse): Return ints, not bool.
+	Returning a bool introduces a problem: 0 corresponds to false, and
+	it seems weird to return false on success.  Returning true changes
+	the conventions for yyparse.
+	Alternatively we could return void and send an exception.
+	There is no clear consensus (yet?).
+	(state_stack, semantic_stack, location_stack): Rename as...
+	(state_stack_type, semantic_stack_type, location_stack_type): these.
+	Private, not public.
+	* tests/c++.at: New.
+	* tests/testsuite.at, tests/Makefile.am: Adjust.
+
+2004-12-21  Akim Demaille  <akim@epita.fr>
+
+	* data/lalr1.cc (parser::parse): Return a bool instead of an int.
+
+2004-12-21  Akim Demaille  <akim@epita.fr>
+
+	Don't impose std::string for filenames.
+
+	* data/lalr1.cc (b4_filename_type): New.
+	(position::filename): Use it.
+	(parser.hh): Move the inclusion of stack.hh and location.hh below
+	the user code, so that needed headers for the filename type can be
+	included first.
+	Forward declare them before the user code.
+	* tests/Makefile.am (check-local, installcheck-local): Pass
+	TESTSUITEFLAGS to the TESTSUITE.
+
+2004-12-20  Akim Demaille  <akim@epita.fr>
+
+	Use more STL like names: my_class instead of MyClass.
+
+	* data/lalr1.cc (LocationStack, LocationType, RhsNumberType)
+	(SemanticStack, SemanticType, StateStack, StateType)
+	(TokenNumberType, Stack, Slice, Traits, Parser::location)
+	(Parser::value): Rename as...
+	(location_stack, location_type, rhs_number_type, semantic_stack)
+	(semantic_type, state_stack, state_type, token_number_type, stack)
+	(slice, traits, parser::yylloc, parser::yylval): these.
+
+	* tests/calc.at, tests/regression.at, tests/actions.at: Adjust.
+
+2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* data/glr.c (YYLLOC_DEFAULT): Use GNU spacing conventions.
+	* data/yacc.c (YYLLOC_DEFAULT): Likewise.
+
+2004-12-17  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Remove uses of 'short int' and 'unsigned short int'.  This raises
+	some arbitrary limits.  It uses more memory but nowadays that's
+	not much of an issue.
+
+	This change does not affect the generated parsers; that's a different
+	task, as some users will want to conserve memory there.
+
+	Ideally we should use size_t to represent all object counts, and
+	something like ptrdiff_t to represent signed differences of object
+	counts; but that will require more code-cleanup than I have the
+	time to do right now.
+
+	* src/LR0.c (allocate_itemsets, new_itemsets, save_reductions):
+	Use size_t, not int or short int, to count objects.
+	* src/closure.c (nritemset, closure): Likewise.
+	* src/closure.h (nritemset, closure): Likewise.
+	* src/nullable.c (nullable_compute): Likewise.
+	* src/print.c (print_core): Likewise.
+	* src/print_graph.c (print_core): Likewise.
+	* src/state.c (state_compare, state_hash): Likewise.
+	* src/state.h (struct state): Likewise.
+	* src/tables.c (default_goto, goto_actions): Likewise.
+
+	* src/gram.h (rule_number, rule): Use int, not short int.
+	* src/output.c (prepare_rules): Likewise.
+	* src/state.h (state_number, STATE_NUMBER_MAXIMUM, transitions,
+	errs, reductions): Likewise.
+	* src/symtab.h (symbol_number, SYMBOL_NUMBER_MAXIMUM, struct symbol):
+	Likewise.
+	* src/tables.c (vector_number, tally, action_number,
+	ACTION_NUMBER_MINIMUM): Likewise.
+	* src/output.c (muscle_insert_short_int_table): Remove.
+
+2004-12-17  Akim Demaille  <akim@epita.fr>
+
+	* data/lalr1.cc: Extensive Doxygenation.
+	(error_): Rename as...
+	(error): this, since it is visible to the user.
+	Adjust callers.
+	(Parser::message): Now an automatic variable from...
+	(Parser::yyreport_syntax_error_): here.
+	* tests/actions.at, tests/calc.at, tests/regression.at: Adjust to
+	Parser::error.
+	* tests/input.at: Escape $.
+
+2004-12-16  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* data/glr.c (b4_lhs_value, b4_rhs_value, b4_rhs-location):
+	Parenthesize rhs to avoid obscure problems with mistakes like
+	"foo$$bar = foo$1bar;".  Problem reported by twlevo at xs4all.
+	* data/lalr1.cc (b4_lhs_value, b4_rhs_value, b4_lhs_location,
+	b4_rhs_location): Likewise.
+	* data/yacc.c (b4_lhs_value, b4_rhs_value, b4_lhs_location,
+	b4_rhs_location): Likewise.
+
+2004-12-16  Akim Demaille  <akim@epita.fr>
+
+	* data/lalr1.cc (yyreport_syntax_error_): Catch up with glr.c and
+	yacc.c: be sure to stay within yycheck_.
+	* tests/actions.at: Re-enable C++ tests.
+
+2004-12-16  Akim Demaille  <akim@epita.fr>
+
+	* src/print_graph.c (print_graph): Remove layoutalgorithm uses for
+	real.
+
+2004-12-16  Akim Demaille  <akim@epita.fr>
+
+	Use #define to handle the %name-prefix.
+
+	* data/glr.c, data/yacc.c: Comment changes.
+	* data/lalr1.cc (yylex): Use #define to select the name of yylex,
+	so that one can refer to yylex in the parser file, and have it
+	renamed, as is the case with other skeletons.
+
+2004-12-16  Akim Demaille  <akim@epita.fr>
+
+	Move lalr1.cc internals into yy*.
+
+	* data/lalr1.cc (semantic_stack_, location_stack_, state_stack_)
+	(semantic_stack_, location_stack_, pact_, pact_ninf_, defact_)
+	(pgoto_, defgoto_, table_, table_ninf_, check_, stos_, r1_, r2_)
+	(name_, rhs_, prhs_, rline_, token_number_, eof_, last_, nnts_)
+	(empty_, final_, terror_, errcode_, ntokens_)
+	(user_token_number_max_, undef_token_, n_, len_, state_, nerrs_)
+	(looka_, ilooka_, error_range_, nerrs_):
+	Rename as...
+	(yysemantic_stack_, yylocation_stack_, yystate_stack_)
+	(yysemantic_stack_, yylocation_stack_, yypact_, yypact_ninf_)
+	(yydefact_, yypgoto_, yydefgoto_, yytable_, yytable_ninf_)
+	(yycheck_, yystos_, yyr1_, yyr2_, yyname_, yyrhs_, yyprhs_)
+	(yyrline_, yytoken_number_, yyeof_, yylast_, yynnts_, yyempty_)
+	(yyfinal_, yyterror_, yyerrcode_, yyntokens_)
+	(yyuser_token_number_max_, yyundef_token_, yyn_, yylen_, yystate_)
+	(yynerrs_, yylooka_, yyilooka_, yyerror_range_, yynerrs_):
+	these.
+
+2004-12-15  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Fix some problems reported by twlevo at xs4all.
+	* src/symtab.c (symbol_new): Report an error if the input grammar
+	contains too many symbols.  This is better than calling abort() later.
+	* src/vcg.h (enum layoutalgorithm): Remove.  All uses removed.
+	(struct node, struct graph):
+	Rename member expand to stretch.  All uses changed.
+	(struct graph): Remove member layoutalgorithm.  All uses removed.
+	* src/vcg.c (get_layoutalgorithm_str): Remove.  All uses removed.
+	* src/vcg_defaults.h (G_STRETCH): Renamed from G_EXPAND.
+	All uses changed.
+	(N_STRETCH): Rename from N_EXPAND.  All uses changed.
+
+2004-12-15  Akim Demaille  <akim@epita.fr>
+
+	* data/lalr1.cc: Normalize /** \brief ... */ to ///.
+	Add more Doxygen comments.
+	(symprint_, stack_print_, reduce_print_, destruct_, pop)
+	(report_syntax_error_, translate_): Rename as...
+	(yysymprint_, yystack_print_, yyreduce_print_, yydestruct_)
+	(yypop_, yyreport_syntax_error_, yytranslate_): this.
+
+2004-12-15  Akim Demaille  <akim@epita.fr>
+
+	* data/lalr1.cc (lex_): Rename as...
+	(yylex_): this.
+	Move the trace here.
+	Take the %name-prefix into account.
+	Reported by Alexandre Duret-Lutz.
+
+2004-12-15  Akim Demaille  <akim@epita.fr>
+
+	Simplify the C++ parser constructor.
+
+	* data/lalr1.cc (debug_): Rename as...
+	(yydebug_): so that the parser's internals are always in the yy*
+	pseudo namespace.
+	Adjust uses.
+	(b4_parse_param_decl): Remove the leading comma as it is now only
+	called as unique argument list.
+	(Parser::Parser): Remove the constructor accepting a location and
+	an initial debugging level.
+	Remove from the other ctor the argument for the debugging level.
+	(debug_level_type, debug_level, set_debug_level): New.
+
+	* tests/actions.at, tests/calc.at, tests/regression.at: Adjust
+	constructor calls.
+
+2004-12-15  Akim Demaille  <akim@epita.fr>
+
+	Remove b4_root related material: failure experiment
+	(which goal was to allow to derive from a class).
+
+	* data/lalr1.cc (b4_root, b4_param, b4_constructor): Remove
+	definitions and uses.
+
+2004-12-14  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* data/glr.c (struct yyGLRStack): yyerror_range now has 3 items,
+	not 2, since it's not portable to subtract 1 from the start of an
+	array.  The new item 0 is never set or used.  All uses changed.
+
+	(yyrecoverSyntaxError): Use YYLLOC_DEFAULT instead of assuming
+	the default definition of YYLLOC_DEFAULT.  Problem reported
+	by Frank Heckenbach.
+
+2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* data/glr.c (YYRHSLOC): Don't have two definitions, one for
+	the normal case and one for the error case.  Just use the
+	first one uniformly.  Problem reported by Frank Heckenbach.
+	(YYLLOC_DEFAULT): Use the conventions of yacc.c, so we can
+	use exactly the same macro in both places.
+	(yyerror_range): Now of type yyGLRStackItem, not YYLTYPE,
+	so that the normal-case YYRHSLOC works for the error case too.
+	All uses changed.
+	* data/yacc.c (YYRHSLOC): New macro, taken from glr.c.
+	(YYLLOC_DEFAULT): Use the same macro as glr.c.
+	* doc/bison.texinfo (Location Default Action): Don't claim that
+	we have an array of locations.  Use the same macro for both glr
+	and lalr parsers.  Mention YYRHSLOC.  Mention what happens when
+	the index is 0.
+
 2004-12-10  Paul Eggert  <eggert@cs.ucla.edu>
 
 	* HACKING: Update email addresses to send announcements to.
@@ -12778,7 +13231,7 @@
 -----
 
 Copyright (C) 1987, 1988, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
-1998, 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
+1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
 
 This file is part of Bison, the GNU Compiler Compiler.