Home | History | Annotate | Download | only in bison
      1 2006-06-05  Paul Eggert  <eggert (a] cs.ucla.edu>
      2 
      3 	* NEWS: Version 2.3.
      4 	* configure.ac (AC_INIT): Likewise.
      5 
      6 2006-05-30  Paul Eggert  <eggert (a] cs.ucla.edu>
      7 
      8 	* data/glr.c (YYRECOVERING): Define to be a function-like macro
      9 	with no arguments, not as an object-like macro.  This is for
     10 	compatibility with data/yacc.c.  Problem reported by John P. Hartmann in
     11 	<http://lists.gnu.org/archive/html/bug-bison/2006-05/msg00059.html>.
     12 	* doc/bison.texinfo (Action Features, Error Recovery, Table of Symbols):
     13 	Document this.
     14 
     15 2006-05-30  Joel E. Denny  <jdenny (a] ces.clemson.edu>
     16 
     17 	* src/getargs.c (usage): Back out yesterday's modification of the
     18 	--help output so that we don't have to wait for translation before
     19 	releasing 2.3.
     20 
     21 2006-05-29  Paul Eggert  <eggert (a] cs.ucla.edu>
     22 
     23 	* doc/bison.texinfo (Introduction): Don't say "GLR grammar".
     24 	Problem reported by Akim Demaille.
     25 
     26 2006-05-29  Joel E. Denny  <jdenny (a] ces.clemson.edu>
     27 
     28 	* src/getargs.c (usage): Mention GLR not just LALR(1) in --help output.
     29 
     30 2006-05-26  Paul Eggert  <eggert (a] cs.ucla.edu>
     31 
     32 	* data/yacc.c (yy_reduce_print): Omit trailing white space in
     33 	generated source code.  Problem reported by Frans Englich in
     34 	<http://lists.gnu.org/archive/html/bug-bison/2006-05/msg00049.html>.
     35 
     36 2006-05-22  Paul Eggert  <eggert (a] cs.ucla.edu>
     37 
     38 	* Makefile.maint (gzip_rsyncable, GZIP_ENV): Compute within the
     39 	shell, not within 'make', so that 'make' by an ordinary builder
     40 	(using GNU make) does not worry about configuring gzip.  This also
     41 	works around a bug reported independently by Keith Thompson and by
     42 	Georg Schwarz, whereby gzip 1.2.4 --help would output usage on
     43 	stderr rather than stdout, messing up the build logs.
     44 
     45 2006-05-21  Joel E. Denny  <jdenny (a] ces.clemson.edu>
     46 
     47 	* data/yacc.c (yyparse): Wrap the final return from yyparse inside YYID
     48 	to make sure that YYID will never be unused.  This fixes a 'make
     49 	maintainer-check' failure caused by the recent changes to the 'Trivial
     50 	grammars' test case, which caused g++ 4.1.0 to complain that YYID was
     51 	not used.
     52 	* data/glr.c (yyparse): Wrap yyparse's return inside YYID just in case.
     53 
     54 2006-05-21  Joel E. Denny  <jdenny (a] ces.clemson.edu>
     55 
     56 	* data/glr.c (yyresolveLocations): Remove bogus YYASSERT that the
     57 	state before an empty RHS is always resolved here.  Only the location
     58 	of that state is guaranteed to be resolved, and that's enough.  This
     59 	fixes the remaining bug reported by Derek M. Jones in
     60 	<http://lists.gnu.org/archive/html/bug-bison/2006-05/msg00027.html>.
     61 	* tests/glr-regression.at (Uninitialized location when reporting
     62 	ambiguity): Test the above case.
     63 	Also, the embedded comments in this test case claim it checks the case
     64 	of an empty RHS that has inherited the initial location.  However, the
     65 	corresponding LHS was already resolved, so yyresolveLocations didn't
     66 	actually have reason to modify it.  Fix this by forcing
     67 	nondeterministic operation at the beginning of the parse.
     68 
     69 2006-05-20  Paul Eggert  <eggert (a] cs.ucla.edu>
     70 
     71 	* data/c.m4 (b4_yy_symbol_print_generate):
     72 	(b4_yy_symbol_print_generate): Use 'YYSTYPE const' rather than
     73 	'const YYSTYPE', and similarly for YYLTYPE.  This fixes one
     74 	of the bugs reported today by Derek M Jones in
     75 	<http://lists.gnu.org/archive/html/bug-bison/2006-05/msg00027.html>.
     76 	* doc/bison.texinfo (Value Type): Document that YYSTYPE must be
     77 	defined to be a type name without parens or brackets.
     78 	(Location Type): Similarly for YYLTYPE.
     79 	* tests/regression.at (Trivial grammars): Put in a test for this
     80 	bug that will be caught by 'make maintainer-check' (though not,
     81 	alas, by 'make check' unless your compiler is picky).
     82 
     83 2006-05-19  Paul Eggert  <eggert (a] cs.ucla.edu>
     84 
     85 	* NEWS: Version 2.2.
     86 	* configure.ac (AC_INIT): Likewise.
     87 
     88 2006-05-17  Joel E. Denny  <jdenny (a] ces.clemson.edu>
     89 
     90 	* data/glr.c (yyreportTree): Make room in yystates for the state
     91 	preceding the RHS.  This fixes the segmentation fault reported by Derek
     92 	M. Jones in
     93 	<http://lists.gnu.org/archive/html/help-bison/2006-05/msg00035.html>.
     94 	(yyreportTree, yypdumpstack): Subtract 1 from yyrule before printing
     95 	to the user.  Reported for yyreportTree by Derek M. Jones later in the
     96 	same thread.
     97 	* THANKS: Add Derek M. Jones.
     98 	Update my email address.
     99 	Fix typo in Steve Murphy's name.
    100 
    101 2006-05-14  Paul Eggert  <eggert (a] cs.ucla.edu>
    102 
    103 	* data/glr.c (yyreportSyntaxError): Fix off-by-one error in
    104 	checking against YYLAST that caused the parser to miss a potential
    105 	alternative in its diagnostic.
    106 	Problem reported by Maria Jose Moron Fernandez in
    107 	<http://lists.gnu.org/archive/html/bug-bison/2006-05/msg00024.html>.
    108 	* data/lalr1.cc (yysyntax_error_): Likewise.
    109 	* data/yacc.c (yysyntax_error): Likewise.
    110 	* tests/regression.at (_AT_DATA_DANCER_Y): Use static array for
    111 	tokens, in case we run into an older C compiler.
    112 	(_AT_DATA_EXPECT2_Y, AT_CHECK_EXPECT2): New macros.
    113 	Use them to check for the off-by-one error fixed above.
    114 
    115 	* data/yacc.c (yytnamerr): Fix typo: local var should be of type
    116 	YYSIZE_T, not size_t.
    117 	* tests/regression.at (Trivial grammars): New test, to catch
    118 	the error fixed by the above patch.
    119 
    120 2006-05-14  Akim Demaille  <akim (a] lrde.epita.fr>
    121 
    122 	* doc/bison.texinfo (C++ Bison Interface): Clarify the naming
    123 	scheme.
    124 	Reported by Steve Murphy.
    125 
    126 2006-05-14  Akim Demaille  <akim (a] lrde.epita.fr>
    127 
    128 	* data/glr.cc, data/lalr1.cc: Using %defines is mandatory.
    129 	* data/glr.cc: b4_location_flag is now b4_locations_flag.
    130 
    131 2006-05-14  Akim Demaille  <akim (a] lrde.epita.fr>
    132 
    133 	Implement --trace=m4.
    134 	* src/getargs.c (trace_types, trace_args): Accept trace_m4.
    135 	* src/output.c (output_skeleton): When set, pass -dV to m4.
    136 
    137 	Factor the handling of flags in m4.
    138 	* src/output.c (prepare): Rename the muscle names debug, defines,
    139 	error_verbose to debug_flag, defines_flag, error_verbose_flag.
    140 	* data/c.m4: Adjust.
    141 	(_b4_define_flag_if, b4_define_flag_if, b4_defines_if): New.
    142 	Use b4_define_flag_if to define other b4_FLAG_if macros.
    143 	(b4_location_if): As a consequence, rename as...
    144 	(b4_locations_if): this, for consistency.
    145 	Adjust all the skeletons.
    146 
    147 2006-05-14  Akim Demaille  <akim (a] lrde.epita.fr>
    148 
    149 	* etc/bench.pm: Shorten bench names.
    150 
    151 2006-05-14  Akim Demaille  <akim (a] lrde.epita.fr>
    152 
    153 	* src/output.h, src/output.c (error_verbose): Move to...
    154 	* src/getargs.h, src/getargs.c: here.
    155 	Sort the flags.
    156 	Adjust dependencies.
    157 
    158 2006-05-13  Paul Eggert  <eggert (a] cs.ucla.edu>
    159 
    160 	* data/c.m4 (b4_copyright): Put the special exception for Bison
    161 	skeletons here, so we don't have to put it in each skeleton.  All
    162 	uses changed.  Suggested by Akim Demaille.  Also, wrap the
    163 	copyright notice, in case it is longer than 80 columns.  Replace
    164 	comma by newline after title.
    165 
    166 2006-05-11  Paul Eggert  <eggert (a] cs.ucla.edu>
    167 
    168 	* doc/bison.texinfo (Calc++ Scanner): The flex behavior is an
    169 	incompatibility, not a bug.  Mention that it wasn't fixed as of
    170 	flex 2.5.33.
    171 
    172 2006-05-11  Akim Demaille  <akim (a] lrde.epita.fr>
    173 
    174 	* examples/extexi: Enforce the precedence of concatenation over
    175 	>>.
    176 	Reported by Tommy Nordgren.
    177 
    178 2006-05-11  Akim Demaille  <akim (a] lrde.epita.fr>
    179 
    180 	* data/lalr1.cc (yytranslate_): Rename token as t to avoid clashes
    181 	with the member "token".
    182 	Reported by Martin Nylin.
    183 
    184 2006-05-08  Paul Eggert  <eggert (a] cs.ucla.edu>
    185 
    186 	* data/glr.c: Switch to Bison 2.2 special-exception language in
    187 	the copyright notice.  Use more-regular format for titles and
    188 	copyright notices.
    189 	* data/glr.cc: Likewise.
    190 	* data/location.cc: Likewise.
    191 	* data/yacc.cc: Likewise.
    192 	* doc/bison.texinfo (Conditions): Document this.
    193 	* NEWS: likewise.  Upgrade version to 2.2.
    194 
    195 2006-04-27  Akim Demaille  <akim (a] lrde.epita.fr>
    196 
    197 	* data/glr.cc: Remove dead code.
    198 
    199 2006-04-25  Paul Eggert  <eggert (a] cs.ucla.edu>
    200 
    201 	* bootstrap: Comment out the AM_CPPFLAGS line, since we don't use
    202 	that variable and the line breaks the bootstrap.  Problem reported
    203 	by Juan M. Guerrero.
    204 
    205 2006-04-24  Akim Demaille  <akim (a] lrde.epita.fr>
    206 
    207 	* doc/bison.texinfo (Multiple start-symbols): New.
    208 
    209 2006-04-24  Akim Demaille  <akim (a] lrde.epita.fr>
    210 
    211 	* etc/README, etc/bench.pl: New.
    212 
    213 2006-04-03  Akim Demaille  <akim (a] lrde.epita.fr>
    214 
    215 	* src/scan-gram.l: Be robust to BRACED_CODE appearing before any
    216 	rule.
    217 	Reported by Mickael Labau.
    218 	* tests/input.at (Torturing the Scanner): Test it.
    219 
    220 2006-03-16  Paul Eggert  <eggert (a] cs.ucla.edu>
    221 
    222 	* doc/bison.texinfo (Decl Summary): Don't mention yylloc twice.
    223 	Problem reported by Bob Rossi.
    224 
    225 2006-03-13  Paul Eggert  <eggert (a] cs.ucla.edu>
    226 
    227 	* doc/bison.texinfo: Remove @shorttitlepage stuff; it wasn't used
    228 	and didn't really work.
    229 	For the index, use @ifnotinfo, not @iftex.
    230 	Minor cleanups of spacing and terminology.
    231 
    232 2006-03-12  Akim Demaille  <akim (a] lrde.epita.fr>
    233 
    234 	* tests/local.at (_AT_BISON_OPTION_PUSHDEFS): Fix the definition
    235 	of AT_NAME_PREFIX when %name-prefix is not used.
    236 
    237 2006-03-12  Akim Demaille  <akim (a] lrde.epita.fr>
    238 
    239 	Apply --prefix to C++ skeletons too: they change the namespace.
    240 	The test suite already exercize these cases.
    241 	* data/c++.m4 (b4_namespace): New.
    242 	* data/lalr1.cc, data/glr.cc, data/location.cc: Use it instead of `yy'.
    243 	* data/lalr1.cc (yytnameerr_): Move its definition into the namespace.
    244 	* data/yacc.c, data/glr.c: Remove a useless `[]'.
    245 	* doc/bison.texinfo: Document it.
    246 	(Option Cross Key): Use @multitable in all formats.  It looks
    247 	nicer, even in TeX outputs.
    248 	(Rules): Use the same code whatever the output type is.
    249 	* tests/local.at (_AT_BISON_OPTION_PUSHDEFS)
    250 	(_AT_BISON_OPTION_POPDEFS): Support AT_NAME_PREFIX.
    251 	* tests/calc.at: Use it, instead of hard coding `yy'.
    252 
    253 2006-03-10  Akim Demaille  <akim (a] lrde.epita.fr>
    254 
    255 	* TODO: Remove dead items.
    256 
    257 2006-03-10  Akim Demaille  <akim (a] lrde.epita.fr>
    258 
    259 	* doc/FAQ: Remove, merged into...
    260 	* doc/bison.texinfo (FAQ): this.
    261 	* doc/Makefile.am (EXTRA_DIST): Adjust.
    262 
    263 2006-03-10  Akim Demaille  <akim (a] lrde.epita.fr>
    264 
    265 	* data/c.m4 (b4_token_enum): Always define the enum of tokens,
    266 	even if empty.
    267 	* data/lalrl1.cc, data/glr.cc (parser::token_type): New.
    268 	* doc/bison.texinfo (Calc++ Scanner): Use it.
    269 
    270 2006-03-09  Paul Eggert  <eggert (a] cs.ucla.edu>
    271 
    272 	Fix two nits reported by twlevo, plus one more that I discovered.
    273 
    274 	* src/assoc.h (assoc_to_string): Give a name to the arg, as
    275 	this is the usual Bison style.
    276 	* src/location.h (location_print): Likewise.
    277 
    278 	* src/reader.h (token_name): Likewise.
    279 
    280 2006-03-08  Paul Eggert  <eggert (a] cs.ucla.edu>
    281 
    282 	Fix some nits reported by twlevo.
    283 	* doc/FAQ: Remove ancient Y2K FAQ, replacing it with "secure"
    284 	and "POSIX".  Use more-modern syntax for URLs.  Mention C++
    285 	and ask for Java.  Don't hardwire OS version numbers.  Add
    286 	copyright notice.
    287 	* m4/.cvsignore: Add unistd_h.m4, for latest gnulib.
    288 	* src/conflicts.c (solved_conflicts_obstack): Now static.
    289 
    290 2006-03-08  Joel E. Denny  <jdenny (a] ces.clemson.edu>
    291 
    292 	* doc/bison.texinfo (Introduction): Mention GLR and C++ as on the web
    293 	page.  Say "you can use it" not "you may use it" as on the web page;
    294 	we're describing capabilities not granting permission.
    295 
    296 2006-03-06  Paul Eggert  <eggert (a] cs.ucla.edu>
    297 
    298 	* data/glr.c (yyresolveLocations): Rename local variables to avoid
    299 	shadowing warnings.  Use usual patter for iterating through RHS.
    300 	* tests/glr-regression.at
    301 	(Uninitialized location when reporting ambiguity):
    302 	Modify yylex so that it uses its argument, rather than trying
    303 	to rely on ARGSUSED (which doesn't work for gcc with warnings).
    304 	const char -> char const.
    305 
    306 	* tests/Makefile.am ($(srcdir)/package.m4, maintainer-check-valgrind):
    307 	Don't use tabs inside commands; it messes up 'ps'.
    308 	Problem reported by twlevo.
    309 
    310 2006-03-06  Joel E. Denny  <jdenny (a] ces.clemson.edu>
    311 
    312 	* tests/glr-regression.at (Uninitialized location when reporting
    313 	ambiguity): New test case.
    314 	* data/glr.c (yyresolveLocations): New function, which uses
    315 	YYLLOC_DEFAULT.
    316 	(yyresolveValue): Invoke yyresolveLocations before reporting an
    317 	ambiguity.
    318 	* doc/bison.texinfo (Default Action for Locations): Note
    319 	YYLLOC_DEFAULT's usage for ambiguity locations.
    320 	(GLR Semantic Actions): Cross-reference those notes.
    321 
    322 2006-03-04  Joel E. Denny  <jdenny (a] ces.clemson.edu>
    323 
    324 	* tests/glr-regression.at (Leaked semantic values when reporting
    325 	ambiguity): Remove unnecessary union and type declarations.
    326 	(Leaked lookahead after nondeterministic parse syntax error): New test
    327 	case.
    328 	* data/glr.c (yyparse): Check for zero stacks remaining before
    329 	attempting to shift the lookahead so that you don't lose it.
    330 
    331 2006-03-02  Joel E. Denny  <jdenny (a] ces.clemson.edu>
    332 
    333 	Avoid memory leaks by not invoking longjmp in yyreportAmbiguity.
    334 	* tests/glr-regression.at (Leaked semantic values when reporting
    335 	ambiguity): New test case.
    336 	* data/glr.c (yyreportAmbiguity): Invoke yyyerror directly and return
    337 	yyabort rather than invoking yyFail, which invokes longjmp.  Remove the
    338 	now unnecessary yystackp parameter.
    339 	(yyresolveValue): Return yyreportAmbiguity's result.  Now the necessary
    340 	destructors can be called.
    341 
    342 	* tests/glr-regression.at: Don't invoke bison with `-t' unnecessarily
    343 	in existing testcases.
    344 
    345 2006-03-02  Joel E. Denny  <jdenny (a] ces.clemson.edu>
    346 
    347 	Don't leak semantic values for parent RHS when a user action cuts the
    348 	parser, and clean up related code a bit.
    349 	* tests/glr-regression.at (Leaked merged semantic value if user action
    350 	cuts parse): Rename to...
    351 	(Leaked semantic values if user action cuts parse): ... this.  Add check
    352 	for leaked parent RHS values.
    353 	* data/glr.c (yydestroyGLRState): In debugging output, distinguish
    354 	between an unresolved state (non-empty chain of semantic options) and
    355 	an incomplete one (signaled by an empty chain).
    356 	(yyresolveStates): Document the interface.  Move all manipulation of a
    357 	successfully or unsuccessfully resolved yyGLRState to...
    358 	(yyresolveValue): ... here so that yyresolveValue always leaves a
    359 	yyGLRState with consistent data and thus is easier to understand.
    360 	Remove the yyvalp and yylocp parameters since they are always just
    361 	taken from the yys parameter.  When reporting a discarded merged value
    362 	in debugging output, note that it is incompletely merged.  Document the
    363 	interface.
    364 	(yyresolveAction): If resolving any of the RHS states fails, destroy
    365 	them all rather than leaking them.  Thus, as long as user actions are
    366 	written to clean up the RHS correctly, yyresolveAction always cleans up
    367 	the RHS of a semantic option.  Document the interface.
    368 
    369 2006-02-27  Paul Eggert  <eggert (a] cs.ucla.edu>
    370 
    371 	* data/glr.c (yyexpandGLRStack): Catch an off-by-one error that
    372 	led to a segmentation fault in GNU Pascal.  Problem reported
    373 	by Waldek Hebisch.
    374 
    375 2006-02-21  Joel E. Denny  <jdenny (a] ces.clemson.edu>
    376 
    377 	* doc/bison.texinfo (Mid-Rule Actions): Explain how to bury a
    378 	mid-rule action inside a nonterminal symbol in order to declare a
    379 	destructor for its semantic value.
    380 
    381 2006-02-16  Paul Eggert  <eggert (a] cs.ucla.edu>
    382 
    383 	* data/yacc.c [(! defined yyoverflow || YYERROR_VERBOSE) && !
    384 	YYSTACK_USE_ALLOCA && ! defined YYSTACK_ALLOC && defined
    385 	__cplusplus && ! defined _STDLIB_H && !
    386 	((defined YYMALLOC || defined malloc) && (defined YYFREE ||
    387 	defined free))]: Include <stdlib.h> rather than rolling our own
    388 	declarations of malloc and free, to avoid problems with
    389 	incompatible declarations (using 'throw') C++'s stdlib.h.  This
    390 	should fix Debian bug 340012
    391 	<http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=340012>,
    392 	reported by Guillaume Melquiond.
    393 
    394 2006-02-13  Paul Eggert  <eggert (a] cs.ucla.edu>
    395 
    396 	* NEWS: Clarify symbols versus types in unused-value warnings.
    397 
    398 	* configure.ac (AC_INIT): Bump version number.
    399 
    400 2006-02-13  Paul Eggert  <eggert (a] cs.ucla.edu>
    401 
    402 	* NEWS: Version 2.1a.
    403 	* tests/headers.at (AT_TEST_CPP_GUARD_H): Declare yyerror and yylex,
    404 	since C99 requires this.
    405 
    406 2006-02-11  Paul Eggert  <eggert (a] cs.ucla.edu>
    407 
    408 	* m4/c-working.m4: New file.
    409 	* configure.ac (BISON_TEST_FOR_WORKING_C_COMPILER): Use it.
    410 
    411 2006-02-10  Paul Eggert  <eggert (a] cs.ucla.edu>
    412 
    413 	* Makefile.maint: Merge from coreutils.
    414 
    415 2006-02-09  Paul Eggert  <eggert (a] cs.ucla.edu>
    416 
    417 	More portability fixes for problems summarized by Nelson H. F. Beebe.
    418 
    419 	* m4/cxx.m4 (BISON_TEST_FOR_WORKING_CXX_COMPILER): Catch a
    420 	configuration screwup "./configure CC=/opt/SUNWspro/bin/c89
    421 	CFLAGS="-xarch=generic64" CXX=/opt/SUNWspro/bin/CC
    422 	LDFLAGS="-xarch=generic64" with Sun C 5.7 on Solaris 10; this
    423 	messes up because C++ code is compiled in 32-bit mode but linked
    424 	in 64-bit mode.
    425 
    426 2006-02-08  Paul Eggert  <eggert (a] cs.ucla.edu>
    427 
    428 	More portability fixes for problems summarized by Nelson H. F. Beebe.
    429 
    430 	* doc/bison.texinfo (Calc++ Scanner): Work around a bug in flex
    431 	2.5.31.  This resembles the 2005-10-10 patch to src/scan-skel.l.
    432 
    433 	* examples/calc++/Makefile.am (check_PROGRAMS): Renamed from
    434 	nodist_PROGRAMS, since we don't need to actually compile the
    435 	example if we're just doing a plain 'make'.  This avoids bothering
    436 	the installer unnecessarily about problems due to weird C++
    437 	compilers.
    438 
    439 2006-02-06  Paul Eggert  <eggert (a] cs.ucla.edu>
    440 
    441 	More portability fixes for problems summarized by Nelson H. F. Beebe.
    442 
    443 	* tests/headers.at (AT_TEST_CPP_GUARD_H): Use #include <...> rather
    444 	than #include "...", and compile with -I'.'.  The old method was
    445 	not portable, according to Posix and the C standard, and it does
    446 	not work with Sun C 5.7, where previous #line directives affect
    447 	the working directory used in later #include "..." directives.
    448 
    449 2006-02-06  Juan Manuel Guerrero  <juan.guerrero (a] gmx.de>
    450 
    451 	Various DJGGP specific issues in /djgpp
    452 
    453 2006-02-02  Paul Eggert  <eggert (a] cs.ucla.edu>
    454 
    455 	More portability fixes for problems summarized by Nelson H. F. Beebe.
    456 
    457 	* m4/cxx.m4 (BISON_TEST_FOR_WORKING_CXX_COMPILER): Check that
    458 	'#include <map>' works and that you can apply ++ to iterators.
    459 
    460 2006-02-01  Paul Eggert  <eggert (a] cs.ucla.edu>
    461 
    462 	Work around portability problems summarized by Nelson H. F. Beebe in
    463 	<http://lists.gnu.org/archive/html/bug-bison/2005-09/msg00021.html>.
    464 
    465 	* m4/cxx.m4 (BISON_TEST_FOR_WORKING_CXX_COMPILER): Check
    466 	that '#include <string>' works.
    467 
    468 	* data/lalr1.cc (yytranslate_): No longer inline, to work around a
    469 	porting problem to g++ 3.4.3 on Darwin 7.9.0, where g++ complained
    470 	"warning: sorry: semantics of inline function static data `const
    471 	unsigned char translate_table[262]' are wrong (you'll wind up with
    472 	multiple copies)".
    473 
    474 	* lib/bbitset.h (struct bitset_vtable): Rename members not, and,
    475 	or, xor to not_, and_, or_, and xor_, respectively.  This works
    476 	around a bug in GCC 3.4.3 on Irix 6.5, which apparently has a
    477 	random system header somewhere that includes the equivalent of
    478 	<iso646.h>.
    479 
    480 	* tests/headers.at (AT_TEST_CPP_GUARD_H): Don't assume that "$CC
    481 	-E" works; it apparently doesn't work with PathScale EKO Compiler
    482 	Suite Version 2.0.
    483 
    484 2006-01-30  Joel E. Denny  <jdenny (a] ces.clemson.edu>
    485 
    486 	During deterministic GLR operation, user actions should be able to
    487 	influence the parse by changing yychar.  To make this easier to fix and
    488 	to make glr.c easier to evolve in general, don't maintain yytoken in
    489 	parallel with yychar; just compute yytoken when needed.
    490 	* tests/glr-regression.at (Incorrect lookahead during deterministic
    491 	GLR): Check that setting yychar in a user action has the intended
    492 	effect.
    493 	* data/glr.c (yyGLRStack): Remove yytokenp member.
    494 	(yyclearin): Don't set *yytokenp.
    495 	(yyprocessOneStack, yyreportSyntaxError, yyrecoverSyntaxError): Examine
    496 	yychar rather than *yytokenp to determine the current lookahead.
    497 	Compute yytoken locally when needed.
    498 	(yyparse): Likewise.  Remove the local yytoken that yytokenp used to
    499 	point to.
    500 
    501 	* doc/bison.texinfo (Bison Options): Remove stray sentence fragment
    502 	after `--report' documentation.
    503 
    504 2006-01-30  Paul Eggert  <eggert (a] cs.ucla.edu>
    505 
    506 	* src/parse-gram.y (grammar_declaration): Location of printer
    507 	symbol is @1, not list->location.  Bug reported by twlevo.
    508 	* tests/input.at (Incompatible Aliases): Adjust to above change.
    509 
    510 2006-01-29  Paul Eggert  <eggert (a] cs.ucla.edu>
    511 
    512 	* tests/input.at (AT_CHECK_UNUSED_VALUES): Remove.  Instead, do
    513 	all the test at once.  This makes the output easier to read in the
    514 	normal case.
    515 
    516 	Fix a longstanding bug uncovered by bro-0.9a9/src/parse.y, which I
    517 	got from <http://bro-ids.org/download.html>.  The bug is that
    518 	when two actions appeared in succession, the second one was
    519 	scanned before the first one was added to the grammar rule
    520 	as a midrule action.  Bison then output the incorrect warning
    521 	"parse.y:905.17-906.36: warning: unused value: $3".
    522 	* src/parse-gram.y (BRACED_CODE, action): These are no longer
    523 	associated with a value.
    524 	(rhs): Don't invoke grammar_current_rule_action_append.
    525 	(action): Invoke it here instead.
    526 	* src/reader.c (grammar_midrule_action): Now extern.
    527 	(grammar_current_rule_action_append): Don't invoke
    528 	grammar_midrule_action; that is now the scanner's job.
    529 	* src/reader.h (last_string, last_braced_code_loc):
    530 	(grammar_midrule_action): New decls.
    531 	* src/scan-gram.l (last_string): Now extern, sigh.
    532 	(last_braced_code_loc): New extern variable.
    533 	(<INITIAL>"{"): Invoke grammar_midrule_action if the current
    534 	rule already has an action.
    535 	(<SC_BRACED_CODE>"}"): Set last_braced_code_loc before returning.
    536 	* tests/input.at (AT_CHECK_UNUSED_VALUES):
    537 	Add some tests to check that the above changes fixed the bug.
    538 
    539 2006-01-27  Paul Eggert  <eggert (a] cs.ucla.edu>
    540 
    541 	* src/reader.c (symbol_should_be_used): Renamed from symbol_typed_p.
    542 	All used changed.  Check whether the symbol has a destructor,
    543 	not whether it is typed.
    544 	* tests/input.at (AT_CHECK_UNUSED_VALUES): Add a destructor, so
    545 	that the values are still reported as unused.  All line numbers
    546 	adjusted.
    547 
    548 2006-01-23  Paul Eggert  <eggert (a] cs.ucla.edu>
    549 
    550 	Work around a bug in bro 0.8, which underparenthesizes its
    551 	definition of YYLLOC_DEFAULT.
    552 	* data/glr.c: Change all uses of YYLLOC_DEFAULT to parenthesize
    553 	their arguments.
    554 	* data/lalr1.cc: Likewise.
    555 	* data/yacc.cc: Likewise.
    556 
    557 2006-01-22  Paul Eggert  <eggert (a] cs.ucla.edu>
    558 
    559 	Work around a bug in Pike 7.0, and give the Pike folks a
    560 	better way to override the usual int widths.
    561 	* data/yacc.c (b4_int_type): Use yytype_uint8, etc., so that the
    562 	user can override the types.
    563 	(short): #undef, to work around a bug in Pike 7.0.
    564 	(yytype_uint8, yytype_int8, yytype_uint16, yytype_int16): New types.
    565 	(union yyalloc.yyss): Use yytype_int16 rather than short.
    566 	All uses changed.
    567 	(yysigned_char): Remove.
    568 	* src/parse-gram.y (YYTYPE_UINT8, YYTYPE_INT8, YYTYPE_UINT16):
    569 	(YYTYPE_INT16): New macros, to test the new facility in yacc.c.
    570 	* tests/regression.at (Web2c Actions): Adjust to above changes.
    571 
    572 	* src/reader.c (check_and_convert_grammar): New function.
    573 	(reader): Close the input file even if something went wrong during
    574 	parsing.  Minor file descriptor leak reported by twlevo.
    575 
    576 	* src/assoc.c (assoc_to_string): Use a default: abort (); case
    577 	to pacify gcc -Wswitch-default.
    578 	* src/scan-gram.l (adjust_location): Use a default: break; case
    579 	to pacify gcc -Wswitch-default.
    580 	* src/scan-skel.h (skel_get_lineno, skel_get_in, skel_get_out):
    581 	(skel_get_leng, skel_get_text, skel_set_lineno, skel_set_in):
    582 	(skel_set_out, skel_get_debug, skel_set_debug, skel_lex_destroy):
    583 	Move these decls to scan-skel.l, since they don't need to be
    584 	visible elsewhere.
    585 	* src/scan-skel.l: Accept the above decls.
    586 	(skel_lex): New decl, to pacify GCC when unpatched flex 2.5.31
    587 	is used.
    588 
    589 2006-01-21  Paul Eggert  <eggert (a] cs.ucla.edu>
    590 
    591 	* Makefile.cfg (local-checks-to-skip): Add changelog-check,
    592 	since we don't want to insist on a version number at the start
    593 	of the changelog every time.
    594 	* Makefile.maint: Sync from coreutils a bit better.
    595 	(sc_trailing_blank): Renamed from sc_trailing_space.
    596 	All uses changed.
    597 	(sc_no_if_have_config_h, sc_require_config_h):
    598 	(sc_prohibit_assert_without_use): New rules.
    599 	(sc_obsolete_symbols): Don't catch Makefile.maint itself.
    600 	(sc_dd_max_sym_length): Fix leading spaces in rule.
    601 	(sc_system_h_headers): Prefix with @.
    602 	(sc_useless_cpp_parens, m4-check): Output line numbers.
    603 	(changelog-check): Allow version only in head.
    604 	* data/c.m4: Use "defined FOO" instead of "defined (FOO)", to
    605 	satisfy new Makefile.maint rule.
    606 	* data/glr.c: Likewise.
    607 	* data/glr.cc: Likewise.
    608 	* data/lalr1.cc: Likewise.
    609 	* data/yacc.c: Likewise.
    610 	* lib/ebitsetv.c: Likewise.
    611 	* lib/lbitset.c: Likewise.
    612 	* lib/subpipe.c: Likewise.
    613 	* lib/timevar.c: Likewise.
    614 	* src/system.h: Likewise.
    615 	* data/yacc.c (YYSTYPE): Don't generate trailing spaces in output.
    616 	* djgpp/Makefile.maint: Add copyright notice.
    617 	* djgpp/README.in: Likewise.
    618 	* djgpp/config.bat: Likewise.
    619 	* djgpp/config.site: Likewise.
    620 	* djgpp/config_h.sed: Likewise.
    621 	* djgpp/djunpack.bat: Likewise.
    622 	* djgpp/config.sed: Fix copyright notice to match standard format.
    623 	* djgpp/subpipe.h: Likewise.
    624 	* lib/bitsetv-print.c: Likewise.
    625 	* lib/bitsetv.c: Likewise.
    626 	* lib/subpipe.h: Likewise.
    627 	* lib/timevar.c: Likewise.
    628 	* lib/timevar.h: Likewise.
    629 	* djgpp/subpipe.c: Use standard recipe for config.h.
    630 	* lib/abitset.c: Likewise.
    631 	* lib/bitset.c: Likewise.
    632 	* lib/bitset_stats.c: Likewise.
    633 	* lib/bitsetv-print.c: Likewise.
    634 	* lib/bitsetv.c: Likewise.
    635 	* lib/ebitsetv.c: Likewise.
    636 	* lib/get-errno.c: Likewise.
    637 	* lib/lbitset.c: Likewise.
    638 	* lib/subpipe.c: Likewise.
    639 	* lib/timevar.c: Likewise.
    640 	* lib/vbitset.c: Likewise.
    641 	* tests/local.at: Likewise.
    642 	* src/scan-gram.l: Don't include verify.h, since system.h does
    643 	that for us.
    644 	* .x-sc_require_config_h: New file.
    645 	* .x-sc_unmarked_diagnostics: New file.
    646 
    647 2006-01-20  Paul Eggert  <eggert (a] cs.ucla.edu>
    648 
    649 	Be a bit more systematic about using 'abort'.
    650 	* lib/abitset.c (abitset_test): Remove ATTRIBUTE_UNUSED; not needed.
    651 	* lib/bitset.c (bitset_bytes, bitset_init, bitset_op4_cmp):
    652 	Put 'default: abort ();' before some other case, to satisfy older
    653 	pedantic compilers.
    654 	* lib/bitset_stats.c (bitset_stats_init): Likewise.
    655 	* lib/ebitset.c (ebitset_elt_find, ebitset_op3_cmp): Likewise.
    656 	* lib/lbitset.c (lbitset_elt_find, lbitset_op3_cmp): Likewise.
    657 	* src/conflicts.c (resolve_sr_conflict): Likewise.
    658 	* src/vcg.c (get_color_str, get_textmode_str, get_shape_str):
    659 	(get_decision_str, get_orientation_str, get_node_alignment_str):
    660 	(get_arrow_mode_str, get_crossing_type_str, get_view_str):
    661 	(get_linestyle_str, get_arrowstyle_str): Likewise.
    662 	* src/conflicts.c (resolve_sr_conflict):
    663 	Use a default case rather than one for the one remaining enum
    664 	value, to catch invalid enum values as well.
    665 	* src/lalr.c (set_goto_map, map_goto):
    666 	Prefer "assert (FOO);" to "if (!FOO) abort ();".
    667 	* src/nullable.c (nullable_compute, token_definitions_output):
    668 	Likewise.
    669 	* src/reader.c (packgram, reader): Likewise.
    670 	* src/state.c (transitions_to, state_new, state_reduction_find):
    671 	Likewise.
    672 	* src/symtab.c (symbol_user_token_number_set, symbol_make_alias):
    673 	(symbol_pack): Likewise.
    674 	* src/tables.c (conflict_row, pack_vector): Likewise.
    675 	* src/scan-skel.l (QPUTS): Remove unnecessary parens.
    676 	(BASE_QPUTS, "@output ".*\n): Remove unnecessary asserts.
    677 	* src/system.h: Don't include <assert.h>.
    678 	(assert): New macro.
    679 
    680 	* doc/bison.texinfo (Prologue, Rules, Actions, Union Decl, Action Decl):
    681 	(Destructor Decl, Parser Function, Pure Calling):
    682 	Describe rules for braces inside C code more carefully.
    683 
    684 2006-01-19  Paul Eggert  <eggert (a] cs.ucla.edu>
    685 
    686 	Fix some porting glitches found by Nelson H. F. Beebe.
    687 	* lib/abitset.c (abitset_resize): Rewrite to avoid warnings from
    688 	compilers that don't understand that abort () does not return.
    689 	* src/state.c (transitions_to): Likewise.
    690 	* m4/cxx.m4 (BISON_TEST_FOR_WORKING_CXX_COMPILER): Check
    691 	that '#include <cstdlib>' works.
    692 	* src/system.h (INT8_MIN, INT16_MIN, INT32_MIN, INT8_MAX):
    693 	(INT16_MAX, UINT8_MAX, INT32_MAX, UINT16_MAX, UINT32_MAX):
    694 	#undef if ! defined __STDC_VERSION__ || __STDC_VERSION__ < 199901,
    695 	for the benefit of some pre-C99 compilers.
    696 
    697 	* bootstrap: Undo changes to gnulib files that autoreconf made.
    698 
    699 	Minor fixups to get 'make maintainer-check' to work.
    700 	* configure.ac: Don't use -Wnested-externs, as it's incompatible
    701 	with the new verify.h implementation.
    702 	* data/c.m4 (b4_yy_symbol_print_generate): YYUSE (yyoutput).
    703 	* data/glr.c (YYUSE): Depend on __GNUC__ as well.
    704 	* data/yacc.c (YYUSE): Likewise.
    705 	* data/lalr1.cc (yysyntax_error_): YYUSE (yystate).
    706 	* lib/subpipe.c (end_of_output_subpipe): The args are unused.
    707 	* src/parse-gram.y (declaration): Don't pass a string constant
    708 	to a function that expects char *, since GCC might complain
    709 	about the constant value.
    710 	* src/reader.c (symbol_typed_p): Add parens to pacify GCC.
    711 	* tests/cxx-type.at (_AT_TEST_GLR_CXXTYPES): #undef yylloc and yylval
    712 	before #defining them.
    713 	* tests/glr-regression.at
    714 	(Incorrectly initialized location for empty right-hand side in GLR):
    715 	In yyerror, use the msg arg.
    716 	(Corrupted semantic options if user action cuts parse):
    717 	(Incorrect lookahead during deterministic GLR):
    718 	(Incorrect lookahead during nondeterministic GLR):
    719 	Don't name a local var 'index'; it shadows string.h's 'index'.
    720 
    721 2006-01-19  Akim Demaille  <akim (a] epita.fr>
    722 
    723 	* tests/calc.at (_AT_DATA_CALC_Y): Initialize the whole initial
    724 	location, not just parts of it.
    725 
    726 2006-01-18  Paul Eggert  <eggert (a] cs.ucla.edu>
    727 
    728 	* NEWS: Document the fact that multiple %unions are now allowed.
    729 	* doc/bison.texinfo (Union Decl): Likewise.
    730 	* TODO: This feature is now implemented, so remove it from
    731 	the wishlist.
    732 
    733 	* Makefile.maint: Merge with coreutils Makefile.maint.
    734 	(CVS_LIST): Use build-aux version if available.
    735 	(VERSION_REGEXP): New macro.
    736 	(syntax-check-rules): Add sc_no_if_have_config_h,
    737 	sc_prohibit_assert_without_use, sc_require_config_h,
    738 	sc_useless_cpp_parens.
    739 	(sc_obsolete_symbols): Check for O_NDELAY.
    740 	(sc_dd_max_sym_length): Track coreutils.
    741 	(sc_unmarked_diagnostics): Look in all files, not just *.c.
    742 	(sc_useless_cpp_parens): New rule.
    743 	(news-date-check): Look for version or today's date.
    744 	(changelog-check): Don't require version number near head.
    745 	(copyright-check): Use current year instead of hardwiring 2005.
    746 	(my-distcheck): Depend on $(release_archive_dir)/$(prev-tgz).
    747 	(announcement): Add --gpg-key-ID.
    748 
    749 	* djgpp/config.sed: Add copyright notice, and replace "filesystem"
    750 	with "file system".
    751 
    752 	Avoid undefined behavior that addressed just before the start of an
    753 	array.  Problem reported by twlevo.
    754 	* src/reader.c (packgram): Prepend a new sentinel before ritem.
    755 	* src/lalr.c (build_relations): Rely on new sentinel.
    756 	* src/gram.c (gram_free): Adjust to new sentinel.
    757 
    758 2006-01-12  Joel E. Denny  <jdenny (a] ces.clemson.edu>
    759 
    760 	* data/glr.c (yyGLRStateSet): Rename yylookaheadStatuses to
    761 	yylookaheadNeeds.  All uses updated.
    762 	(yysplitStack): Rename local yynewLookaheadStatuses to
    763 	yynewLookaheadNeeds.
    764 	* data/glr-regression.at (Incorrect lookahead during nondeterministic
    765 	GLR): In comments, change `lookahead status' to `lookahead need'.
    766 
    767 2006-01-11  Paul Hilfinger  <hilfingr (a] tully.CS.Berkeley.EDU>
    768 
    769 	* data/glr.c (yysplitStack): A little stylistic rewrite.
    770 
    771 2006-01-11  Paul Hilfinger  <hilfingr (a] tully.CS.Berkeley.EDU>
    772 
    773 	* data/glr.c (yyaddDeferredAction): Flesh out the comment.
    774 
    775 2006-01-11  Joel E. Denny  <jdenny (a] ces.clemson.edu>
    776 
    777 	* doc/bison.texinfo: Fix some typos.
    778 	(GLR Semantic Actions): New subsection discussing special
    779 	considerations because GLR semantic actions might be deferred.
    780 	(Actions): Mention look-ahead usage of yylval.
    781 	(Actions and Locations): Mention look-ahead usage of yylloc.
    782 	(Special Features for Use in Actions): Add YYEOF entry and mention it
    783 	in the yychar entry.
    784 	In the yychar entry, remove mention of the local yychar case (pure
    785 	parser) since this is irrelevant information when writing semantic
    786 	actions and since it's already discussed in `Bison Symbols' where
    787 	yychar is otherwise described as an external variable.
    788 	In the yychar entry, don't call it the `current' look-ahead since it
    789 	isn't when semantic actions are deferred.
    790 	In the yychar and yyclearin entries, add note about deferred semantic
    791 	actions.
    792 	Add yylloc and yylval entries discussing look-ahead usage.
    793 	(Look-Ahead Tokens): When discussing yychar, don't call it the
    794 	`current' look-ahead, and do mention yylval and yylloc.
    795 	(Error Recovery): Cross-reference `Action Features' when mentioning
    796 	yyclearin.
    797 	(Bison Symbols): In the yychar entry, don't call it the `current'
    798 	look-ahead.
    799 	In the yylloc and yylval entries, mention look-ahead usage.
    800 
    801 2006-01-08  Joel E. Denny  <jdenny (a] ces.clemson.edu>
    802 
    803 	* tests/glr-regression.at: Update copyright year to 2006.
    804 
    805 2006-01-06  Joel E. Denny  <jdenny (a] ces.clemson.edu>
    806 
    807 	* data/glr.c (yyGLRStateSet): Add yybool* yylookaheadStatuses member to
    808 	use during nondeterministic operation to track which stacks have
    809 	actually needed the current lookahead.
    810 	(yyinitStateSet, yyfreeStateSet, yyremoveDeletes, yysplitStack):
    811 	Allocate, deallocate, resize, and otherwise shuffle space for
    812 	yylookaheadStatuses in parallel with yystates member of yyGLRStateSet.
    813 	(yysplitStack, yyprocessOneStack, yyparse): Set lookahead status
    814 	appropriately during nondeterministic operation.
    815 	(yySemanticOption): Add int yyrawchar, YYSTYPE yyval, and YYLTYPE yyloc
    816 	members to store the current lookahead to be used by the deferred
    817 	user action.
    818 	(yyaddDeferredAction): Add size_t yyk parameter specifying the stack
    819 	from which the RHS is taken.  Set the lookahead members of the new
    820 	yySemanticOption according to the lookahead status for stack yyk.
    821 	(yyglrShiftDefer, yyglrReduce): Pass yyk parameter on to
    822 	yyaddDeferredAction.
    823 	(yyresolveAction): Set yychar, yylval, and yylloc to the lookahead
    824 	members of yySemanticOption before invoking yyuserAction, and then set
    825 	them back to their current values afterward.
    826 	(yyparse): Set yychar = YYEMPTY where yytoken = YYEMPTY.
    827 	(yyreportAmbiguity): Add /*ARGSUSED*/ to pacify lint.
    828 	* tests/glr-regression.at: Remove `.' from the ends of recent test case
    829 	titles for consistency.
    830 	(Leaked merged semantic value if user action cuts parse): In order to
    831 	suppress lint warnings, use arguments in merge function, and assign
    832 	char value < 128 in main.
    833 	(Incorrect lookahead during deterministic GLR): New test case.
    834 	(Incorrect lookahead during nondeterministic GLR): New test case.
    835 
    836 2006-01-06  Joel E. Denny  <jdenny (a] ces.clemson.edu>
    837 
    838 	* data/c.m4 (b4_yy_symbol_print_generate): In yy_symbol_print, accept
    839 	!yyvaluep as signal that no semantic value is available to print.
    840 	* data/glr.c (yydestroyGLRState): If state is not resolved, don't try
    841 	to print a semantic value.
    842 
    843 2006-01-06  Joel E. Denny  <jdenny (a] ces.clemson.edu>
    844 
    845 	* tests/glr-regression.at: For consistency with my newer test cases,
    846 	don't thank myself.
    847 
    848 2006-01-05  Joel E. Denny  <jdenny (a] ces.clemson.edu>
    849 
    850 	* data/glr.c (yyresolveValue): When merging semantic options, if at
    851 	least one user action succeeds but a later one cuts the parse, then
    852 	destroy the semantic value before returning rather than leaking it.
    853 	(yyresolveStates): If a user action cuts the parse and thus
    854 	yyresolveValue fails, ignore the (unset) semantic value rather than
    855 	corrupting the yyGLRState, and empty the semantic options list since
    856 	the user actions should have called all necessary destructors.
    857 	Simplify code with YYCHK.
    858 	* tests/glr-regression.at (Corrupted semantic options if user action
    859 	cuts parse): New test case.
    860 	(Undesirable destructors if user action cuts parse): New test case.
    861 	Before applying any of this patch, this test case never actually failed
    862 	for me... but only because the corrupted semantic options usually
    863 	masked this bug.
    864 	(Leaked merged semantic value if user action cuts parse): New test
    865 	case.
    866 
    867 2006-01-05  Akim Demaille  <akim (a] epita.fr>
    868 
    869 	* src/reader.c, src/symlist.h, src/symlist.c: s/mid_rule/midrule/.
    870 
    871 2006-01-04  Paul Eggert  <eggert (a] cs.ucla.edu>
    872 
    873 	* data/c.m4 (b4_c_modern): New macro, with a new provision for
    874 	_MSC_VER.  Problem reported by Cenzato Marco.
    875 	(b4_c_function_def): Use it.
    876 	* data/yacc.c (YYMODERN_C): Remove.  All uses replaced by
    877 	b4_c_modern.
    878 	(yystrlen, yystpcpy, yyparse): Use b4_c_function... macros rather
    879 	than rolling our own.
    880 
    881 2006-01-04  Akim Demaille  <akim (a] epita.fr>
    882 
    883 	Also warn about non-used mid-rule values.
    884 	* src/symlist.h, src/symlist.c (symbol_list): Add a mid_rule
    885 	member.
    886 	(symbol_list_new): Adjust.
    887 	* src/reader.c (symbol_typed_p): New.
    888 	(grammar_rule_check): Use it.
    889 	(grammar_midrule_action): Bind a mid-rule LHS to its rule.
    890 	Check its rule.
    891 	* tests/input.at (AT_CHECK_UNUSED_VALUES): New.
    892 	Use it.
    893 	* tests/actions.at (Exotic Dollars): Adjust.
    894 
    895 2006-01-04  Akim Demaille  <akim (a] epita.fr>
    896 
    897 	* src/reader.c (grammar_midrule_action): If $$ is set in a
    898 	mid-rule, move the `used' bit to its lhs.
    899 	* tests/input.at (Unused values): New.
    900 	* tests/actions.at (Exotic Dollars): Adjust: exp is not typed.
    901 
    902 2006-01-03  Paul Eggert  <eggert (a] cs.ucla.edu>
    903 
    904 	* doc/bison.texinfo (Bison Options): Say more accurately what
    905 	--yacc does.
    906 	* src/parse-gram.y (rules_or_grammar_declaration): Don't complain
    907 	about declarations in the grammar when in Yacc mode, as POSIX does
    908 	not require a diagnostic when the grammar uses extensions.
    909 
    910 	* src/reduce.c (reduce_grammar): Remove unnecessary cast to bool.
    911 
    912 	Warn about dubious constructions like "%token T T".
    913 	Reported by twlevo.
    914 	* src/symtab.h (struct symbol.declared): New member.
    915 	* src/symtab.c (symbol_new): Initialize it to false.
    916 	(symbol_class_set): New arg DECLARING, specifying whether
    917 	this is a declaration that we want to warn about, if there
    918 	is more than one of them.  All uses changed.
    919 
    920 	* data/glr.c, data/glr.cc, data/lalr1.cc, data/yacc.c:
    921 	Allow multiple %union directives, whose contents concatenate.
    922 	* src/parse-gram.y (grammar_declaration): Likewise.
    923 	Use muscle_code_grow, so that we don't need stype_line any more.
    924 	All uses changed.
    925 
    926 	* src/muscle_tab.c (muscle_grow): Fix comment.
    927 
    928 	* ChangeLog, data/c.m4, data/glr.c, data/glr.cc, data/location.cc:
    929 	* data/yacc.c, src/getargs.c, src/output.c, tests/cxx-type.at:
    930 	Update copyright year to 2006.
    931 
    932 2006-01-03  Akim Demaille  <akim (a] epita.fr>
    933 
    934 	Have glr.cc pass (some of) the calc.at tests.
    935 	* data/glr.cc (b4_parse_param_orig): New.
    936 	(b4_parse_param): Improve its definition, and bound it more
    937 	clearly in the skeleton.
    938 	(b4_epilogue): Append, instead of prepending, in order to keep
    939 	#line consistency.
    940 	Simplify the generation of auxiliary functions: locations and
    941 	purity are mandated.
    942 	(b4_global_tokens_and_yystype): Honor it.
    943 	* data/location.cc (c++.m4): Don't include it.
    944 	* tests/local.at (_AT_BISON_OPTION_PUSHDEFS): Define AT_GLR_CC_IF
    945 	and AT_SKEL_CC_IF.
    946 	* tests/calc.at (AT_CHECK_CALC): Rely on AT_SKEL_CC_IF instead of
    947 	AT_LALR1_CC_IF.
    948 	Be sure to initialize the first position's filename.
    949 	(AT_CHECK_CALC_LALR1_CC): Add %location and %defines, they are
    950 	mandated anyway.
    951 	(AT_CHECK_CALC_GLR_CC): New.
    952 	Use it to exercise glr.cc as a lalr1.cc drop-in replacement.
    953 
    954 2006-01-02  Akim Demaille  <akim (a] epita.fr>
    955 
    956 	* src/output.c (output_skeleton): Don't hard wire the inclusion of
    957 	c.m4.
    958 	* data/c++.m4, data/glr.c, data/yacc.c: Include c.m4.
    959 	* data/glr.cc: Do not include stack.hh.
    960 
    961 2006-01-02  Joel E. Denny  <jdenny (a] ces.clemson.edu>
    962 
    963 	* data/glr.c: Reformat whitespace with tabs.
    964 	(b4_lpure_formals): Remove this unused m4 macro.
    965 	* tests/cxx-type.at: Reformat whitespace with tabs.
    966 	(_AT_TEST_GLR_CXXTYPES): In union Node, rename node_info to nodeInfo
    967 	since it's a member.  Rename type to isNterm for clarity.
    968 
    969 2005-12-29  Akim  <akim (a] sulaco.local>
    970 
    971 	Let glr.cc catch up with symbol_value_print.
    972 	* data/glr.cc (b4_yysymprint_generate): Replace by...
    973 	(b4_yy_symbol_print_generate): this.
    974 	(yy_symbol_print, yy_symbol_value_print): Declare them.
    975 
    976 2005-12-28  Paul Eggert  <eggert (a] cs.ucla.edu>
    977 
    978 	* src/location.h (boundary): Note that a line or column equal
    979 	to INT_MAX indicates an overflow.
    980 	* src/scan-gram.l: Include verify.h.  Don't include get-errno.h.
    981 	(rule_length_overflow, increment_rule_length, add_column_width):
    982 	New functions.
    983 	(<INITIAL>{id}, <SC_ESCAPED_STRING>"\"", <SC_ESCAPED_CHARACTER>"'"):
    984 	(<SC_BRACED_CODE>"}"):
    985 	Use increment_rule_length rather than incrementing it by hand.
    986 	(adjust_location, handle_syncline): Diagnose overflow.
    987 	(handle_action_dollar, handle_action_at):
    988 	Fix bug with monstrosities like $-2147483648.
    989 	Remove now-unnecessary checks.
    990 	(scan_integer): Verify assumptions and remove now-unnecessary checks.
    991 	(convert_ucn_to_byte): Verify assumptions.
    992 	(handle_syncline): New arg LOC.  All callers changed.
    993 	Don't store through a value derived from char const * pointer.
    994 
    995 	* src/reader.c (grammar_rule_check): Rewrite slightly to avoid
    996 	GCC warnings.
    997 
    998 2005-12-27  Paul Eggert  <eggert (a] cs.ucla.edu>
    999 
   1000 	* src/reader.c (grammar_midrule_action, grammar_symbol_append):
   1001 	Remove unnecessary forward static decls.
   1002 
   1003 2005-12-27  Akim Demaille  <akim (a] epita.fr>
   1004 
   1005 	* src/reader.c (grammar_current_rule_check): Also check that $$
   1006 	is used.
   1007 	Take the rule to check as argument, hence rename as...
   1008 	(grammar_rule_check): this.
   1009 	* src/reader.h, src/reader.c (grammar_rule_begin, grammar_rule_end):
   1010 	Rename as...
   1011 	(grammar_rule_begin, grammar_rule_end): these, for consistency.
   1012 	(grammar_midrule_action, grammar_symbol_append): Now static.
   1013 	* tests/torture.at (input): Don't rely on the default action
   1014 	being always performed.
   1015 	* tests/calc.at: "Set" $$ even when the action is "cut" with
   1016 	YYERROR or other.
   1017 	* tests/actions.at (Exotic Dollars): Instead of using unused
   1018 	values, check that the warning is issued.
   1019 
   1020 2005-12-22  Paul Eggert  <eggert (a] cs.ucla.edu>
   1021 
   1022 	* NEWS: Improve wording for unused-value warnings.
   1023 
   1024 2005-12-22  Akim Demaille  <akim (a] epita.fr>
   1025 
   1026 	* data/lalr1.cc, data/yacc.c, data/glr.c, data/c.m4
   1027 	(b4_yysymprint_generate): Rename as...
   1028 	(b4_yy_symbol_print_generate): this.
   1029 	Generate yy_symbol_print instead of yysymprint.
   1030 	Generate also yy_symbol_value_print, and use it.
   1031 
   1032 2005-12-22  Akim Demaille  <akim (a] epita.fr>
   1033 
   1034 	* NEWS: Warn about unused values.
   1035 	* src/symlist.h, src/symlist.c (symbol_list, symbol_list_new): Add
   1036 	a `used' member.
   1037 	(symbol_list_n_get, symbol_list_n_used_set): New.
   1038 	(symbol_list_n_type_name_get): Use symbol_list_n_get.
   1039 	* src/scan-gram.l (handle_action_dollar): Flag used symbols.
   1040 	* src/reader.c (grammar_current_rule_check): Check that values are
   1041 	used.
   1042 	* src/symtab.c (symbol_print): Accept 0.
   1043 	* tests/existing.at: Remove the type information.
   1044 	Empty the actions.
   1045 	Remove useless actions (beware of mid-rule actions: perl -000
   1046 	-pi -e 's/\s*\{\}(?=[\n\s]*[|;])//g').
   1047 	* tests/actions.at (Exotic Dollars): Use unused values.
   1048 	* tests/calc.at: Likewise.
   1049 	* tests/glr-regression.at (No users destructors if stack 0 deleted):
   1050 	Likewise.
   1051 
   1052 	* src/gram.c (rule_useful_p, rule_never_reduced_p): Use
   1053 	rule_useful_p.
   1054 
   1055 2005-12-21  Paul Eggert  <eggert (a] cs.ucla.edu>
   1056 
   1057 	Undo 2005-12-01 tentative license wording change.  The wording is
   1058 	still being reviewed by the lawyers, and we don't want to wait for
   1059 	them before publishing a test release.  For now, revert to the
   1060 	previous wording.
   1061 	* NEWS: Undo 2005-12-01 change.
   1062 	* data/glr.c: Revert to previous license wording.
   1063 	* data/glr.cc: Likewise.
   1064 	* data/lalr1.cc: Likewise.
   1065 	* data/location.cc: Likewise.
   1066 	* data/yacc.c: Likewise.
   1067 
   1068 	* NEWS: Reword %destructor vs YYABORT etc.
   1069 	* data/glr.c: Use American spacing, for consistency.
   1070 	* data/glr.cc: Likewise.
   1071 	* data/lalr1.cc: Likewise.
   1072 	* data/yacc.c: Likewise.
   1073 	* data/yacc.c: Reformat comments slightly.
   1074 	* doc/bison.texinfo: Replace "non-" with "non" when that makes sense,
   1075 	for consistency.  Fix some spelling errors and reword recently-included
   1076 	text slightly.
   1077 	* tests/cxx-type.at: Cast results of malloc, for C++.
   1078 
   1079 2005-12-21  Joel E. Denny  <address@hidden>
   1080 
   1081 	* tests/cxx-type.at: Construct a tree, count the parents of shared
   1082 	nodes, and free each node once and only once.  Previously, the memory
   1083 	for semantic values was leaked instead.
   1084 
   1085 2005-12-21  Joel E. Denny  <address@hidden>
   1086 
   1087 	* data/glr.c (struct yyGLRStack): If pure, add yyval and yyloc members.
   1088 	(yylval, yylloc): If pure, #define to yystackp->yyval and
   1089 	yystackp->yyloc similar to yychar and yynerrs.
   1090 	(yyparse): If pure, remove local yylval and yylloc. Add local
   1091 	yystackp to accommodate pure definitions of yylval and yylloc.
   1092 	(b4_lex_param, b4_lyyerror_args, b4_lpure_args): If pure, change
   1093 	yylvalp and yyllocp to &yylval and &yylloc.
   1094 	(nerrs, char, lval, lloc): If pure, add #define's for b4_prefix[]
   1095 	namespace. Previously, nerrs and char were missing, but lval and lloc
   1096 	weren't necessary.
   1097 	(yyprocessOneStack, yyreportSyntaxError, yyrecoverSyntaxError): Remove
   1098 	yylvalp and yyllocp parameters since, if pure, these are now always
   1099 	accessible through yystackp.  If not pure, they are still accessible
   1100 	globally.
   1101 	* data/glr.c, data/yacc.c (YYLLOC_DEFAULT): Change `if (N)' to
   1102 	`if (YYID (N))' to pacify lint.
   1103 
   1104 2005-12-21  Akim Demaille  <akim (a] epita.fr>
   1105 
   1106 	YYACCEPT, YYERROR, and YYABORT, as user actions, should not
   1107 	destroy the RHS symbols of a rule.
   1108 	* data/yacc.c (yylen): Initialize to 0.
   1109 	Keep its value to the number of items to possibly shift.
   1110 	In particular, a regular successful parse that ends on YYFINAL by
   1111 	a (internal) YYACCEPT must not have yylen != 0.
   1112 	(yyerrorlab, yyreturn): Pop the RHS.
   1113 	Reorder a bit to emphasize the `shifting' bits of code.
   1114 	(YYPOPSTACK): Now accept a number of items to pop.
   1115 	* data/lalr1.cc: Likewise.
   1116 	* data/glr.c: Formatting changes.
   1117 	Use goto instead of fall through.
   1118 	* doc/bison.texinfo (Destructor Decl): Complete.
   1119 
   1120 2005-12-20  Juan Manuel Guerrero  <juan.guerrero (a] gmx.de>
   1121 
   1122 	* Makefile.am: DJGPP specific files added to EXTRA_DIST.
   1123 	* djgpp/Makefile.maint: Fix PACKAGE variable computation.
   1124 	* djgpp/config.bat: Replace every occurence of the file name
   1125 	scan-gram-c.c with c-scan-gram.c. The same for scan-skel-c.c with
   1126 	c-scan-skel.c to conform with the 8.3 file name restriction on MSDOS.
   1127 	* djgpp/config.sed: Replace every occurence of the file name
   1128 	scan-gram-c.c with c-scan-gram.c. The same for scan-skel-c.c with
   1129 	c-scan-skel.c to conform with the 8.3 file name restriction on MSDOS.
   1130 	* djgpp/djunpack.bat: DJGPP specific file.
   1131 	* djgpp/fnchange.lst: DJGPP specific file.
   1132 	* djgpp/README.in: Add new information about how to unpack the bison
   1133 	source on MSDOS and other systems which have 8.3 file name restrictions
   1134 	using djunpack.bat and fnchange.lst.
   1135 
   1136 2005-12-12  Paul Eggert  <eggert (a] cs.ucla.edu>
   1137 
   1138 	* bootstrap (build_cvs_prefix): Remove; unused.
   1139 	(CVS_PREFIX): Adjust to yesterday's Savannah reorganization
   1140 	when getting gnulib.
   1141 
   1142 2005-12-12  "Joel E. Denny" <jdenny (a] ces.clemson.edu>
   1143 
   1144 	* data/glr.c: Reorder typedef declarations for structs to match order
   1145 	of struct declarations.
   1146 	Rename yystack everywhere to yystackp except in yyparse where it's not
   1147 	a pointer.
   1148 	(yyglrShift): Change parameter YYSTYPE yysval to YYSTYPE* yyvalp for
   1149 	consistency.
   1150 	(yyis_table_ninf): Change 0 to YYID (0) to pacify lint.
   1151 	(yyreportSyntaxError): Add /*ARGSUSED*/ to pacify lint.
   1152 	(yyparse): Change while (yytrue) to while ( YYID (yytrue)) to pacify
   1153 	lint.
   1154 
   1155 2005-12-09  Paul Eggert  <eggert (a] cs.ucla.edu>
   1156 
   1157 	* tests/sets.at (Accept): Fix typos in regular expression used to
   1158 	sed out the final state number.
   1159 
   1160 	Work around portability problem on Solaris 10: flex-generated
   1161 	files include <stdio.h> before <config.h>, which messes up
   1162 	because the latter defines __EXTENSIONS__.  Address the problem
   1163 	by creating two new little files that include <config.h> first,
   1164 	then include the flex-generated files.  Rewrite everyone else
   1165 	to include <config.h> first, as well.
   1166 	* lib/timevar.c: Always include "config.h".
   1167 	* src/Makefile.am (bison_SOURCES): Replace scan-gram.l with
   1168 	scan-gram-c.c, and scan-skel.l with scan-skel-c.c.
   1169 	(EXTRA_bison_SOURCES): New macro.
   1170 	* src/scan-gram-c.c, src/scan-skel-c.c: New files.
   1171 	* src/system.h: Don't include config.h.
   1172 	* src/LR0.c: Include <config.h> first.
   1173 	* src/assoc.c: Likewise.
   1174 	* src/closure.c: Likewise.
   1175 	* src/complain.c: Likewise.
   1176 	* src/conflicts.c: Likewise.
   1177 	* src/derives.c: Likewise.
   1178 	* src/files.c: Likewise.
   1179 	* src/getargs.c: Likewise.
   1180 	* src/gram.c: Likewise.
   1181 	* src/lalr.c: Likewise.
   1182 	* src/location.c: Likewise.
   1183 	* src/main.c: Likewise.
   1184 	* src/muscle_tab.c: Likewise.
   1185 	* src/nullable.c: Likewise.
   1186 	* src/output.c: Likewise.
   1187 	* src/parse-gram.y: Likewise.
   1188 	* src/print.c: Likewise.
   1189 	* src/print_graph.c: Likewise.
   1190 	* src/reader.c: Likewise.
   1191 	* src/reduce.c: Likewise.
   1192 	* src/relation.c: Likewise.
   1193 	* src/state.c: Likewise.
   1194 	* src/symlist.c: Likewise.
   1195 	* src/symtab.c: Likewise.
   1196 	* src/tables.c: Likewise.
   1197 	* src/uniqstr.c: Likewise.
   1198 	* src/vcg.c: Likewise.
   1199 
   1200 	* src/parse-gram.y: Fix minor problems uncovered by lint.
   1201 	(current_lhs, current_lhs_location): Now static.
   1202 	(current_assoc): Remove unused variable.
   1203 
   1204 	Cleanups so that Bison-generated parsers have less lint.
   1205 	* data/c.m4 (b4_yydestruct_generate, b4_yysymprint_generate):
   1206 	Prepend /*ARGSUSED*/, for lint's sake.
   1207 	* data/glr.c (YYUSE): Properly parenthesize, and use an alternate
   1208 	definition if 'lint' is defined.
   1209 	(YYID): New macro (or function, if lint).
   1210 	All uses of /*CONSTCOND*/0 replaced by YYID(0).
   1211 	* data/yacc.c: Likewise.
   1212 	* data/glr.c (yyuserAction, yyuserMerge, yy_reduce_print):
   1213 	(yyrecoverSyntaxError): Prepend /*ARGSUSED*/.
   1214 	* data/glr.cc (YYLLOC_DEFAULT): Omit /*CONSTCOND*/ since this code
   1215 	is C++ only.
   1216 	* data/lalr1.cc (YYUSE): Just use a cast, since this code is C++ only.
   1217 	* data/yacc.c (YYSTACK_FREE) [defined YYSTACK_ALLOC]:
   1218 	Use YYID(0) rather than 0, for lint.
   1219 	(yystrlen): Rewrite to avoid lint warning about ptrdiff_t overflow.
   1220 	(yysyntax_error): Rewrite to avoid lint warnings about parenthesization.
   1221 
   1222 2005-12-07  Paul Eggert  <eggert (a] cs.ucla.edu>
   1223 
   1224 	* tests/glr-regression.at
   1225 	(Improper handling of embedded actions and dollar(-N) in GLR parsers):
   1226 	Close memory leak reported by twlevo.
   1227 
   1228 2005-12-06  "Joel E. Denny" <jdenny (a] ces.clemson.edu>
   1229 
   1230 	* data/glr.c (yyprocessOneStack, yyparse): Synchronize the shift for
   1231 	all stacks.
   1232 	(yyparse): Iterate another stack in order to call user destructors.
   1233 	* tests/glr-regression.at (No users destructors if stack 0 deleted):
   1234 	New test case.
   1235 	(Duplicated user destructor for lookahead): This test now is expected
   1236 	to succeed.
   1237 
   1238 2005-12-01  Paul Eggert  <eggert (a] cs.ucla.edu>
   1239 
   1240 	* NEWS: Document the following change.
   1241 	* data/yacc.c: Say "parser skeleton" rather than "file", since
   1242 	it's no longer just a file.
   1243 	* data/glr.c: Grant a special exception for C GLR parsers, that
   1244 	reads like the already-existing exception for C LALR(1) parsers.
   1245 	* data/glr.cc: Likewise.
   1246 	* data/lalr1.cc: Likewise.
   1247 	* data/location.cc: Likewise.
   1248 	* data/yacc.c: Reword the "written by" statement to clarify that
   1249 	it was the parser skeleton, not the entire output file.
   1250 	* data/glr.c: Written by Paul Hilfinger.
   1251 	* data/glr.cc: Written by Akim Demaille.
   1252 	* data/lalr1.cc: Likewise.
   1253 
   1254 2005-11-18  Paul Eggert  <eggert (a] cs.ucla.edu>
   1255 
   1256 	* data/yacc.c (yy_reduce_print, YY_REDUCE_PRINT):
   1257 	Fix typos in previous change that broke 'make check'.
   1258 	YY_REDUCE_PRINT cannot be a pseudo-varargs macro; that isn't
   1259 	supported in C.
   1260 	* tests/calc.at (_AT_CHECK_CALC,_AT_CHECK_CALC_ERROR):
   1261 	Don't check NUM-STDERR-LINES, since the output format is fluctuating.
   1262 	We can revert this once things settle down.
   1263 
   1264 	* src/conflicts.c (conflicts_print): Don't print file name twice
   1265 	when %expect fails because there were no conflicts.
   1266 	* doc/bison.texinfo (Expect Decl): Tighten up wording in previous
   1267 	change.
   1268 	* tests/conflicts.at (%expect not enough, %expect too much):
   1269 	(%expect with reduce conflicts): Adjust to new behavior.
   1270 
   1271 2005-11-18  Akim Demaille  <akim (a] epita.fr>
   1272 
   1273 	* src/conflicts.c (conflicts_print): Unsatisfied %expectation are
   1274 	errors.
   1275 	* NEWS: Document this.
   1276 	* doc/bison.texinfo (Expect Decl): Likewise.
   1277 
   1278 2005-11-16  Akim Demaille  <akim (a] epita.fr>
   1279 
   1280 	Generalize the display of semantic values and locations in traces.
   1281 	* data/glr.c (yy_reduce_print): Fix indices (again).
   1282 	* data/c++.m4 (b4_rhs_value, b4_rhs_location): Don't expect
   1283 	literal integers.
   1284 	* data/lalr1.cc (yyreduce_print): Rename as...
   1285 	(yy_reduce_print): this.
   1286 	Display values and locations.
   1287 	* data/yacc.c (yy_reduce_print): Likewise.
   1288 	(YY_REDUCE_PRINT): Adjust to pass the required arguments.
   1289 	(yysymprint): Move higher to be visible from yy_reduce_print).
   1290 	(yyparse): Adjust.
   1291 	* tests/calc.at: Adjust the expected length of the traces.
   1292 
   1293 2005-11-14  Akim Demaille  <akim (a] epita.fr>
   1294 
   1295 	* data/glr.c (yy_reduce_print): The loop was quite wrong: type are
   1296 	from 1 to N, while values and location start at 0.
   1297 	(b4_rhs_location, b4_rhs_value): Add parens around $1 and $2.
   1298 
   1299 2005-11-14  Akim Demaille  <akim (a] epita.fr>
   1300 
   1301 	* data/glr.c (yy_reduce_print): Fix the $ number.
   1302 
   1303 2005-11-14  Akim Demaille  <akim (a] epita.fr>
   1304 
   1305 	"Use" parse parameters.
   1306 	* data/c.m4 (b4_parse_param_for, b4_parse_param_use): New.
   1307 	* data/glr.c, data/glr.cc: Use them.
   1308 	* data/glr.c (YYUSE): Have a C++ definition that supports
   1309 	non-pointer types.
   1310 
   1311 2005-11-14  Akim Demaille  <akim (a] epita.fr>
   1312 
   1313 	* data/glr.c (yyexpandGLRStack): Declare only if defined.
   1314 
   1315 2005-11-14  Akim Demaille  <akim (a] epita.fr>
   1316 
   1317 	* data/glr.cc: New.
   1318 	* data/m4sugar/m4sugar.m4 (m4_prepend): New.
   1319 
   1320 2005-11-12  Akim Demaille  <akim (a] epita.fr>
   1321 
   1322 	Let position and location be PODs.
   1323 	* data/location.cc (position::initialize, location::initialize): New.
   1324 	(position::position, location::location): Define only if
   1325 	b4_location_constructors is defined.
   1326 	* data/lalr1.cc (b4_location_constructors): Define it for backward
   1327 	compatibility.
   1328 	* doc/bison.texinfo (Initial Action Decl): Use initialize.
   1329 
   1330 2005-11-12  Akim Demaille  <akim (a] epita.fr>
   1331 
   1332 	* data/lalr1.cc: Move the body of the ctor and dtor into the
   1333 	parser file (instead of the header).
   1334 	Wrap the implementations in a "namespace yy".
   1335 
   1336 2005-11-12  Akim Demaille  <akim (a] epita.fr>
   1337 
   1338 	Have glr.c include its header file when created.
   1339 	* data/glr.c (b4_shared_declarations): New.
   1340 	Output them verbatim in the parser if !%defines, otherwise
   1341 	output then in the header file, and include it instead.
   1342 
   1343 2005-11-11  Akim Demaille  <akim (a] epita.fr>
   1344 
   1345 	* data/glr.c: Comment changes.
   1346 
   1347 2005-11-11  Akim Demaille  <akim (a] epita.fr>
   1348 
   1349 	When yydebug, report semantic and location values for reductions.
   1350 	* data/glr.c (yy_reduce_print): Report the semantic values and the
   1351 	locations.
   1352 	(YY_REDUCE_PRINT): Adjust.
   1353 	(yyglrReduce): Use them.
   1354 	(b4_rhs_value, b4_rhs_location): Remove m4_eval invocations.
   1355 	* data/c.m4 (b4_yysymprint_generate): Specify the const arguments.
   1356 	* tests/calc.at (_AT_CHECK_CALC_ERROR): Remove the reduction
   1357 	traces.
   1358 
   1359 2005-11-10  Akim Demaille  <akim (a] epita.fr>
   1360 
   1361 	* data/glr.c (yynewGLRStackItem, YY_RESERVE_GLRSTACK): New.
   1362 	(yyaddDeferredAction, yyglrShift, yyglrShiftDefer): Use them.
   1363 	(yyexpandGLRStack, YYRELOC): Define only when YYSTACKEXPANDABLE.
   1364 
   1365 2005-11-09  Albert Chin-A-Young  <china (a] thewrittenword.com>
   1366 
   1367 	* m4/cxx.m4, examples/Makefile.am: Don't build
   1368 	examples/calc++ if no C++ compiler is available.  (trivial change)
   1369 
   1370 2005-11-09  Akim Demaille  <akim (a] epita.fr>
   1371 
   1372 	* src/scan-skel.l: Use a couple of asserts.
   1373 
   1374 2005-11-03  Akim Demaille  <akim (a] epita.fr>
   1375 
   1376 	In some (weird) cases, the final state number is incorrect.
   1377 	Reported by Alexandre Duret-Lutz.
   1378 	* src/LR0.c (state_list_append): Remove the computation of
   1379 	final_state.
   1380 	(save_reductions): Do it here.
   1381 	(get_state): Alpha conversion.
   1382 	(generate_states): Use a for loop.
   1383 	* src/gram.h (item_number_is_rule_number)
   1384 	(item_number_is_symbol_number): New.
   1385 	* src/state.c: Use assert.
   1386 	* src/system.h: Include assert.h.
   1387 	* tests/sets.at (Accept): New.
   1388 
   1389 2005-10-30  Paul Hilfinger  <hilfingr (a] tully.CS.Berkeley.EDU>
   1390 
   1391 	* data/glr.c (yyfill): Adjust comment.
   1392 	(yyresolveAction): Initialize default location properly
   1393 	for empty right-hand sides.
   1394 	(yydoAction): Ditto.
   1395 	Add comment explaining apparently dead code.
   1396 	* tests/glr-regression.at
   1397 	(Incorrectly initialized location for empty right-hand side in GLR):
   1398 	New test.
   1399 
   1400 2005-10-30  Paul Eggert  <eggert (a] cs.ucla.edu>
   1401 
   1402 	* bootstrap (cleanup_gnulib): New function.  Use it to clean up
   1403 	gnulib when interrupted.  This fixes some race conditions and
   1404 	works around some portability problems (one noted by Paul
   1405 	Hilfinger).
   1406 
   1407 2005-10-22  Akim  <akim (a] epita.fr>
   1408 
   1409 	* Makefile.cfg: Adjust to config -> build-aux.
   1410 	Reported by twledo.
   1411 
   1412 2005-10-21  Akim Demaille  <akim (a] epita.fr>
   1413 
   1414 	* data/c.m4 (b4_yydestruct_generate, b4_yysymprint_generate): Pass
   1415 	the %parse-params.
   1416 	* data/glr.c (YY_SYMBOL_PRINT, yydestroyGLRState): Adjust.
   1417 	* data/yacc.c (b4_Pure_if): Rename as...
   1418 	(b4_yacc_pure_if): this.
   1419 	(YY_SYMBOL_PRINT, yyparse): Adjust.
   1420 	* doc/bison.texinfo: Formatting changes.
   1421 
   1422 2005-10-21  Akim Demaille  <akim (a] epita.fr>
   1423 
   1424 	Finish the transition config -> build-aux.
   1425 	* configure.ac, Makefile.am: Use build-aux.
   1426 	* config/prev-version, config/announce-gen, config/Makefile.am:
   1427 	Move to...
   1428 	* build-aux/prev-version, build-aux/announce-gen,
   1429 	* build-aux/Makefile.am: here.
   1430 
   1431 2005-10-14  Akim Demaille  <akim (a] epita.fr>
   1432 
   1433 	* examples/calc++/test: Use set -x only when VERBOSE.
   1434 
   1435 2005-10-13  Paul Eggert  <eggert (a] cs.ucla.edu>
   1436 
   1437 	* NEWS: Bison now warns if it finds a stray `$' or `@' in an action.
   1438 	* src/scan-gram.l (<SC_BRACED_CODE>[$@]): Implement this.
   1439 
   1440 2005-10-13  Akim Demaille  <akim (a] epita.fr>
   1441 
   1442 	* src/scan-skel.l: Output the base name parts of the parser and
   1443 	header file names.
   1444 	* tests/output.at (AT_CHECK_OUTPUT): Support subdirectories, and
   1445 	additional checks.
   1446 	Use this to exercise C++ outputs in subdirs.
   1447 	Reported by Oleg Smolsky.
   1448 
   1449 2005-10-12  Paul Eggert  <eggert (a] cs.ucla.edu>
   1450 
   1451 	* data/c.m4 (b4_c_function_def): Look at __C99_FUNC__, not at
   1452 	__STDC_VERSION__, as IBM cc 7.0 doesn't define the latter either.
   1453 	Problem reported by John P. Hartmann.
   1454 	* data/yacc.c (YYMODERN_C): Likewise.  Don't define if the user has
   1455 	already defined it.
   1456 
   1457 2005-10-12  Akim Demaille  <akim (a] epita.fr>
   1458 
   1459 	* src/parse-gram.y (version_check): Exit 63 to please missing
   1460 	(stands for "version mismatch).
   1461 	* tests/input.at, doc/bison.texinfo: Adjust.
   1462 
   1463 2005-10-10  Paul Eggert  <eggert (a] cs.ucla.edu>
   1464 
   1465 	Work around portability problems with Visual Age C compiler
   1466 	(xlc and xlC_r) reported by John P. Hartmann.
   1467 	* data/location.cc (initial_column, initial_line): Remove.
   1468 	All uses replaced by 0 and 1.
   1469 	* src/scan-gram.l (gram_wrap): Redefine to avoid bug in flex 2.5.31
   1470 	that xlc complains about.
   1471 	* src/scan-skel.l (skel_wrap): Likewise.
   1472 	* data/c.m4 (b4_c_function_def): Look at __STDC_VERSION__ as well
   1473 	as __STDC__.
   1474 	* data/yacc.c (YYMODERN_C): New macro, which also looks at
   1475 	__STDC_VERSION__.  Use it everywhere instead of looking at
   1476 	__STDC__ and __cplusplus.
   1477 
   1478 2005-10-10  Akim Demaille  <akim (a] epita.fr>
   1479 
   1480 	* examples/calc++/test: Be quiet unless VERBOSE.
   1481 
   1482 2005-10-05  Paul Eggert  <eggert (a] cs.ucla.edu>
   1483 
   1484 	* data/c.m4 (yydestruct, yysymprint):
   1485 	Use YYUSE instead of casting to void.
   1486 	* data/glr.c (YYUSE): New macro.
   1487 	(yyuserMerge, yyreportAmbiguity, yyreportSyntaxError):
   1488 	Use it instead of rolling our own.
   1489 	(YYLLOC_DEFAULT, YYCHK, YYDPRINTF, YY_SYMBOL_PRINT, YY_REDUCE_PRINT):
   1490 	(YYCHK1):
   1491 	Use /*CONSTCOND*/ to suppress lint warnings.
   1492 	* data/lalr1.cc (YYLLOC_DEFAULT, YY_SYMBOL_PRINT, YY_REDUCE_PRINT):
   1493 	(YY_STACK_PRINT): Use 'false' not '0'.
   1494 	(YYUSE): New macro.
   1495 	(yysymprint_, yydestruct_): Use it instead of rolling our own.
   1496 	* data/yacc.c (YYUSE): New macro.
   1497 	(YYCOPY, YYSTACK_RELOCATE, YYBACKUP, YYLLOC_DEFAULT):
   1498 	(YYDPRINTF, YY_SYMBOL_PRINT, YY_STACK_PRINT, YY_REDUCE_PRINT):
   1499 	(yyerrorlab): Use /*CONSTCOND*/ to suppress lint warnings.
   1500 
   1501 
   1502 	* data/m4sugar/m4sugar.m4 (_m4_map): New macro.
   1503 	(m4_map, m4_map_sep): Use it.  Handle the empty list correctly.
   1504 
   1505 2005-10-04  Paul Eggert  <eggert (a] cs.ucla.edu>
   1506 
   1507 	Undo the parts of the unlocked-I/O change that substituted
   1508 	putc or puts for printf.  This might hurt performance a bit,
   1509 	but some people prefer the printf style.
   1510 	* data/c.m4 (yysymprint): Prefer printf to puts and putc.
   1511 	* data/glr.c (YYFPUTC, YYFPUTS, YYDPUTS): Remove.
   1512 	All uses replaced by YYFPRINTF and YYDPRINTF.
   1513 	* data/yacc.c: Likewise.
   1514 	* lib/bitset.c (bitset_print): Likewise.
   1515 	* lib/bitsetv.c (bitsetv_dump, debug-bitsetv): Prefer printf to
   1516 	putc and puts.
   1517 	* lib/lbitset.c (debug_lbitset): Likewise.
   1518 	* src/closure.c (print_firsts, print_fderives): Likewise.
   1519 	* src/gram.c (grammar_dump): Likewise.
   1520 	* src/lalr.c (look_ahead_tokens_print): Likewise.
   1521 	* src/output.c (escaped_output): Likewise.
   1522 	(user_actions_output): Break apart two printfs.
   1523 	* src/parse-gram.y (%printer): Prefer printf to putc and puts.
   1524 	* src/reduce.c (reduce_print): Likewise.
   1525 	* src/state.c (state_rule_look_ahead_tokens_print): Likewise.
   1526 	* src/system.h: Include unlocked-io.h rathe than stdio.h.
   1527 
   1528 	* data/glr.c (yyuserMerge, yyreportAmbiguity, yyreportSyntaxError):
   1529 	Use assignments rather than casts-to-void to suppress
   1530 	unused-variable warnings.  This pacifies 'lint'.
   1531 	* data/lalr1.cc (yysymprint_, yydestruct_): Use a call to suppress
   1532 	unused-variable warnings.
   1533 
   1534 2005-10-03  Juan Manuel Guerrero  <juan.guerrero (a] gmx.de>
   1535 
   1536 	* Makefile.am: DJGPP specific files added to EXTRA_DIST.
   1537 
   1538 2005-10-02  Paul Eggert  <eggert (a] cs.ucla.edu>
   1539 
   1540 	Use unlocked I/O for a minor performance improvement on hosts like
   1541 	GNU/Linux and Solaris that support unlocked I/O.  The basic idea
   1542 	is to use the gnlib unlocked-io module, and to prefer putc and
   1543 	puts to printf when either will work (since the latter doesn't
   1544 	come in an unlocked flavor).
   1545 	* bootstrap (gnulib_modules): Add unlocked-io.
   1546 	* data/c.m4 (yysymprint): Prefer puts and putc to printf.
   1547 	* data/glr.c (YYFPUTC, YYFPUTS, YYDPUTS): New macros.
   1548 	Prefer them to YYFPRINTF and YYDPRINTF if either will do,
   1549 	and similarly for puts and putc and printf.
   1550 	* data/yacc.c: Likewise.
   1551 	* lib/bitset.c (bitset_print): Likewise.
   1552 	* lib/bitset.h [USE_UNLOCKED_IO]: Include unlocked-io.h.
   1553 	* lib/bitsetv.c (bitsetv_dump, debug-bitsetv): Prefer putc and puts
   1554 	to printf.
   1555 	* lib/lbitset.c (debug_lbitset): Likewise.
   1556 	* src/closure.c (print_firsts, print_fderives): Likewise.
   1557 	* src/gram.c (grammar_dump): Likewise.
   1558 	* src/lalr.c (look_ahead_tokens_print): Likewise.
   1559 	* src/output.c (escaped_output): Likewise.
   1560 	(user_actions_output): Coalesce two printfs.
   1561 	* src/parse-gram.y (%printer): Prefer putc and puts to printf.
   1562 	* src/reduce.c (reduce_print): Likewise.
   1563 	* src/state.c (state_rule_look_ahead_tokens_print): Likewise.
   1564 	* src/system.h: Include unlocked-io.h rather than stdio.h.
   1565 
   1566 	* data/lalr1.cc: Don't put an unmatched ' in a dnl comment, as
   1567 	this confuses xgettext.
   1568 
   1569 2005-10-02  Akim Demaille  <akim (a] epita.fr>
   1570 
   1571 	* bootstrap (gnulib_modules): Add strverscmp.
   1572 	* lib/.cvsignore: Add strverscmp.c, strverscmp.h.
   1573 	* m4/.cvsignore: Add strverscmp.m4.
   1574 	* src/parse-gram.y (%require): New token, new rule.
   1575 	(version_check): New.
   1576 	* src/scan-gram.l (%require): Adjust.
   1577 	* tests/input.at (AT_REQUIRE): New.
   1578 	Use it.
   1579 	* doc/bison.texinfo (Require Decl): New.
   1580 	(Calc++ Parser): Use %require.
   1581 
   1582 2005-10-02  Akim Demaille  <akim (a] epita.fr>
   1583 
   1584 	* data/location.cc: New.
   1585 
   1586 2005-10-02  Paul Eggert  <eggert (a] cs.ucla.edu>,
   1587 	    Akim Demaille  <akim (a] epita.fr>
   1588 
   1589 	Make sure -odir/foo.cc creates dir/location.hh etc.
   1590 	* src/files.h (spec_outfile, parser_file_name, spec_name_prefix)
   1591 	(spec_file_prefix, spec_verbose_file, spec_graph_file)
   1592 	(spec_defines_file): Now const.
   1593 	(dir_prefix): New.
   1594 	(short_base_name): Remove.
   1595 	* src/files.c: Adjust.
   1596 	(dirname.h): Include.
   1597 	(base_name): Don't prototype it.
   1598 	(finput): Remove, duplicates gram_in.
   1599 	(full_base_name, short_base_name): Replace by...
   1600 	(all_but_ext, all_but_tab_ext): these.
   1601 	(compute_base_names): Rename as...
   1602 	(compute_file_name_parts): this.
   1603 	Update to compute the new variables, including dir_prefix.
   1604 	Adjust dependencies.
   1605 	* src/output.c (prepare): Output them.
   1606 	* src/reader.c: Adjust to use gram_in, not finput.
   1607 	* src/scan-skel.l (@dir_prefix@): New.
   1608 
   1609 2005-10-02  Juan Manuel Guerrero  <juan.guerrero (a] gmx.de>
   1610 
   1611 	* lib/subpipe.c: New function end_of_output_subpipe() added
   1612 	to allow support for non-posix systems. This is a no-op function
   1613 	for posix systems.
   1614 
   1615 	* lib/subpipe.h: New function end_of_output_subpipe() added
   1616 	to allow support for non-posix systems. This is a no-op function
   1617 	for posix systems.
   1618 
   1619 	* src/output.c (output_skeleton): Use end_of_output_subpipe() to
   1620 	handle the lack of pipe/fork functionality on non-posix systems.
   1621 
   1622 	* djgpp/Makefile.maint: DJGPP specific file.
   1623 
   1624 	* djgpp/README.in: DJGPP specific file.
   1625 
   1626 	* djgpp/config.bat: DJGPP specific configuration file.
   1627 
   1628 	* djgpp/config.sed: DJGPP specific configuration file.
   1629 
   1630 	* djgpp/config.site: DJGPP specific configuration file.
   1631 
   1632 	* djgpp/config_h.sed: DJGPP specific configuration file.
   1633 
   1634 	* djgpp/subpipe.c: DJGPP specific replacement file for lib/subpipe.c.
   1635 
   1636 	* djgpp/subpipe.h: DJGPP specific replacement file for lib/subpipe.h.
   1637 
   1638 2005-10-02  Akim Demaille  <akim (a] epita.fr>
   1639 
   1640 	* data/location.cc: New, extract from...
   1641 	* data/lalr1.cc: here.
   1642 	(location.hh): Include it after the user prologue, in case the
   1643 	filename type is defined by the user.
   1644 	Forward declation location and position before the pre-prologue.
   1645 	(yyresult_): Rename as...
   1646 	(yyresult): this, it's a local variable, not an attribute.
   1647 	* data/Makefile.am (dist_pkgdata_DATA): Adjust.
   1648 
   1649 2005-10-01  Akim Demaille  <akim (a] epita.fr>
   1650 
   1651 	* examples/extexi: Restore the #line generation.
   1652 
   1653 2005-09-30  Akim Demaille  <akim (a] epita.fr>,
   1654 	    Alexandre Duret-Lutz <adl (a] gnu.org>
   1655 
   1656 	Move the token type and YYSTYPE in the parser class.
   1657 	* data/lalr1.cc (stack.hh, location.hh): Include earlier.
   1658 	(parser::token): New, from the moved free definition of tokens.
   1659 	(parser::semantic_value): Now a full definition instead of an
   1660 	indirection to YYSTYPE.
   1661 	(b4_post_prologue): No longer included in the header file, but
   1662 	in the implementation file.
   1663 	* doc/bison.texi (C+ Language Interface): Update.
   1664 	* src/parse-gram.y: Support unary %define.
   1665 	* tests/actions.at: Define global_tokens_and_yystype for backward
   1666 	compatibility until we update the tests.
   1667 	* tests/calc.at: Idem.
   1668 	(first_line, first_column, last_line, last_column): Define for lalr1.cc
   1669 	to simplify the code.
   1670 
   1671 2005-09-29  Paul Eggert  <eggert (a] cs.ucla.edu>
   1672 
   1673 	Port to SunOS 4.1.4, which lacks strtoul and strerror.
   1674 	Ah, the good old days!  Problem reported by Peter Klein.
   1675 	* bootstrap (gnulib_modules): Add strerror, strtoul.
   1676 	* lib/.cvsignore: Add strerror.c, strtol.c, strtoul.c
   1677 	* m4/.cvsignore: Add strerror.m4, strtol.m4, strtoul.m4.
   1678 
   1679 2005-09-29  Akim Demaille  <akim (a] epita.fr>
   1680 
   1681 	* data/c.m4 (b4_error_verbose_if): New.
   1682 	* data/lalr1.cc: Use it.
   1683 	(YYERROR_VERBOSE_IF): Remove.
   1684 	(yyn_, yylen_, yystate_, yynerrs_, yyerrstatus_): Remove as
   1685 	parser members, replaced by...
   1686 	(yyn, yylen, yystate, yynerss, yyerrstatus): these parser::parse
   1687 	local variables.
   1688 	(yysyntax_error_): Takes the state number as argument.
   1689 	(yyreduce_print_): Use the argument yyrule, not the former
   1690 	attribute yyn_.
   1691 
   1692 2005-09-26  Paul Eggert  <eggert (a] cs.ucla.edu>
   1693 
   1694 	* bootstrap (gnulib_modules): Add verify.
   1695 	* lib/.cvsignore: Add verify.h.
   1696 	* src/getargs.c: Use ARGMATCH_VERIFY rather than verify.
   1697 	* src/system.h (verify): Remove.
   1698 	Include verify.h instead.
   1699 	* src/tables.c (tables_generate): Use new API for 'verify'.
   1700 
   1701 2005-09-21  Paul Eggert  <eggert (a] cs.ucla.edu>
   1702 
   1703 	* tests/local.at (_AT_BISON_OPTION_PUSHDEFS): Do not use
   1704 	local variables whose names begin with 'yy'.
   1705 	* tests/calc.at (_AT_DATA_CALC_Y): Likewise.
   1706 	Trivial changes from Joel E. Denny.
   1707 
   1708 	* bootstrap (gnulib_modules): Remove alloca.  Bison doesn't need
   1709 	it itself.
   1710 	* src/main.c (main) [C_ALLOCA]: Don't flush alloca'ed memory; we
   1711 	don't use alloca any more.
   1712 
   1713 	* data/yacc.c [YYSTACK_USE_ALLOCA && !defined __GNUC__ && ! defined
   1714 	__BUILTIN_VA_ARG_INCR && ! defined _AIX && ! defined _MSC_VER &&
   1715 	defined _ALLOCA_H]: Don't include <stdlib.h>; not needed in this case.
   1716 	* tests/torture.at (Exploding the Stack Size with Alloca): Adjust
   1717 	to match yacc.c, to test more hosts.
   1718 
   1719 2005-09-20  Paul Eggert  <eggert (a] cs.ucla.edu>
   1720 
   1721 	* data/yacc.c (YYSIZE_T): Reindent to make it clearer.  This
   1722 	doesn't affect behavior.
   1723 	(YYSTACK_ALLOC) [YYSTACK_USE_ALLOCA]: Improve support for
   1724 	Solaris, AIX, MSC.
   1725 	(_STDLIB_H): Renamed from YYINCLUDED_STDLIB_H.  All uses changed.
   1726 	This works a bit better with glibc, if user code has already included
   1727 	stdlib.h.
   1728 	* doc/bison.texinfo (Bison Parser): Document that users can't
   1729 	arbitrarily use malloc and free for other purposes.  Document
   1730 	that <alloca.h> and <malloc.h> might be included.
   1731 	(Table of Symbols): Under YYSTACK_USE_ALLOCA, Don't claim that the
   1732 	user must declare alloca.
   1733 
   1734 	* HACKING (release): Forwarn the Translation Project about
   1735 	stable releses.
   1736 
   1737 2005-09-20  Akim Demaille  <akim (a] epita.fr>
   1738 
   1739 	* data/glr.c: Use b4_token_enums, not b4_token_enums_defines.
   1740 
   1741 2005-09-19  Paul Eggert  <eggert (a] cs.ucla.edu>
   1742 
   1743 	* data/yacc.c (YYSIZE_MAXIMUM): New macro.
   1744 	(YYSTACK_ALLOC_MAXIMUM): Use it.
   1745 	(yysyntax_error): New function.
   1746 	(yyparse) [YYERROR_VERBOSE]: Don't leak memory indefinitely if
   1747 	multiple syntax errors are reported, and alloca is being used.
   1748 	Instead, reallocate buffers twice as big each time, so that
   1749 	we waste at most half the allocated memory.  Start with a small
   1750 	(128-byte) buffer that will suffice in most cases anyway.
   1751 	Use yysyntax_error to do most of the work.
   1752 
   1753 	* doc/bison.texinfo (Error Reporting, Table of Symbols):
   1754 	yynerrs is the number of errors reported, not the number of
   1755 	errors encountered.
   1756 
   1757 	* tests/glr-regression.at (Duplicated user destructor for lookahead):
   1758 	Mark it as expected to fail.
   1759 	Cast result of malloc; problem reported by twlevo (a] xs4all.nl.
   1760 	* tests/actions.at, tests/calc.at, tests/glr-regression.at:
   1761 	Don't start user-code symbols with "yy", to avoid name space problems.
   1762 
   1763 2005-09-19  Akim Demaille  <akim (a] epita.fr>
   1764 
   1765 	Remove the traits, failed experiment.
   1766 	It never proved useful, and anyway because of the current
   1767 	definition, it was not possible to have several specialization of
   1768 	this traits, making it useless.
   1769 	* data/lalr1.cc (yy:traits): Remove.
   1770 	Inline its definitions in the parser class.
   1771 
   1772 2005-09-19  Akim Demaille  <akim (a] epita.fr>
   1773 
   1774 	* tests/atlocal.in (LIBS): Pass INTLLIBS to address failures on at
   1775 	least Mac OSX with a /usr/local install of gettext.
   1776 
   1777 2005-09-19  Akim Demaille  <akim (a] epita.fr>
   1778 
   1779 	* data/lalr1.cc (yyparse): Rename yylooka and yyilooka as yychar
   1780 	and yytoken for similarity with the other skeletons.
   1781 
   1782 2005-09-19  Akim Demaille  <akim (a] epita.fr>
   1783 
   1784 	* NEWS, configure.ac: update version number to 2.1a.
   1785 
   1786 2005-09-16  Paul Eggert  <eggert (a] cs.ucla.edu>
   1787 
   1788 	* NEWS: Version 2.1.
   1789 
   1790 	* NEWS: Remove notice of yytname change, since it was never in an
   1791 	official release.
   1792 	* data/glr.c (yydestroyGLRState): Rename local var to avoid shadowing
   1793 	diagnostic.
   1794 	* src/output.c (prepare): Likewise.
   1795 	* data/lalr1.cc (YYERROR_VERBOSE_IF): New macro.
   1796 	(yysyntax_error_): Use it to avoid GCC warning when YYERROR_VERBOSE
   1797 	is not defined.  This is an awful hack, but it's enough for now.
   1798 	All callers changed.
   1799 	* tests/glr-regression-at (make_value): Args are const pointers now,
   1800 	to avoid GCC warning.
   1801 	(Duplicated user destructor for lookahead): New test.  Currently
   1802 	skipped.  It fails on my host but I'm not sure it'll always fail.
   1803 
   1804 2005-09-16  Akim Demaille  <akim (a] epita.fr>
   1805 
   1806 	* src/symtab.h (struct symbol): Declare the printer and destructor
   1807 	as const, to avoid accidental calls to free.
   1808 	(symbol_destructor_set, symbol_printer_set): Adjust.
   1809 	* src/symtab.c: Adjust.
   1810 
   1811 2005-09-16  Akim Demaille  <akim (a] epita.fr>
   1812 
   1813 	* data/c.m4 (b4_token_enums): New.
   1814 	(b4_token_defines): Rename as...
   1815 	(b4_token_enums_defines): this.
   1816 	(b4_token_defines): New, output only the #defines.
   1817 	* data/yacc.c, data/glr.c: Adjust.
   1818 	* data/lalr1.cc: Use b4_token_enums instead of b4_token_enums_defines.
   1819 	* data/c.m4 (b4_yydestruct_generate, b4_yysymprint_generate): Define
   1820 	as default values.
   1821 
   1822 2005-09-16  Akim Demaille  <akim (a] epita.fr>
   1823 
   1824 	* data/lalr1.cc (yylex_): Remove, inline its code.
   1825 	(yyreport_syntax_error_): Remove, replaced by...
   1826 	(yysyntax_error_): this which returns a string and leaves to the
   1827 	caller the call to the users' error function.
   1828 	(yylooka_, yyilooka_, yylval, yylloc, yyerror_range_, yyval, yyloc):
   1829 	Move from members of the parser object...
   1830 	(yylooka, yyilooka, yylval, yylloc, yyerror_range, yyval, yyloc):
   1831 	to local variables of the parse function.
   1832 
   1833 2005-09-16  Akim Demaille  <akim (a] epita.fr>
   1834 
   1835 	* doc/bison.texinfo (Calc++ Parser): Don't promote defining YYEOF
   1836 	since it's in Bison's name space.
   1837 
   1838 2005-09-15  Paul Eggert  <eggert (a] cs.ucla.edu>
   1839 
   1840 	* data/glr.c (yyresolveValue): Add default case to pacify
   1841 	gcc -Wswitch-default.  Problem reported by twlevo (a] xs4all.nl.
   1842 
   1843 	* NEWS: Document when yyparse started to return 2.
   1844 	* doc/bison.texinfo (Parser Function): Document when yyparse
   1845 	returns 2.
   1846 
   1847 	* data/lalr1.cc: Revert part of previous change, as it's incompatible.
   1848 	(b4_filename_type): Renamed back from b4_file_name_type.  All uses
   1849 	changed.
   1850 	(class position): file_name -> filename (reverting).  All uses changed.
   1851 
   1852 2005-09-14  Paul Eggert  <eggert (a] cs.ucla.edu>
   1853 
   1854 	* examples/calc++/Makefile.am ($(calc_sources_generated)): Don't
   1855 	do anything if $@ exists.  This reverts part of the 2005-07-07
   1856 	patch.
   1857 
   1858 2005-09-11  Paul Eggert  <eggert (a] cs.ucla.edu>
   1859 
   1860 	* Makefile.am (EXTRA_DIST): Do not distribute REFERENCES; it
   1861 	contains obsolete information and isn't worth distributing as a
   1862 	separate file anyway.
   1863 	* data/glr.c [defined YYSETJMP]: Don't include <setjmp.h>.
   1864 	(YYJMP_BUF, YYSETJMP, YYLONGJMP) [!defined YYSETJMP]: New macros.
   1865 	All uses of jmp_buf, setjmp, longjmp changed to use these instead.
   1866 	(yyparse): Abort if user code uses longjmp to throw an unexpected
   1867 	value.
   1868 
   1869 2005-09-09  Paul Eggert  <eggert (a] cs.ucla.edu>
   1870 
   1871 	* data/c.m4 (b4_identification): Define YYBISON_VERSION.
   1872 	Suggested by twlevo (a] xs4all.nl.
   1873 
   1874 	* data/glr.c (YYCHK1): Do not assume YYE is in range.
   1875 	This avoids a diagnostic from gcc -Wswitch-enum.
   1876 	Problem reported by twlevo (a] xs4all.nl.
   1877 
   1878 	* doc/bison.texinfo: Don't use "filename", as per GNU coding
   1879 	standards.  Use "file name" or "file" or "name", depending on
   1880 	the context.
   1881 	(Invocation): The output of "bison hack/foo.y" goes to foo.tab.c,
   1882 	not to hack/foo.tab.c.
   1883 	(Calc++ Top Level): 2nd arg of main is not const.
   1884 	* data/glr.c: b4_filename -> b4_file_name.
   1885 	* data/lalr1.cc: Likewise.  Also, b4_filename_type -> b4_file_name_type.
   1886 	All uses changed.
   1887 	(class position): filename -> file_name.  All uses changed.
   1888 	* data/yacc.c: b4_filename -> b4_file_name.
   1889 	* lib/bitset.h: filename -> file_name in local vars.
   1890 	* lib/bitset_stats.c: Likewise.
   1891 	* src/files.c: Likewise.
   1892 	* src/scan-skel.l ("@output ".*\n): Likewise.
   1893 	* src/files.c (file_name_split): Renamed from filename_split.
   1894 	* src/muscle_tab.c (muscle_init): Output b4_file_name, not b4_filename.
   1895 
   1896 2005-09-08  Paul Eggert  <eggert (a] cs.ucla.edu>
   1897 
   1898 	* lib/.cvsignore: Add pipe-safer.c, stdio--.h, unistd--.h,
   1899 	to accommodate latest gnulib.
   1900 
   1901 	* tests/glr-regression.at (Duplicate representation of merged trees):
   1902 	Add casts to pacify g++.  Problem reported by twlevo (a] xs4all.nl.
   1903 
   1904 	* bootstrap: Add comment as to why the AM_LANGINFO_CODESET hack is
   1905 	needed.
   1906 
   1907 2005-08-26  Paul Eggert  <eggert (a] cs.ucla.edu>
   1908 
   1909 	* data/glr.c (yydestroyGLRState): Renamed from yydestroyStackItem.
   1910 	All uses changed.  Invoke user destructor after an error during a
   1911 	split parse (trivial change from Joel E. Denny).
   1912 
   1913 	* tests/glr-regression.at
   1914 	(User destructor after an error during a split parse):  New test case.
   1915 	Problem reported by Joel E. Denny in:
   1916 	http://lists.gnu.org/archive/html/bison-patches/2005-08/msg00029.html
   1917 
   1918 2005-08-25  Paul Eggert  <eggert (a] cs.ucla.edu>
   1919 
   1920 	* README-cvs: Give URLs for recommended tools.
   1921 	Mention Gzip version problem, and bootstrapping issues.
   1922 	Remove troubleshooting section, as it's somewhat obsolete.
   1923 
   1924 	* bootstrap (no_cache): New var, to accommodate different wget
   1925 	variants.  Use it instead of '-C off'.  Problem reported by
   1926 	twlevo (a] xs4all.nl.
   1927 
   1928 	* data/glr.c (yydestroyStackItem): New function.
   1929 	(yyrecoverSyntaxError, yyreturn): Use it to improve quality of
   1930 	debugging information.  Problem reported by Joel E. Denny.
   1931 
   1932 2005-08-25  Akim Demaille  <akim (a] epita.fr>
   1933 
   1934 	* tests/local.at (AT_COMPILE_CXX): Pass $LINKS too.
   1935 
   1936 2005-08-24  Paul Eggert  <eggert (a] cs.ucla.edu>
   1937 
   1938 	* data/glr.c (yyrecoverSyntaxError, yyreturn):
   1939 	Don't invoke destructor on unresolved entries.
   1940 	* tests/glr-regression.at
   1941 	(User destructor for unresolved GLR semantic value): New test case.
   1942 	Problem reported by Joel E. Denny in:
   1943 	http://lists.gnu.org/archive/html/bison-patches/2005-08/msg00016.html
   1944 
   1945 2005-08-21  Paul Eggert  <eggert (a] cs.ucla.edu>
   1946 
   1947 	* lib/.cvsignore: Remove realloc.c, strncasecmp.c, xstrdup.c.
   1948 	Add strnlen.c.
   1949 	* m4/.cvsignore: Remove codeset.m4, gettext.m4, lib-ld.m4,
   1950 	lib-prefix.m4, po.m4.
   1951 
   1952 	* data/glr.c (yyreturn): Use "Cleanup:" rather than "Error:"
   1953 	in yydestruct diagnostic, since it might not be an error.
   1954 	Problem reported by Joel Denny near end of
   1955 	<http://lists.gnu.org/archive/html/help-bison/2005-07/msg00040.html>.
   1956 	* data/lalr1.cc (yyerturn): Likewise.
   1957 	* data/yacc.c (yyreturn): Likewise.
   1958 	* tests/calc.at (_AT_CHECK_CALC_ERROR): Adjust to the above change.
   1959 
   1960 	* src/files.c: Remove obsolete FIXME comment.
   1961 
   1962 	* data/glr.c (YY_SYMBOL_PRINT): Append a newline, for consistency
   1963 	with the other templates, and to fix bogus run-on messages such
   1964 	as the one reported at the end of
   1965 	<http://lists.gnu.org/archive/html/help-bison/2005-07/msg00040.html>.
   1966 	All callers changed to avoid the newline.
   1967 	(yyprocessOneStack): Output two lines rather than one, to accommodate
   1968 	the above change.  This changes the debug output format slightly.
   1969 
   1970 	* data/glr.c (yyresolveValue): Fix redundant parse tree problem
   1971 	reported by Joel E. Denny in
   1972 	<http://lists.gnu.org/archive/html/bison-patches/2005-08/msg00004.html>
   1973 	(trivial change).
   1974 	* tests/glr-regression.at (Duplicate representation of merged trees):
   1975 	New test, from Joel E. Denny in:
   1976 	<http://lists.gnu.org/archive/html/help-bison/2005-07/msg00013.html>.
   1977 	* THANKS: Add Joel E. Denny.
   1978 
   1979 	* configure.ac (AC_INIT): Bump to 2.0c.
   1980 
   1981 2005-07-24  Paul Eggert  <eggert (a] cs.ucla.edu>
   1982 
   1983 	* NEWS: Version 2.0b.
   1984 
   1985 	* Makefile.am (SUBDIRS): Put examples before tests, so that
   1986 	"make check" doesn't finish with "All 1 tests passed".
   1987 
   1988 	* tests/regression.at (Token definitions): Don't rely on
   1989 	AT_PARSER_CHECK for data that contains backslashes.  It currently
   1990 	uses 'echo', and 'echo' isn't portable if its argument contains
   1991 	backslashes.  Problem found on OpenBSD 3.4.  Also, do not assume
   1992 	that the byte '\0xff' is not printable in the C locale; it is,
   1993 	under OpenBSD 3.4 (!).  Luckily, '\0x80' through '\0x9e' are
   1994 	not printable, so use '\0x81' to test.
   1995 
   1996 	* data/glr.c (YYOPTIONAL_LOC): Define even if it's not a recent
   1997 	version of GCC, since the macro is used with non-GCC compilers.
   1998 
   1999 	Fix core dump reported by Pablo De Napoli in
   2000 	<http://lists.gnu.org/archive/html/bug-bison/2005-07/msg00053.html>.
   2001 	* tests/regression.at (Invalid inputs with {}): New test.
   2002 	* src/parse-gram.y (token_name): Translate type before using
   2003 	it as an index.
   2004 
   2005 	* data/glr.c (ATTRIBUTE_UNUSED): Remove, since it infringes on
   2006 	the user's name space.  All uses changed to __attribute__
   2007 	((__unused__)).
   2008 	(yyFail, yyMemoryExhausted, yyreportAmbiguity):
   2009 	Add __attribute__ ((__noreturn__)).
   2010 
   2011 	* etc/clcommit: Remove.  We weren't using it, and it failed
   2012 	"make maintainer-distcheck".
   2013 	* Makefile.maint: Merge from coreutils.
   2014 	(CVS_LIST, CVS_LIST_EXCEPT): New macros.
   2015 	(syntax-check-rules): Change list of rules as described below.
   2016 	(sc_cast_of_alloca_return_value, sc_dd_max_sym_length):
   2017 	(sc_file_system, sc_obsolete_symbols, sc_prohibit_atoi_atof):
   2018 	(sc_prohibit_jm_in_m4, sc_root_tests, sc_tight_scope):
   2019 	(sc_trailing_space): New rules.
   2020 	(sc_xalloc_h_in_src): Remove.
   2021 	(sc_cast_of_argument_to_free, sc_cast_of_x_alloc_return_value):
   2022 	(sc_space_tab, sc_error_exit_success, sc_changelog):
   2023 	(sc_system_h_headers, sc_sun_os_names, sc_unmarked_diagnostics):
   2024 	(makefile-check, po-check, author_mark_check):
   2025 	(makefile_path_separator_check, copyright-check):
   2026 	Use grep -n, to make it easier to find violations.
   2027 	Use CVS_LIST and CVS_LIST_EXCEPT.
   2028 	(header_regexp, h_re): Remove.
   2029 	(dd_c): New macro.
   2030 	(sc_dd_max_sym_length, .re-list, news-date-check): New rules.
   2031 	(my-distcheck): Use more-modern GCC flags.
   2032 	(signatures, %.asc): Remove.
   2033 	(rel-files, announcement): Remove signatures.
   2034 	Restore old updating code, even though we don't use it, so
   2035 	that we're the same as coreutils.
   2036 	(alpha, beta, major): Depend on news-date-check.
   2037 	Make the upload commands.
   2038 
   2039 	* data/c.m4, data/lalr1.cc, data/yacc.c: Normalize white space.
   2040 	* lib/abitset.h, lib/bbitset.h, lib/bitset.h: Likewise.
   2041 	* lib/bitset_stats.c, lib/ebitset.h, lib/lbitset.c: Likewise.
   2042 	* lib/libitset.h, lib/timevar.c, lib/vbitset.h: Likewise.
   2043 	* src/Makefile.am, src/gram.c, src/muscle_tab.h: Likewise.
   2044 	* src/parse-gram.y, src/system.h, src/tables.c, src/vcg.c: Likewise.
   2045 	* src/vcg_defaults.h, tests/cxx-type.at, tests/existing.at: Likewise.
   2046 	* tests/sets.at: Likewise.
   2047 
   2048 	* data/m4sugar/m4sugar.m4: Sync from Autoconf, except that
   2049 	we comment out the Autoconf version number.
   2050 	* doc/bison.texinfo (Calc++ Scanner): Don't use atoi, as
   2051 	it's error-prone and "make maintainer-distcheck" rejects it.
   2052 
   2053 	* lib/subpipe.c: Include <fcntl.h> without checking for HAVE_FCNTL_H.
   2054 	Indent calls to "error" to pacify "make maintainer-distcheck",
   2055 	when the calls are not intended to be translated.
   2056 	* m4/subpipe.m4 (BISON_PREREQ_SUBPIPE): Don't check for fcntl.h.
   2057 
   2058 	* src/Makefile.am (DEFS): Use +=, to pacify
   2059 	"make maintainer-distcheck".
   2060 	(bison_SOURCES): Add scan-skel.h.
   2061 	(sc_tight_scope): New rule, from coreutils.
   2062 
   2063 	* src/files.c (src_extension, header_extension):
   2064 	Now static, not extern.
   2065 	* src/getargs.c (short_options): Likewise.
   2066 	* src/muscle_tab.c (muscle_table): Likewise.
   2067 	* src/parse-gram.y (current_class, current_type, current_prec):
   2068 	Likewise.
   2069 	* src/reader.c (grammar_end, previous_rule_end): Likewise.
   2070 	* src/getargs.h: Redo comments to pacify "make maintainer-distcheck".
   2071 	* src/main.c (main): Cast bindtextdomain and textdomain calls to
   2072 	void, to avoid warning when NLS is disabled.
   2073 	* src/output.c: Include scan-skel.h.
   2074 	(scan_skel): Remove decl, since scan-skel.h does this.
   2075 	(output_skeleton):
   2076 	Indent calls to "error" to pacify "make maintainer-distcheck".
   2077 	* src/print_graph.c: Don't include <obstack.h>, as system.h does this.
   2078 	* src/reader.h (gram_end, gram_lineno): New decls to pacify
   2079 	"make maintainer-distcheck".
   2080 	* src/scan-skel.l (skel_lex, skel_get_lineno, skel_get_in):
   2081 	(skel_get_out, skel_get_leng, skel_get_text, skel_set_lineno):
   2082 	(skel_set_in, skel_set_out, skel_get_debug, skel_set_debug):
   2083 	(skel_lex_destroy, scan_skel): Move these decls to...
   2084 	* src/scan-skel.h: New file.
   2085 	* src/uniqstr.c (uniqstr_assert):
   2086 	Indent calls to "error" to pacify "make maintainer-distcheck".
   2087 
   2088 	* tests/Makefile.am ($(srcdir)/package.m4): Use $(VAR),
   2089 	not @VAR@.
   2090 
   2091 	* tests/torture.at: Revamp to avoid misuse of atoi that
   2092 	"make maintainer-distcheck" complained about.
   2093 
   2094 	* examples/extexi (message): Don't print a message more than once,
   2095 	and omit line-number decoration that makes Emacs compile think
   2096 	that informative messages are worth worrying about.
   2097 
   2098 2005-07-22  Paul Eggert  <eggert (a] cs.ucla.edu>
   2099 
   2100 	* configure.ac: Update version number.
   2101 
   2102 	* Makefile.am (SUBDIRS): Add examples; somehow this got removed
   2103 	accidentally.
   2104 	* examples/calc++/calc++-parser.yy: Remove from CVS, as it's
   2105 	autogenerated by the maintainer.
   2106 	* examples/calc++/.cvsignore: Add *.yy.
   2107 
   2108 	* lib/bitset.c (bitset_alloc): Don't cast xcalloc result.
   2109 	* lib/bitset_stats.c (bitset_stats_init): Likewise.
   2110 	* lib/bitsetv.c (bitsetv_alloc): Likewise.
   2111 
   2112 	* po/POTFILES.in: Add lib/xalloc-die.c; remove lib/xmalloc.c.
   2113 
   2114 	* src/relation.c (relation_transpose): Rewrite to avoid bogus complaint
   2115 	from maintainer-distcheck about casting the argument of 'free'.
   2116 
   2117 	* NEWS: Mention recent yytname changes.
   2118 	* THANKS: Add Anthony Heading, twlevo (a] xs4all.nl.
   2119 
   2120 	* bootstrap: For translations that have not yet been upgraded to
   2121 	the new runtime-po domain, prime the pump by extracting the
   2122 	relevant strings from the obsolete translations.  This code can be
   2123 	removed once the bison-runtime domain has been translated by each
   2124 	team.
   2125 
   2126 	* src/scan-gram.l (<SC_PRE_CODE>.): Don't double-quote token names,
   2127 	now that token names are already quoted.
   2128 
   2129 	Fix problem reported by Anthony Heading.
   2130 	* data/glr.c (YYTOKEN_TABLE): New macro.
   2131 	(yytname): Define if YYTOKEN_TABLE.
   2132 	* data/yacc.c (YYTOKEN_TABLE, yytname): Likewise.
   2133 	* data/lalr1.cc (YYTOKEN_TABLE, yytname_): Likewise.
   2134 	(YYERROR_VERBOSE): Define the same way the other skeletons do.
   2135 	* src/output.c (prepare_symbols): Output token_table_flag.
   2136 
   2137 2005-07-21  Paul Eggert  <eggert (a] cs.ucla.edu>
   2138 
   2139 	* data/glr.c (yyinitGLRStack, yyreturn): Don't call malloc
   2140 	again if the first call fails.
   2141 
   2142 	* data/glr.c (yytnamerr): New function.
   2143 	(yyreportSyntaxError): Use it to dequote most string literals.
   2144 	* data/lalr1.c (yytname_): Renamed from yyname_, for compatibility
   2145 	with other skeletons.  All uses changed.
   2146 	(yytnameerr_): New function.
   2147 	(yyreport_syntax_error): Use it to dequote most string literals.
   2148 	* data/yacc.c (yytnamerr): New function.
   2149 	(yyerrlab): Use it to decode most string literals.
   2150 	* doc/bison.texinfo (Decl Summary, Calling Convention):
   2151 	Clarify quoting convention of yytname.
   2152 	* src/output.c (prepare_symbols): Quote all names.  This undoes
   2153 	the 2005-04-17 change, which is now accomplished (mostly) via
   2154 	changes in the parsers as described above.
   2155 	* tests/regression.at (Token definitions, Web2c Actions):
   2156 	Undo most 2005-04-17 change here, too.
   2157 
   2158 2005-07-20  Paul Eggert  <eggert (a] cs.ucla.edu>
   2159 
   2160 	Fix more problems reported by twlevo (a] xs4all.nl.
   2161 	* tests/cxx-type.at: Don't pipe output of ./types through sed to
   2162 	remove trailing spaces.  This loses the exit status of ./types,
   2163 	and isn't needed since ./types shouldn't be emitting trailing
   2164 	spaces.
   2165 	* data/glr.c (yyreturn): Don't pop stack if yyinitStateSet failed,
   2166 	as the stack isn't valid in that case.
   2167 
   2168 	* src/scan-gram.l (gram_get_lineno, gram_get_in, gram_get_out):
   2169 	(gram_get_leng, gram_get_text, gram_set_lineno, gram_set_in):
   2170 	(gram_set_out, gram_get_debug, gram_set_debug, gram_lex_destroy):
   2171 	Add declarations to pacify "gcc -Wmissing-prototypes" when flex 2.5.31
   2172 	is used.
   2173 	* src/scan-skel.l (skel_get_lineno, skel_get_in, skel_get_out):
   2174 	(skel_get_leng, skel_get_text, skel_set_lineno, skel_set_in):
   2175 	(skel_set_out, skel_get_debug, skel_set_debug, skel_lex_destroy):
   2176 	Likewise.
   2177 
   2178 	* tests/cxx-type.at (_AT_TEST_GLR_CXXTYPES): Work even with
   2179 	overly-picky compilers that reject 'char *foo = "bar";'.
   2180 
   2181 	* src/symtab.c (SYMBOL_ATTR_PRINT, symbol_print): Direct output
   2182 	to FILE * parameter, not to stderr.  This fixes a typo introduced
   2183 	in the 2005-07-12 change.
   2184 
   2185 	* lib/subpipe.c (create_subpipe): Rewrite slightly to avoid
   2186 	warnings from GCC 4.
   2187 
   2188 	* data/glr.c (yyexpandGLRStack, yyaddDeferredAction, yyexpandGLRStack):
   2189 	(yyglrShiftDefer, yysplitStack):
   2190 	Remove unused parameters b4_pure_formals.  All uses changed.
   2191 	(yyglrShift): Remove unused parameters b4_user_formals.
   2192 	All uses changed.
   2193 	(yyglrReduce): Removed unused parameter yylocp.  All uses changed.
   2194 
   2195 2005-07-18  Paul Eggert  <eggert (a] cs.ucla.edu>
   2196 
   2197 	Destructor cleanups and regularization among the three skeletons.
   2198 	* NEWS: Document the behavior changes.
   2199 	* data/glr.c (yyrecoverSyntaxError): Don't bother to pop the
   2200 	stack before failing, as the cleanup code will do it for us now.
   2201 	* data/lalr1.cc (yyerrlab): Likewise.
   2202 	* data/glr.c (yyparse): Pop everything off the stack before
   2203 	freeing it, so that destructors get called properly.
   2204 	* data/lalr1.cc (yyreturn): Likewise.
   2205 	* data/yacc.c (yyreturn): Pop and destroy the start symbol, too.
   2206 	This is more consistent.
   2207 	* doc/bison.texinfo (Destructor Decl): Mention more reasons
   2208 	why destructors might be called.  1.875 -> 2.1.
   2209 	(Destructor Decl, Decl Summary, Table of Symbols):
   2210 	Some English-language cleanups for %destructor.
   2211 	* tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR):
   2212 	Add output line for destructor of start symbol.
   2213 	* tests/calc.at (AT_CHECK_CALC): Add one to line counts,
   2214 	because of that same extra output line.
   2215 
   2216 	* NEWS: Document minor wording changes in diagnostics of
   2217 	Bison-generated parsers.
   2218 	* data/glr.c (yyMemoryExhausted): Renamed from yyStackOverflow.
   2219 	Remove unused formals.  All uses changed.
   2220 	(yyreportAmbiguity): "ambiguity detected" -> "syntax is ambiguous".
   2221 	(yyparse): Rename yyoverflowlab to yyexhaustedlab.
   2222 	* data/yacc.c (yyparse): "parser stack overflow" -> "memory exhausted".
   2223 	Rename yyoverflowab to yyexhaustedlab.
   2224 	When memory exhaustion occurs during syntax-error reporting,
   2225 	report it separately rather than in a single diagnostic; this
   2226 	eases translation.
   2227 	* doc/bison.texinfo (Memory Management): Renamed from Stack Overflow.
   2228 	(Memory Exhausted): Renamed from Parser Stack Overflow.
   2229 	Revamp wording slightly to prefer "memory exhaustion".
   2230 	* tests/actions.at: "parser stack overflow" -> "memory exhausted".
   2231 
   2232 	* data/c.m4 (b4_yysymprint_generate): Use YYFPRINTF, not fprintf.
   2233 
   2234 	Add i18n support to the GLR skeleton.  Partially fix the C++
   2235 	skeleton; a C++ expert needs to finish this.  Remove debugging
   2236 	msgids; there's little point to having them translated, since they
   2237 	can be understood only by someone who can read the
   2238 	(English-language) source code.
   2239 
   2240 	Generate runtime-po/bison-runtime.pot automatically, so that we
   2241 	don't have to worry about garbage getting in that file.  We'll
   2242 	make sure after the next official release that old msgids don't
   2243 	get lost.  See
   2244 	<http://lists.gnu.org/archive/html/bison-patches/2005-07/msg00119.html>.
   2245 
   2246 	* runtime-po/Makefile.in.in, runtime-po/bison-runtime.pot: Remove.
   2247 	Now auto-generated.
   2248 	* PACKAGING: Don't claim that Gawk, GCC, Perl use this method yet.
   2249 	Fix typos in explanations of the runtime file.
   2250 	* bootstrap: Change gettext keyword from YYI18N to YY_.
   2251 	Use standard Makefile.in.in in runtime-po, since we'll arrange
   2252 	for backward-compatible bison-runtime.po files in a different way.
   2253 	* data/glr.c (YY_): New macro, from yacc.c.
   2254 	(yyuserAction, yyreportAmbiguity, yyreportSyntaxError, yyparse):
   2255 	Translate messages intended for users.
   2256 	(yyreportSyntaxError): Change "virtual memory" to "memory" to match
   2257 	the wording in the other skeletons.  We don't know that the memory
   2258 	is virtual.
   2259 	* data/lalr1.cc (YY_): Renamed from _.  All uses changed.
   2260 	Use same method that yacc.c uses.
   2261 	Don't translate debugging messages.
   2262 	(yy::yyreport_syntax_error): Put in a FIXME for the i18n stuff;
   2263 	it doesn't work (yet), and requires C++ expertise to fix.
   2264 	* data/yacc.c (YY_): Renamed from YY18N.  All uses changed.
   2265 	Move defn to a more logical place, to be consistent with other
   2266 	skeletons.
   2267 	Don't translate debugging messages.
   2268 	Don't assume line numbers fit in unsigned int; use unsigned long fmts.
   2269 	* doc/bison.texinfo: Mention <libintl.h>.  Change glibc cross reference
   2270 	to gettext cross reference.  Add indexing terms.  Mention YYENABLE_NLS.
   2271 	* runtime-po/POTFILES.in: Add data/glr.c, data/lalr1.cc.
   2272 
   2273 	Fix yyerror / yylex test glitches noted by twlevo (a] xs4all.nl.
   2274 	* tests/cxx-type.at (_AT_TEST_GLR_CXXTYPES): Have yyerror return
   2275 	void, not int.
   2276 	* tests/glr-regression.at (Badly Collapsed GLR States):
   2277 	Likewise.
   2278 	(Improper handling of embedded actions and dollar(-N) in GLR parsers):
   2279 	yylex should return 0 at EOF rather than aborting.
   2280 
   2281 	Improve tests for stack overflow in GLR parser.
   2282 	Problem reported by twlevo (a] xs4all.nl.
   2283 	* data/glr.c (struct yyGLRStack): Remove yyerrflag member.
   2284 	All uses removed.
   2285 	(yyStackOverflow): Just longjmp, but with value 2 so that caller
   2286 	can handle the problem.
   2287 	(YYCHK1): Use goto (a la yacc.c) rather than setting a flag.
   2288 	(yyparse): New local variable yyresult to record the result.
   2289 	Use result of setjmp to set it, rather than storing itinto
   2290 	struct.
   2291 	(yyDone): Remove label.
   2292 	(yyacceptlab, yyabortlab, yyoverflowlab, yyreturn): New labels,
   2293 	to mimic yacc.c.  Do not discard lookahead if it's EOF (possible
   2294 	if YYABORT is used).
   2295 	* tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): Exit with
   2296 	yyparse status; put status > 1 into diagnostic.
   2297 	Check that status==2 works.
   2298 	* tests/calc.at, tests/cxx-type.at, tests/glr-regression.at:
   2299 	Use exit status 3 for failure to open (which shouldn't happen).
   2300 
   2301 2005-07-17  Paul Eggert  <eggert (a] cs.ucla.edu>
   2302 
   2303 	* tests/conflicts.at (%nonassoc and eof):  Don't exit with status
   2304 	1 on syntax error; just let yyparse do its thing.
   2305 	* tests/glr-regression.at (Badly Collapsed GLR States): Likewise.
   2306 	* tests/torture.at (AT_DATA_STACK_TORTURE): Likewise.
   2307 	(Exploding the Stack Size with Alloca):
   2308 	(Exploding the Stack Size with Malloc):
   2309 	Expect exit status 2, not 1, since the parser is supposed to blow
   2310 	its stack.  Problem reported by twlevo (a] xs4all.nl.
   2311 
   2312 	* data/glr.c (yyparse): Don't assume that the initial calls
   2313 	to YYMALLOC succeed; in that case, yyparse incorrectly returned 0.
   2314 	Print a stack-overflow message and fail instead.
   2315 	Initialize the line-number information before creating the stack,
   2316 	so that the stack-overflow message can report line zero safely.
   2317 
   2318 2005-07-14  Paul Eggert  <eggert (a] cs.ucla.edu>
   2319 
   2320 	Fix problems reported by twlevo (a] xs4all.nl.
   2321 	* data/glr.c (YYSTACKEXPANDABLE): Don't define if already defined.
   2322 	(yyuserMerge): Provide a default case if b4_mergers is empty.
   2323 	* tests/cxx-type.at (_AT_TEST_GLR_CXXTYPES): Define YYSTACKEXPANDABLE.
   2324 	* tests/glr-regression.at
   2325 	(Improper handling of embedded actions and dollar(-N) in GLR parsers):
   2326 	Add casts to pacify C++ compilers.
   2327 	* tests/glr-regression.at (Improper merging of GLR delayed action
   2328 	sets): Declare yylex before using it.
   2329 	* tests/Makefile.am (maintainer-check-g++): Fix a stray
   2330 	$(GXX) that escaped the renaming of GXX to CXX.  Remove bogus
   2331 	test for valgrind; valgrind is independent of g++.
   2332 	(maintainer-check-posix): Add _POSIX2_VERSION=200112, to check
   2333 	for compatibility with POSIX 1003.1-2001 (if running coreutils).
   2334 	* tests/cxx-type.at (_AT_TEST_GLR_CXXTYPES): Port to stricter C++.
   2335 	Use a destructor, so that we can expand the stack.  Change
   2336 	YYSTYPE to char * so that we can free it.  Cast result of malloc.
   2337 
   2338 2005-07-13  Paul Hilfinger  <hilfingr (a] CS.Berkeley.EDU>
   2339 
   2340 	* data/glr.c (yyuserAction): Fix uninitialized variable that caused
   2341 	a valgrind failure.  Problem reported by twlevo (a] xs4all.nl.
   2342 
   2343 2005-07-13  Paul Eggert  <eggert (a] cs.ucla.edu>
   2344 
   2345 	* PACKAGING: New file, suggested by Bruno Haible and taken from
   2346 	similar wording in gettext's PACKAGING file.
   2347 	* NEWS: Mention PACKAGING.
   2348 	* Makefile.am (EXTRA_DIST): Add PACKAGING.
   2349 
   2350 2005-07-12  Paul Eggert  <eggert (a] cs.ucla.edu>
   2351 
   2352 	* NEWS: Document recent i18n improvements.
   2353 	* bootstrap: Get runtime translations into runtime-po.
   2354 	Create runtime-po files automatically, if possible.
   2355 	* configure.ac: Invoke BISON_I18N, so that we eat our own dog food.
   2356 	* data/yacc.c: Rewrite inclusion of <libintl.h> so that ENABLE_NLS
   2357 	does not infringe on the user's name space.
   2358 	(YYENABLE_NLS): Renamed from ENABLE_BISON_NLS.
   2359 	* doc/bison.texinfo (Internationalization): Revamp the English
   2360 	and Texinfo syntax a bit, to try to make it clearer.
   2361 	(Bison Options, Option Cross Key): Mention --print-localedir.
   2362 	* m4/bison-i18n.m4 (BISON_I18N): Rename ENABLE_BISON_NLS to
   2363 	YYENABLE_NLS.  Quote a bit more.
   2364 	* runtime-po/.cvsignore: New file.
   2365 	* runtime-po/Makefile.in.in (mostlyclean): Remove *.old.pot.
   2366 	* runtime-po/Rules-quot: Remove; now created by bootstrap.
   2367 	* runtime-po/quot.sed: Likewise.
   2368 	* runtime-po/boldquot.sed: Likewise.
   2369 	* runtime-po/en@quot.header: Likewise.
   2370 	* runtime-po/en@boldquot.header: Likewise.
   2371 	* runtime-po/insert-header.sin: Likewise.
   2372 	* runtime-po/remove-potcdate.sin: Likewise.
   2373 	* runtime-po/Makevars: Likewise.
   2374 	* runtime-po/LINGUAS: Likewise.
   2375 	* runtime-po/de.po: Likewise; we will rely on the translation project
   2376 	to maintain this, so "bootstrap" should get it.
   2377 	* src/getarg.c (PRINT_LOCALEDIR_OPTION): Let the C compiler determine
   2378 	its value.
   2379 	* src/main.c (main): Bind the bison-runtime domain, too.
   2380 
   2381 2005-07-12  Bruno Haible  <bruno (a] clisp.org>
   2382 
   2383 	* data/yacc.c: Include <libintl.h> when NLS is enabled.
   2384 	(YYI18N): Renamed from _. Use dgettext when NLS is enabled.
   2385 	* po/POTFILES.in: Remove autogenerated file src/parse-gram.c.
   2386 	* runtime-po: New directory.
   2387 	* runtime-po/Makefile.in.in: New file, copied from po/, with modified
   2388 	$(DOMAIN).pot-update rule, so that old messages are never dropped.
   2389 	* runtime-po/Rules-quot: New file, copied from po/.
   2390 	* runtime-po/quot.sed: Likewise.
   2391 	* runtime-po/boldquot.sed: Likewise.
   2392 	* runtime-po/en@quot.header: Likewise.
   2393 	* runtime-po/en@boldquot.header: Likewise.
   2394 	* runtime-po/insert-header.sin: Likewise.
   2395 	* runtime-po/remove-potcdate.sin: Likewise.
   2396 	* runtime-po/Makevars: New file.
   2397 	* runtime-po/POTFILES.in: New file.
   2398 	* runtime-po/LINGUAS: New file.
   2399 	* runtime-po/bison-runtime.pot: New file.
   2400 	* runtime-po/de.po: New file.
   2401 	* m4/bison.m4: New file.
   2402 	* Makefile.am (SUBDIRS): Add runtime-po.
   2403 	(aclocaldir, aclocal_DATA): New variables.
   2404 	* configure.ac: Add AC_CONFIG_FILES of runtime-po/Makefile.in.
   2405 	Define aclocaldir.
   2406 	* src/getargs.c (usage): Document --print-localedir option.
   2407 	(PRINT_LOCALEDIR_OPTION): New enum item.
   2408 	(long_options): Add --print-localedir option.
   2409 	(getargs): Handle --print-localedir option.
   2410 	* doc/bison.texinfo (Bison Parser): Remove paragraph about _().
   2411 	(Internationalization): New section.
   2412 
   2413 2005-07-12  Akim Demaille  <akim (a] epita.fr>
   2414 
   2415 	* src/symtab.h, src/symtab.c (symbol_print): Swap the arguments,
   2416 	for consistency with the rest of the code.
   2417 	* src/symlist.h, src/symlist.c (symbol_list_print): Ditto.
   2418 	Add separators.
   2419 
   2420 2005-07-12  Akim Demaille  <akim (a] epita.fr>
   2421 
   2422 	* src/parse-gram.y: Use %printer instead of YYPRINT.
   2423 
   2424 2005-07-12  Akim Demaille  <akim (a] epita.fr>
   2425 
   2426 	* src/symtab.h, src/symtab.c (symbol_print): New.
   2427 	* src/symlist.h, src/symlist.c (symbol_list_print): New.
   2428 	* src/symlist.c (symbol_list_n_type_name_get): Report the culprit.
   2429 
   2430 2005-07-12  Akim Demaille  <akim (a] epita.fr>
   2431 
   2432 	* data/glr.c (b4_syncline): Fix (swap) the definitions of
   2433 	b4_at_dollar and b4_dollar_dollar.
   2434 
   2435 2005-07-11  Paul Eggert  <eggert (a] cs.ucla.edu>
   2436 
   2437 	* doc/bison.texinfo (Mystery Conflicts): Add reference to DeRemer
   2438 	and Pennello's paper.
   2439 
   2440 2005-07-09  Paul Eggert  <eggert (a] cs.ucla.edu>
   2441 
   2442 	* data/yacc.c (yyparse): Undo previous patch.  Instead,
   2443 	set yylsp[0] and yyvsp[0] only if the initial action
   2444 	sets yylloc and yylval, respectively.
   2445 
   2446 	* data/yacc.c (yyparse): In the initial action, set
   2447 	yylsp[0] and yyvsp[0] rather than yylloc and yylval.
   2448 	This avoids the use of undefined variables if the initial
   2449 	action does not set yylloc and/or yylval.
   2450 
   2451 2005-07-07  Paul Eggert  <eggert (a] cs.ucla.edu>
   2452 
   2453 	* examples/calc++/calc++-driver.cc, examples/calc++/calc++-driver.hh:
   2454 	* examples/calc++/calc++-scanner.ll, examples/calc++/calc++.cc:
   2455 	Remove from CVS.  These files are automatically generated.
   2456 	* examples/extexi: Clarify that this file is now part of Bison,
   2457 	not GNU M4, and that it works with any POSIX-compatible Awk.
   2458 	* examples/calc++/Makefile.am (run_extexi): Remove; not used.
   2459 	($(calc_extracted)): Renamed from $(calc_sources_extracted),
   2460 	so that we also get calc++-parser.yy.  Geneate it.
   2461 	Use $(AWK), not gawk, since any conforming Awk will do.
   2462 	Put comment before action, since older 'make' can't handle comment
   2463 	in action.
   2464 	$(BUILT_SOURCES): List all built sources, not just some of them.
   2465 	$(MAINTAINERCLEANFILES): Remove *.stamp, and all built sources.
   2466 	$($(srcdir)/calc++-parser.stamp): Work even if POSIXLY_CORRECT.
   2467 	$($(calc_sources_generated)): Remove unnecessary test for existence
   2468 	of target.  (This had a shell syntax error anyway; a stray "x".)
   2469 	(calc_extracted): List $(srcdir)/calc++-parser.yy, not
   2470 	calc++-parser.yy.
   2471 	* examples/.cvsignore, examples/calc++/.cvsignore: New files.
   2472 
   2473 	* bootstrap (gnulib_modules): Add gettext, now that it's no longer
   2474 	implied by the other modules.
   2475 
   2476 2005-07-06  Akim Demaille  <akim (a] epita.fr>
   2477 
   2478 	Bind examples/calc++ to the package.
   2479 	* examples/calc++/Makefile: Remove, replaced by...
   2480 	* examples/calc++/Makefile.am: ... this new file.
   2481 	* examples/calc++/test: Remove input.
   2482 	* examples/calc++/compile: Remove.
   2483 	* examples/Makefile.am: New.
   2484 	* configure.ac, Makefile.am: Adjust.
   2485 	* doc/Makefile.am (clean-local): New, for more recent texi2dvis.
   2486 
   2487 2005-07-05  Paul Eggert  <eggert (a] cs.ucla.edu>
   2488 
   2489 	* data/glr.c (yyFail): Drastically simplify; since the format argument
   2490 	never had any % directives, we can simply pass it to yyerror.
   2491 	(yyparse): Use "t a; a=b;" rather than "t a = b;" when a will
   2492 	be modified later, as that is the usual style in glr.c.
   2493 	Problems reported by Paul Hilfinger.
   2494 
   2495 	Rewrite GLR parser to catch more buffer overrun, storage exhaustion,
   2496 	and size overflow errors.
   2497 	* data/glr.c: Include <stdio.h> etc. after user prolog, not before,
   2498 	in case the user prolog sets feature-test macros like _GNU_SOURCE.
   2499 	(YYSIZEMAX): New macro.
   2500 	(yystpcpy): New function, taken from yacc.c.
   2501 	(struct yyGLRStack.yyspaceLeft): Now size_t, not int.
   2502 	(yyinitGLRStack, yyfreeGLRstack): Remove unnecessary forward decls,
   2503 	so that we don't have to maintain their signatures.
   2504 	(yyFail): Check for buffer overflow, by using vsnprintf rather
   2505 	than vsprintf.  Allocate a bigger buffer if possible.
   2506 	Report an error if buffer allocation fails.
   2507 	(yyStackOverflow): New function.
   2508 	(yyinitStateSet, yyinitGLRStack): Return a boolean indicating whether
   2509 	the initialization was successful.  It might fail if storage was
   2510 	exhausted.
   2511 	(yyexpandGLRStack): Add more checks for storage allocation failure.
   2512 	Use yyStackOverflow to report failures.
   2513 	(yymarkStackDeleted, yyglrShift, yyglrShiftDefer, yydoAction):
   2514 	(yysplitStack, yyprocessOneStack, yyparse, yypstack):
   2515 	Don't assume stack number fits in int.
   2516 	(yysplitStack): Check for storage allocation failure.
   2517 	(yysplitStack, yyprocessOneStack): Add pure_formals, so that we
   2518 	can print diagnostics on storage allocation failure.  All callers
   2519 	changed.
   2520 	(yyresolveValue): Use yybool for boolean.
   2521 	(yyreportSyntaxError): Check for size-calculation overflow.
   2522 	This code is taken from yacc.c.
   2523 	(yyparse): Check for storage allocation errors when allocating
   2524 	the initial stack.
   2525 
   2526 2005-07-05  Akim Demaille  <akim (a] epita.fr>
   2527 
   2528 	Extract calc++ from the documentation.
   2529 	* doc/bison.texinfo (Calc++): Add the extraction marks.
   2530 	* examples/extexi: New, from the aborted GNU Programming 2E.
   2531 	Separate the different paragraph of a file with empty lines.
   2532 	* examples/Makefile: Use it to extract the whole calc++ example.
   2533 
   2534 2005-06-24  Akim Demaille  <akim (a] epita.fr>
   2535 
   2536 	* doc/bison.texinfo (C++ Parser Interface): Use defcv to define
   2537 	class typedefs.
   2538 
   2539 2005-06-22  Akim Demaille  <akim (a] epita.fr>
   2540 
   2541 	* doc/bison.texinfo (C++ Language Interface): First stab.
   2542 	(C++ Parsers): Remove.
   2543 
   2544 2005-06-22  Akim Demaille  <akim (a] epita.fr>
   2545 
   2546 	* data/lalr1.cc (yylex_): Honor %lex-param.
   2547 
   2548 2005-06-22  Akim Demaille  <akim (a] epita.fr>
   2549 
   2550 	Start a set of simple examples.
   2551 	* examples/calc++/Makefile, examples/calc++/calc++-driver.cc,
   2552 	* examples/calc++/calc++-driver.hh,
   2553 	* examples/calc++/calc++-parser.yy,
   2554 	* examples/calc++/calc++-scanner.ll, examples/calc++/calc++.cc,
   2555 	* examples/calc++/compile, examples/calc++/test: New.
   2556 
   2557 2005-06-09  Paul Eggert  <eggert (a] cs.ucla.edu>
   2558 
   2559 	* data/yacc.c (malloc, free) [defined __cplusplus]: Wrap inside
   2560 	extern "C" {}.  This fixes a problem reported by Paul Hilfinger,
   2561 	which stems from the 2005-05-27 patch.
   2562 
   2563 2005-06-06  Paul Hilfinger  <hilfingr (a] tully.CS.Berkeley.EDU>
   2564 
   2565 	* data/glr.c: Modify treatment of unused parameters to permit use
   2566 	of g++ (which doesn't allow __attribute__ ((unused)) for parameters).
   2567 
   2568 2005-05-30  Paul Eggert  <eggert (a] cs.ucla.edu>
   2569 
   2570 	Fix infringement on user name space reported by Janos Zoltan Szabo.
   2571 	* data/yacc.c (yyparse): strlen -> yystrlen.
   2572 
   2573 2005-05-30  Akim Demaille  <akim (a] epita.fr>
   2574 
   2575 	* data/lalr1.cc (_): New.
   2576 	Translate the various messages.
   2577 
   2578 2005-05-27  Paul Eggert  <eggert (a] cs.ucla.edu>
   2579 
   2580 	Fix infringement on user name space reported by Bruno Haible.
   2581 	* data/yacc.c (YYSIZE_T): Define first, so that later decls can use it.
   2582 	Prefer GCC's __SIZE_TYPE__ if available, so that we don't infringe on
   2583 	the user's name space.
   2584 	(alloca): Include <stdlib.h> to get it, if it's not built in.
   2585 	(YYMALLOC, YYFREE): Define only if needed.
   2586 	(malloc, free): Declare, but only if needed, as this infringes on
   2587 	the user name space.
   2588 
   2589 2005-05-25  Paul Eggert  <eggert (a] cs.ucla.edu>
   2590 
   2591 	Fix BeOS, FreeBSD, MacOS porting problems reported by Bruno Haible.
   2592 	* lib/bitset.c (bitset_print): Don't assume size_t can be printed
   2593 	with %d format.
   2594 	* lib/ebitset.c (min, max): Undef before defining.
   2595 	* lib/vbitset.c (min, max): Likewise.
   2596 	* lib/subpipe.c (create_subpipe): Save local variables in case
   2597 	vfork clobbers them.
   2598 
   2599 2005-05-24  Bruno Haible  <bruno (a] clisp.org>
   2600 
   2601 	* tests/synclines.at (AT_SYNCLINES_COMPILE): Add support for the
   2602 	error message syntax used by gcc-4.0.
   2603 
   2604 2005-05-23  Paul Eggert  <eggert (a] cs.ucla.edu>
   2605 
   2606 	* README: Mention m4 1.4.3.  Remove obsolete advice about
   2607 	Sun Forte Developer 6 update 2, VMS, and MS-DOS.
   2608 
   2609 	* bootstrap: Remove workaround for problem I encountered with
   2610 	gettext 0.14.1; it seems to be fixed now.
   2611 
   2612 2005-05-22  Paul Eggert  <eggert (a] cs.ucla.edu>
   2613 
   2614 	* NEWS: Version 2.0a.
   2615 
   2616 	* src/files.c: Include "stdio-safer.h"; this fixes a typo in
   2617 	the previous change.
   2618 
   2619 	Various maintainer cleanups.
   2620 	* .cvsignore: Add a.exe, a.out, b.out,, conf[0-9]*, confdefs*,
   2621 	conftest*, for benefit of CVS commands run at the same time as
   2622 	"configure".  Add build-aux, since "bootstrap" now creates it and
   2623 	its subfiles.
   2624 	* Makefile.cfg (move_if_change): Remove.
   2625 	* Makefile.maint: Remove the update stuff; we now use "bootstrap".
   2626 	(ftp-gnu, www-gnu, move_if_change, local_updates, update):
   2627 	(po_repo, do-po-update, po-update, wget_files, get-targets):
   2628 	(config.guess-url_prefix, config.sub-url_prefix):
   2629 	(ansi2knr.c-url_prefix, texinfo.tex-url_prefix):
   2630 	(standards.texi-url_prefix, make-stds.texi-url_prefix, taget, url):
   2631 	($(get-targets), cvs-files, automake_repo, wget-update, cvs-update):
   2632 	Remove.
   2633 	* configure.ac (AC_CONFIG_AUX_DIR): Change from config to build-aux;
   2634 	this is now the recommended name.
   2635 	* config/.cvsignore: Remove config.guess, config.rpath, config.sub,
   2636 	depcomp, install-sh, mdate-sh, missing, mkinstalldirs, texinfo.tex,
   2637 	ylwrap.  These files now go into build-aux.
   2638 	* config/move-if-change: Remove.
   2639 	* config/prev-version.txt: Bump from 1.75 to 2.0.
   2640 
   2641 	* bootstrap: Add stdio-safer, unistd-safer modules.
   2642 	Remove m4/glibc2.m4 (introduced by latest gnulib, but
   2643 	we don't need it).
   2644 	* lib/.cvsignore: Add dup-safer.c, fd-safer.c,
   2645 	fopen-safer.c, stdio-safer.h, unistd-safer.h.
   2646 	* lib/subpipe.c: Include "unistd-safer.h".
   2647 	(create_subpipe): Make sure all the newly-created
   2648 	file descriptors are > 2, so that diagnostics don't
   2649 	get sent down them (which might cause Bison to hang, in theory).
   2650 	* m4/.cvsignore: Add stdio-safer.m4, unistd-safer.m4.
   2651 	* src/files.c (xfopen): Use fopen_safer, not fopen.
   2652 
   2653 	* data/lalr1.cc (yy::]b4_parser_class_name[::parse): Port
   2654 	yesterday's yacc.c fix.
   2655 
   2656 2005-05-21  Paul Eggert  <eggert (a] cs.ucla.edu>
   2657 
   2658 	* data/glr.c, data/lalr1.cc: Update copyright date.
   2659 
   2660 	Fix a destructor bug reported by Wolfgang Spraul in
   2661 	<http://lists.gnu.org/archive/html/bug-bison/2005-05/msg00042.html>.
   2662 	* data/yacc.c (yyabortlab): Don't call destructor, and
   2663 	don't set yychar to EMPTY.
   2664 	(yyoverflowlab): Don't call destructor.
   2665 	(yyreturn): Call destructor, if yychar is neither YYEOF nor YYEMPTY.
   2666 	* tests/calc.at (AT_CHECK_CALC): Expect one fewer output lines,
   2667 	since we no longer output the message "discarding lookahead token
   2668 	end of input ()".
   2669 
   2670 2005-05-20  Paul Hilfinger  <hilfingr (a] CS.Berkeley.EDU>
   2671 
   2672 	* data/glr.c (YY_SYMBOL_PRINT): Don't print newline at end to
   2673 	fix a small glitch in debugging output.
   2674 	(yyprocessOneStack, yyrecoverSyntaxError, yyparse): Print newline
   2675 	after YY_SYMBOL_PRINT where needed.
   2676 
   2677 	(struct yyGLRState): Add some comments.
   2678 	(struct yySemanticOption): Add some comments.
   2679 	(union yyGLRStackItem): Add comment.
   2680 
   2681 	(yymergeOptionSets): Correct this to properly perform the union,
   2682 	avoiding infinite reported by Michael Rosien.
   2683 	Update comment.
   2684 
   2685 	* tests/glr-regression.at: Add test for GLR merging error reported
   2686 	by M. Rosien.
   2687 
   2688 2005-05-13  Paul Eggert  <eggert (a] cs.ucla.edu>
   2689 
   2690 	* COPYING, ChangeLog, GNUmakefile, HACKING, Makefile.am,
   2691 	Makefile.cfg, Makefile.maint, NEWS, README, README-alpha,
   2692 	README-cvs, TODO, bootstrap, configure.ac, data/Makefile.am,
   2693 	data/README, data/c.m4, data/glr.c, data/lalr1.cc, data/yacc.c,
   2694 	data/m4sugar/m4sugar.m4, doc/Makefile.am, doc/bison.texinfo,
   2695 	doc/fdl.texi, doc/gpl.texi, doc/refcard.tex, lib/Makefile.am,
   2696 	lib/abitset.c, lib/abitset.h, lib/bbitset.h, lib/bitset.c,
   2697 	lib/bitset.h, lib/bitset_stats.c, lib/bitset_stats.h,
   2698 	lib/bitsetv-print.c, lib/bitsetv-print.h, lib/bitsetv.c,
   2699 	lib/bitsetv.h, lib/ebitset.c, lib/ebitset.h, lib/get-errno.c,
   2700 	lib/get-errno.h, lib/lbitset.c, lib/lbitset.h, lib/libiberty.h,
   2701 	lib/main.c, lib/subpipe.c, lib/subpipe.h, lib/timevar.c,
   2702 	lib/timevar.def, lib/timevar.h, lib/vbitset.c, lib/vbitset.h,
   2703 	lib/yyerror.c, m4/cxx.m4, m4/m4.m4, m4/subpipe.m4, m4/timevar.m4,
   2704 	m4/warning.m4, src/LR0.c, src/LR0.h, src/Makefile.am, src/assoc.c,
   2705 	src/assoc.h, src/closure.c, src/closure.h, src/complain.c,
   2706 	src/complain.h, src/conflicts.c, src/conflicts.h, src/derives.c,
   2707 	src/derives.h, src/files.c, src/files.h, src/getargs.c,
   2708 	src/getargs.h, src/gram.c, src/gram.h, src/lalr.c, src/lalr.h,
   2709 	src/location.c, src/location.h, src/main.c, src/muscle_tab.c,
   2710 	src/muscle_tab.h, src/nullable.c, src/nullable.h, src/output.c,
   2711 	src/output.h, src/parse-gram.c, src/parse-gram.h,
   2712 	src/parse-gram.y, src/print.c, src/print.h, src/print_graph.c,
   2713 	src/print_graph.h, src/reader.c, src/reader.h, src/reduce.c,
   2714 	src/reduce.h, src/relation.c, src/relation.h, src/scan-gram.l,
   2715 	src/scan-skel.l, src/state.c, src/state.h, src/symlist.c,
   2716 	src/symlist.h, src/symtab.c, src/symtab.h, src/system.h,
   2717 	src/tables.c, src/tables.h, src/uniqstr.c, src/uniqstr.h,
   2718 	src/vcg.c, src/vcg.h, src/vcg_defaults.h, tests/Makefile.am,
   2719 	tests/actions.at, tests/c++.at, tests/calc.at, tests/conflicts.at,
   2720 	tests/cxx-type.at, tests/existing.at, tests/glr-regression.at,
   2721 	tests/headers.at, tests/input.at, tests/local.at, tests/output.at,
   2722 	tests/reduce.at, tests/regression.at, tests/sets.at,
   2723 	tests/synclines.at, tests/testsuite.at, tests/torture.at:
   2724 	Update FSF postal mail address.
   2725 
   2726 2005-05-11  Paul Eggert  <eggert (a] cs.ucla.edu>
   2727 
   2728 	* tests/local.at (AT_COMPILE_CXX): Treat LDFLAGS like AT_COMPILE does.
   2729 	Problem reported by Ralf Menzel.
   2730 
   2731 2005-05-01  Paul Eggert  <eggert (a] cs.ucla.edu>
   2732 
   2733 	* tests/actions.at: Test that stack overflow invokes destructors.
   2734 	From Marcus Holland-Moritz.
   2735 	* data/yacc.c (yyerrlab): Move the code that destroys the stack
   2736 	from here....
   2737 	(yyreturn): to here.  That way, destructors are called properly
   2738 	even if the stack overflows, or the user calls YYACCEPT or
   2739 	YYABORT.  Stack-overflow problem reported by Marcus Holland-Moritz.
   2740 	(yyoverflowlab): Destroy the lookahead.
   2741 
   2742 2005-04-24  Paul Eggert  <eggert (a] cs.ucla.edu>
   2743 
   2744 	* data/yacc.c (YYSTACK_ALLOC_MAXIMUM): Add more-descriptive comment.
   2745 
   2746 2005-04-17  Paul Eggert  <eggert (a] cs.ucla.edu>
   2747 
   2748 	* NEWS: Bison-generated C parsers no longer quote literal strings
   2749 	associated with tokens.
   2750 	* src/output.c (prepare_symbols): Don't escape strings,
   2751 	since users don't want to see C escapes.
   2752 	* tests/calc.at (AT_CHECK_CALC): Adjust to lack of quotes
   2753 	in diagnostics.
   2754 	* tests/input.at (Torturing the Scanner): Likewise.
   2755 	* tests/regression.at (Token definitions, Web2c Actions): Likewise.
   2756 
   2757 2005-04-16  Paul Eggert  <eggert (a] cs.ucla.edu>
   2758 
   2759 	* tests/torture.at (AT_INCREASE_DATA_SIZE): Skip the test if
   2760 	the data size is known to be too small and we can't increase it.
   2761 	This works around an HP-UX 11.00 glitch reported by Andrew Benham.
   2762 
   2763 2005-04-15  Paul Eggert  <eggert (a] cs.ucla.edu>
   2764 
   2765 	* src/parse-gram.y: Include quotearg.h.
   2766 	(string_as_id): Quote $1 before using it as a key, since the
   2767 	lexer no longer quotes it for us.
   2768 	(string_content): Don't strip quotes, since lexer no longer
   2769 	quotes it for us.
   2770 	* src/scan-gram.l: Include quotearg.h.
   2771 	("\""): Omit quote.
   2772 	("'"<SC_ESCAPED_CHARACTER>): Quote symbol before using it as
   2773 	a key, since the rest of the lexer doesn't quote it.
   2774 	* src/symtab.c (symbol_get): Don't quote symbol; caller does it now.
   2775 	* tests/regression.at (Token definitions): Check for backslashes
   2776 	in token strings.
   2777 
   2778 	* data/yacc.c (YYSTACK_ALLOC_MAXIMUM): New macro.
   2779 	(YYSIZE_T): Define to unsigned long int when using an older compiler.
   2780 	(yyparse): Revamp code to generate long syntax error message, to
   2781 	make it easier to translate, and to avoid problems with arithmetic
   2782 	overflow.  Change "virtual memory" to "memory" in diagnostic, since
   2783 	we don't know whether the memory is virtual.
   2784 
   2785 2005-04-13  Paul Eggert  <eggert (a] cs.ucla.edu>
   2786 
   2787 	* NEWS: Bison-generated C parsers now use the _ macro to
   2788 	translate strings.
   2789 	* data/yacc.c (_) [!defined _]: New macro.
   2790 	All English strings wrapped inside this macro.
   2791 	* doc/bison.texinfo (Bison Parser): Document _.
   2792 	* po/POTFILES.in: Include src/parse-gram.c, since it now
   2793 	includes translateable strings that parse-gram.y doesn't.
   2794 
   2795 2005-04-12  Paul Eggert  <eggert (a] cs.ucla.edu>
   2796 
   2797 	* src/symtab.c (symbol_make_alias): Call symbol_type_set,
   2798 	reverting the 2004-10-11 change to this function.
   2799 	(symbol_check_alias_consistency): Don't call symbol_type_set
   2800 	if the type name is already correct.
   2801 	* tests/input.at (Typed symbol aliases): New test, from Tim Van Holder.
   2802 
   2803 2005-03-25  Paul Eggert  <eggert (a] cs.ucla.edu>
   2804 
   2805 	* tests/regression.at (Token definitions): Don't use a token named
   2806 	c, as that generates a "#define c ..." that runs afoul of buggy
   2807 	stdlib.h that uses the identifier c as a member of struct
   2808 	drand48_data.  Problem reported by Horst Wente.
   2809 
   2810 2005-03-21  Paul Eggert  <eggert (a] cs.ucla.edu>
   2811 
   2812 	* bootstrap: Change translation URL from
   2813 	http://www2.iro.umontreal.ca/~gnutra/po/maint/bison/ to
   2814 	http://www.iro.umontreal.ca/translation/maint/bison/ to avoid
   2815 	redirection glitches.  Problem reported by twlevo (a] xs4all.nl.
   2816 
   2817 2005-03-20  Paul Eggert  <eggert (a] cs.ucla.edu>
   2818 
   2819 	* tests/local.at (AT_COMPILE, AT_COMPILE_CXX): Don't put options
   2820 	after operands; POSIX says this isn't portable for the c99 command.
   2821 
   2822 2005-03-18  Paul Eggert  <eggert (a] cs.ucla.edu>
   2823 
   2824 	* tests/glr-regression.at (glr-regr2a.y): Try to dump core
   2825 	immediately if a data overrun has occurred; this may help us track
   2826 	down what may be a spurious failure on MacOS.
   2827 
   2828 2005-03-17  Paul Eggert  <eggert (a] cs.ucla.edu>
   2829 
   2830 	Respond to problems reported by twlevo (a] xs4all.nl.
   2831 
   2832 	* bootstrap: Use "trap - 0" rather than the unportable "trap 0".
   2833 
   2834 	* src/vcg.h: Comment fix.
   2835 	* src/vcg_defaults.h: Parenthesize macro bodies to make them safe.
   2836 	(G_CMAX): Change to -1 instead of INT_MAX.
   2837 
   2838 	* data/yacc.c (yyparse): Omit spaces before #line.
   2839 
   2840 2005-03-15  Paul Eggert  <eggert (a] cs.ucla.edu>
   2841 
   2842 	* src/tables.c (state_number_to_vector_number): Put it inside an
   2843 	"#if 0", since it's not currently used.  Problem reported by
   2844 	Roland McGrath.
   2845 
   2846 2005-03-06  Paul Eggert  <eggert (a] cs.ucla.edu>
   2847 
   2848 	* src/output.c (escaped_output): Renamed from
   2849 	escaped_file_name_output, since we now use it for symbol tags as
   2850 	well.  All uses changed.
   2851 	(symbol_destructors_output, symbol_printers_output):
   2852 	Escape symbol tags too.
   2853 	Problem reported by Matyas Forstner in
   2854 	<http://lists.gnu.org/archive/html/bug-bison/2005-03/msg00009.html>.
   2855 
   2856 	* src/muscle_tab.c (muscle_code_grow): Don't quote numbers; it's
   2857 	not needed.
   2858 	* src/output.c (user_actions_output, token_definitions_output,
   2859 	symbol_destructors_output, symbol_printers_output): Likewise.
   2860 	* src/reader.c (prologue_augment): Likewise.
   2861 	* src/scan-gram.l (handle_action_dollar, handle_action_at): Likewise.
   2862 
   2863 	* src/vcg.c (output_edge): Don't quote linestyle arg.
   2864 	Problem reported by twlevo (a] xs4all.nl.
   2865 
   2866 2005-02-28  Paul Eggert  <eggert (a] cs.ucla.edu>
   2867 
   2868 	* doc/bison.texinfo (Semantic Tokens): Fix scoping problem in
   2869 	example, reported by Derek M Jones.  Also, make the example even
   2870 	more outrageous, to better illustrate how bad the problem is.
   2871 
   2872 2005-02-24  Paul Eggert  <eggert (a] cs.ucla.edu>
   2873 
   2874 	* doc/bison.texinfo (Mfcalc Symtab): Correct the prototype for
   2875 	putsym.  Typo reported by Sebastian Piping.
   2876 
   2877 2005-02-23  Paul Eggert  <eggert (a] cs.ucla.edu>
   2878 
   2879 	* doc/bison.texinfo (Language and Grammar): some -> same
   2880 	(Epilogue): int he -> in the
   2881 	Typos reported by Sebastian Piping via Justin Pence.
   2882 
   2883 2005-02-07  Paul Eggert  <eggert (a] cs.ucla.edu>
   2884 
   2885 	* tests/glr-regression.at (Improper handling of embedded actions
   2886 	and dollar(-N) in GLR parsers): Renamed from "Improper handling of
   2887 	embedded actions and $-N in GLR parsers", work around an Autoconf bug
   2888 	with dollar signs in test names.
   2889 	* tests/input.at (Invalid dollar-n): Renamed from "Invalid \$n",
   2890 	for a similar reason.
   2891 
   2892 2005-01-28  Paul Eggert  <eggert (a] cs.ucla.edu>
   2893 
   2894 	* src/vcg.c (output_graph): G_VIEW -> normal_view in case someone
   2895 	wants to redefine G_VIEW.
   2896 
   2897 2005-01-27  Paul Eggert  <eggert (a] cs.ucla.edu>
   2898 
   2899 	* src/vcg.c (get_view_str): Remove case for normal_view.
   2900 	Problem reported by twlevo (a] xs4all.nl.
   2901 
   2902 2005-01-24  Paul Eggert  <eggert (a] cs.ucla.edu>
   2903 
   2904 	* configure.ac (O0CFLAGS, O0CXXFLAGS): Fix quoting bug.
   2905 	Problem reported by twlevo (a] xs4all.nl.
   2906 
   2907 	* doc/bison.texinfo: Change @dircategory from "GNU programming
   2908 	tools" to "Software development".  Requested by Richard Stallman
   2909 	via Karl Berry.
   2910 
   2911 2005-01-23  Paul Eggert  <eggert (a] cs.ucla.edu>
   2912 
   2913 	* tests/c++.at (AT_CHECK_DOXYGEN): Don't use options after operands.
   2914 	Problem reported by twlevo (a] xs4all.nl.
   2915 
   2916 2005-01-21  Paul Eggert  <eggert (a] cs.ucla.edu>
   2917 
   2918 	* data/yacc.c (YYCOPY, yystpcpy, yyparse): Remove "register"
   2919 	keyword; it's not needed with modern compilers, and it doesn't
   2920 	affect correctness with older compilers.  Suggested by
   2921 	twlevo (a] xs4all.nl.
   2922 
   2923 2005-01-17  Paul Eggert  <eggert (a] cs.ucla.edu>
   2924 
   2925 	* data/glr.c (yyuserAction): Add "default: break;" case to pacify
   2926 	gcc -Wswitch-default.
   2927 	* data/lalr1.cc (yy::]b4_parser_class_name[::parse): Likewise.
   2928 	* data/yacc.c (yyparse): Likewise.
   2929 
   2930 2005-01-12  Paul Eggert  <eggert (a] cs.ucla.edu>
   2931 
   2932 	* src/system.h (OUTPUT_EXT, TAB_EXT): Define only if not defined
   2933 	already.  Let config.h define any nonstandard values.
   2934 
   2935 2005-01-10  Paul Eggert  <eggert (a] cs.ucla.edu>
   2936 
   2937 	* tests/calc.at (_AT_DATA_CALC_Y): Use alarm (100), not alarm (10),
   2938 	for the benefit of slower hosts.  Problem reported by
   2939 	Nelson H. F. Beebe.
   2940 
   2941 2005-01-07  Paul Eggert  <eggert (a] cs.ucla.edu>
   2942 
   2943 	* data/yacc.c (yyparse): Pacify non-GCC compilers about yyerrorlab
   2944 	being defined and not used.
   2945 	* data/lalr1.cc (yyparse): Likewise.
   2946 	Use "if (false)" rather than "if (0)".
   2947 
   2948 2005-01-05  Paul Eggert  <eggert (a] cs.ucla.edu>
   2949 
   2950 	* TODO: Mention that we should allow NUL bytes in tokens.
   2951 
   2952 2005-01-02  Paul Eggert  <eggert (a] cs.ucla.edu>
   2953 
   2954 	* src/scan-skel.l (<<EOF>>): Don't close standard output.
   2955 	Problem reported by Hans Aberg.
   2956 
   2957 2005-01-01  Paul Eggert  <eggert (a] cs.ucla.edu>
   2958 
   2959 	* src/getargs.c (version): Happy new year; update overall
   2960 	program copyright date from 2004 to 2005.
   2961 
   2962 	* src/scan-skel.l ("@output ".*\n): Don't close standard output.
   2963 	Problem reported by Hans Aberg.
   2964 	* tests/output.at (AT_CHECK_OUTPUT): New arg SHELLIO.
   2965 	(Output file names.): Add a test for the case when standard output
   2966 	is closed.
   2967 
   2968 2004-12-26  Paul Eggert  <eggert (a] cs.ucla.edu>
   2969 
   2970 	* doc/bison.texinfo (@copying): Update FDL version number to 1.2,
   2971 	to fix an oversight in the Bison 2.0 manual.
   2972 
   2973 2004-12-25  Paul Eggert  <eggert (a] cs.ucla.edu>
   2974 
   2975 	* NEWS: Version 2.0.  Reformat the existing news items since
   2976 	1.875, so that related items are grouped together.
   2977 	* configure.ac (AC_INIT): Bump version to 2.0.
   2978 	* src/parse-gram.c, src/parse-gram.h: Regenerate with 2.0.
   2979 
   2980 	* tests/torture.at (Exploding the Stack Size with Alloca): Set
   2981 	YYSTACK_USE_ALLOCA to 1 if __GNUC__ or alloca are defined;
   2982 	otherwise, we're not testing alloca.  Unfortunately there's no
   2983 	simple way to consult HAVE_ALLOCA here.
   2984 
   2985 	* data/lalr1.cc (yydestruct_): Pacify unused variable warning
   2986 	for yymsg, too.
   2987 
   2988 	* src/LR0.c (new_itemsets): Use memset rather than zeroing by
   2989 	hand.  This avoids a warning about comparing int to size_t when
   2990 	GCC warnings are enabled.
   2991 
   2992 2004-12-22  Paul Eggert  <eggert (a] cs.ucla.edu>
   2993 
   2994 	* NEWS: Bison-generated parsers no longer default to using the
   2995 	alloca function (when available) to extend the parser stack, due
   2996 	to widespread problems in unchecked stack-overflow detection.
   2997 	* data/glr.c (YYMAXDEPTH): Remove undef when zero.  It's the user's
   2998 	responsibility to set it to a positive value.  This lets the user
   2999 	specify a value that is not a preprocessor constant.
   3000 	* data/yacc.c (YYMAXDEPTH): Likewise.
   3001 	(YYSTACK_ALLOC): Define only if YYSTACK_USE_ALLOCA is nonzero.
   3002 	* doc/bison.texinfo (Stack Overflow): YYMAXDEPTH no longer needs
   3003 	to be a compile-time constant.  However, explain the constraints on it.
   3004 	Also, explain the constraints on YYINITDEPTH.
   3005 	(Table of Symbols): Explain that alloca is no longer the default.
   3006 	Explain the user's responsibility if they define YYSTACK_USE_ALLOCA
   3007 	to 1.
   3008 
   3009 	* doc/bison.texinfo (Location Default Action): Mention that n must
   3010 	be zero when k is zero.  Suggested by Frank Heckenbach.
   3011 
   3012 2004-12-22  Akim Demaille  <akim (a] epita.fr>
   3013 
   3014 	* data/lalr1.cc (parser::token_number_type, parser::rhs_number_type)
   3015 	(parser::state_type, parser::semantic_type, parser::location_type):
   3016 	Private, not public.
   3017 	(parser::parse): Return ints, not bool.
   3018 	Returning a bool introduces a problem: 0 corresponds to false, and
   3019 	it seems weird to return false on success.  Returning true changes
   3020 	the conventions for yyparse.
   3021 	Alternatively we could return void and send an exception.
   3022 	There is no clear consensus (yet?).
   3023 	(state_stack, semantic_stack, location_stack): Rename as...
   3024 	(state_stack_type, semantic_stack_type, location_stack_type): these.
   3025 	Private, not public.
   3026 	* tests/c++.at: New.
   3027 	* tests/testsuite.at, tests/Makefile.am: Adjust.
   3028 
   3029 2004-12-21  Akim Demaille  <akim (a] epita.fr>
   3030 
   3031 	* data/lalr1.cc (parser::parse): Return a bool instead of an int.
   3032 
   3033 2004-12-21  Akim Demaille  <akim (a] epita.fr>
   3034 
   3035 	Don't impose std::string for filenames.
   3036 
   3037 	* data/lalr1.cc (b4_filename_type): New.
   3038 	(position::filename): Use it.
   3039 	(parser.hh): Move the inclusion of stack.hh and location.hh below
   3040 	the user code, so that needed headers for the filename type can be
   3041 	included first.
   3042 	Forward declare them before the user code.
   3043 	* tests/Makefile.am (check-local, installcheck-local): Pass
   3044 	TESTSUITEFLAGS to the TESTSUITE.
   3045 
   3046 2004-12-20  Akim Demaille  <akim (a] epita.fr>
   3047 
   3048 	Use more STL like names: my_class instead of MyClass.
   3049 
   3050 	* data/lalr1.cc (LocationStack, LocationType, RhsNumberType)
   3051 	(SemanticStack, SemanticType, StateStack, StateType)
   3052 	(TokenNumberType, Stack, Slice, Traits, Parser::location)
   3053 	(Parser::value): Rename as...
   3054 	(location_stack, location_type, rhs_number_type, semantic_stack)
   3055 	(semantic_type, state_stack, state_type, token_number_type, stack)
   3056 	(slice, traits, parser::yylloc, parser::yylval): these.
   3057 
   3058 	* tests/calc.at, tests/regression.at, tests/actions.at: Adjust.
   3059 
   3060 2004-12-19  Paul Eggert  <eggert (a] cs.ucla.edu>
   3061 
   3062 	* data/glr.c (YYLLOC_DEFAULT): Use GNU spacing conventions.
   3063 	* data/yacc.c (YYLLOC_DEFAULT): Likewise.
   3064 
   3065 2004-12-17  Paul Eggert  <eggert (a] cs.ucla.edu>
   3066 
   3067 	Remove uses of 'short int' and 'unsigned short int'.  This raises
   3068 	some arbitrary limits.  It uses more memory but nowadays that's
   3069 	not much of an issue.
   3070 
   3071 	This change does not affect the generated parsers; that's a different
   3072 	task, as some users will want to conserve memory there.
   3073 
   3074 	Ideally we should use size_t to represent all object counts, and
   3075 	something like ptrdiff_t to represent signed differences of object
   3076 	counts; but that will require more code-cleanup than I have the
   3077 	time to do right now.
   3078 
   3079 	* src/LR0.c (allocate_itemsets, new_itemsets, save_reductions):
   3080 	Use size_t, not int or short int, to count objects.
   3081 	* src/closure.c (nritemset, closure): Likewise.
   3082 	* src/closure.h (nritemset, closure): Likewise.
   3083 	* src/nullable.c (nullable_compute): Likewise.
   3084 	* src/print.c (print_core): Likewise.
   3085 	* src/print_graph.c (print_core): Likewise.
   3086 	* src/state.c (state_compare, state_hash): Likewise.
   3087 	* src/state.h (struct state): Likewise.
   3088 	* src/tables.c (default_goto, goto_actions): Likewise.
   3089 
   3090 	* src/gram.h (rule_number, rule): Use int, not short int.
   3091 	* src/output.c (prepare_rules): Likewise.
   3092 	* src/state.h (state_number, STATE_NUMBER_MAXIMUM, transitions,
   3093 	errs, reductions): Likewise.
   3094 	* src/symtab.h (symbol_number, SYMBOL_NUMBER_MAXIMUM, struct symbol):
   3095 	Likewise.
   3096 	* src/tables.c (vector_number, tally, action_number,
   3097 	ACTION_NUMBER_MINIMUM): Likewise.
   3098 	* src/output.c (muscle_insert_short_int_table): Remove.
   3099 
   3100 2004-12-17  Akim Demaille  <akim (a] epita.fr>
   3101 
   3102 	* data/lalr1.cc: Extensive Doxygenation.
   3103 	(error_): Rename as...
   3104 	(error): this, since it is visible to the user.
   3105 	Adjust callers.
   3106 	(Parser::message): Now an automatic variable from...
   3107 	(Parser::yyreport_syntax_error_): here.
   3108 	* tests/actions.at, tests/calc.at, tests/regression.at: Adjust to
   3109 	Parser::error.
   3110 	* tests/input.at: Escape $.
   3111 
   3112 2004-12-16  Paul Eggert  <eggert (a] cs.ucla.edu>
   3113 
   3114 	* data/glr.c (b4_lhs_value, b4_rhs_value, b4_rhs-location):
   3115 	Parenthesize rhs to avoid obscure problems with mistakes like
   3116 	"foo$$bar = foo$1bar;".  Problem reported by twlevo at xs4all.
   3117 	* data/lalr1.cc (b4_lhs_value, b4_rhs_value, b4_lhs_location,
   3118 	b4_rhs_location): Likewise.
   3119 	* data/yacc.c (b4_lhs_value, b4_rhs_value, b4_lhs_location,
   3120 	b4_rhs_location): Likewise.
   3121 
   3122 2004-12-16  Akim Demaille  <akim (a] epita.fr>
   3123 
   3124 	* data/lalr1.cc (yyreport_syntax_error_): Catch up with glr.c and
   3125 	yacc.c: be sure to stay within yycheck_.
   3126 	* tests/actions.at: Re-enable C++ tests.
   3127 
   3128 2004-12-16  Akim Demaille  <akim (a] epita.fr>
   3129 
   3130 	* src/print_graph.c (print_graph): Remove layoutalgorithm uses for
   3131 	real.
   3132 
   3133 2004-12-16  Akim Demaille  <akim (a] epita.fr>
   3134 
   3135 	Use #define to handle the %name-prefix.
   3136 
   3137 	* data/glr.c, data/yacc.c: Comment changes.
   3138 	* data/lalr1.cc (yylex): Use #define to select the name of yylex,
   3139 	so that one can refer to yylex in the parser file, and have it
   3140 	renamed, as is the case with other skeletons.
   3141 
   3142 2004-12-16  Akim Demaille  <akim (a] epita.fr>
   3143 
   3144 	Move lalr1.cc internals into yy*.
   3145 
   3146 	* data/lalr1.cc (semantic_stack_, location_stack_, state_stack_)
   3147 	(semantic_stack_, location_stack_, pact_, pact_ninf_, defact_)
   3148 	(pgoto_, defgoto_, table_, table_ninf_, check_, stos_, r1_, r2_)
   3149 	(name_, rhs_, prhs_, rline_, token_number_, eof_, last_, nnts_)
   3150 	(empty_, final_, terror_, errcode_, ntokens_)
   3151 	(user_token_number_max_, undef_token_, n_, len_, state_, nerrs_)
   3152 	(looka_, ilooka_, error_range_, nerrs_):
   3153 	Rename as...
   3154 	(yysemantic_stack_, yylocation_stack_, yystate_stack_)
   3155 	(yysemantic_stack_, yylocation_stack_, yypact_, yypact_ninf_)
   3156 	(yydefact_, yypgoto_, yydefgoto_, yytable_, yytable_ninf_)
   3157 	(yycheck_, yystos_, yyr1_, yyr2_, yyname_, yyrhs_, yyprhs_)
   3158 	(yyrline_, yytoken_number_, yyeof_, yylast_, yynnts_, yyempty_)
   3159 	(yyfinal_, yyterror_, yyerrcode_, yyntokens_)
   3160 	(yyuser_token_number_max_, yyundef_token_, yyn_, yylen_, yystate_)
   3161 	(yynerrs_, yylooka_, yyilooka_, yyerror_range_, yynerrs_):
   3162 	these.
   3163 
   3164 2004-12-15  Paul Eggert  <eggert (a] cs.ucla.edu>
   3165 
   3166 	Fix some problems reported by twlevo at xs4all.
   3167 	* src/symtab.c (symbol_new): Report an error if the input grammar
   3168 	contains too many symbols.  This is better than calling abort() later.
   3169 	* src/vcg.h (enum layoutalgorithm): Remove.  All uses removed.
   3170 	(struct node, struct graph):
   3171 	Rename member expand to stretch.  All uses changed.
   3172 	(struct graph): Remove member layoutalgorithm.  All uses removed.
   3173 	* src/vcg.c (get_layoutalgorithm_str): Remove.  All uses removed.
   3174 	* src/vcg_defaults.h (G_STRETCH): Renamed from G_EXPAND.
   3175 	All uses changed.
   3176 	(N_STRETCH): Rename from N_EXPAND.  All uses changed.
   3177 
   3178 2004-12-15  Akim Demaille  <akim (a] epita.fr>
   3179 
   3180 	* data/lalr1.cc: Normalize /** \brief ... */ to ///.
   3181 	Add more Doxygen comments.
   3182 	(symprint_, stack_print_, reduce_print_, destruct_, pop)
   3183 	(report_syntax_error_, translate_): Rename as...
   3184 	(yysymprint_, yystack_print_, yyreduce_print_, yydestruct_)
   3185 	(yypop_, yyreport_syntax_error_, yytranslate_): this.
   3186 
   3187 2004-12-15  Akim Demaille  <akim (a] epita.fr>
   3188 
   3189 	* data/lalr1.cc (lex_): Rename as...
   3190 	(yylex_): this.
   3191 	Move the trace here.
   3192 	Take the %name-prefix into account.
   3193 	Reported by Alexandre Duret-Lutz.
   3194 
   3195 2004-12-15  Akim Demaille  <akim (a] epita.fr>
   3196 
   3197 	Simplify the C++ parser constructor.
   3198 
   3199 	* data/lalr1.cc (debug_): Rename as...
   3200 	(yydebug_): so that the parser's internals are always in the yy*
   3201 	pseudo namespace.
   3202 	Adjust uses.
   3203 	(b4_parse_param_decl): Remove the leading comma as it is now only
   3204 	called as unique argument list.
   3205 	(Parser::Parser): Remove the constructor accepting a location and
   3206 	an initial debugging level.
   3207 	Remove from the other ctor the argument for the debugging level.
   3208 	(debug_level_type, debug_level, set_debug_level): New.
   3209 
   3210 	* tests/actions.at, tests/calc.at, tests/regression.at: Adjust
   3211 	constructor calls.
   3212 
   3213 2004-12-15  Akim Demaille  <akim (a] epita.fr>
   3214 
   3215 	Remove b4_root related material: failure experiment
   3216 	(which goal was to allow to derive from a class).
   3217 
   3218 	* data/lalr1.cc (b4_root, b4_param, b4_constructor): Remove
   3219 	definitions and uses.
   3220 
   3221 2004-12-14  Paul Eggert  <eggert (a] cs.ucla.edu>
   3222 
   3223 	* data/glr.c (struct yyGLRStack): yyerror_range now has 3 items,
   3224 	not 2, since it's not portable to subtract 1 from the start of an
   3225 	array.  The new item 0 is never set or used.  All uses changed.
   3226 
   3227 	(yyrecoverSyntaxError): Use YYLLOC_DEFAULT instead of assuming
   3228 	the default definition of YYLLOC_DEFAULT.  Problem reported
   3229 	by Frank Heckenbach.
   3230 
   3231 2004-12-12  Paul Eggert  <eggert (a] cs.ucla.edu>
   3232 
   3233 	* data/glr.c (YYRHSLOC): Don't have two definitions, one for
   3234 	the normal case and one for the error case.  Just use the
   3235 	first one uniformly.  Problem reported by Frank Heckenbach.
   3236 	(YYLLOC_DEFAULT): Use the conventions of yacc.c, so we can
   3237 	use exactly the same macro in both places.
   3238 	(yyerror_range): Now of type yyGLRStackItem, not YYLTYPE,
   3239 	so that the normal-case YYRHSLOC works for the error case too.
   3240 	All uses changed.
   3241 	* data/yacc.c (YYRHSLOC): New macro, taken from glr.c.
   3242 	(YYLLOC_DEFAULT): Use the same macro as glr.c.
   3243 	* doc/bison.texinfo (Location Default Action): Don't claim that
   3244 	we have an array of locations.  Use the same macro for both glr
   3245 	and lalr parsers.  Mention YYRHSLOC.  Mention what happens when
   3246 	the index is 0.
   3247 
   3248 2004-12-10  Paul Eggert  <eggert (a] cs.ucla.edu>
   3249 
   3250 	* HACKING: Update email addresses to send announcements to.
   3251 
   3252 	* configure.ac (AC_INIT): Bump version to 1.875f.
   3253 
   3254 2004-12-10  Paul Eggert  <eggert (a] cs.ucla.edu>
   3255 
   3256 	* NEWS: Version 1.875e.
   3257 	* src/parse-gram.c, src/parse-gram.h: Regenerate with 1.875e.
   3258 
   3259 	* src/scan-skel.l: Include "complain.h", for "fatal".
   3260 
   3261 	* src/relation.h (relation_print, relation_digraph):
   3262 	Relation sizes are of type relation_node, not size_t (this is
   3263 	merely a doc fix, since the two types are equivalent).
   3264 	(relation_transpose): Relation sizes are of type relation_node,
   3265 	not int.
   3266 	* src/relation.c: Likewise.
   3267 	(top, infinity): Now of type relation_node, not int.
   3268 	(traverse, relation_transpose): Use relation_node, not int.
   3269 
   3270 	* data/glr.c (yyuserAction, yyrecoverSyntaxError): Mark args
   3271 	with ATTRIBUTE_UNUSED if they're not used, to avoid GCC warning.
   3272 	(yyparse): Remove unused local introduced in 2004-10-25 patch.
   3273 
   3274 	* tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): New arg
   3275 	specifying whether the test should be skipped.  Use it tp
   3276 	specify that the [%defines %skeleton "lalr1.cc"] tests currently
   3277 	fail on some hosts, and should be skipped.
   3278 
   3279 2004-12-08  Paul Eggert  <eggert (a] cs.ucla.edu>
   3280 
   3281 	* src/system.h (CALLOC, MALLOC, REALLOC): Remove.  All callers
   3282 	changed to use xcalloc, xnmalloc, xnrealloc, respectively,
   3283 	unless otherwise specified below.
   3284 
   3285 	* src/LR0.c (allocate_itemsets): Use xnmalloc, not xcalloc,
   3286 	to allocate kernel_base, kernel_items, kernel_size, since
   3287 	they needn't be initialized to 0.
   3288 	(allocate_storgae): Likewise, for shiftset, redset, shift_symbol.
   3289 	* src/closure.c (new_closure): Likewise, for itemset.
   3290 	* src/derives.c (derives_compute): Likewise, for delts, derives, q.
   3291 	* src/lalr.c (set_goto_map): Likewise, for temp_map.
   3292 	(initialize_F): Likewise, for reads, edge, reads[i], includes[i].
   3293 	(build_relations): Likewise for edge, states1, includes.
   3294 	* src/nullable.c (nullable_compute): Likewise, for squeue, relts.
   3295 	* src/reader.c (packgram): Likewise, for ritem, rules.
   3296 	* src/reduce.c (nonterminals_reduce): Likewise for nontermmap.
   3297 	* src/relation.c (relation_digraph): Likewise for VERTICES.
   3298 	(relation_transpose): Likewise for new_R, end_R.
   3299 	* src/symtab.c (symbols_token_translations_init): Likewise for
   3300 	token_translations.
   3301 	* src/tables.c (save_row): Likewise for froms, tos, conflict_tos.
   3302 	(token_actions): Likewise for yydefact, actrow, conflrow,
   3303 	conflict_list.
   3304 	(save_column): Likewise for froms[symno], tos[symno].
   3305 	(goto_actions): Likewise for state_count.
   3306 	(pack_table): Likewise for base, pos, check.
   3307 	(tables_generate): Likewise for width.
   3308 
   3309 	* src/LR0.c (set_states): Don't reuse kernel_size and kernel_base
   3310 	for initial core.  Just have a separate core, so we needn't worry
   3311 	about whether kernel_size and kernel_base are initialized.
   3312 
   3313 	* src/LR0.c (shift_symbol, redset, shiftset, kernel_base,
   3314 	kernel_size, kernel_items): Remove unnecessary initialization.
   3315 	* src/conflicts.c (conflicts): Likewise.
   3316 	* src/derives.c (derives): Likewise.
   3317 	* src/muscle_tablc (muscle_insert): Likewise.
   3318 	* src/relation.c (relation_digraph): Likewise.
   3319 	* src/tables.c (froms, tos, conflict_tos, tally, width, actrow, order,
   3320 	conflrow, conflict_table, conflict_list, table, check):
   3321 	Likewise.
   3322 
   3323 	* src/closure.c (new_closure): Arg is of type unsigned int, not int.
   3324 	This is because all callers pass unsigned int.
   3325 	* src/closure.h (new_closure): Likewise.
   3326 
   3327 	* src/lalr.c (initialize_F): Initialize reads[i] in all cases.
   3328 	(build_relations): Initialize includes[i] in all cases.
   3329 	* src/reader.c (packgram): Always initialize rules[ruleno].prec
   3330 	and rules[ruleno].precsym.  Initialize members in order.
   3331 	* src/relation.c (relation_transpose): Always initialize new_R[i]
   3332 	and end_R[i].
   3333 	* src/table.c (conflict_row): Initialize 0 at end of conflict_list.
   3334 
   3335 	* src/output.c (prepare_actions): Pass 0 instead of conflict_list[0];
   3336 	conflict_list[0] was always 0, but now it isn't initialized.
   3337 
   3338 	* src/table.c (table_grow): When conflict_table grew, the grown
   3339 	area wasn't cleared.  Fix this.
   3340 
   3341 	* lib/.cvsignore: Add strdup.c, strdup.h.
   3342 	* m4/.cvsignore: Add strdup.m4.
   3343 
   3344 2004-12-07  Paul Eggert  <eggert (a] cs.ucla.edu>
   3345 
   3346 	* src/lalr.h (GOTO_NUMBER_MAXIMUM): New macro.
   3347 	* src/lalr.c (set_goto_map): Don't allow ngotos to equal
   3348 	GOTO_NUMBER_MAXIMUM, since we occasionally compute
   3349 	ngotos + 1 without checking for overflow.
   3350 	(build_relations): Use END_NODE, not -1, to denote end of edges.
   3351 	* src/lalr.c (set_goto_map, map_goto, initialize_F, add_loopback_edge,
   3352 	build_relations): Use goto_number, not int, for goto numbers.
   3353 	* src/tables.c (save_column, default_goto): Likewise.
   3354 
   3355 2004-11-23  Akim Demaille  <akim (a] epita.fr>
   3356 
   3357 	* data/lalr1.cc (YYSTYPE): Define it as is done for C, instead
   3358 	of #defining from yystype.
   3359 	Don't typedef yystype, C++ does not need it.
   3360 	This lets it possible to forward declare it as union.
   3361 
   3362 2004-11-23  Paul Eggert  <eggert (a] cs.ucla.edu>
   3363 
   3364 	* bootstrap (gnulib_modules): Add extensions.
   3365 	Problem reported by Jim Meyering.
   3366 
   3367 2004-11-22  Paul Eggert  <eggert (a] cs.ucla.edu>
   3368 
   3369 	* src/LR0.c, src/closure.c, src/derives.c, src/gram.c,
   3370 	src/lalr.c, src/nullable.c, src/relation.c, src/scan-skel.l,
   3371 	src/system.h, src/tables.c: XFREE -> free, to accommodate
   3372 	recent change to gnulib xalloc.h.
   3373 	Problem reported by Jim Meyering.
   3374 
   3375 2004-11-17  Akim Demaille  <akim (a] epita.fr>
   3376 
   3377 	* data/lalr1.cc (symprint_): Use cdebug_ to avoid warnings.
   3378 
   3379 2004-10-28  Akim Demaille  <akim (a] epita.fr>,
   3380 	    Alexandre Duret-Lutz <adl (a] gnu.org>
   3381 
   3382 	* data/lalr1.cc (Parser::yycdebug_): New, a pointer, to allow
   3383 	changes.
   3384 	(YYCDEBUG): Adjust.
   3385 	Use it instead of cdebug_.
   3386 	(Parser::debug_stream, Parser::set_debug_stream): New.
   3387 	(Parser::symprint_): Define cdebug_ for temporary backward
   3388 	compatibility.
   3389 	* tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): Use
   3390 	debug_stream ().
   3391 
   3392 2004-11-17  Akim Demaille  <akim (a] epita.fr>
   3393 
   3394 	* data/lalr1.cc (Parser:print_): Remove, use %printer instead.
   3395 	* tests/regression.at (_AT_DATA_DANCER_Y): Adjust.
   3396 	* tests/calc.at (_AT_DATA_CALC_Y): Ditto.
   3397 	* tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): Likewise.
   3398 
   3399 2004-10-27  Paul Eggert  <eggert (a] cs.ucla.edu>
   3400 
   3401 	* data/glr.c (yyloc_default): Remove; not used.
   3402 	Problem reported by Frank Heckenbach.
   3403 
   3404 2004-10-25  Akim Demaille  <akim (a] epita.fr>
   3405 
   3406 	* data/glr.c (YYRHSLOC): Move its definition next to its uses.
   3407 	Introduce another definition to address simple location arrays.
   3408 	(yyGLRStack): New member: yyerror_range.
   3409 	(yyrecoverSyntaxError, yyparse): Update it.
   3410 	(yyrecoverSyntaxError): Use it when shifting the error token to
   3411 	have an accurate range, equivalent to the one computed by both
   3412 	yacc.c and lalr1.cc.
   3413 	* tests/cxx-type.at (_AT_TEST_GLR_CXXTYPES): Change its yylex so
   3414 	that column numbers start at column 0, as per GNU Coding
   3415 	Standards, the others tests, and the doc.
   3416 	(_AT_RESOLVED_GLR_OUTPUT_WITH_LOC, _AT_AMBIG_GLR_OUTPUT_WITH_LOC):
   3417 	Adjust to the above change (first column is 0).
   3418 	And adjust the location of the "<error>", now covering the whole
   3419 	line.
   3420 
   3421 2004-10-22  Akim Demaille  <akim (a] epita.fr>
   3422 	and Paul Eggert  <eggert (a] cs.ucla.edu>
   3423 
   3424 	Remove some arbitrary limits on goto numbers and relations.
   3425 	* src/lalr.c (goto_map, ngotos, from_state, to_state): Omit
   3426 	initial values, since they're never used.
   3427 	(set_goto_map): ngotos is now unsigned, so test for overflow
   3428 	by seeing whether it wraps around to zero.
   3429 	* src/lalr.h (goto_number): Now size_t, not short int.
   3430 	(GOTO_NUMBER_MAXIMUM): Remove.
   3431 	* src/relation.c (relation_print, traverse, relation_transpose):
   3432 	Check for END_NODE rather than looking at sign.
   3433 	* src/relation.h (END_NODE): New macro.
   3434 	(relation_node): Now size_t, not short int.
   3435 
   3436 2004-10-22  Paul Eggert  <eggert (a] cs.ucla.edu>
   3437 
   3438 	* doc/bison.texinfo (Language and Grammar): In example, "int" is a
   3439 	keyword, not an identifier.  Problem reported by Baron Schwartz in
   3440 	<http://lists.gnu.org/archive/html/bug-bison/2004-10/msg00017.html>.
   3441 
   3442 2004-10-11  Akim Demaille  <akim (a] epita.fr>
   3443 
   3444 	* src/symtab.c (symbol_check_alias_consistency): Also check
   3445 	type names, destructors, and printers.
   3446 	Reported by Alexandre Duret-Lutz.
   3447 	Recode the handling of associativity and precedence in terms
   3448 	of symbol_precedence_set.
   3449 	Accept no redeclaration at all, not even equal to the previous
   3450 	value.
   3451 	(redeclaration): New.
   3452 	Use it to factor redeclaration complaints.
   3453 	(symbol_make_alias): Don't set the type of the alias, let
   3454 	symbol_check_alias_consistency do it as for other features.
   3455 	* src/symtab.h (symbol): Add new member prec_location, and
   3456 	type_location.
   3457 	* src/symtab.c (symbol_precedence_set, symbol_type_set): Set them.
   3458 	* tests/input.at (Incompatible Aliases): New.
   3459 
   3460 2004-10-09  Paul Eggert  <eggert (a] cs.ucla.edu>
   3461 
   3462 	.cvsignore fixes to accommodate gnulib changes,
   3463 	and the practice of naming build directories "_build".
   3464 	* .cvsignore: Add "_*".  Sort.
   3465 	* lib/.cvsignore: Add getopt_.h, xalloc-die.c.
   3466 	* m4/.cvsignore: Add "*_gl.m4".
   3467 
   3468 2004-10-06  Akim Demaille  <akim (a] epita.fr>
   3469 
   3470 	* src/parse-gram.y (add_param): Fix the truncation of trailing
   3471 	spaces.
   3472 
   3473 2004-10-05  Akim Demaille  <akim (a] epita.fr>
   3474 
   3475 	In Bison 1.875's yacc.c, YYLLOC_DEFAULT was called regardless
   3476 	whether the reducion was empty or not.  This leaves room to
   3477 	improve the use of YYLLOC_DEFAULT in such a case.
   3478 	lalr1.cc is still experimental, so changing this is acceptable.
   3479 	And finally, there are probably not many users who changed the
   3480 	handling of locations in GLR, so changing is admissible too.
   3481 
   3482 	* data/glr.c, data/lalr1.cc, data/yacc.c (YYLLOC_DEFAULT): On an
   3483 	empty reduction, set @$ to an empty location ending the previously
   3484 	stacked symbol.
   3485 	Adjust uses to make sure the code is triggered on empty
   3486 	reductions.
   3487 	* tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): Adjust the
   3488 	expected output: empty reductions have empty locations.
   3489 
   3490 2004-09-29  Akim Demaille  <akim (a] epita.fr>
   3491 
   3492 	* data/lalr1.cc: Move towards a more standard C++ coding style
   3493 	for templates: Class < T > -> Class<T>.
   3494 
   3495 2004-09-29  Akim Demaille  <akim (a] epita.fr>
   3496 
   3497 	* data/lalr1.cc: Reinstall the former ctor, for sake of
   3498 	compatibility, but warn it will be removed.
   3499 	Move towards a more standard C++ coding style (i.e., type *var ->
   3500 	type* var).
   3501 
   3502 2004-09-27  Paul Eggert  <eggert (a] cs.ucla.edu>
   3503 
   3504 	* src/parse-gram.y (add_param): Rewrite to avoid strchr,
   3505 	since it's less likely to work if NULs are involved in the future.
   3506 
   3507 2004-09-27  Akim Demaille  <akim (a] epita.fr>
   3508 
   3509 	* data/yacc.c (YY_LOCATION_PRINT): Fix its default declaration.
   3510 
   3511 2004-09-27  Akim Demaille  <akim (a] epita.fr>
   3512 
   3513 	* data/lalr1.cc (b4_parse_param_decl_1): New.
   3514 	(b4_parse_param_decl): Use it to have different names between attribute
   3515 	and argument names.
   3516 	(b4_cc_constructor_call): Likewise.
   3517 
   3518 2004-09-24  Akim Demaille  <akim (a] epita.fr>
   3519 
   3520 	* src/parse-gram.y (add_param): Strip the leading and trailing
   3521 	blanks from a formal argument declaration.
   3522 	(YY_LOCATION_PRINT): New.
   3523 
   3524 2004-09-24  Akim Demaille  <akim (a] epita.fr>
   3525 
   3526 	* data/c.m4 (b4_yysymprint_generate): Move the YYINPUT invocation
   3527 	after the location.
   3528 
   3529 2004-09-24  Akim Demaille  <akim (a] epita.fr>
   3530 
   3531 	* doc/bison.texinfo (Table of Symbols): Sort.
   3532 
   3533 2004-09-21  Akim Demaille  <akim (a] epita.fr>
   3534 
   3535 	* data/yacc.c, data/glr.c (b4_at_dollar, b4_dollar_dollar): Remove
   3536 	the useless parentheses.
   3537 	Suggested by Paul Eggert.
   3538 
   3539 2004-09-20  Akim Demaille  <akim (a] epita.fr>
   3540 
   3541 	Let the initial-action act on the look-ahead, and use it for the
   3542 	"initial push" (corresponding to an hypothetical beginning-of-file).
   3543 	And let lalr1.cc honor %initial-action.
   3544 
   3545 	* doc/bison.texinfo (Initial Action Decl): Clarify, and add an
   3546 	example.
   3547 	* data/lalr1.cc (Parser::initlocation_): Remove, bad experiment.
   3548 	(Parser::Parser): Remove the ctor that used to initialize it.
   3549 	(Parser::parse): Like in the other skeletons, issue the "starting
   3550 	parse" message before any action.
   3551 	Honor %initial-action.
   3552 	Initialize the stacks with the lookahead.
   3553 	* data/yacc.c: Let $$ and @$ in %initial-action designate the
   3554 	look-ahead.
   3555 	Push them in the stacks.
   3556 	* tests/actions.at, tests/calc.at: Adjust the C++ ctor invocations.
   3557 
   3558 2004-09-20  Akim Demaille  <akim (a] epita.fr>
   3559 
   3560 	* doc/bison.texinfo (Initial Action Decl): New.
   3561 
   3562 2004-09-20  Akim Demaille  <akim (a] epita.fr>
   3563 
   3564 	* data/yacc.c (YY_LOCATION_PRINT): Use YYLTYPE_IS_TRIVIAL as a
   3565 	clearer criterion to define it.
   3566 	(parse): Initialize the initial location when YYLTYPE_IS_TRIVIAL.
   3567 	When reducing on an empty RHS, use the latest stacked location as
   3568 	location.
   3569 	yylloc is not always available.
   3570 	* data/glr.c: Likewise.
   3571 	Also, honor initial-actions.
   3572 
   3573 2004-09-20  Akim Demaille  <akim (a] epita.fr>
   3574 
   3575 	* data/yacc.c (YY_LOCATION_PRINT): New.
   3576 	Define when we know YYLTYPE's structure, i.e., when the default
   3577 	YYLLOC_DEFAULT is used.
   3578 	* data/c.m4 (b4_yysymprint_generate): Use it.
   3579 	* data/lalr1.cc (YYLLOC_DEFAULT): Stop relying on the initial
   3580 	value of the result.
   3581 	(error_start_): Replace with...
   3582 	(error_range_): this location array.
   3583 	This allows to replace code relying on the implementation of
   3584 	locations by portable code.
   3585 	* data/yacc.c (yylerrsp): Replace with...
   3586 	(yyerror_range): this.
   3587 	Every time a token is popped, update yyerror_range[0], to have an
   3588 	accurate location for the error token.
   3589 	* data/glr.c (YY_LOCATION_PRINT): New.
   3590 	(yyprocessOneStack): Fix an invocation of YY_SYMBOL_PRINT:
   3591 	deference a pointer.
   3592 	* tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): No longer
   3593 	report the location in %printers.
   3594 
   3595 	* src/scan-skel.l: Instead of abort, report error messages to ease
   3596 	understanding skeleton scanning failures.
   3597 
   3598 2004-09-16  Akim Demaille  <akim (a] epita.fr>
   3599 
   3600 	* data/lalr1.cc (Stack::Iterator, Stack::ConstIterator): Rename as...
   3601 	(iterator, const_iterator): these, to be more in the C++ spirit.
   3602 	Also, return reverse iterators so that when displaying the stack
   3603 	we display its bottom first.
   3604 	(Parser::stack_print_, Parser::reduce_print_): Match the messages
   3605 	from yacc.c.
   3606 	We should probably use vector here though.
   3607 
   3608 2004-09-16  Akim Demaille  <akim (a] epita.fr>
   3609 
   3610 	Have more complete shift traces.
   3611 
   3612 	* data/yacc.c, data/lalr1.c, data/glr.c: Use YY_SYMBOL_PRINT
   3613 	to report Shifts instead of ad hoc YYDPRINTF invocations,
   3614 	including for the error token.
   3615 	* data/lalr1.cc (symprint_): Output the location.
   3616 	* tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): In C++, don't
   3617 	output the location within the %printer.
   3618 	Activate GLR tests, at least to make sure they compile properly.
   3619 	They still don't pass though.
   3620 	* tests/calc.at: Adjust expect verbose output, since now "Entering
   3621 	state..." is on a different line than the "Shifting" message.
   3622 
   3623 2004-09-08  Akim Demaille  <akim (a] epita.fr>
   3624 
   3625 	* tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): Move the
   3626 	Bison directive from the Bison file to the invocation of this
   3627 	macro, so that these directives are passed to
   3628 	AT_BISON_OPTION_PUSHDEFS to get correct help macros.
   3629 	Use these helping macros (e.g., AT_LOC, AT_VAL and so forth).
   3630 	Move the AT_SETUP/AT_CLEANUP outside, to report as test title
   3631 	the extra Bison directives instead of the whole series.
   3632 	Change the grammar so that there are recoverable errors, and
   3633 	unrecoverable errors.  Now we can have the parser give up before
   3634 	consuming the whole input.  As a result we now can observe that
   3635 	the lookahead is freed when needed.
   3636 	Change the parser source to parse argv[1] instead of a hard coded
   3637 	string.
   3638 	Simplify yylex, and give a value and location to EOF.
   3639 	Simplify some invocations of AT_CHECK_PRINTER_AND_DESTRUCTOR that
   3640 	passed directives already coded in the file.
   3641 	Add some tests to check the location of "error".
   3642 	For some tests, the C++ parser is correct, and not yacc.c.
   3643 	For other tests, they provide different, but unsatisfying, values,
   3644 	so keep the C++ value so that at least one parser is "correct"
   3645 	according to the test suite.
   3646 	(Actions after errors): Remove, this is subsumed by the
   3647 	AT_CHECK_PRINTER_AND_DESTRUCTOR series.
   3648 
   3649 2004-09-06  Akim Demaille  <akim (a] epita.fr>
   3650 
   3651 	* data/lalr1.cc: Adjust the indentation of the labels.
   3652 	(Parser::pop): New.
   3653 	Use it.
   3654 
   3655 2004-09-06  Akim Demaille  <akim (a] epita.fr>
   3656 
   3657 	* data/yacc.cc, data/glr.cc (yydestruct): Accept an additional
   3658 	argument, an informative message.
   3659 	Call YY_SYMBOL_PRINT.
   3660 	Adjust all callers: integrate the associated YY_SYMBOL_PRINT.
   3661 	* data/lalr1.cc (destruct_): Likewise.
   3662 	In addition, no longer depend on b4_yysymprint_generate and
   3663 	b4_yydestruct_generate to generate these functions, do it "by
   3664 	hand".
   3665 
   3666 2004-09-03  Akim Demaille  <akim (a] epita.fr>
   3667 
   3668 	* data/glr.c, data/lalr1.cc, data/yacc.c: When YYABORT was
   3669 	invoked, yydestruct the lookahead.
   3670 	* tests/calc.at (Calculator $1): Update the expected lengths of
   3671 	traces: there is an added line for the discarded lookahead.
   3672 	* doc/bison.texinfo (Destructor Decl): Some rewording.
   3673 	Define "discarded" symbols.
   3674 
   3675 2004-09-02  Akim Demaille  <akim (a] epita.fr>
   3676 
   3677 	* data/lalr1.cc (translate_, destruct_): No reason to be static.
   3678 
   3679 2004-09-02  Akim Demaille  <akim (a] epita.fr>
   3680 
   3681 	* data/glr.c, yacc.c (YYDSYMPRINT): Remove, not used.
   3682 	(YYDSYMPRINTF): Rename as...
   3683 	(YY_SYMBOL_PRINT): this.
   3684 	* data/lalr1.cc (YY_SYMBOL_PRINT): New, modeled after the previous
   3685 	two.
   3686 	Use it instead of direct symprint_ calls.
   3687 	(yybackup): Tweak the "Now at end of input" case to match yacc.c's
   3688 	one.
   3689 
   3690 2004-09-02  Akim Demaille  <akim (a] epita.fr>
   3691 
   3692 	* data/lalr1.cc (b4_yysymprint_generate): New.
   3693 	(symprint_): New member function, defined when YYDEBUG.
   3694 	Use it consistently instead of token/nterm debugging output by
   3695 	hand.
   3696 	* tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): Adjust
   3697 	%printer calls to use cdebug_ when using lalr1.cc.
   3698 
   3699 2004-08-30  Florian Krohm  <florian (a] edamail.fishkill.ibm.com>
   3700 
   3701 	* data/glr.c: Guard the declarations of yypstack and yypdumpstack
   3702 	with #ifdef YYDEBUG.
   3703 
   3704 2004-08-26  Akim Demaille  <akim (a] epita.fr>
   3705 
   3706 	* doc/bison.texinfo (Implementing Loops): Rename as...
   3707 	(Implementing Gotos/Loops): this.
   3708 
   3709 2004-08-13  Paul Eggert  <eggert (a] cs.ucla.edu>
   3710 
   3711 	Adjust to latest gnulib.
   3712 	* bootstrap (gnulib_modules): Add xalloc-die.
   3713 	Set LC_ALL=C so that file names sort consistently.
   3714 	Prefer the gnulib copies of gettext.m4, glibc21.m4,
   3715 	inttypes_h.m4, lib-ld.m4, lib-prefix.m4, po.m4, stdint_h.m4,
   3716 	uintmax_t.m4, ulonglong.m4.
   3717 	(intl_files_to_remove): Add gettext.m4, lib-ld.m4, lib-prefix.m4,
   3718 	po.m4 since we are now using _gl.m4 instead.
   3719 
   3720 2004-08-10  Florian Krohm  <florian (a] edamail.fishkill.ibm.com>
   3721 
   3722 	* src/scan-action.l: Remove. Scanning of semantic actions is
   3723 	handled in scan-gram.l.
   3724 
   3725 2004-08-07  Florian Krohm  <florian (a] edamail.fishkill.ibm.com>
   3726 
   3727 	* src/scan-gram.l (handle_syncline): Use uniqstr_new not xstrdup.
   3728 
   3729 	* src/location.h (struct): The file member is a uniqstr.
   3730 	(equal_boundaries): Use UNIQSTR_EQ for comparison.
   3731 
   3732 2004-07-22  Paul Eggert  <eggert (a] cs.ucla.edu>
   3733 
   3734 	Fix bug with non-%union parsers that have printers or destructors,
   3735 	which led to a Bison core dump.  Reported by Peter Fales in
   3736 	<http://lists.gnu.org/archive/html/bug-bison/2004-07/msg00014.html>.
   3737 
   3738 	* data/c.m4 (b4_symbol_actions): Don't assume %union was used.
   3739 	* data/lalr1.cc (yystype) [defined YYSTYPE]: Define to YYSTYPE,
   3740 	not to our own type.
   3741 	* src/output.c (symbol_destructors_output, symbol_printers_output):
   3742 	Don't assume %union.
   3743 	* tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR,
   3744 	AT_CHECK_PRINTER_AND_DESTRUCTOR): New argument
   3745 	UNION-FLAG.  All callers changed.
   3746 	(_AT_CHECK_PRINTER_AND_DESTRUCTOR): Don't assume %union.
   3747 	Use type char, not unsigned int, when declaring an array of char;
   3748 	this lets us remove a cast.
   3749 	(Printers and Destructors): Add non-%union test cases.
   3750 
   3751 2004-06-21  Paul Eggert  <eggert (a] cs.ucla.edu>
   3752 
   3753 	* doc/bison.texinfo: Minor editorial changes, mostly to the new
   3754 	GLR writeups.  E.g., avoid frenchspacing and the future tense,
   3755 	change "lookahead" to "look-ahead", and change "wrt" to "with
   3756 	respect to".
   3757 
   3758 2004-06-21  Paul Hilfinger  <hilfingr (a] CS.Berkeley.EDU>
   3759 
   3760 	* doc/bison.texinfo (Merging GLR Parses, Compiler Requirements):
   3761 	New sections, split off from the GLR Parsers section.  Put the new
   3762 	Simple GLR Parser near the start of the GLR section, for clarity.
   3763 	Rewrite connective text.
   3764 
   3765 2004-06-21  Frank Heckenbach  <frank (a] g-n-u.de>
   3766 
   3767 	* doc/bison.texinfo (Simple GLR Parsers): New section.
   3768 
   3769 2004-06-21  Paul Eggert  <eggert (a] cs.ucla.edu>
   3770 
   3771 	* NEWS, TODO, doc/bison.texinfo:
   3772 	Use "look-ahead" instead of "lookahead", to be consistent.
   3773 	* REFERENCES: Fix incorrect reference to DeRemer and Pennello,
   3774 	while we're fixing "look-ahead".
   3775 	* src/conflicts.c (shift_set): Renamed from shiftset.
   3776 	(look_ahead_set): Renamed from lookaheadset.
   3777 	* src/print.c: Likewise.
   3778 	* src/getargs.c (report_args): Add "look-ahead" as the new canonical
   3779 	name for "lookahead".
   3780 	(report_types, usage): Likewise.
   3781 	* src/getargs.h (report_look_ahead_tokens): Renamed from
   3782 	report_lookaheads.
   3783 	* src/lalr.c (compute_look_ahead_tokens): Renamed from
   3784 	compute_lookaheads.
   3785 	(state_look_ahead_tokens_count): Renamed from state_lookaheads_count.
   3786 	(look_ahead_tokens_print): Renamed from lookaheads_print.
   3787 	* src/state.c (state_rule_look_ahead_tokens_print): Renamed from
   3788 	state_rule_lookaheads_print.
   3789 	* src/state.h: Likewise.
   3790 	(reductions.look_ahead_tokens): Renamed from lookaheads.
   3791 	* tests/torture.at (AT_DATA_LOOK_AHEAD_TOKENS_GRAMMAR): Renamed from
   3792 	AT_DATA_LOOKAHEADS_GRAMMAR.
   3793 
   3794 2004-06-03  Paul Eggert  <eggert (a] cs.ucla.edu>
   3795 
   3796 	* README: Update location of patched M4 distribution.
   3797 
   3798 2004-05-30  Albert Chin-A-Young  <china (a] thewrittenword.com>
   3799 
   3800 	Don't assume the C++ compiler takes the same arguments as the C compiler
   3801 	(trivial change).
   3802 	* configure.ac (O0CXXFLAGS): New var.
   3803 	* tests/atlocal.in (CXXFLAGS): Use it.
   3804 
   3805 2004-05-29  Paul Eggert  <eggert (a] cs.ucla.edu>
   3806 
   3807 	Fix some "make check" problems with C++ reported by
   3808 	Albert Chin-A-Young for Tru64 C++ in this thread:
   3809 	http://lists.gnu.org/archive/html/bug-bison/2004-05/msg00049.html
   3810 
   3811 	* m4/cxx.m4 (BISON_TEST_FOR_WORKING_CXX_COMPILER): Check for std::cerr.
   3812 	* tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR):
   3813 	Output to a .cc file for C++, not to a .c file.
   3814 	* tests/calc.at (AT_CHECK_CALC): Likewise.
   3815 	* tests/regression.at (AT_CHECK_DANCER): Likewise.
   3816 	* tests/local.at (AT_COMPILE_CXX): Default to OUTPUT.cc, not OUTPUT.c.
   3817 
   3818 2004-05-28  Albert Chin-A-Young  <china (a] thewrittenword.com>
   3819 
   3820 	* tests/calc.at, tests/actions.at: Workaround for SGI
   3821 	C++ compiler.  (trivial change)
   3822 
   3823 2004-05-27  Paul Eggert  <eggert (a] cs.ucla.edu>
   3824 
   3825 	Spent a few hours checking out which prerequisite versions the
   3826 	current sources actually require.  I went all the way back to
   3827 	Gettext 0.10.40, Automake 1.4, and Autoconf 2.57 and investigated
   3828 	a seemingly endless set of combinations of versions more recent
   3829 	than that.  The bottom line is that the current sources require
   3830 	fairly recent versions of the build tools, and it'll be some work
   3831 	to change this.
   3832 	* configure.ac (AC_PREREQ): Increase from 2.58 to 2.59.
   3833 	(AM_INIT_AUTOMAKE): Increase from 1.7 to 1.8.
   3834 	(AM_GNU_GETTEXT_VERSION): Increase from 0.11.5 to 0.12.
   3835 	Add comments explaining why those particular versions are
   3836 	currently needed.
   3837 
   3838 	* src/parse-gram.y (lloc_default): Rewrite to avoid compiler bug
   3839 	in SGI MIPSpro 7.4.1m.  Problem reported by Albert Chin-A-Young in
   3840 	<http://lists.gnu.org/archive/html/bug-bison/2004-05/msg00037.html>.
   3841 
   3842 	* configure.ac (AC_PREREQ): Bump to 2.58, since 2.57 doesn't work
   3843 	(it fails with a Autoconf-without-aclocal-m4 diagnostic).
   3844 
   3845 2004-05-26  Paul Eggert  <eggert (a] cs.ucla.edu>
   3846 
   3847 	* configure.ac (AM_GNU_GETTEXT_VERSION): Lower it from 0.14.1 to
   3848 	0.11.5.  Suggested by Bruno Haible.
   3849 	* bootstrap: Remove gettext version checking.
   3850 
   3851 	* doc/bison.texinfo (Decl Summary): Also mention that %union
   3852 	can depend on prerequisite types.  Problem reported by Tim
   3853 	Van Holder.
   3854 
   3855 2004-05-25  Paul Eggert  <eggert (a] cs.ucla.edu>
   3856 
   3857 	* README: Mention GNU m4 1.4 bugs and Akim's patched version.
   3858 	* README-alpha: Don't tell people not to package this.
   3859 
   3860 	* bootstrap: Don't assume $(...) works; use `...` instead.
   3861 	Problem reported by Paul Hilfinger.  Also, diagnose non-GNU
   3862 	gettext better.
   3863 
   3864 	* doc/bison.texinfo (Decl Summary, Bison Options): Clarify what's
   3865 	put into the -d output file, and mention what to do if YYSTYPE is
   3866 	defined as a macro.
   3867 
   3868 2004-05-24  Paul Eggert  <eggert (a] cs.ucla.edu>
   3869 
   3870 	Undo change made earlier today: it caused autopoint to not bring
   3871 	in ABOUT-NLS.  Ouch.  Instead, substitute our own diagnostic for
   3872 	autopoint's.
   3873 
   3874 	* bootstrap: Check that gettext version matches what's in
   3875 	configure.ac.  Warn users to ignore robots.txt ERROR 404.
   3876 	* bootstrap: Undo today's earlier change (logged below).
   3877 	* configure.ac (AM_GNU_GETTEXT_VERSION): Likewise.
   3878 
   3879 	The gettext version checking is causing more trouble than it's
   3880 	curing; remove it.  Problem reported by Paul Hilfinger.
   3881 
   3882 	* bootstrap: Issue a warning that one can expect a message
   3883 	'AM_GNU_GETTEXT is used, but not AM_GNU_GETTEXT_VERSION'.
   3884 	* configure.ac (AM_GNU_GETTEXT_VERSION): Remove.
   3885 
   3886 2004-05-23  Paul Eggert  <eggert (a] cs.ucla.edu>
   3887 
   3888 	Ensure that the C++ compiler used for testing actually works on a
   3889 	simple test program; if not, skip the C++-related tests.  Problem
   3890 	reported by Vin Shelton in:
   3891 	http://lists.gnu.org/archive/html/bug-bison/2004-05/msg00026.html
   3892 
   3893 	* m4/cxx.m4: New file.
   3894 	* configure.ac (BISON_TEST_FOR_WORKING_CXX_COMPILER): Add.
   3895 	* tests/atlocal.in (BISON_CXX_WORKS): Add.
   3896 	* tests/local.at (AT_COMPILE_CXX): Use it.
   3897 
   3898 2004-05-21  Paul Eggert  <eggert (a] cs.ucla.edu>
   3899 
   3900 	* data/glr.c (yylloc): Output this macro even if locations are not
   3901 	being generated, as the GLR parser needs it even in that case.
   3902 	Problem reported by Troy A. Johnson
   3903 	<http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=195946>.
   3904 
   3905 	* configure.ac (AC_INIT): Update to 1.875e.
   3906 
   3907 2004-05-21  Paul Eggert  <eggert (a] cs.ucla.edu>
   3908 
   3909 	* NEWS: Version 1.875d.
   3910 	* configure.ac (AC_INIT): Likewise.
   3911 	* src/parse-gram.c, src/parse-gram.h: Regenerate with 1.875d.
   3912 
   3913 	* configure.ac (--enable-gcc-warnings): Do not enable -Wshadow,
   3914 	-Wmissing-prototypes, or -Wstrict-prototypes for C++.  The current
   3915 	lalr1.cc runs afoul of the first, and the last two are no longer
   3916 	supported by GCC 3.4.0.
   3917 	* README: Mention GNU m4 1.4 or later; mention m4 patches.
   3918 	* HACKING: Use ./bootstrap, not "make update" to import foreign files.
   3919 
   3920 2004-05-06  Paul Eggert  <eggert (a] cs.ucla.edu>
   3921 
   3922 	* src/muscle_tab.c (hash_muscle): Accept and return size_t, not
   3923 	unsigned int, for compatibility with latest gnulib hash module.
   3924 	* src/state.c (state_hash, state_hasher): Likewise.
   3925 	* src/symtab.c (hash_symbol, hash_symbol_hasher): Likewise.
   3926 	* src/uniqstr.c (hash_uniqstr): Likewise.
   3927 
   3928 2004-05-03  Paul Eggert  <eggert (a] cs.ucla.edu>
   3929 
   3930 	* NEWS: Unescaped newlines are no longer allowed in char & strings.
   3931 
   3932 	* src/scan-gram.l (<SC_ESCAPED_STRING,SC_ESCAPED_CHARACTER,
   3933 	SC_CHARACTER,SC_STRING>): Reject unescaped newlines in
   3934 	character and string literals.
   3935 	(unexpected_end): New function.
   3936 	(unexpected_eof): Use it.
   3937 	(unexpected_newline): New function.
   3938 	(<INITIAL,SC_AFTER_IDENTIFIER,SC_PRE_CODE>): Coalesce duplicate
   3939 	actions.
   3940 
   3941 	* NEWS: Document %expect-rr.
   3942 
   3943 	* bootstrap (--gnulib-srcdir=*, --cvs-user=*):
   3944 	Fix typo by replacing $1 with $option.
   3945 	Remove more 'intl'-related files.
   3946 	Don't DEFUN AM_INTL_SUBDIR twice.
   3947 
   3948 	* lib/.cvsignore: Add strndup.h.  Remove memchr.c, memcmp.c,
   3949 	memrchr.c, strcasecmp.c, strchr.c, strrchr.c, strspn.c, strtol.c,
   3950 	strtoul.c.
   3951 	* m4/.cvsignore: Add exitfail.m4, extensions.m4, gnulib.m4,
   3952 	hard-locale.m4, mbstate_t.m4, strerror_r.m4, strndup.m4,
   3953 	xstrndup.m4.  Remove glibc21.m4, intdiv0.m4, inttypes-pri.m4,
   3954 	inttypes.m4, inttypes_h.m4, isc-posix.m4, lcmessage.m4,
   3955 	stdint_h.m4, uintmax_t.m4, ulonglong.m4.
   3956 	* src/.cvsignore: Add *.output.
   3957 
   3958 	* src/parse-gram.y: Put copyright notice inside %{ %} so it
   3959 	gets copied to the output file.
   3960 
   3961 2004-04-28  Paul Eggert  <eggert (a] twinsun.com>
   3962 
   3963 	Get files from the gnulib and po repositories, instead of relying
   3964 	on them being in our CVS.  Upgrade to latest versions of gnulib
   3965 	and Automake.
   3966 
   3967 	* Makefile.am (SUBDIRS): Remove m4; Automake now does m4.
   3968 	* bootstrap: Bootstrap from gnulib and po repositories.
   3969 	Much of this code was stolen from GNU diff and GNU tar's bootstrap.
   3970 	* README-cvs: Document these changes.  Remove version numbers from
   3971 	mentions of build tools, since they change so often.  Mention Flex.
   3972 
   3973 	* configure.ac (AC_CONFIG_MACRO_DIR): Add, with m4 as arg.
   3974 	(gl_USE_SYSTEM_EXTENSIONS): Add.
   3975 	(AC_GNU_SOURCE, AC_AIX, AC_MINIX):
   3976 	Remove; no longer needed, as gl_USE_SYSTEM_EXTENSIONS
   3977 	does this for us.
   3978 	(AC_ISC_POSIX): Remove; we no longer support this
   3979 	ancient OS, as it gets in the way of latest Autoconf & gnulib.
   3980 	(AC_HEADER_STDC): Remove: we now assume C89 or better.
   3981 	(AC_CHECK_HEADERS_ONCE): Use instead of AC_CHECK_HEADERS.
   3982 	Do not check for C89 headers, except for locale.h which is used
   3983 	by the Yacc library and must port to K&R hosts.
   3984 	(AC_CHECK_FUNCS_ONCE): Use instead of AC_CHECK_FUNCS.
   3985 	Do not check for C89 functions, except for setlocale which is
   3986 	used by the Yacc library.
   3987 	(AC_CHECK_DECLS, AC_REPLACE_FUNCS): Remove; no longer needed.
   3988 	(gl_DIRNAME, gl_ERROR, gl_FUNC_ALLOCA, gl_FUNC_MEMCHR,
   3989 	gl_FUNC_MEMRCHR, gl_FUNC_STPCPY, gl_FUNC_STRNLEN, gl_FUNC_STRTOL,
   3990 	gl_GETOPT, gl_HASH, gl_MBSWIDTH, gl_OBSTACK, gl_QUOTE,
   3991 	gl_QUOTEARG, gl_XALLOC, jm_FUNC_GLIBC_UNLOCKED_IO, jm_FUNC_MALLOC,
   3992 	AM_GNU_GETTEXT): Remove; now done by:
   3993 	(GNULIB_AUTOCONF_SNIPPET): Add.  "bootstrap" builds this for us.
   3994 	(AC_CONFIG_FILES): Remove m4/Makefile, as Automake now does this
   3995 	for us.
   3996 
   3997 	* lib/Makefile.am: Include gnulib.mk, built for us by "bootstrap".
   3998 	(BUILT_SOURCES, EXTRA_DIST, MOSTLYCLEANFILES):
   3999 	Define to empty, as gnulib.mk will do the rest for us.
   4000 	($(libbison_a_OBJECTS), stdbool.h): Remove, as gnulib.mk does this
   4001 	for us.
   4002 	(libbison_a_SOURCES): Define to $(lib_SOURCES) now.
   4003 	(lib_SOURCES): New symbol, containing only the non-gnulib libs.
   4004 
   4005 	* src/files.c: Include gnulib's xstrndup.h.
   4006 
   4007 	* src/system.h (MALLOC): Use xnmalloc, for better overflow checking.
   4008 	(REALLOC): Use xnrealloc, for likewise.
   4009 	(xstrndup, stpcpy): Remove decls, as gnulib does this for us now.
   4010 	(strnlen, memrchr): Remove decls; functions no longer used.
   4011 	Include <stpcpy.h>.
   4012 
   4013 	* config/depcomp, config/install-sh, lib/alloca.c, lib/argmatch.c,
   4014 	lib/argmatch.h, lib/basename.c, lib/dirname.c, lib/dirname.h,
   4015 	lib/error.c, lib/error.h, lib/getopt.c, lib/getopt.h,
   4016 	lib/getopt1.c, lib/gettext.h, lib/hash.c, lib/hash.h,
   4017 	lib/malloc.c, lib/mbswidth.c, lib/mbswidth.h, lib/memchr.c,
   4018 	lib/memcmp.c, lib/memrchr.c, lib/obstack.c, lib/obstack.h,
   4019 	lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h,
   4020 	lib/realloc.c, lib/stdbool_.h, lib/stpcpy.c, lib/strcasecmp.c,
   4021 	lib/strchr.c, lib/strncasecmp.c, lib/strnlen.c, lib/strrchr.c,
   4022 	lib/strspn.c, lib/strtol.c, lib/strtoul.c, lib/unlocked-io.h,
   4023 	lib/xalloc.h, lib/xmalloc.c, lib/xstrdup.c, lib/xstrndup.c,
   4024 	m4/Makefile.am, m4/alloca.m4, m4/dirname.m4, m4/dos.m4,
   4025 	m4/error.m4, m4/getopt.m4, m4/hash.m4, m4/malloc.m4,
   4026 	m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4, m4/memcmp.m4,
   4027 	m4/memrchr.m4, m4/obstack.m4, m4/onceonly.m4, m4/prereq.m4,
   4028 	m4/quote.m4, m4/quotearg.m4, m4/realloc.m4, m4/stdbool.m4,
   4029 	m4/stpcpy.m4, m4/strnlen.m4, m4/strtol.m4, m4/strtoul.m4,
   4030 	m4/unlocked-io.m4, m4/xalloc.m4, po/LINGUAS, po/Makefile.in.in,
   4031 	po/Makevars, po/da.po, po/de.po, po/es.po, po/et.po, po/fr.po,
   4032 	po/hr.po, po/id.po, po/it.po, po/ja.po, po/ms.po, po/nl.po,
   4033 	po/pt_BR.po, po/ro.po, po/ru.po, po/sv.po, po/tr.po:
   4034 	Remove, as these files are now generated automatically
   4035 	by bootstrap or automake.
   4036 
   4037 	* po/ChangeLog: Remove: all but one entry was a duplicate
   4038 	of this file, and I moved that 2000-11-02 entry here.
   4039 
   4040 	* config/.cvsignore: Add Makefile, depcomp, install-sh.
   4041 	* lib/.cvsignore: Add alloca.c, alloca.h, alloca_.h, argmatch.c,
   4042 	argmatch.h, basename.c, dirname.c, dirname.h, error.c, error.h,
   4043 	exit.h, exitfail.c, exitfail.h, getopt.c, getopt.h, getopt1.c,
   4044 	getopt_int.h, gettext.h, gnulib.mk, hard-locale.c, hard-locale.h,
   4045 	hash.c, hash.h, malloc.c, mbswidth.c, mbswidth.h, memchr.c,
   4046 	memcmp.c, memrchr.c, obstack.c, obstack.h, quote.c, quote.h,
   4047 	quotearg.c, quotearg.h, realloc.c, stdbool_.h, stpcpy.c, stpcpy.h,
   4048 	strcasecmp.c, strchr.c, stripslash.c, strncasecmp.c, strndup.c,
   4049 	strnlen.c, strrchr.c, strspn.c, strtol.c, strtoul.c,
   4050 	unlocked-io.h, xalloc.h, xmalloc.c, xstrdup.c, xstrndup.c,
   4051 	xstrndup.h.
   4052 	* m4/.cvsignore: Remove Makefile, Makefile.in.  Add alloca.m4,
   4053 	dirname.m4, dos.m4, error.m4, getopt.m4, hash.m4, mbrtowc.m4,
   4054 	mbswidth.m4, obstack.m4, onceonly.m4, quote.m4, quotearg.m4,
   4055 	stdbool.m4, stpcpy.m4, strnlen.m4, unlocked-io.m4, xalloc.m4.
   4056 	* po/.cvsignore: Add *.po, LINGUAS, Makefile.in.in, Makevars.
   4057 	* src/.cvsignore: Remove *_.c.
   4058 
   4059 
   4060 	* Makefile.maint (GZIP_ENV): Don't use --rsyncable if gzip doesn't
   4061 	support it.  (The latest stable gzip doesn't.)
   4062 
   4063 2004-04-27  Paul Eggert  <eggert (a] twinsun.com>
   4064 
   4065 	* data/lalr1.cc (Parser::stos_) [! YYDEBUG]: Define even in this
   4066 	case, as stos_ is now used by destructors due to the 2004-02-09
   4067 	change.
   4068 
   4069 	Remove more K&R C support.
   4070 	* lib/libiberty.y (PARAMS): Remove.  All uses removed.
   4071 	* lib/subpipe.c (errno): Remove decl.
   4072 	Include <stdlib.h> unconditionally.
   4073 	(EXIT_FAILURE): Remove macro.
   4074 	* src/complain.c (vfprintf, strerror): Remove.
   4075 	* src/system.h: Include limits.h, stdlib.h, string.h, locale.h
   4076 	unconditionally.
   4077 	(EXIT_FAILURE, EXIT_SUCCESS, setlocale): Remove defns.
   4078 	Use latest Autoconf recommendations for including inttypes.h, stdint.h.
   4079 	(strchr, strspn, memchr): Remove decls.
   4080 	* tests/calc.at (_AT_DATA_CALC_Y): Include stdlib.h, string.h
   4081 	unconditionally.  Do not declare perror.
   4082 	* tests/conflicts.at (%nonassoc and eof): Include stdlib.h
   4083 	unconditionally.
   4084 
   4085 	* src/complain.c (_): Remove useless defn, as system.h defines this.
   4086 
   4087 	* lib/bitset.h (__INT_TO_PTR): Remove; workaround no longer needed
   4088 	with latest obstack.h.
   4089 	* lib/ebitset.c (ebitset_elt_alloc): Don't bother to cast args
   4090 	to procedure types, as obstack.h now does that for us.
   4091 	* lib/lbitset.c (lbitset_elt_alloc): Likewise.
   4092 
   4093 	* lib/subpipe.h [HAVE_SYS_TYPES_H]: Include <sys/types.h>,
   4094 	so that this include file can stand alone.
   4095 	* lib/subpipe.c: Do not include <sys/types.h>, as subpipe.h
   4096 	does this now.  Include subpipe.h first after config.h, to
   4097 	test whether it can stand alone.
   4098 
   4099 	* tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): Don't
   4100 	declare yyerror when using lalr.cc, as GCC 3.4.0 warns about the
   4101 	unused declaration.
   4102 
   4103 	* tests/synclines.at (%union synch line): Put a dummy member in
   4104 	the union, because empty unions aren't allowed in C.  Caught
   4105 	by GCC 3.4.0.
   4106 
   4107 2004-04-13  Jim Meyering  <jim (a] meyering.net>
   4108 
   4109 	* src/conflicts.c (conflicts_print): Correct format string typo:
   4110 	use `%%' to produce literal `%'.  (trivial change)
   4111 
   4112 2004-03-30  Paul Eggert  <eggert (a] twinsun.com>
   4113 
   4114 	* src/getargs.c (version): Update copyright year to 2004.
   4115 
   4116 	* data/c.m4 (b4_int_type): Use 'short int' rather than
   4117 	'short', and similarly for 'long', 'unsigned', etc.
   4118 	* data/glr.c (YYTRANSLATE, yyconfl, yySymbol, yyItemNum,
   4119 	yygetLRActions, yyprocessOneStack, yyrecoverSyntaxError,
   4120 	yy_yypstack, yydumpstack): Likewise.
   4121 	* data/lalr1.cc (user_token_number_max_, user_token_number_max_,
   4122 	translate_, seq_, [], pop, Slice, range_, operator+, operator+=):
   4123 	Likewise.
   4124 	* data/yacc.c (b4_int_type, yyss, YYSTACK_BYTES, yysigned_char,
   4125 	yy_stack_print, yyparse): Likewise.
   4126 	* doc/bison.texinfo (Prologue, Multiple Types): Likewise.
   4127 	* lib/bbitset.h (bitset_word, BITSET_WORD_BITS): Likewise.
   4128 	* lib/bitset.c (bitset_print): Likewise.
   4129 	* lib/bitset_stats.c (bitste_log_histogram_print): Likewise.
   4130 	* lib/bitsetv-print.c (bitsetv_matrix_dump): Likewise.
   4131 	* lib/bitsetv.c (bitsetv_dump): Likewise.
   4132 	* lib/ebitset.c (EBITSET_ELT_BITS, ebitset_elt_alloc): Likewise.
   4133 	* lib/lbitset.c (LBITSET_ELT_BITS, lbitset_elt_alloc, debug_lbitset):
   4134 	Likewise.
   4135 	* src/LR0.c (allocate_itemsets): Likewise.
   4136 	* src/gram.h (rule_number, rule): Likewise.
   4137 	* src/lalr.h (goto_number): Likewise.
   4138 	* src/nullable.c (nullable_compute): Likewise.
   4139 	* src/output.c (prepare_rules): Likewise.
   4140 	* src/relation.c (relation_print, relation_digraph): Likewise.
   4141 	* src/relation.h (relation_node): Likewise.
   4142 	* src/state.h (state_number, transitions, errs, reductions,
   4143 	struct state): Likewise.
   4144 	* src/symtab.h (symbol_number, struct symbol): Likewise.
   4145 	* src/tables.c (vector_number, tally, action_number,
   4146 	default_goto, goto_actions): Likewise.
   4147 	* tests/existing.at (GNU Cim Grammar): Likewise.
   4148 	* tests/regression.at (Web2c Actions): Likewise.
   4149 
   4150 	* src/output.c (muscle_insert_short_int_table): Renamed from
   4151 	muscle_insert_short_table.  All uses changed.
   4152 
   4153 2004-03-25  Paul Hilfinger  <hilfingr (a] tully.CS.Berkeley.EDU>
   4154 
   4155 	* src/parse-gram.y: Define PERCENT_EXPECT_RR.
   4156 	(declaration): Replace expected_conflicts with expected_sr_conflicts.
   4157 	Add %expect-rr rule.
   4158 
   4159 	* src/scan-gram.l: Recognize %expect-rr.
   4160 
   4161 	* src/conflicts.h (expected_sr_conflicts): Rename from
   4162 	expected_conflicts.
   4163 	(expected_rr_conflicts): Declare.
   4164 
   4165 	* src/conflicts.c (expected_sr_conflicts): Rename from
   4166 	expected_conflicts.
   4167 	(expected_rr_conflicts): Define.
   4168 	(conflicts_print): Check r/r conflicts against expected_rr_conflicts
   4169 	for GLR parsers.
   4170 	Use expected_sr_conflicts in place of expected_conflicts.
   4171 	Warn if expected_rr_conflicts used in non-GLR parser.
   4172 
   4173 	* doc/bison.texinfo: Add documentation for %expect-rr.
   4174 
   4175 2004-03-08  Paul Eggert  <eggert (a] gnu.org>
   4176 
   4177 	Add support for hex token numbers.  Suggested by Odd Arild Olsen in
   4178 	<http://lists.gnu.org/archive/html/bison-patches/2004-03/msg00000.html>.
   4179 
   4180 	* NEWS: Document hexadecimal tokens, no NUL bytes, %destructor
   4181 	in lalr1.cc.
   4182 	* doc/bison.texinfo (Token Decl): Add hexadecimal token numbers.
   4183 	* src/scan-gram.l (scan_integer): New function.
   4184 	({int}): Use it.
   4185 	(0[xX][0-9abcdefABCDEF]+): New pattern, to support hex numbers.
   4186 	(<SC_ESCAPED_STRING,SC_ESCAPED_CHARACTER>, \\x[0-9abcdefABCDEF]+,
   4187 	handle_action_dollar, handle_action_at, convert_ucn_to_byte):
   4188 	Say "long int", not "long", for uniformity with GNU style.
   4189 
   4190 2004-02-25  Paul Eggert  <eggert (a] twinsun.com>
   4191 
   4192 	* tests/local.at (AT_COMPILE, AT_COMPILE_CXX): Ignore stdout from
   4193 	compilers.  This fixes a problem with Intel's C++ compiler being
   4194 	chatty, reported by Guido Trentalancia in
   4195 	<http://lists.gnu.org/archive/html/bug-bison/2004-02/msg00030.html>.
   4196 
   4197 2004-02-09  Alexandre Duret-Lutz  <adl (a] gnu.org>
   4198 
   4199 	Support %destructor and merge error locations in lalr1.cc.
   4200 
   4201 	* data/lalr1.cc (b4_cxx_destruct_def): New macro.
   4202 	(Parser::stos_): Define unconditionally.
   4203 	(Parser::destruct_): New method.  Generate its body with
   4204 	b4_yydestruct_generate.
   4205 	(Parser::error_start_): New attribute.
   4206 	(Parser::parse) <yyerrlab, yyerrlab1>: Call destruct_ on erroneous
   4207 	token which are discarded.
   4208 	(Parser::parse) <yyerrlab, yyerrorlab, yyerrlab1>: Update
   4209 	error_start_ when erroneous token are discarded.
   4210 	(Parser::parse) <yyerrlab1>: Compute the location of the error
   4211 	token so that it covers all the discarded tokens.
   4212 	* tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): Adjust so
   4213 	it can be called with `%skeleton "lalr1.cc"', and do that.
   4214 
   4215 2004-02-02  Paul Eggert  <eggert (a] twinsun.com>
   4216 
   4217 	* src/Makefile.am (AM_CPPFLAGS): New macro.  It mentions
   4218 	$(top_srcdir)/lib and ../lib.  This fixes a bug reported
   4219 	by Paul Hilfinger; the old INCLUDES value didn't mention ../lib.
   4220 	There's no need to mention top_builddir since Automake does that
   4221 	for us.
   4222 	(INCLUDES): Remove, as Automake says it's obsolescent.
   4223 	Contents migrated into AM_CPPFLAGS as described above.
   4224 	* lib/Makefile.am (INCLUDES): Remove; obsolescent.
   4225 
   4226 2004-01-14  Paul Hilfinger  <hilfingr (a] CS.Berkeley.EDU>
   4227 
   4228 	* data/glr.c (yytokenName): Bullet-proof against YYEMPTY token.
   4229 	(yyreportSyntaxError): Handle case where lookahead token is
   4230 	YYEMPTY.
   4231 
   4232 2004-01-13  Paul Hilfinger  <Hilfinger (a] CS.Berkeley.EDU>
   4233 
   4234 	* data/glr.c: Put casts on uses of YYREALLOC and YYMALLOC so that
   4235 	resulting parsers are compilable with C++.
   4236 
   4237 2003-12-23  Paul Eggert  <eggert (a] twinsun.com>
   4238 
   4239 	* config/depcomp, config/install-sh: Sync with Automake 1.8.
   4240 	* src/output.c (output_skeleton): Rename local var.
   4241 	* tests/input.at (Torturing the Scanner): Don't use \x0 or \0 in
   4242 	Bison tokens, as this runs afoul of the 2003-10-07 change that
   4243 	disallowed NUL bytes in character constants or string literals.
   4244 
   4245 	* tests/local.at: Require Autoconf 2.59's Autotest.
   4246 	* tests/testsuite.at: Don't include local.at, since we now assume
   4247 	Autoconf 2.59 or later.  Autoconf 2.59 had some problems with
   4248 	including it.
   4249 	* tests/Makefile.am ($(TESTSUITE)): Remove warning about ignoring
   4250 	multiple inclusion warnings.
   4251 
   4252 2003-12-02  Akim Demaille  <akim (a] epita.fr>
   4253 
   4254 	* doc/bison.texinfo (How Can I Reset the Parser): More about start
   4255 	conditions.
   4256 	From Bruno Haible.
   4257 
   4258 2003-11-18  Alexandre Duret-Lutz  <adl (a] gnu.org>
   4259 
   4260 	* doc/bison.texinfo (Bison Options): Escape `@' in `$@'.
   4261 
   4262 2003-10-07  Paul Eggert  <eggert (a] twinsun.com>
   4263 
   4264 	* tests/Makefile.am (clean-local): Don't run 'testsuite --clean'
   4265 	if testsuite doesn't exist.
   4266 
   4267 	* doc/bison.texinfo (Symbols): NUL bytes are not allowed in string
   4268 	literals, unfortunately.
   4269 	* src/scan-gram.l (<SC_ESCAPED_STRING,SC_ESCAPED_CHARACTER>):
   4270 	Complain about NUL bytes in character constants or string literals.
   4271 
   4272 2003-10-05  Paul Eggert  <eggert (a] twinsun.com>
   4273 
   4274 	* NEWS: Don't document %no-default-prec, as it's still
   4275 	too experimental.
   4276 	* doc/bison.texinfo: Document %no-default-prec only if
   4277 	the defaultprec flag is set.  Normally it's not.
   4278 
   4279 2003-10-04  Paul Eggert  <eggert (a] twinsun.com>
   4280 
   4281 	* data/glr.c (b4_rhs_value, b4_rhs_location): Yield a
   4282 	non-modifiable lvalue, instead of a modifiable one.
   4283 	* doc/bison.texinfo (Actions): Document that $$ can
   4284 	be assigned to.  Do not claim that $$ and $N are
   4285 	array element references: user code should not rely on this.
   4286 
   4287 2003-10-01  Paul Eggert  <eggert (a] twinsun.com>
   4288 
   4289 	* src/parse-gram.h (PERCENT_NO_DEFAULT_PREC): New token.
   4290 	(grammar_declaration): Use it.
   4291 	* src/scan-gram.l: New token %no-default-prec.
   4292 	* tests/conflicts.at: Revamp tests to use %no-default-prec.
   4293 	* NEWS, doc/bison.texinfo: Document the above.
   4294 
   4295 2003-10-01  Akim Demaille  <akim (a] epita.fr>
   4296 
   4297 	VCG no longer supports long_straight_phase.
   4298 
   4299 	* src/vcg.c, src/vcg.h: Remove the handling of long_straight_phase.
   4300 	* src/print_graph.c (print_graph): Adjust.
   4301 
   4302 2003-09-30  Frank Heckenbach  <frank (a] g-n-u.de>
   4303 	and Paul Eggert  <eggert (a] twinsun.com>
   4304 
   4305 	* doc/bison.texinfo (Decl Summary, Contextual Precedence,
   4306 	Table of Symbols): Document %default-prec.
   4307 	* src/parse-gram.y (PERCENT_DEFAULT_PREC): New token.
   4308 	(grammar_declaration): Set default_prec on %default-prec.
   4309 	* src/scan-gram.l (%default-prec): New token.
   4310 	* src/reader.h (default_prec): New flag.
   4311 	* src/reader.c: Likewise.
   4312 	(packgram): Handle it.
   4313 	* tests/conflicts.at (%default-prec without %prec,
   4314 	%default-prec with %prec, %default-prec 1): New tests.
   4315 
   4316 2003-09-30  Paul Eggert  <eggert (a] twinsun.com>
   4317 
   4318 	* tests/testsuite.at: Include local.at, not input.at, fixing
   4319 	a typo in the 2003-08-25 patch.
   4320 
   4321 2003-08-27  Akim Demaille  <akim (a] epita.fr>
   4322 
   4323 	* data/lalr1.cc (yyparse) [__GNUC__]: "Use" yyerrorlab to pacify
   4324 	GCC warnings.
   4325 
   4326 2003-08-26  Akim Demaille  <akim (a] epita.fr>
   4327 
   4328 	* config/announce-gen (print_changelog_deltas): Neutralize "<#" as
   4329 	"<\#" to avoid magic from Gnus when posting parts of this script.
   4330 
   4331 2003-08-26  Akim Demaille  <akim (a] epita.fr>
   4332 
   4333 	* data/lalr1.cc (Parser::report_syntax_error_): New, extracted from
   4334 	(Parser::parse): here.
   4335 	Adjust: nerrs and errstatus is now replaced by...
   4336 	(Parser::nerrs_, Parser::errstatus_): New.
   4337 
   4338 2003-08-25  Akim Demaille  <akim (a] epita.fr>
   4339 
   4340 	* config/announce-gen, Makefile.cfg: New.
   4341 	* Makefile.am: Adjust.
   4342 	* GNUmakefile, Makefile.maint: Update from CVS Autoconf, but
   4343 	keeping local WGET and WGETFLAGS modifications from Paul Eggert.
   4344 
   4345 2003-08-25  Akim Demaille  <akim (a] epita.fr>
   4346 
   4347 	When reducing initial empty rules, Bison parser read an initial
   4348 	location that is not defined.  This results in garbage, and that
   4349 	affects Bison's own parser.  Therefore we need (i) to extend Bison
   4350 	to support a means to initialize this location, and (ii) to use
   4351 	this CVS Bison to fix CVS Bison's parser.
   4352 
   4353 	* src/reader.h, reader.c (epilogue_augment): Remove, replace
   4354 	with...
   4355 	* src/muscle_tab.h, src/muscle_tab.c (muscle_code_grow): this.
   4356 	* src/parse-gram.y: Adjust.
   4357 	(%initial-action): New.
   4358 	(%error-verbose): Since we require CVS Bison, there is no reason
   4359 	not to use it.
   4360 	* src/scan-gram.l: Adjust.
   4361 	* src/Makefile.am (YACC): New, to make sure we use our own parser.
   4362 	* data/yacc.c (yyparse): Use b4_initial_action.
   4363 
   4364 2003-08-25  Akim Demaille  <akim (a] epita.fr>
   4365 
   4366 	* doc/bison.texinfo: Don't promote stdout for error messages.
   4367 
   4368 2003-08-25  Akim Demaille  <akim (a] epita.fr>
   4369 
   4370 	* data/lalr1.cc (Parser::reduce_print_): Remove unused yyi.
   4371 	From Alexandre Duret-Lutz.
   4372 
   4373 2003-08-25  Akim Demaille  <akim (a] epita.fr>
   4374 
   4375 	Version 1.875c.
   4376 
   4377 2003-08-25  Akim Demaille  <akim (a] epita.fr>
   4378 
   4379 	* data/lalr1.cc (Parser::stack_print_, YY_STACK_PRINT): New.
   4380 	Use them.
   4381 
   4382 2003-08-25  Akim Demaille  <akim (a] epita.fr>
   4383 
   4384 	* data/lalr1.cc (Parser::reduce_print_): New.
   4385 	Use it.
   4386 
   4387 2003-08-25  Akim Demaille  <akim (a] epita.fr>
   4388 
   4389 	Have lalr1.cc catch with Paul Eggert's patch to fix the infinite
   4390 	error recovery loops.  This patch is based on
   4391 	<http://lists.gnu.org/archive/html/bison-patches/2003-06/msg00000.html>.
   4392 	Also, augment the similarity between lalr1.cc and yacc.c.
   4393 	Note: the locations of error recovery rules are not correct yet.
   4394 
   4395 	* data/lalr1.cc: Comment changes to augment the similarity between
   4396 	lalr1.cc and yacc.c.
   4397 	(YYERROR): Goto to yyerrorlab, not yyerrlab1.
   4398 	(yyerrlab1): Remove, but where it used to be (now the bottom part of
   4399 	yyerrlab), when hitting EOF, pop the whole stack here instead of
   4400 	merely falling thru the default error handling mechanism.
   4401 	(yyerrorlab): New label, with the old contents of YYERROR,
   4402 	plus the following change: pop the stack of rhs corresponding
   4403 	to the production that invoked YYERROR.  That is how Yacc
   4404 	behaves (required by POSIX).
   4405 	* tests/calc.at (AT_CHECK_CALC_LALR1_CC): No longer expected to
   4406 	fail.
   4407 
   4408 2003-08-25  Akim Demaille  <akim (a] epita.fr>
   4409 
   4410 	Tune local.at so that people can "autom4te -l autotest calc.at -o
   4411 	calc" for instance, to extract a sub test suite.
   4412 
   4413 	* tests/testsuite.at: Move the initialization, Autotest version
   4414 	requirement, and AT_TESTED invocation into...
   4415 	* tests/local.at: here.
   4416 	* tests/testsuite.at: Include it for compatibility with Autoconf
   4417 	2.57.
   4418 	* tests/Makefile.am ($(TESTSUITE)): Report that the warning should
   4419 	be ignore.
   4420 
   4421 2003-08-04  Paul Eggert  <eggert (a] twinsun.com>
   4422 
   4423 	Rework code slightly to avoid gcc -Wtraditional warnings.
   4424 	* data/glr.c (yyuserMerge): Return void, not YYSTYPE.
   4425 	The returned value is now stored in *YY0.  All callers changed.
   4426 	* src/output.c (merge_output): Adjust to the above change.
   4427 
   4428 2003-07-26  Paul Eggert  <eggert (a] twinsun.com>
   4429 
   4430 	* data/glr.c (YYASSERT): New macro.
   4431 	(yyfillin, yydoAction, yyglrReduce, yysplitStack,
   4432 	yyresolveStates, yyprocessOneStack):
   4433 	Use `YYASSERT (FOO);' rather than `if (! (FOO)) abort ();'.
   4434 	Derived from a suggestion by Frank Heckenbach.
   4435 
   4436 2003-07-25  Paul Eggert  <eggert (a] twinsun.com>
   4437 
   4438 	* data/glr.c (yyglrReduce): Don't use C89 string concatenation,
   4439 	for portability to K&R C (after ansi2knr, presumably).  See
   4440 	<http://lists.gnu.org/archive/html/bison-patches/2003-06/msg00041.html>
   4441 	by Frank Heckenbach, though I have omitted the structure-initialization
   4442 	part of his glr-knr.diff patch since I recall that the Portable
   4443 	C Compiler didn't require that change.
   4444 
   4445 	Let the user specify how to allocate and free memory.
   4446 	Derived from a suggestion by Frank Heckenbach in
   4447 	<http://lists.gnu.org/archive/html/bison-patches/2003-06/msg00041.html>.
   4448 	* data/glr.c (YYFREE, YYMALLOC, YYREALLOC): New macros.
   4449 	All uses of free, malloc, realloc changed to use these macros,
   4450 	and unnecessary casts removed.
   4451 	* data/yacc.c (YYFREE, YYMALLOC): Likewise.
   4452 
   4453 2003-07-06  Matthias Mann  <MatthiasMann (a] gmx.de>
   4454 
   4455 	* data/lalr1.cc (operator<<(std::ostream&, const Position&)):
   4456 	use s.empty() rather than s == "" to test for empty string; see
   4457 	<http://lists.gnu.org/archive/html/bison-patches/2003-07/msg00003.html>
   4458 	(trivial change)
   4459 
   4460 2003-06-25  Akim Demaille  <akim (a] epita.fr>
   4461 
   4462 	* config/depcomp, config/install-sh: Update from masters.
   4463 
   4464 2003-06-20  Paul Eggert  <eggert (a] twinsun.com>
   4465 
   4466 	* data/glr.c (YYLLOC_DEFAULT): Parenthesize arguments as needed,
   4467 	and return properly parenthesized result.
   4468 	* data/lalar1.cc (YYLLOC_DEFAULT): Likewise.
   4469 	* data/yacc.c (YYLLOC_DEFAULT): Likewise.
   4470 	Remove unnecessary parentheses from uses.
   4471 	* doc/bison.texinfo (Location Default Action): Describe the
   4472 	conventions for parentheses.
   4473 
   4474 2003-06-19  Paul Eggert  <eggert (a] twinsun.com>
   4475 
   4476 	* data/glr.c (yyremoveDeletes, yy_reduce_print, yyglrReduce,
   4477 	yyreportTree): Do not assume that size_t is the same width as int,
   4478 	when printing sizes.  Print sizes using an unsigned format.
   4479 	Problem reported by Frank Heckenbach in
   4480 	<http://lists.gnu.org/archive/html/bison-patches/2003-06/msg00035.html>.
   4481 
   4482 	Port to Forte Developer 7 C compiler.
   4483 	* data/glr.c (struct YYLTYPE): If locations are not being used,
   4484 	declare a single dummy member, as empty structs do not conform
   4485 	to the C standard.
   4486 	(YYERROR, YYBACKUP): Do not use "do { ...; return foo; } while (0)";
   4487 	the Forte Developer 7 C compiler complains that end-of-loop
   4488 	code is not reached.
   4489 
   4490 2003-06-17  Paul Eggert  <eggert (a] twinsun.com>
   4491 
   4492 	* lib/libiberty.h (PARAMS): Spell argument as Args, not as X, to
   4493 	avoid warnings from picky compilers about redefinition of PARAMS.
   4494 
   4495 2003-06-17  Paul Eggert  <eggert (a] twinsun.com>
   4496 
   4497 	Version 1.875b.
   4498 
   4499 	* NEWS: Document 1.875b.
   4500 
   4501 	* lib/bbitset.h: Do not include config.h; that's the includer's job.
   4502 	Do not include <sys/types.h>; shouldn't be needed on a C89 host.
   4503 	* lib/bitset.h (bitset_compatible_p): Indent as per GNU standard.
   4504 	Don't use 'index' in comments, as it's a builtin fn on some hosts.
   4505 	* lib/bitset_stats.c: Include gettext.h unconditionally, as
   4506 	per recent gettext manual's suggestion.
   4507 	* lib/ebitset.c (ebitset_resize, ebitset_unused_clear):
   4508 	Use prototypes, not old-style definitions.
   4509 	* lib/lbitset.c (lbitset_unused_clear): Likewise.
   4510 	* lib/vbitset.c (vbitset_resize, vbitset_ones, vbitset_zero,
   4511 	vbitset_empty_p, vbitset_copy1, vbitset_not, vbitset_equal_p,
   4512 	vbitset_subset_p, vbitset_disjoint_p, vbitset_and, vbitset_and_cmp,
   4513 	vbitset_andn, vbitset_andn_cmp, vbitset_or, vbitset_or_cmp,
   4514 	vbitset_xor, vbitset_xor_cmp, vbitset_and_or, vbitset_and_or_cmp,
   4515 	vbitset_andn_or, vbitset_andn_or_cmp, vbitset_or_and,
   4516 	vbitset_or_and_cmp, vbitset_copy): Likewise.
   4517 
   4518 	* lib/libiberty.h: Do not include config.h; that's the includer's job.
   4519 	Do not include <stdlib.h>.
   4520 	(PARAMS): Define unconditionally for C89.
   4521 	(ATTRIBUTE_NORETURN): Remove.
   4522 	(ATTRIBUTE_UNUSED): Define unconditionally.
   4523 
   4524 	Upgrade to 2003-06-08 libbitset, submitted by Michael Hayes in:
   4525 	<http://lists.gnu.org/archive/html/bison-patches/2003-06/msg00005.html>
   4526 	* lib/Makefile.am (bitsets_sources): Add vbitset.c, vbitset.h.
   4527 	* lib/vbitset.c, lib/vbitset.h: New files.
   4528 	* lib/abitset.c, lib/bbitset.h, lib/bitset.c, lib/bitset.h,
   4529 	lib/bitset_stats.c, lib/ebitset.c, lib/lbitset.c: Import
   4530 	from libbitset.
   4531 
   4532 	* doc/bison.texinfo (How Can I Reset the Parser): Renamed from
   4533 	`How Can I Reset @code{yyparse}', since texinfo does not allow
   4534 	arbitrary @ in node names.
   4535 
   4536 	* m4/Makefile.am (EXTRA_DIST): Add the following files, which
   4537 	shouldn't be needed according to the gettext 0.12.1 documentation
   4538 	but which seem to be needed anyway: codeset.m4 glibc21.m4
   4539 	intdiv0.m4 inttypes-pri.m4 inttypes.m4 inttypes_h.m4 isc-posix.m4
   4540 	lcmessage.m4 nls.m4 po.m4 stdint_h.m4 uintmax_t.m4 ulonglong.m4.
   4541 	* po/Makefile.in.in: Upgrade to gettext 0.12.1 version.
   4542 
   4543 	* lib/.cvsignore: Add stdbool.h.
   4544 	* m4/.cvsignore: Add nls.m4, po.m4.
   4545 
   4546 	Upgrade to CVS gnulib.
   4547 	* stdbool_.h: File renamed from stdbool.h.in.
   4548 	* configure.ac (AM_STDBOOL_H): Invoke this instead of
   4549 	AC_HEADER_STDBOOL.
   4550 	(AM_GNU_GETTEXT): Put brackets around args, as latest manual suggests.
   4551 	(AM_GNU_GETTEXT_VERSION): Update to 0.12.1.
   4552 	* lib/Makefile.am (EXTRA_DIST): Add stdbool_.h.
   4553 	(MOSTLYCLEANFILES): New var.
   4554 	($(libbison_a_OBJECTS)): Depend on $(STDBOOL_H).
   4555 	(stdbool.h): New rule.
   4556 	* lib/dirname.c, lib/dirname.h, lib/hash.c, lib/hash.h,
   4557 	lib/malloc.c, lib/obstack.h, lib/quote.c, lib/realloc.c,
   4558 	lib/strcasecmp.c, lib/xalloc.h, m4/alloca.m4, m4/onceonly.m4,
   4559 	m4/quote.m4: Upgrade to today's gnulib.
   4560 
   4561 	* tests/calc.at (AT_CHECK_CALC): New option EXPECTED-TO-FAIL.
   4562 	(AT_CHECK_CALC_LALR1_CC): Use it, since the C++ LALR parser fails
   4563 	the tests right now.
   4564 	* tests/cxx-type.at (_AT_TEST_GLR_CXXTYPES): Ensure yylex and
   4565 	yyerror are declared before use; C99 requires this.
   4566 
   4567 2003-06-09  Paul Hilfinger  <Hilfinger (a] CS.Berkeley.EDU>
   4568 
   4569 	* data/glr.c (YYERROR): Update definition to reset yyerrState to 0
   4570 	first.
   4571 	(yyrecoverSyntaxError): Correct the logic for setting and testing
   4572 	yyerrState.
   4573 	Correct comment on handling EOF.
   4574 	Allow states with only a default reduction, rather than failing
   4575 	(I can't quite reconstruct why these were not allowed before).
   4576 
   4577 	Fixes to avoid problem that $-N rules in GLR parsers can cause
   4578 	buffer overruns, corrupting state.
   4579 
   4580 	* src/output.c (prepare_rules): Output max_left_semantic_context
   4581 	definition.
   4582 	* src/reader.h (max_left_semantic_context): New variable declaration.
   4583 	* src/scan-gram.l (max_left_semantic_context): Define.
   4584 	(handle_action_dollar): Update max_left_semantic_context.
   4585 	* data/glr.c (YYMAXLEFT): New definition.
   4586 	(yydoAction): Increase size of yyrhsVals by YYMAXLEFT.
   4587 	(yyresolveAction): Ditto.
   4588 
   4589 	Fixes to problems with location handling in GLR parsers reported by
   4590 	Frank Heckenbach (2003/06/05).
   4591 
   4592 	* data/glr.c (YYLTYPE): Make trivial if locations not used.
   4593 	(YYRHSLOC): Add parentheses, and define only if locations used.
   4594 	(YYLLOC_DEFAULT): Add parentheses, and give trivial definition if
   4595 	locations not used.
   4596 	(yyuserAction): Use YYLLOC_DEFAULT to set *yylocp.
   4597 	(yydoAction): Remove redundant initialization of *yyvalp and *yylocp.
   4598 
   4599 	* tests/cxx-type.at: Exercise location information; update tests
   4600 	to differentiate output with and without locations.
   4601 	Remove forward declarations of yylex and yyerror---caused errors
   4602 	because default YYLTYPE not yet defined.
   4603 	Change semantic actions to compute strings, rather than printing
   4604 	them directly (to test proper passing of semantics values).  Change
   4605 	output to prefix notation and update test data and expected results.
   4606 	(yylex): Track locations.
   4607 	(stmtMerge): Return value rather than printing, and include arguments
   4608 	in value.
   4609 
   4610 2003-06-03  Paul Eggert  <eggert (a] twinsun.com>
   4611 
   4612 	Avoid warnings generated by GCC 2.95.4 when Bison is
   4613 	configured with --enable-gcc-warnings.
   4614 	* data/lalr1.cc (yy::]b4_parser_class_name[::parse,
   4615 	yy::]b4_parser_class_name[::translate_,
   4616 	yy::Stack::operator[] (unsigned),
   4617 	yy::Stack::operator[] (unsigned) const,
   4618 	yy::Slice::operator[] (unsigned),
   4619 	yy::Slice::operator[] (unsigned) const):
   4620 	Rename local vars to avoid warnings.
   4621 	* tests/glr-regression.at (Improper handling of embedded actions
   4622 	and $-N in GLR parsers): Remove unused local variable from yylex.
   4623 	* tests/regression.at (_AT_DATA_DANCER_Y): Declare yylex to take
   4624 	(void) as arg when not pure, since we now assume C89 when building
   4625 	Bison.  Pacify GCC by using parameter.
   4626 
   4627 2003-06-02  Paul Eggert  <eggert (a] twinsun.com>
   4628 
   4629 	* data/lalr1.cc (yy::Position::lines, yy::Position::columns,
   4630 	yy::Location::lines, yy::Location::columns): Rename arguments
   4631 	to avoid shadowing; this removes a warning generated by GCC 3.3.
   4632 
   4633 2003-06-01  Paul Eggert  <eggert (a] twinsun.com>
   4634 
   4635 	Don't pass C-only warning optins (e.g., -Wmissing-declarations)
   4636 	to g++, as GCC 3.3 complains if you do it.
   4637 	* configure.ac (WARNING_CXXFLAGS): New subst.  Set it to
   4638 	everything that WARNING_CFLAGS has, except omit warnings
   4639 	not suitable for C++.
   4640 	(AC_PROG_CXX): Use this instead of AC_CHECK_PROGS([CXX], [g++]).
   4641 	* tests/atlocal.in (CXXFLAGS): New var.
   4642 	* tests/local.at (AT_COMPILE_CXX): Use it instead of CFLAGS.
   4643 
   4644 	Fix a GLR parser bug I reported in February; see
   4645 	<http://lists.gnu.org/archive/html/bison-patches/2003-02/msg00008.html>.
   4646 	The problem was that GLR parsers did not conform to the C standard,
   4647 	because actions like { $1 = $2 + $3; } expanded to expressions
   4648 	that invoked YYFILL in separate subexpressions, and YYFILL assigned
   4649 	to a local variable.  The C standard says that expressions
   4650 	like (var = f ()) + (var = f ()) have undefined behavior.
   4651 	Another problem was that GCC sometimes issues warnings that
   4652 	yyfill and its parameters are unused.
   4653 
   4654 	* data/glr.c (yyfillin): Renamed from the old yyfill.  Mark
   4655 	as possibly unused.
   4656 	(yyfill): New function.
   4657 	(YYFILL): Use it.
   4658 	(yyuserAction): Change type of yynormal to bool, so that it matches
   4659 	the new yyfill signature.  Mark it as possibly unused.
   4660 
   4661 
   4662 	Follow up on a bug I reported in February, where a Bison-generated
   4663 	parser can loop.  Provide a test case and a fix for yacc.c.  I
   4664 	don't have a fix for lalr1.cc or for glr.c, unfortunately.
   4665 	The original bug report is in:
   4666 	<http://lists.gnu.org/archive/html/bison-patches/2003-02/msg00044.html>
   4667 
   4668 	* data/yacc.c (YYERROR): Now just 'goto yyerrorlab', since the
   4669 	macro's size was becoming unwieldy.
   4670 	(yyerrlab): Do not discard an empty lookahead symbol, as this
   4671 	might destroy garbage.
   4672 	(yyerrorlab): New label, with the old contents of YYERROR,
   4673 	plus the following change: pop the stack of rhs corresponding
   4674 	to the production that invoked YYERROR.  That is how Yacc
   4675 	behaves, and POSIX requires this behavior.
   4676 	(yyerrlab1): Use YYPOPSTACK instead of its definiens.
   4677 	* tests/calc.at (_AT_DATA_CALC_Y): Include unistd.h if available.
   4678 	Define 'alarm' to do nothing if unistd.h is not available.
   4679 	Add a new rule "exp: '-' error;" to test the above change to
   4680 	data/yacc.c.  Use 'alarm' to abort any test taking longer than
   4681 	10 seconds, as it's probably looping.
   4682 	(AT_CHECK_CALC): Test recovery from error in new grammar rule.
   4683 	Also, the new yacc.c generates two fewer diagnostics for an
   4684 	existing test.
   4685 
   4686 2003-05-24  Paul Eggert  <eggert (a] twinsun.com>
   4687 
   4688 	* data/glr.c (YYSTACKEXPANDABLE): Do not evaluate
   4689 	YYSTYPE_IS_TRIVIAL or YYSTYPE_IS_TRIVIAL unless they are defined.
   4690 	This fixes a problem reported by John Bowman when the Compaq/HP
   4691 	Alpha cxx compiler happy (e.g. using cxx -D__USE_STD_IOSTREAM
   4692 	-ansi -Wall -gall).
   4693 	* data/yacc.c (union yyalloc): Likewise.
   4694 	(YYCOPY): Do not evaluate __GNUC__ unless it is defined.
   4695 
   4696 	Switch from 'int' to 'bool' where that makes sense.
   4697 
   4698 	* lib/abitset.c (abitset_test, abitset_empty_p, abitset_equal_p,
   4699 	abitset_subset_p, abitset_disjoint_p, abitset_and_cmp,
   4700 	abitset_andn_cmp, abitset_or_cmp, abitset_xor_cmp, abitset_and_or,
   4701 	abitset_and_or_cmp, abitset_andn_or_cmp, abitset_or_and_cmp):
   4702 	Return or accept bool, not int.  All callers changed.
   4703 	* lib/bbitset.h: (bitset_toggle_, bitset_copy_, bitset_and_or_cmp_,
   4704 	bitset_andn_or_cmp_, bitset_or_and_cmp_): Likewise.
   4705 	* lib/bitset.c (bitset_only_set_p, bitset_print, bitset_toggle_,
   4706 	bitset_copy_, bitset_op4_cmp, bitset_and_or_cmp_, bitset_andn_or_cmp_,
   4707 	bitset_or_and_cmp_): Likewise.
   4708 	* lib/bitset.h (bitset_test, bitset_only_set_p): Likewise.
   4709 	* lib/bitset_stats.c (bitset_stats_print, bitset_stats_toggle,
   4710 	bitset_stats_test, bitset_stats_empty_p, bitset_stats_disjoint_p,
   4711 	bitset_stats_equal_p, bitset_stats_subset_p, bitset_stats_and_cmp,
   4712 	bitset_stats_andn_cmp, bitset_stats_or_cmp, bitset_stats_xor_cmp,
   4713 	bitset_stats_and_or_cmp, bitset_stats_andn_or_cmp,
   4714 	bitset_stats_or_and_cmp): Likewise.
   4715 	* lib/ebitset.c (ebitset_elt_zero_p, ebitset_equal_p, ebitset_copy_cmp,
   4716 	ebitset_test, ebitset_empty_p, ebitset_subset_p, ebitset_disjoint_p,
   4717 	ebitset_op3_cmp, ebitset_and_cmp, ebitset_andn_cmp, ebitset_or_cmp,
   4718 	ebitset_xor_cmp): Likewise.
   4719 	* lib/lbitset.c (lbitset_elt_zero_p, lbitset_equal_p, lbitset_copy_cmp,
   4720 	lbitset_test, lbitset_empty_p, lbitset_subset_p, lbitset_disjoint_p,
   4721 	lbitset_op3_cmp, lbitset_and_cmp, lbitset_andn_cmp, lbitset_or_cmp,
   4722 	lbitset_xor_cmp): Likewise.
   4723 	* lib/bbitset.h: Include <stdbool.h>.
   4724 	(struct bitset_vtable): The following members now return bool, not
   4725 	int: toggle, test, empty_p, disjoint_p, equal_p, subset_p,
   4726 	and_cmp, andn_cmp, or_cmp, xor_cmp, and_or_cmp, andn_or_cmp,
   4727 	or_and_cmp).
   4728 	* src/conflicts.c (count_rr_conflicts): Likewise.
   4729 	* lib/bitset_stats.h (bitset_stats_enabled): Now bool, not int.
   4730 	All uses changed.
   4731 	* lib/ebitset.c (ebitset_obstack_init): Likewise.
   4732 	* lib/lbitset.c (lbitset_obstack_init): Likewise.
   4733 	* src/getargs.c (debug_flag, defines_flag, locations_flag,
   4734 	no_lines_flag, no_parser_flag, token_table_flag, yacc_flag,
   4735 	graph_flag): Likewise.
   4736 	* src/getargs.h (debug_flag, defines_flag, locations_flag,
   4737 	no_lines_flag, no_parser_flag, token_table_flag, yacc_flag,
   4738 	graph_flag): Likewise.
   4739 	* src/output.c (error_verbose): Likewise.
   4740 	* src/output.h (error_verbose): Likewise.
   4741 	* src/reader.c (start_flag, typed): Likewise.
   4742 	* src/reader.h (typed): Likewise.
   4743 	* src/getargs.c (LOCATIONS_OPTION): New constant.
   4744 	(long_options, getargs): Use it.
   4745 	* src/lalr.c (build_relations): Use bool, not int.
   4746 	* src/nullable.c (nullable_compute): Likewise.
   4747 	* src/print.c (print_reductions): Likewise.
   4748 	* src/tables.c (action_row, pack_vector): Likewise.
   4749 	* src/muscle_tab.h (MUSCLE_INSERT_BOOL): New macro.
   4750 	* src/output.c (prepare): Use it.
   4751 	* src/output.c (token_definitions_output,
   4752 	symbol_destructors_output, symbol_destructors_output): Use string,
   4753 	not boolean integer, to keep track of whether to output separator.
   4754 	* src/print_graph.c (print_core): Likewise.
   4755 	* src/state.c (state_rule_lookaheads_print): Likewise.
   4756 
   4757 	* config/install-sh: Sync from automake 1.7.5.
   4758 
   4759 2003-05-14  Paul Eggert  <eggert (a] twinsun.com>
   4760 
   4761 	* src/parse-gram.y (rules_or_grammar_declaration): Require a
   4762 	semicolon after a grammar declaration, in the interest of possible
   4763 	future changes to the Bison input language.
   4764 	Do not allow a stray semicolon at the start of the grammar.
   4765 	(rhses.1): Allow one or more semicolons after any rule, including
   4766 	just before "|" as required by POSIX.
   4767 	* tests/input.at (Torturing the Scanner): Add tests for ";|" in a
   4768 	grammar.
   4769 
   4770 2003-05-14  Alexandre Duret-Lutz  <adl (a] gnu.org>
   4771 
   4772 	%parse-param support for lalr1.cc.
   4773 
   4774 	* data/lalr1.cc (b4_parse_param_decl, b4_parse_param_cons,
   4775 	b4_cc_constructor_calls, b4_cc_constructor_call,
   4776 	b4_parse_param_vars, b4_cc_var_decls, b4_cc_var_decl): New m4
   4777 	definitions.
   4778 	(yy::b4_parser_class_name::b4_parser_class_name): Take extra
   4779 	parse-param arguments.
   4780 	(yy::b4_parser_class_name): Declare instance variables to
   4781 	hold parse-param arguments.
   4782 	* tests/calc.at: s/value/semantic_value/ because value clashes
   4783 	with a member of yy::b4_parser_class_name.  Adjust C++ code
   4784 	to handle %parse-param.  Enable %parse-param test in C++.
   4785 
   4786 2003-05-12  Paul Eggert  <eggert (a] twinsun.com>
   4787 
   4788 	* doc/bison.texinfo (How Can I Reset @code{yyparse}): Reword the
   4789 	English a bit.  Fix fclose typo.  Change "const char" to "char
   4790 	const", and use ANSI C rather than K&R for "main".  Suggest
   4791 	YY_FLUSH_BUFFER over yyrestart (as that is what Flex recommends)
   4792 	and suggest yy_switch_to_buffer.
   4793 
   4794 2003-05-05  Paul Eggert  <eggert (a] twinsun.com>
   4795 
   4796 	* lib/bitset.h (__INT_TO_PTR): Define to a value that presumes
   4797 	C89.  This avoids a diagnostic on compilers that define __STDC__
   4798 	to 0, fixing a problem with Tru64 cc reported by Martin Mokrejs in
   4799 	<http://lists.gnu.org/archive/html/bug-bison/2003-04/msg00041.html>.
   4800 
   4801 2003-05-03  Paul Eggert  <eggert (a] twinsun.com>
   4802 
   4803 	* lib/bitset.h (BITSET_FOR_EACH, BITSET_FOR_EACH_REVERSE):
   4804 	Do not overrun array bounds.
   4805 	This should fix a bug reported today by Olatunji Oluwabukunmi in
   4806 	<http://lists.gnu.org/archive/html/bug-bison/2003-05/msg00004.html>.
   4807 
   4808 2003-04-29  Akim Demaille  <akim (a] epita.fr>
   4809 
   4810 	* src/gram.h, src/gram.c (pure_parser, glr_parser): Move to...
   4811 	* src/getargs.c, src/getargs.h: here, as bool, not int.
   4812 	(nondeterministic_parser): New.
   4813 	* src/parse-gram.y, src/scan-gram.l: Support
   4814 	%nondeterministic-parser.
   4815 	* src/output.c (prepare): Use nondeterministic_parser instead
   4816 	of glr_parser where appropriate.
   4817 	* src/tables.c (conflict_row, action_row, save_row)
   4818 	(token_actions, token_actions, pack_vector): Ditto.
   4819 
   4820 2003-04-29  Akim Demaille  <akim (a] epita.fr>
   4821 
   4822 	* doc/bison.texinfo (C++ Parsers, Implementing Loops): New.
   4823 
   4824 2003-04-29  Akim Demaille  <akim (a] epita.fr>
   4825 
   4826 	* tests/calc.at: Also test yacc.c and glr.c (but not lalr1.cc yet)
   4827 	with %pure-parser and %locations to exercise the patch from Yakov
   4828 	Markovitch below.
   4829 
   4830 2003-04-28  Tim Van Holder <tim.van.holder (a] pandora.be>
   4831 
   4832 	* data/yacc.c: (b4_lex_param): Corrected for the case where
   4833 	%lex-param is provided and %pure-parser isn't.
   4834 
   4835 2003-04-27  Paul Eggert  <eggert (a] twinsun.com>
   4836 
   4837 	Avoid gcc -Wundef warnings reported by Gerald Pfeifer in
   4838 	<http://lists.gnu.org/archive/html/bug-bison/2003-04/msg00044.html>.
   4839 	* data/yacc.c (YYSTACK_ALLOC): Don't evaluate YYSTACK_USE_ALLOCA
   4840 	if it is not defined.
   4841 	(YYMAXDEPTH): Don't evaluate YYMAXDEPTH if it is not defined.
   4842 
   4843 2003-04-26  Paul Eggert  <eggert (a] twinsun.com>
   4844 
   4845 	* data/lalr1.cc (yy::Parser::pact_ninf_, yy::Parser::table_ninf_):
   4846 	Declare to be of type suitable for the ninf value itself, not of
   4847 	type suitable for the corresponding table, since the latter might
   4848 	be unsigned but the ninf value might be negative.  This fixes a
   4849 	bug reported by Alexandre Duret-Lutz in
   4850 	<http://lists.gnu.org/archive/html/bug-bison/2003-04/msg00017.html>.
   4851 
   4852 	* configure.ac (AC_FUNC_ERROR_AT_LINE): Remove, since gl_ERROR
   4853 	invokes it.  We shouldn't invoke it twice because it will attempt
   4854 	to put error.o in the archive twice.  This fixes a glitch reported
   4855 	by Martin Mokrejs in
   4856 	<http://lists.gnu.org/archive/html/bug-bison/2003-04/msg00041.html>.
   4857 
   4858 2003-04-21  Paul Eggert  <eggert (a] twinsun.com>
   4859 
   4860 	* m4/error.m4: Update from Bruno Haible's 2003-04-14 patch
   4861 	to gnulib.
   4862 
   4863 2003-04-21  Yakov Markovitch <Markovitch (a] iso.ru>
   4864 
   4865 	* data/glr.c (yyexpandGLRStack) [!YYSTACKEXPANDABLE]:
   4866 	Fix obvious typo that results in uncompilable GLR parsers
   4867 	when both %pure-parser and %locations are used.  (trivial change)
   4868 
   4869 2003-04-17  Paul Eggert  <eggert (a] twinsun.com>
   4870 
   4871 	* src/scan-gram.l: Add %option nounput, since we no longer use unput.
   4872 	(unexpected_eof): Renamed from unexpected_end_of_file, for brevity.
   4873 	Do not insert the expected token via unput, as this runs afoul
   4874 	of a POSIX-compatibility bug in flex 2.5.31.
   4875 	All uses changed to BEGIN the parent state,
   4876 	since we no longer insert the expected token via unput.
   4877 	* tests/regression.at (Invalid inputs): Remove cascaded diagnostic
   4878 	that is no longer emitted after the above change.
   4879 
   4880 	* src/conflicts.c (set_conflicts): Resolve all conflicts, not just
   4881 	the first one.  This change is from Paul Hilfinger, and it fixes
   4882 	regression reported by Werner Lemberg in
   4883 	<http://lists.gnu.org/archive/html/bug-bison/2003-04/msg00026.html>.
   4884 
   4885 	(resolve_sr_conflict): Don't invoke state_errs_set
   4886 	unless one or more tokens have been explicitly made errors.
   4887 	Otherwise, the above change causes Bison to abort.
   4888 
   4889 	* tests/existing.at (GNU pic Grammar): New test case, taken from
   4890 	Lemberg's email.
   4891 
   4892 2003-03-31  Akim Demaille  <akim (a] epita.fr>
   4893 
   4894 	* doc/Makefile.am (AM_MAKEINFOFLAGS): Don't split the info file.
   4895 
   4896 2003-03-31  Akim Demaille  <akim (a] epita.fr>
   4897 
   4898 	* src/output.c (prepare_symbols): Avoid trailing spaces in the
   4899 	output.
   4900 
   4901 2003-03-31  Akim Demaille  <akim (a] epita.fr>
   4902 
   4903 	* doc/bison.texinfo (Strings are Destroyed): s/losses/loses/.
   4904 	From Paul Hilfinger.
   4905 
   4906 2003-03-29  Akim Demaille  <akim (a] epita.fr>
   4907 
   4908 	* m4/error.m4: Do not put under dynamic conditions some code which
   4909 	expansion is under static control.
   4910 
   4911 2003-03-29  Akim Demaille  <akim (a] epita.fr>
   4912 
   4913 	* doc/bison.texinfo (How Can I Reset @code{yyparse}): New.
   4914 
   4915 2003-03-29  Akim Demaille  <akim (a] epita.fr>
   4916 
   4917 	* doc/bison.texinfo (Strings are Destroyed): New.
   4918 
   4919 2003-03-13  Paul Eggert  <eggert (a] twinsun.com>
   4920 
   4921 	* .cvsignore: Add configure.lineno.
   4922 	* src/.cvsignore: Add yacc.
   4923 	* tests/.cvsignore: Add testsuite.log.
   4924 	* doc/fdl.texi: Sync with latest FSF version.
   4925 
   4926 2003-03-12  Paul Eggert  <eggert (a] twinsun.com>
   4927 
   4928 	* scan-gram.l (YY_USER_INIT): Initialize code_start, too.
   4929 	(<INITIAL><<EOF>>, <SC_PRE_CODE><<EOF>>): Set *loc to the scanner
   4930 	cursor, instead of leaving it undefined.  This fixes a bug
   4931 	reported by Tim Van Holder in
   4932 	<http://lists.gnu.org/archive/html/bug-bison/2003-03/msg00023.html>.
   4933 	* tests/input.at (Torturing the Scanner): Test the scanner on
   4934 	an empty input file, which was Tim Van Holder's test case.
   4935 
   4936 	* m4/timevar.m4 (BISON_PREREQ_TIMEVAR): When checking whether
   4937 	<sys/resource.h> can be included, include sys/time.h and
   4938 	sys/times.h first, if available.  This works around the SunOS
   4939 	4.1.4 porting bug reported by Bruce Becker in
   4940 	<http://lists.gnu.org/archive/html/bug-bison/2003-03/msg00018.html>.
   4941 
   4942 	* m4/subpipe.m4 (BISON_PREREQ_SUBPIPE): Don't
   4943 	AC_CHECK_HEADERS([sys/wait.h]), as this interferes with
   4944 	AC_HEADER_SYS_WAIT.
   4945 
   4946 	Merge changes from gnulib.  This was prompted because the CVS
   4947 	snapshot didn't build on Solaris 7 due to strnlen problems.
   4948 
   4949 	These changes need to be merged back into gnulib:
   4950 	* lib/hash.c: Include <stdbool.h> unconditionally.
   4951 	* m4/onceonly.m4 (m4_quote): New macro.
   4952 	(AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
   4953 	Quote AC_FOREACH variable-expansions properly.
   4954 	The 2003-01-03 obstack.h change also needs merging.
   4955 	{end of changes requiring merging}
   4956 
   4957 	* lib/stdbool.h.in, m4/alloca.m4, m4/dirname.m4, m4/dos.m4,
   4958 	m4/getopt.m4, m4/hash.m4, m4/malloc.m4, m4/memchr.m4,
   4959 	m4/memrchr.m4, m4/obstack.m4, m4/onceonly.m4, m4/quote.m4,
   4960 	m4/quotearg.m4, m4/realloc.m4, m4/stpcpy.m4, m4/strnlen.m4,
   4961 	m4/strtol.m4, m4/strtoul.m4, m4/unlocked-io.m4, m4/xalloc.m4:
   4962 	New files, imported from gnulib.
   4963 	* m4/Makefile.am (EXTRA_DIST): Add the new m4/*.m4 files mentioned
   4964 	above.
   4965 
   4966 	* lib/mbswidth.c, m4/error.m4, m4/mbrtowc.m4, m4/mbswidth.m4,
   4967 	m4/memcmp.m4, m4/prereq.m4, m4/stdbool.m4: Update to current
   4968 	gnulib sources.
   4969 
   4970 	* configure.ac (gl_DIRNAME, gl_GETOPT, gl_HASH, gl_QUOTE, gl_XALLOC):
   4971 	Add.
   4972 	(gl_ERROR): New, replacing jm_PREREQ_ERROR.
   4973 	(gl_FUNC_ALLOCA): New, replacing AC_FUNC_ALLOCA.
   4974 	(gl_FUNC_STPCPY): New, replacing AC_REPLACE_FUNCS(stpcpy).
   4975 	(gl_FUNC_STRNLEN): New, replacing AC_FUNC_STRNLEN.
   4976 	(gl_MBSWIDTH): New, replacing jm_PREREQ_MBSWIDTH.
   4977 	(gl_OBSTACK): New, replacing AC_FUNC_OBSTACK.
   4978 	(gl_QUOTEARG): New, replacing jm_PREREQ_QUOTEARG.
   4979 	(jm_FUNC_GLIBC_UNLOCKED_IO, gl_FUNC_STPCPY, gl_FUNC_STRTOL): New.
   4980 	(jm_FUNC_MALLOC): New, replacing AC_FUNC_MALLOC.
   4981 	(jm_FUNC_REALLOC): New, replacing AC_FUNC_REALLOC.
   4982 	(jm_PREREQ_ARGMATCH): Remove.
   4983 	(AC_REPLACE_FUNCS): Remove memchr, memrchr, stpcpy, strtol, strtoul.
   4984 	* lib/Makefile.am (libbison_a_SOURCES): Add argmatch.c, argmatch.h.
   4985 
   4986 	* src/system.h: Include <stdbool.h> unconditionally.
   4987 
   4988 	* lib/bbitset.h: Include <limits.h> unconditionally.  We have been
   4989 	assuming at least C89 in the bitset code for some time now.
   4990 
   4991 2003-03-03  Akim Demaille  <akim (a] epita.fr>
   4992 
   4993 	* ro.po: New.
   4994 
   4995 2003-03-02  Akim Demaille  <akim (a] epita.fr>
   4996 
   4997 	* doc/bison.texinfo (Table of Symbols): Reactivate the
   4998 	documentation for %lex-param, and %parse-param.
   4999 
   5000 2003-03-02  Akim Demaille  <akim (a] epita.fr>
   5001 
   5002 	* data/yacc.c, data/glr.c, data/lal1.cc: Use similar code to
   5003 	generate verbose error messages.
   5004 	Use the number of tokens as an upper bound in yytname, as it
   5005 	cannot be a non terminal.
   5006 
   5007 2003-03-02  Akim Demaille  <akim (a] epita.fr>
   5008 
   5009 	* tests/regression.at (_AT_DATA_DANCER_Y): Fix the expected error
   5010 	message.
   5011 
   5012 2003-03-02  Akim Demaille  <akim (a] epita.fr>
   5013 
   5014 	* tests/regression.at (_AT_DATA_DANCER_Y, AT_CHECK_DANCER): New.
   5015 	Use them to exercise yycheck overrun.
   5016 	Based on Andrew Suffield's grammar.
   5017 
   5018 2003-03-02  Akim Demaille  <akim (a] epita.fr>
   5019 
   5020 	Create tests/local.at for Bison generic testing macros.
   5021 
   5022 	* tests/calc.at (AT_CHECK_PUSHDEFS, AT_CHECK_POPDEFS): Move to...
   5023 	* tests/local.at (AT_BISON_OPTION_PUSHDEFS, AT_BISON_OPTION_POPDEFS):
   5024 	This new file.
   5025 	* tests/calc.at (AT_CHECK_CALC): Adjust.
   5026 	* tests/testsuite.at (AT_DATA_GRAMMAR_PROLOGUE, AT_DATA_GRAMMAR)
   5027 	(AT_COMPILE, AT_COMPILE_CXX, AT_PARSER_CHECK): Move to...
   5028 	* tests/local.at: here.
   5029 	(AT_COMPILE_CXX): Tags the tests using it as c++.
   5030 	Ignore the test if CXX is not functional.
   5031 
   5032 2003-03-01  Paul Eggert  <eggert (a] twinsun.com>
   5033 
   5034 	* src/scan-gram.l (code_start): Initialize it to scanner_cursor,
   5035 	not loc->end, since loc->end might contain garbage and this leads
   5036 	to undefined behavior on some platforms.
   5037 	(id_loc, token_start): Use (IF_LINTed) initial values that do not
   5038 	depend on *loc, so that the reader doesn't give the the false
   5039 	impression that *loc is initialized.
   5040 	(<INITIAL>"%%"): Do not bother setting code_start, since its value
   5041 	does not survive the return.
   5042 
   5043 2003-03-01  Akim Demaille  <akim (a] epita.fr>
   5044 
   5045 	* src/scan-gram.l (code_start): Always initialize it when entering
   5046 	into yylex, as SC_EPILOGUE is activated *before* the corresponding
   5047 	yylex invocation.  An alternative would be making it static, but
   5048 	then it starts with the second %%'s beginning, instead of its end.
   5049 
   5050 2003-02-28  Paul Eggert  <eggert (a] twinsun.com>
   5051 
   5052 	* lib/mbswidth.c: Include <wchar.h> before "mbswidth.h", to work
   5053 	around a UnixWare 7.1.1 porting bug reported by John Hughes in
   5054 	<http://lists.gnu.org/archive/html/bug-bison/2003-02/msg00030.html>.
   5055 
   5056 2003-02-26  Paul Eggert  <eggert (a] twinsun.com>
   5057 
   5058 	* README: Mention compiler bug in Sun Forte Developer 6 update 2.
   5059 	Remove Sequent/Pyramid discussion (nobody uses them any more).
   5060 	Merge VMS and MS-DOS discussion; these ports may well be dead
   5061 	but let's keep mentioning them for now.  Put <> around email
   5062 	addresses.  Add copyright notice.
   5063 
   5064 2003-02-24  Paul Eggert  <eggert (a] twinsun.com>
   5065 
   5066 	* data/glr.c (yy_reduce_print): yylineno -> yylno,
   5067 	to avoid collision with flex use of yylineno.
   5068 	Problem reported by Bruce Lilly in
   5069 	<http://lists.gnu.org/archive/html/bug-bison/2003-02/msg00016.html>.
   5070 	* data/lalr1.cc (yy::]b4_parser_class_name[::parse): Likewise.
   5071 	* data/yacc.c (yy_reduce_print): Likewise.
   5072 
   5073 	* config/depcomp: Sync with Automake 1.7.3.
   5074 
   5075 2003-02-21  Akim Demaille  <akim (a] epita.fr>
   5076 
   5077 	* data/lalr1.cc: Use temporary variables instead of casts to
   5078 	change integer types.
   5079 	Suggested by Paul Eggert.
   5080 
   5081 2003-02-21  Akim Demaille  <akim (a] epita.fr>
   5082 
   5083 	* doc/bison.texinfo: Use "location" consistently to refer to @n,
   5084 	to avoid confusions with lalr1.cc's notion of Position.
   5085 	Suggested by Paul Eggert.
   5086 
   5087 2003-02-20  Akim Demaille  <akim (a] epita.fr>
   5088 
   5089 	* data/lalr1.cc (position.hh): Make sure "columns" never pushes
   5090 	before initial_columns.
   5091 	(location.hh): Use consistent variable names when defining the
   5092 	operator<<.
   5093 	Use "last" so that we subtract from Positions, not from unsigned.
   5094 
   5095 2003-02-20  Akim Demaille  <akim (a] epita.fr>
   5096 
   5097 	* data/lalr1.cc (position.hh): New subfile, including the extended
   5098 	and Doxygen'ed documentation of class Position.
   5099 	(location.hh): Use it.
   5100 	Document a` la Doxygen.
   5101 	With the help of Benoit Perrot.
   5102 
   5103 2003-02-20  Akim Demaille  <akim (a] epita.fr>
   5104 
   5105 	* tests/calc.at (AT_CHECK_PUSHDEFS, AT_CHECK_POPDEFS): Define
   5106 	AT_YACC_IF.
   5107 	Redefine AT_YYERROR_SEES_LOC_IF using it.
   5108 	(_AT_DATA_CALC_Y): Don't declare yyerror when lalr1.cc, as it is
   5109 	not defined.
   5110 	Don't use the location in yy::Parser::error_ and
   5111 	yy::Parser::print_ when not %locations.
   5112 	Activate more lalr1.cc tests.
   5113 
   5114 2003-02-19  Akim Demaille  <akim (a] epita.fr>
   5115 
   5116 	* data/lalr1.cc: When displaying a line number, be sure to make it
   5117 	an int.
   5118 
   5119 2003-02-19  Akim Demaille  <akim (a] epita.fr>
   5120 
   5121 	* data/lalr1.cc (b4_stack_depth_init, yy::Parser::initdepth_):
   5122 	Remove, useless.
   5123 	(YYABORT, YYACCEPT, YYERROR): New.
   5124 	* tests/calc.at: Renable the lalr1.cc test.
   5125 
   5126 2003-02-19  Akim Demaille  <akim (a] epita.fr>
   5127 
   5128 	* tests/calc.at (AT_CHECK_CALC): Check different scenarios of
   5129 	error recovery, mixing with/without pops and discarding of the
   5130 	lookahead.
   5131 	Exercise YYERROR.
   5132 	Disable the lalr1.cc tests as currently it doesn't support YYERROR.
   5133 
   5134 2003-02-17  Paul Eggert  <eggert (a] twinsun.com>
   5135 
   5136 	* tests/atlocal.in (LDFLAGS, LIBS): New vars.
   5137 	* tests/testsuite.at (AT_COMPILE): Use them.
   5138 	This fixes the testsuite problem reported by Robert Lentz in
   5139 	<http://lists.gnu.org/archive/html/bug-bison/2003-02/msg00011.html>.
   5140 
   5141 2003-02-12  Paul Eggert  <eggert (a] twinsun.com>
   5142 
   5143 	* data/yacc.c (yyerrlab) [YYERROR_VERBOSE]:
   5144 	Avoid subscript error in yycheck.  Bug reported by Andrew Suffield in
   5145 	<http://lists.gnu.org/archive/html/bug-bison/2003-02/msg00003.html>.
   5146 	* data/glr.c (yyreportSyntaxError) [YYERROR_VERBOSE]: Likewise.
   5147 	Check for malloc failure, for consistency with yacc.c.
   5148 	(yytname_size): Remove, for consistency with yacc.c.
   5149 
   5150 	The bug still remains in data/lalr1.cc, as I didn't have time
   5151 	to fix it there.
   5152 
   5153 2003-02-06  Akim Demaille  <akim (a] epita.fr>
   5154 
   5155 	* configure.ac (GXX): Rename as...
   5156 	(CXX): this, to keep the original Autoconf semantics.
   5157 	Require 2.57.
   5158 	* data/lalr1.cc: Fix b4_copyright invocations.
   5159 	If YYDEBUG is not defined, don't depend upon name_ being defined.
   5160 	(location.hh): Include string and iostream.
   5161 	(Position::filename): New member.
   5162 	(Position::Position ()): New.
   5163 	(operator<< (Position)): New.
   5164 	(operator- (Position, int)): New.
   5165 	(Location::first, Location::last): Rename as...
   5166 	(Location::begin, Location::end): these, to mock the conventional
   5167 	iterator names.
   5168 	(operator<< (Location)): New.
   5169 	* tests/atlocal.in (CXX): New.
   5170 	* tests/testsuite.at (AT_COMPILE_CXX): New.
   5171 	* tests/calc.at (_AT_DATA_CALC_Y): Adjust yyerror to report the
   5172 	locations in a more synthetic way.
   5173 	(AT_CHECK_PUSHDEFS): AT_YYERROR_SEES_LOC_IF is positive if
   5174 	lalr1.cc is used.
   5175 	Adjust the C locations to match those from Emacs: first column is
   5176 	column 0.
   5177 	Change all the expected results.
   5178 	Conform to the GCS: simplify the locations when applicable.
   5179 	(LOC, VAL, YYLLOC_FORMAL, YYLLOC_ARG, USE_YYLLOC, LEX_FORMALS)
   5180 	(LEX_ARGS, USE_LEX_ARGS, LEX_PRE_FORMALS, LEX_PRE_ARGS): Replace
   5181 	these CPP macros with the m4 macros new defined by...
   5182 	(AT_CHECK_PUSHDEFS): this, i.e.:
   5183 	(AT_LALR1_CC_IF, AT_PURE_LEX_IF, AT_LOC, AT_VAL, AT_LEX_FORMALS)
   5184 	(AT_LEX_ARGS, AT_USE_LEX_ARGS, AT_LEX_PRE_FORMALS, AT_LEX_PRE_ARGS)
   5185 	New macros.
   5186 	(AT_CHECK_POPDEFS): Undefine them.
   5187 	(AT_CHECK_CALC_LALR1_CC): New.
   5188 	Use it for the first lalr1.cc test.
   5189 
   5190 2003-02-04  Akim Demaille  <akim (a] epita.fr>
   5191 
   5192 	* data/lalr1.cc (YYLLOC_DEFAULT): Fix its definition: be based on
   5193 	Location as is defined.
   5194 
   5195 2003-02-04  Akim Demaille  <akim (a] epita.fr>
   5196 
   5197 	* data/lalr1.cc: If YYDEBUG is not defined, don't depend upon
   5198 	name_ being defined.
   5199 
   5200 2003-02-03  Paul Eggert  <eggert (a] twinsun.com>
   5201 
   5202 	* src/gram.h (start_symbol): Remove unused decl.
   5203 
   5204 	Use more-consistent naming conventions for local vars.
   5205 
   5206 	* src/derives.c (derives_compute): Change type of local var from
   5207 	int to rule_number.
   5208 	* src/gram.c (grammar_rules_partial_print): Likewise.
   5209 	* src/print.c (print_core): Likewise.
   5210 	* src/reduce.c (reduce_grammar_tables): Likewise.
   5211 
   5212 	* src/gram.c (grammar_dump): Change name of item_number *
   5213 	local var from r to rp.
   5214 	* src/nullable.c (nullable_compute): Likewise.
   5215 
   5216 	* src/gram.h (ISTOKEN, ISVAR): Use i, not s, for int var.
   5217 
   5218 	* src/gram.h (symbol_number_as_item_number): Use sym, not s,
   5219 	for symbol or symbol_number var.
   5220 	* src/reader.c (grammar_start_symbol_set): Likewise.
   5221 	* src/reader.h (grammar_start_symbol_set, grammar_symbol_append):
   5222 	Likewise.
   5223 	* src/state.c (transitions_to): Likewise.
   5224 	* src/state.h: Likewise.
   5225 	* src/tables.c (symbol_number_to_vector_number): Likewise.
   5226 
   5227 	* src/muscle_tab.h (MUSCLE_OBSTACK_SGROW): Use p, not s, for
   5228 	char * var.
   5229 
   5230 	* src/parse-gram.y (lloc_default): Use loc, not r, for YYLTYPE
   5231 	var.
   5232 
   5233 	* src/scan-gram.l (no_cr_read): Use bytes_read, not s, for size
   5234 	var.
   5235 
   5236 	* src/system.h (xstrndup, strchr, strspn, strnlen, memchr, memrchr):
   5237 	Use str, not s, for char * var.  Use ch, not c, for character var.
   5238 	Use size for size var.
   5239 
   5240 	* src/uniqstr.c (uniqstr_new, uniqstr_assert): Use str, not s, for
   5241 	char * var.
   5242 	(uniqstr_print, uniqst_print_processor): Use ustr, not s, for
   5243 	uniqstr var.
   5244 	* src/uniqstr.h: Likewise.
   5245 
   5246 	* src/vcg.c (get_color_str, get_textmode_str, get_shape_str,
   5247 	get_layoutalgorithm_str, get_decision_str, get_orientation_str,
   5248 	get_node_alignment_str, get_arrow_mode_str, get_crossing_type_str,
   5249 	get_view_str, get_linestyle_str, get_arrowstyle_str): Rename
   5250 	param to have same name as that of enum, so that we don't use
   5251 	"s" to stand for a non-state.
   5252 
   5253 2003-02-02  Akim Demaille  <akim (a] epita.fr>
   5254 
   5255 	* src/scan-skel.l: Scan more than one inert character per yylex
   5256 	invocation.
   5257 
   5258 2003-02-01  Paul Eggert  <eggert (a] twinsun.com>
   5259 
   5260 	Version 1.875a.
   5261 
   5262 	* po/LINGUAS: Add ms.
   5263 
   5264 2003-01-30  Akim Demaille  <akim (a] epita.fr>
   5265 
   5266 	* doc/Makefile.am (CLEANFILES): Add bison.fns for distcheck.
   5267 
   5268 2003-01-29  Paul Hilfinger  <Hilfinger (a] CS.Berkeley.EDU>
   5269 
   5270 	* tests/cxx-type.at: Correct apparent typo in Bison input: $$ instead
   5271 	of $1.
   5272 
   5273 	Changes in response to error report by S. Eken: GLR mode does not
   5274 	handle negative $ indices or $ indices in embedded rules correctly.
   5275 	See <http://lists.gnu.org/archive/html/bug-bison/2003-01/msg00076.html>.
   5276 
   5277 	* data/glr.c (b4_rhs_value): Change to use YYFILL macro.
   5278 	(b4_rhs_location): Ditto.
   5279 	(yyfill): New function to copy from stack tree into array
   5280 	incrementally.
   5281 	(yyuserAction): Modify to allow incremental move of semantic values
   5282 	to rhs array when in GLR mode.
   5283 	Define YYFILL to use in user-defined actions to fill semantic array
   5284 	as needed.
   5285 	Remove dummy use of yystack, as there is now a guaranteed use.
   5286 	(yydoAction): Modify to allow incremental move of semantic values
   5287 	to rhs array when in GLR mode.
   5288 	(yyresolveAction): Ditto.
   5289 	(yyglrShiftDefer): Update comment.
   5290 	(yyresolveStates): Use X == NULL for pointers, not !X.
   5291 	(yyglrReduce): Ditto.
   5292 	(yydoAction): Ditto
   5293 
   5294 	* tests/glr-regr1.at: Rename to ...
   5295 	* tests/glr-regression.at: Add new regression test for the problems
   5296 	described above (adapted from S. Eken).
   5297 	Update copyright notice.
   5298 	* tests/testsuite.at: Rename glr-regr1.at to glr-regression.at.
   5299 	* tests/Makefile.am: Ditto.
   5300 
   5301 2003-01-28  Paul Eggert  <eggert (a] twinsun.com>
   5302 
   5303 	* data/lalr1.cc: Do not use @output_header_name@ unless
   5304 	b4_defines_flag is set.  This fixes two bugs reported by
   5305 	Tim Van Holder in
   5306 	<http://lists.gnu.org/archive/html/bug-bison/2003-01/msg00071.html>
   5307 	and <http://lists.gnu.org/archive/html/bug-bison/2003-01/msg00073.html>.
   5308 
   5309 2003-01-21  Paul Eggert  <eggert (a] twinsun.com>
   5310 
   5311 	* data/yacc.c (YYERROR): Move code from yyerrlab1 to here, so that
   5312 	we don't need to worry about yyerrlab1 being reported as an
   5313 	"unused label" by non-GCC C compilers.  The downside is that if
   5314 	locations are used then a couple of statements are duplicated each
   5315 	time YYERROR is invoked, but the upside is that the warnings
   5316 	should vanish.
   5317 	(yyerrlab1): Move code to YERROR.
   5318 	(yyerrlab2): Remove.  Change uses back to yyerrlab1.
   5319 	This reverts some of the 2002-12-27 change.
   5320 
   5321 2003-01-17  Paul Eggert  <eggert (a] twinsun.com>
   5322 
   5323 	* src/output.c (symbol_printers_output): Fix typo that led
   5324 	to core dump.  Problem reported by Antonio Rus in
   5325 	<http://lists.gnu.org/archive/html/bug-bison/2003-01/msg00058.html>.
   5326 
   5327 2003-01-13  Akim Demaille  <akim (a] epita.fr>,
   5328 		Quoc Peyrot <chojin (a] lrde.epita.fr>,
   5329 		Robert Anisko <anisko_r (a] lrde.epita.fr>
   5330 
   5331 	* data/lalr1.cc (parse::yyerrlab1): When popping the stack, stop
   5332 	when the stacks contain one element, as the loop would otherwise
   5333 	free the last state, and then use the top state (the one we just
   5334 	popped).  This means that the initial elements will not be freed
   5335 	explicitly, as is the case in yacc.c; it is not a problem, as
   5336 	these elements have fake values.
   5337 
   5338 2003-01-11  Paul Eggert  <eggert (a] twinsun.com>
   5339 
   5340 	* NEWS: %expect-violations are now just warnings, reverting
   5341 	to Bison 1.30 and 1.75 behavior.  This fixes the GCC 3.2
   5342 	bootstrapping problem reported by Matthias Klose; see
   5343 	<http://lists.gnu.org/archive/html/bug-bison/2003-01/msg00053.html>.
   5344 	* src/conflicts.c (conflicts_print): Likewise.
   5345 	* tests/conflicts.at (%expect not enough, %expect too much,
   5346 	%expect with reduce conflicts): Likewise.
   5347 	* doc/bison.texinfo (Expect Decl): Document this.  Also mention
   5348 	that the warning is enabled if the number of conflicts changes
   5349 	(not necessarily increases).
   5350 
   5351 	* src/getargs.c (version): Update copyright year.
   5352 
   5353 2003-01-09  Akim Demaille  <akim (a] epita.fr>
   5354 
   5355 	* src/Makefile.am, lib/Makefile.am: Use $(VAR) instead of @VAR@.
   5356 
   5357 2003-01-08  Paul Eggert  <eggert (a] twinsun.com>
   5358 
   5359 	* Makefile.maint (WGETFLAGS):
   5360 	New macro, containing "-C off" to disable proxy caches.
   5361 	All uses of $(WGET) changed to $(WGET) $(WGETFLAGS).
   5362 	(rel-check): Use $(WGET) instead of wget.
   5363 
   5364 2003-01-06  Paul Eggert  <eggert (a] twinsun.com>
   5365 
   5366 	* doc/bison.texinfo (Generalized LR Parsing): Add a reference to
   5367 	the GLR paper of Scott, Johnstone and Hussain.
   5368 
   5369 2003-01-04  Paul Eggert  <eggert (a] twinsun.com>
   5370 
   5371 	* configure.ac (AC_ARG_ENABLE): Add --disable-yacc.
   5372 	(YACC_SCRIPT, YACC_LIBRARY): New vars to AC_SUBST.
   5373 	* lib/Makefile.am (lib_LIBRARIES): liby.a -> @YACC_LIBRARY@.
   5374 	(EXTRA_LIBRARIES): New var, for liby.a.
   5375 	* src/Makefile.am (bin_SCRIPTS): yacc -> @YACC_SCRIPT@.
   5376 	(EXTRA_SCRIPTS): New var, for yacc.
   5377 
   5378 	* data/yacc.c (yyerrlab1): Omit attribute if __cplusplus is defined,
   5379 	since GNU C++ (as of 3.2.1) does not allow attributes on labels.
   5380 	Problem reported by Nelson H. F. Beebe.
   5381 
   5382 2003-01-03  Paul Eggert  <eggert (a] twinsun.com>
   5383 
   5384 	* lib/obstack.h (__INT_TO_PTR) [__STDC__]: Cast result to
   5385 	(void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
   5386 	when compiling Bison 1.875's `bitset bset = obstack_alloc
   5387 	(bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
   5388 
   5389 	* src/scan-skel.l (QPUTS): Omit redundant `;' from macro definition.
   5390 	([^@\n]): Renamed from [^@\n]+ so that the token buffer does not
   5391 	grow to a huge size with typical invocation.
   5392 
   5393 	* lib/hash.c (_Bool, bool, false, true, __bool_true_false_are_defined):
   5394 	Use the pattern recommended by Autoconf 2.57, except also protect
   5395 	against double-definition.
   5396 	* src/system.h: Likewise.
   5397 	Portability issues reported by Nelson H. F. Beebe.
   5398 
   5399 	* data/glr.c (yybool): Renamed from bool, to avoid collisions in C.
   5400 	All uses changed.  Provide a definition in both C and C++.
   5401 	(yytrue, yyfalse): Define even if defined (__cplusplus).
   5402 
   5403 	* lib/bitset_stats.c (bitset_stats_list): Remove unused var.
   5404 	Reported by Nelson H. F. Beebe.
   5405 
   5406 	* src/scan-skel.l ("@oline@"): Output lineno+1, not lineno.
   5407 
   5408 2003-01-02  Paul Eggert  <eggert (a] twinsun.com>
   5409 
   5410 	* data/yacc.c (yyerrlab1): Append `;' after attribute, to
   5411 	pacify the buggy "smart preprocessor" in MacOS 10.2.3.
   5412 	Bug reported by Nelson H. F. Beebe.
   5413 
   5414 2003-01-01  Paul Eggert  <eggert (a] twinsun.com>
   5415 
   5416 	* Version 1.875.
   5417 
   5418 2002-12-30  Paul Eggert  <eggert (a] twinsun.com>
   5419 
   5420 	* src/scan-gram.l (<INITIAL,SC_AFTER_IDENTIFIER,SC_PRE_CODE>","):
   5421 	Moved here from...
   5422 	(<INITIAL>","): Here.  This causes stray "," to be treated
   5423 	more uniformly.
   5424 
   5425 	* src/scan-gram.l (<SC_BRACED_CODE>"}"): Output ";" before the
   5426 	last brace in braced code when not in Yacc mode, for compatibility
   5427 	with Bison 1.35.  This resurrects the 2001-12-15 patch to
   5428 	src/reader.c.
   5429 
   5430 	* src/reader.h (YYDECL): Use YYSTYPE, not its deprecated alias
   5431 	yystype.  This follows up the 2002-12-24 YYSTYPE bug fix.
   5432 
   5433 2002-12-28  Paul Eggert  <eggert (a] twinsun.com>
   5434 
   5435 	* src/symtab.c (symbol_make_alias): Set type of SYMVAL to be
   5436 	that of SYM's type.  This fixes Debian bug 168069, reported by
   5437 	Thomas Olsson.
   5438 
   5439 2002-12-28  Paul Eggert  <eggert (a] twinsun.com>
   5440 
   5441 	Version 1.75f.
   5442 
   5443 	Switch back to the Yacc style of conflict reports, undoing some
   5444 	of the 2002-07-30 change.
   5445 	* doc/bison.texinfo (Understanding): Use Yacc style for
   5446 	conflict reports.  Also, use new way of locating rules.
   5447 	* src/conflicts.c (conflict_report):
   5448 	Renamed from conflict_report_yacc, removing the old
   5449 	'conflict_report'.  Translate the entire conflict report at once,
   5450 	so that we don't assume that "," has the same interpretation in
   5451 	all languages.
   5452 	(conflicts_output): Use Yacc-style conflict report for each state,
   5453 	instead of our more-complicated style.
   5454 	(conflicts_print): Use Yacc-style conflict report, except print
   5455 	the input file name when not emulating Yacc.
   5456 	* tests/conflicts.at (Unresolved SR Conflicts, Defaulted
   5457 	Conflicted Reduction, %expect not enough, %expect too much,
   5458 	%expect with reduce conflicts): Switch to Yacc-style conflict reports.
   5459 	* tests/existing.at (GNU Cim Grammar): Likewise.
   5460 	* tests/glr-regr1.at (Badly Collapsed GLR States): Likewise.
   5461 
   5462 	* src/complain.c (warn_at, warn, complain_at, complain, fatal_at,
   5463 	fatal): Don't invoke fflush; it's not needed and it might even be
   5464 	harmful for stdout, as stdout might not be open.
   5465 	* src/reduce.c (reduce_print): Likewise.
   5466 
   5467 2002-12-27  Paul Eggert  <eggert (a] twinsun.com>
   5468 
   5469 	Fix a bug where error locations were not being recorded correctly.
   5470 	This problem was originally reported by Paul Hilfinger in
   5471 	<http://lists.gnu.org/archive/html/bug-bison/2002-11/msg00086.html>.
   5472 
   5473 	* data/yacc.c (yyparse): New local var yylerrsp, to record the
   5474 	top of the location stack's error locations.
   5475 	(yyerrlab): Set it.  When discarding a token, push its location
   5476 	onto yylerrsp so that we don't lose track of the error's end.
   5477 	(yyerrlab1): Now is only the target of YYERROR, so that we can
   5478 	properly record the location of the action that failed.  For GCC
   5479 	2.93 and later, insert an __attribute__ ((__unused__)) to avoid
   5480 	GCC warning about yyerrlab1 being unused if YYERROR is unused.
   5481 	(yyerrlab2): New label, which yyerrlab now falls through to.
   5482 	Compute the error's location by applying YYLLOC_DEFAULT to
   5483 	the locations of all the symbols that went into the error.
   5484 	* doc/bison.texinfo (Location Default Action): Mention that
   5485 	YYLLOC_DEFAULT is also invoked for syntax errors.
   5486 	* tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR):
   5487 	Error locations include the locations of all the tokens that were
   5488 	discarded, not just the last token.
   5489 
   5490 2002-12-26  Paul Eggert  <eggert (a] twinsun.com>
   5491 
   5492 	* src/files.c: Include quote.h.
   5493 	(compute_output_file_names): Warn if we detect conflicting
   5494 	outputs to the same file.  This should catch the misunderstanding
   5495 	exemplified by Debian Bug 165349, reported by Bruce Stephens..
   5496 
   5497 	* src/conflicts.c (conflicts_print): If the user specifies
   5498 	"%expect N", report an error if there are any reduce/reduce
   5499 	conflicts.  This is what the manual says should happen.
   5500 	This fixes Debian bug 130890, reported by Anthony DeRobertis.
   5501 	* tests/conflicts.at (%expect with reduce conflicts): New test.
   5502 
   5503 	Don't use m4_include on relative file names, as it doesn't work as
   5504 	desired if there happens to be a file with that name under ".".
   5505 
   5506 	* m4sugar/version.m4: Remove; it was included but it wasn't used.
   5507 	* data/Makefile.am (dist_m4sugar_DATA): Remove m4sugar/version.m4.
   5508 	* data/m4sugar/m4sugar.m4: Don't include m4sugar/version.m4.
   5509 	* data/glr.c, data/lalr1.cc, data/yacc.c: Don't include c.m4.
   5510 	* src/output.c (output_skeleton): Use full path names when
   5511 	specifying a file to include; don't rely on include path, as
   5512 	it's unreliable when the working file contains a file with
   5513 	that name.
   5514 
   5515 2002-12-25  Paul Eggert  <eggert (a] twinsun.com>
   5516 
   5517 	Remove obsolete references to bison.simple and bison.hairy.
   5518 	Problem mentioned by Aubin Mahe in
   5519 	<http://lists.gnu.org/archive/html/help-bison/2002-12/msg00010.html>.
   5520 	* data/glr.c: Comment fix.
   5521 	* doc/bison.1: Remove references.  Also, mention "yacc".
   5522 
   5523 	* src/getargs.c (getargs) [MSDOS]: Don't assume optarg != NULL
   5524 	with -g option.
   5525 
   5526 	* src/parse-gram.y (declaration): Use enum "report_states" rather
   5527 	than its numeric value 1.
   5528 
   5529 	* src/scan-skel.l ("@output ".*\n): Close any old yyout before
   5530 	opening a new one.  This fixes Debian bug 165349, reported by
   5531 	Bruce Stephens.
   5532 
   5533 2002-12-24  Paul Eggert  <eggert (a] twinsun.com>
   5534 
   5535 	Version 1.75e.
   5536 
   5537 	* Makefile.maint (cvs-update): Don't assume that the shell
   5538 	supports $(...), as Solaris sh doesn't.
   5539 
   5540 	* src/parse-gram.y (lloc_default): Remove test for empty
   5541 	nonterminals at the end, since it didn't change the result.
   5542 
   5543 2002-12-24  Paul Eggert  <eggert (a] twinsun.com>
   5544 
   5545 	If the user does not define YYSTYPE as a macro, Bison now declares it
   5546 	using typedef instead of defining it as a macro.  POSIX requires this.
   5547 	For consistency, YYLTYPE is also declared instead of defined.
   5548 
   5549 	%union directives can now have a tag before the `{', e.g., the
   5550 	directive `%union foo {...}' now generates the C code
   5551 	`typedef union foo { ... } YYSTYPE;'; this is for Yacc compatibility.
   5552 	The default union tag is `YYSTYPE', for compatibility with Solaris 9
   5553 	Yacc.  For consistency, YYLTYPE's struct tag is now `YYLTYPE'
   5554 	instead of `yyltype'.
   5555 
   5556 	`yystype' and `yyltype' are now obsolescent macros instead of being
   5557 	typedefs or tags; they are no longer documented and will be
   5558 	withdrawn in a future release.
   5559 
   5560 	* data/glr.c (b4_location_type): Remove.
   5561 	(YYSTYPE): Renamed from yystype.
   5562 	(YYSTYPE_IS_DECLARED): New macro, used to prevent double-typedef.
   5563 	(struct YYLTYPE): Renamed from struct yyltype.
   5564 	(YYLTYPE): Renamed from yyltype.
   5565 	(yyltype, yystype): New (and obsolescent) macros,
   5566 	for backward compatibility.
   5567 	* data/yacc.c: Likewise.
   5568 
   5569 	* data/yacc.c (YYSTYPE): Declare as union YYSTYPE if the user
   5570 	does not specify a union tag.  This is for compatibility with
   5571 	Solaris 9 yacc.
   5572 
   5573 	* src/parse-gram.y (add_param): 2nd arg is now char * not char
   5574 	const *, since it is now modified by stripping surrounding { }.
   5575 	(current_braced_code): Remove.
   5576 	(PERCENT_DESTRUCTOR, PERCENT_PRINTER, PERCENT_UNION,
   5577 	PERCENT_LEX_PARAM, PERCENT_PARSE_PARAM): Change names to include
   5578 	trailing " {...}".  Now of type <chars>.
   5579 	(grammar_declaration): Adjust to bundled tokens.
   5580 	(code_content): Remove; stripping is now done by add_param.
   5581 	(print_token_value): Print contents of bundled tokens.
   5582 	(token_name): New function.
   5583 
   5584 	* src/reader.h (braced_code, current_braced_code): Remove.
   5585 	(token_name): New decl.
   5586 
   5587 	* src/scan-gram.l (handle_dollar, handle_at): Now takes int
   5588 	token_type, not braced_code code_kind.  All uses changed.
   5589 	(SC_PRE_CODE): New state, for scanning after a keyword that
   5590 	has (or usually has) an immediately-following braced code.
   5591 	(token_type): New local var, to keep track of which token type
   5592 	to return when scanning braced code.
   5593 	(<INITIAL>"%destructor", <INITIAL>"%lex-param",
   5594 	<INITIAL>"%parse-param", <INITIAL>"%printer",
   5595 	<INITIAL>"%union"): Set token type and BEGIN SC_PRE_CODE
   5596 	instead of returning a token type immediately.
   5597 	(<INITIAL>"{"): Set token type.
   5598 	(<SC_BRACED_CODE>"}"): Use it.
   5599 	(handle_action_dollar, handle_action_at): Now returns bool
   5600 	indicating success.  Fail if ! current_rule; this prevents a core dump.
   5601 	(handle_symbol_code_dollar, handle_symbol_code_at):
   5602 	Remove; merge body into caller.
   5603 	(handle_dollar, handle_at): Complain in invalid contexts.
   5604 
   5605 	* NEWS, doc/bison.texinfo: Document the above.
   5606 	* NEWS: Fix years and program names in copyright notice.
   5607 
   5608 2002-12-17  Paul Eggert  <eggert (a] twinsun.com>
   5609 
   5610 	* NEWS, doc/bison.texinfo (Parser Function, Pure Calling, Error
   5611 	Reporting, Table of Symbols): Omit mentions of %lex-param and
   5612 	%parse-param from the documentation for now.
   5613 
   5614 2002-12-15  Paul Eggert  <eggert (a] twinsun.com>
   5615 
   5616 	Undo most of the 2002-11-12 yychar -> yytoken patch, as it broke
   5617 	GCC 3.2.1 (which depends on yychar == YYEMPTY when there is no
   5618 	lookahead symbol, and which sets yychar in parser actions) and it
   5619 	disagreed with the Bison documentation.  Bug
   5620 	reported by Andrew Walrond.
   5621 
   5622 	* data/yacc.c (YYTRANSLATE): Don't check for negative argument,
   5623 	as the caller now does that.
   5624 	(yyclearin, YYBACKUP, yyparse): Use yychar, not yytoken.
   5625 	(YYEMPTY): Parenthesize right hand side, since others use it.
   5626 	(yyparse): Don't assume that our generated code is the only code
   5627 	that sets yychar.
   5628 
   5629 2002-12-13  Paul Eggert  <eggert (a] twinsun.com>
   5630 
   5631 	Version 1.75d.
   5632 
   5633 	POSIX requires a "yacc" command.
   5634 	* src/Makefile.am (bin_SCRIPTS): New macro, for yacc.
   5635 	(MOSTLYCLEANFILES): Add yacc.
   5636 	(yacc): New rule.
   5637 	* doc/bison.texinfo (Invocation, Bison Options): Mention yacc
   5638 	as an alias for bison y.
   5639 
   5640 	* po/LINGUAS: Add da.
   5641 
   5642 	* src/getargs.c (__GNU_LIBRARY__) [lint]: Define to work around
   5643 	problem with latest <getopt.h>.
   5644 	(HACK_FOR___GNU_LIBRARY___PROTOTYPE): New macro.
   5645 
   5646 	* doc/fdl.texi: Upgrade to 1.2.
   5647 	* lib/alloca.c, lib/error.c, lib/getopt.c, lib/getopt.h
   5648 	lib/getopt1.c, lib/gettext.h, lib/memrchr.c, lib/obstack.c,
   5649 	lib/obstack.h, lib/strnlen.c, lib/unlocked-io.h: Sync with
   5650 	gnulib.
   5651 	* config/install-sh: Sync with autotools.
   5652 
   5653 	Fix a bad interaction with flex 2.5.23 reported by Bruce Lilly in
   5654 	<http://lists.gnu.org/archive/html/bug-bison/2002-11/msg00114.html>.
   5655 	* data/yacc.c (YYLTYPE, struct yyltype): Do not define unless
   5656 	locations are requested.
   5657 	(union yyalloc): Do not depend on YYLTYPE_IS_TRIVIAL unless
   5658 	locations are requested.
   5659 
   5660 2002-12-12  Paul Eggert  <eggert (a] twinsun.com>
   5661 
   5662 	Remove unportable casts and storage allocation tricks.
   5663 	While we're at it, remove almost all casts, since they
   5664 	usually aren't needed and are a sign of trouble.
   5665 
   5666 	* configure.ac (AC_CHECK_TYPES): Check for uintptr_t.
   5667 
   5668 	* src/derives.c (derives_compute): Do not subtract NTOKENS from
   5669 	the pointer DSET returned by malloc; this isn't portable.
   5670 	Instead, always use DSET[i - NTOKENS] rather than DSET[i].
   5671 	Similarly for DERIVES.
   5672 	* src/lalr.c (set_goto_map): Likewise, for GOTO_MAP and TEMP_MAP.
   5673 	* src/nullable.c (nullable_compute): Likewise, for RSETS and NULLABLE.
   5674 	* src/reduce.c (reduce_grammar_tables): Likewise, for nontermmap
   5675 
   5676 	* src/derives.c (derives_compute): Do not bother invoking
   5677 	int_of_rule_number, since rule numbers are integers.
   5678 
   5679 	* src/files.c (concat2, tr, compute_base_name): Use xmalloc (N)
   5680 	rather than XMALLOC (char, N).
   5681 
   5682 	* src/files.c (filename_split): Rewrite to avoid cast.
   5683 
   5684 	* src/gram.h (symbol_number_as_item_number,
   5685 	item_number_as_symbol_number, rule_number_as_item_number,
   5686 	item_number_as_rule_number):
   5687 	Now inline functions rather than macros, to avoid casts.
   5688 	* src/state.h (state_number_as_int): Likewise.
   5689 	* src/tables.c (state_number_to_vector_number,
   5690 	symbol_number_to_vector_number): Likewise.
   5691 
   5692 	* src/gram.h (int_of_rule_number): Remove; no longer used.
   5693 
   5694 	* src/lalr.c (add_lookback_edge): Use malloc rather than calloc,
   5695 	since the resulting storage is always stored into.
   5696 
   5697 	* src/main.c (alloca) [C_ALLOCA]: Add decl here, the only place
   5698 	where it's needed.
   5699 
   5700 	* src/muscle_tab.c (muscle_m4_output):
   5701 	Now inline.  Return bool, not int.
   5702 	* src/state.c (state_compare): Likewise.
   5703 	* src/symtab.c (symbol_check_defined,
   5704 	symbol_check_alias_consistency, symbol_pack, symbol_translation,
   5705 	hash_compare_symbol, hash_symbol):
   5706 	Likewise.
   5707 	* src/uniqstr.c (uniqstr_print): Likewise.
   5708 	* src/muscle_tab.c (muscle_m4_output_processor):
   5709 	New function, to avoid casts.
   5710 	* src/state.c (state_comparator, stage_hasher): Likewise.
   5711 	* src/symtab.c (symbol_check_defined_processor,
   5712 	symbol_check_alias_consistency_processor, symbol_pack_processor,
   5713 	symbol_translation_processor, hash_symbol_comparator,
   5714 	hash_symbol_hasher): Likewise.
   5715 	* src/uniqstr.c (uniqstr_print_processor): Likewise.
   5716 	* src/muscle_tab.c (muscles_m4_output):
   5717 	Use new functions instead of casting old functions unportably.
   5718 	* src/state.c (state_hash_new): Likewise.
   5719 	* src/symtab.c (symbols_new, symbols_do, symbols_check_defined,
   5720 	symbols_token_translations_init):
   5721 	Likewise.
   5722 	* src/uniqstr.c (uniqstrs_new, hash_initialize, uniqstrs_do): Likewise.
   5723 
   5724 	* src/output.c (GENERATE_MUSCLE_INSERT_TABLE): Use long local
   5725 	var instead of casting to long, to avoid casts.
   5726 	(prepare_states): Use MALLOC rather than alloca, so that we don't
   5727 	have to worry about alloca.
   5728 	* src/state.c (state_hash_lookup): Likewise.
   5729 
   5730 	* src/scan-gram.l (<SC_ESCAPED_CHARACTER>"'"): Use unsigned char
   5731 	local var instead of casting to unsigned char, to avoid casts.
   5732 
   5733 	* src/state.c (TRANSITIONS_ALLOC, ERRS_ALLOC, REDUCTIONS_ALLOC,
   5734 	STATE_ALLOC): Remove.
   5735 	(transitions_new, errs_new, reductions_new, state_new): Use malloc
   5736 	rather than calloc, and use offsetof to avoid allocating slightly
   5737 	too much storage.
   5738 	(state_new): Initialize all members.
   5739 
   5740 	* src/state.c (state_hash): Use unsigned accumulator, not signed.
   5741 
   5742 	* src/symtab.c (symbol_free): Remove; unused.
   5743 	(symbol_get): Remove cast in lhs of assignment.
   5744 	(symbols_do): Now static.  Accept generic arguments, not
   5745 	hashing-related ones.
   5746 
   5747 	* src/symtab.h: (NUMBER_UNDEFINED): Remove unnecessary cast.
   5748 	(symbol_processor): Remove.
   5749 	(symbols_do): Remove decl; now static.
   5750 
   5751 	* src/system.h (alloca): Remove; decl no longer needed.
   5752 	(<stddef.h>): Include, for offsetof.
   5753 	(<inttypes.>, <stdint.h>): Include if available.
   5754 	(uintptr_t): New type, if system lacks it.
   5755 	(CALLOC, MALLOC, REALLOC): New macros.
   5756 	All uses of XCALLOC, XMALLOC, and XREALLOC changed to use these
   5757 	new macros.
   5758 
   5759 	* src/tables.c (table_size): Now int, to pacify GCC.
   5760 	(table_grow, table_ninf_remap): Use signed table size.
   5761 	(save_row): Don't bother initializing locals when not needed.
   5762 	(default_goto, goto_actions, pack_vector): Remove unnecessary casts.
   5763 	* src/uniqstr.c (hash_compare_uniqstr):  Likewise.
   5764 
   5765 	* src/vcg.h: Correct misspellings.
   5766 
   5767 	* src/vcg_defaults.h (G_CMAX): Now INT_MAX.
   5768 
   5769 
   5770 	* src/getargs.c (getargs): Don't assume EOF == -1.
   5771 
   5772 2002-12-09  Paul Eggert  <eggert (a] twinsun.com>
   5773 
   5774 	Change identifier spellings to avoid collisions with names
   5775 	that are reserved by POSIX.
   5776 
   5777 	Don't use names ending in _t, since POSIX reserves them.
   5778 	For consistency, remove _e and _s endings -- they're weren't
   5779 	needed to remove ambiguity.  All uses changed.
   5780 	* src/uniqstr.h (uniqstr): Renamed from uniqstr_t, which in
   5781 	turn was just renamed from struniq_t.
   5782 	* src/uniqstr.c (uniqstr_processor): Renamed from struniq_processor,
   5783 	which in turn was just renamed from struniq_processor_t.
   5784 	(hash_compare_uniqstr): Renamed from hash_compare_struniq, which
   5785 	in turn was renamed from hash_compare_struniq_t.
   5786 	* src/LR0.c (struct state_list): Renamed from struct state_list_s.
   5787 	(state_list): Renamed from state_list_t.
   5788 	* src/assoc.h (assoc): Renamed from assoc_t.
   5789 	* src/conflicts.c (enum conflict_resolution): Renamed from
   5790 	enum conflict_resolution_e.
   5791 	* src/derives.c (struct rule_list): Renamed from struct rule_list_s.
   5792 	(rule_list): Renamed from rule_list_t.
   5793 	* src/getargs.h (enum trace): Renamed from enum trace_e.
   5794 	(enum report): Renamed from enum report_e.
   5795 	* src/gram.h (item_number): Renamed from item_number_t.
   5796 	(rule_number): Renamed from rule_number_t.
   5797 	(struct rule_s): Remove the "rule_s" part; not used.
   5798 	(rule): Renamed from rule_t.
   5799 	(rule_filter): Renamed from rule_filter_t.
   5800 	* src/lalr.c (struct goto_list): Renamed from struct goto_list_s.
   5801 	(goto_list): Renamed from goto_list_t.
   5802 	* src/lalr.h (goto_number): Renamed from goto_number_t.
   5803 	* src/location.h (location): Renamed from location_t.
   5804 	* src/muscle_tab.c (muscle_entry): Renamed from muscle_entry_t,
   5805 	and moved here from:
   5806 	* src/muscle_tab.h (muscle_entry_t): here.
   5807 	* src/nullable.c (struct rule_list): Renamed from struct rule_list_s.
   5808 	(rule_list): Renamed from rule_list_t.
   5809 	* src/print_graph.c (static_graph): Renamed from graph.
   5810 	* src/reader.h (braced_code): Renamed from braced_code_t.
   5811 	Remove brace_code_e tag.
   5812 	* src/relation.h (relation_node): Renamed from relation_node_t.
   5813 	(relation_nodes): Renamed from relation_nodes_t.
   5814 	(relation): Renamed from relation_t.
   5815 	* src/state.h (state_number): Renamed from state_number_t.
   5816 	(struct state): Renamed from struct state_s.
   5817 	(state): Renamed from state_t.
   5818 	(transitions): Renamed from transitions_t.  Unused (and
   5819 	misspelled) transtion_s tag removed.
   5820 	(errs): Renamed from errs_t.  Unused errs_s tag removed.
   5821 	(reductions): Renamed from reductions_t.  Unused tag
   5822 	reductions_s removed.
   5823 	* src/symlist.h (symbol_list): Renamed from symbol_list_t.
   5824 	(struct symbol_list): Renamed from struct symbol_list_s.
   5825 	* src/symtab.h (symbol_number): Renamed from symbol_number_t.
   5826 	(struct symbol): Renamed from struct symbol_s.
   5827 	(symbol): Renamed from symbol_t.
   5828 	* src/tables.c (vector_number): Renamed from vector_number_t.
   5829 	(action_number): Renamed from action_t.
   5830 	* src/tables.h (base_number): Renamed from base_t.
   5831 	* src/vcg.h (enum color): Renamed from enum color_e.
   5832 	(enum textmode): Renamed from enum textmode_e.
   5833 	(enum shape): Renamed from enum shape_e.
   5834 	(struct colorentry): Renamed from struct colorentry_s.
   5835 	(struct classname): Renamed from struct classname_s.
   5836 	(struct infoname): Renamed from struct infoname_s.
   5837 	(enum layoutalgorithm): Renamed from enum layoutalgorithm_e.
   5838 	(enum decision): Renamed from enum decision_e.
   5839 	(enum orientation): Renamed from enum orientation_e.
   5840 	(enum alignment): Renamed from enum alignment_e.
   5841 	(enum arrow_mode): Renamed from enum arrow_mode_e.
   5842 	(enum crossing_type): Renamed from enum crossing_type_e.
   5843 	(enum view): Renamed from enum view_e.
   5844 	(struct node): Renamed from struct node_s.
   5845 	(node): Renamed from node_t.
   5846 	(enum linestyle): Renamed from enum linestyle_e.
   5847 	(enum arrowstyle): Renamed from enum arrowstyle_e.
   5848 	(struct edge): Renamed from struct edge.
   5849 	(edge): Renamed from edge_t.
   5850 	(struct graph): Renamed from struct graph_s.
   5851 	(graph): Renamed from graph_t.
   5852 	* tests/calc.at (_AT_DATA_CALC_Y, Simple LALR Calculator):
   5853 	Rename value_t -> value.
   5854 	* tests/input.at (Torturing the Scanner): Rename value_t -> value,
   5855 	value_t_as_yystype -> value_as_yystype.
   5856 
   5857 	Don't include <errno.h> in the mainstream code, since it
   5858 	reserves E[A-Z0-9]* and we want to use symbols like 'EQUALS'.
   5859 	* lib/get-errno.c, lib/get-errno.h: New files.
   5860 	* lib/Makefile.am (libbison_a_SOURCES): Add get-errno.h,
   5861 	get-errno.c.
   5862 	* src/files.c (xfopen, xfclose): Use get_errno instead of errno.
   5863 	* src/output.c (output_skeleton): Likewise.
   5864 	* src/scan-gram.l (<INITIAL>{int}): Use set_errno and get_errno
   5865 	instead of errno.
   5866 	(<SC_ESCAPED_STRING,SC_ESCAPED_CHARACTER>\\x[0-9abcdefABCDEF]+):
   5867 	Likewise.
   5868 	(handle_action_dollar, handle_action_at): Likewise.
   5869 	* src/system.h: Do not include <errno.h>.
   5870 	(TAB_EXT): Renamed from EXT_TAB.
   5871 	(OUTPUT_EXT): Renamed from EXT_OUTPUT.
   5872 
   5873 	Avoid str[a-z]*, since <string.h> reserves that name space.
   5874 	Change all instances of "struniq" in names to "uniqstr", and
   5875 	likewise for "STRUNIQ" and "UNIQSTR".
   5876 	* src/uniqstr.c: Renamed from src/struniq.c.
   5877 	* src/uniqstr.h: Renamed from src/struniq.h.
   5878 	* src/Makefile.am (bison_SOURCES): Adjust to these renamings.
   5879 	* src/files.c (strsuffix): Remove; unused.
   5880 	(concat2): Renamed from stringappend.  Now static.
   5881 	* src/files.h (strsuffix, stringappend): Remove; unused.
   5882 	* src/parse-gram.y (<chars>): Renamed from <string>.
   5883 	(<uniqstr>): Renamed from <struniq>.
   5884 	* src/scan-gram.l (obstack_for_string): Renamed from string_obstack.
   5885 	* src/vcg.h (struct node_s.expand): Renamed from struct node_s.stretch.
   5886 	(struct graph_s.expand): Renamed from struct graph_s.stretch.
   5887 	* src/vcg_defaults.h (G_EXPAND): Renamed from G_STRETCH.
   5888 	(G_LONG_STRAIGHT_PHASE): Renamed from G_STRAIGHT_PHASE.
   5889 	(N_EXPAND): Renamed from N_STRETCH.
   5890 
   5891 	Avoid *_MAX and *_MIN, since <limits.h> reserves that name space.
   5892 	* data/yacc.c (YYSTACK_GAP_MAXIMUM): Renamed from YYSTACK_GAP_MAX.
   5893 	* src/gram.h (ITEM_NUMBER_MAX, ITEM_NUMBER_MIN, RULE_NUMBER_MAX):
   5894 	Remove; unused.
   5895 	* src/lalr.h (GOTO_NUMBER_MAXIMUM): Renamed from GOTO_NUMBER_MAX.
   5896 	* src/state.h (STATE_NUMBER_MAXIMUM): Renamed from STATE_NUMBER_MAX.
   5897 	* src/symtab.h (SYMBOL_NUMBER_MAXIMUM): Renamed from SYMBOL_NUMBER_MAX.
   5898 	* src/tables.c (VECTOR_NUMBER_MAX, VECTOR_NUMBER_MIN): Remove; unused.
   5899 	(BASE_MAXIMUM): Renamed from BASE_MAX.
   5900 	(BASE_MINIMUM): Renamed from BASE_MIN.
   5901 	(ACTION_MAX): Remove; unused.
   5902 	(ACTION_NUMBER_MINIMUM): Renamed from ACTION_MIN.
   5903 	Unnecessary casts removed from above defines.
   5904 
   5905 
   5906 	Fix misspelling in names.
   5907 	* src/vcg.h (enum_alignment_e): Renamed from enum_alignement_e.
   5908 	* src/vcg_defaults.h (G_NODE_ALIGNMENT): Renamed from
   5909 	G_NODE_ALIGNEMENT.
   5910 
   5911 
   5912 	* lib/timevar.c (timevar_report): Renamed from time_report,
   5913 	for consistency with other names.
   5914 	* lib/timevar.h (timevar_report): New decl.
   5915 	* src/system.h (time_report): Remove; decl is now in lib/timevar.h.
   5916 
   5917 
   5918 	Sort include-file uses.
   5919 
   5920 	Reorder all include files under src to be in the order "system.h".
   5921 	then the ../lib include files in angle brackets (alphabetized),
   5922 	then the . include files in double-quotes (alphabetized).  Fix
   5923 	dependency breakages encountered in this process, as follows:
   5924 	* src/closure.h, src/derives.h, src/state.h: Include "gram.h".
   5925 	* src/complain.c: Don't include stdlib.h, string.h _LIBC stuff.
   5926 	* src/state.h: Include "symtab.h".
   5927 
   5928 2002-12-08  Paul Eggert  <eggert (a] twinsun.com>
   5929 
   5930 	* data/glr.c, data/lalr1.cc, data/yacc.c: Do not use __file__,
   5931 	since this causes problems when __file__ contains character
   5932 	sequences like "@" that are treated specially by src/scan-skel.l.
   5933 	Instead, just use the file's basename.  This fixes the bug
   5934 	reported by Martin Mokrejs in
   5935 	<http://lists.gnu.org/archive/html/bug-bison/2002-12/msg00007.html>.
   5936 
   5937 2002-12-06  Paul Eggert  <eggert (a] twinsun.com>
   5938 
   5939 	Add support for rules that do not have trailing semicolons, as
   5940 	POSIX requires.  Improve the quality of locations in Bison
   5941 	diagnostics.
   5942 
   5943 	* src/location.c: Include <quotearg.h>.
   5944 	(empty_location): Now const.
   5945 	(location_print): New function.  Follow the recommendation of the
   5946 	GNU Coding Standards for locations that span file boundaries.
   5947 	* src/location.h: Do not include <quotearg.h>; no longer needed.
   5948 	(boundary): New type.
   5949 	(location_t): Use it.  This allows locations to span file boundaries.
   5950 	All member uses changed: file -> start.file or end.file (as needed),
   5951 	first_line -> start.line, first_column -> start.column,
   5952 	last_line -> end.line, last_column -> end.column.
   5953 	(equal_boundaries): New function.
   5954 	(LOCATION_RESET, LOCATION_STEP): Remove.
   5955 	(LOCATION_PRINT): Remove.  All callers changed to use location_print.
   5956 	(empty_location): Now const.
   5957 	(location_print): New decl.
   5958 	* src/parse-gram.y (lloc_default): New function, which handles
   5959 	empty locations more accurately.
   5960 	(YYLLOC_DEFAULT): Use it.
   5961 	(%token COLON): Remove.
   5962 	(%token ID_COLON): New token.
   5963 	(rules): Use it.
   5964 	(declarations, rules): Remove trailing semicolon.
   5965 	(declaration, rules_or_grammar_declaration):
   5966 	Allow empty (";") declaration.
   5967 	(symbol_def): Remove empty actions; no longer needed.
   5968 	(rules_or_grammar_declaration): Remove trailing semicolon.
   5969 	(semi_colon.opt): Remove.
   5970 	* src/reader.h: Include location.h.
   5971 	(scanner_cursor): New decl.
   5972 	* src/reduce.c (nonterminals_reduce): Use warn_at rather than
   5973 	rolling our own.
   5974 	* src/scan-gram.l (YY_USER_INIT): Initialize scanner_cursor instead
   5975 	of *loc.
   5976 	(STEP): Remove.  No longer needed, now that adjust_location does
   5977 	the work.  All uses removed.
   5978 	(scanner_cursor): New var.
   5979 	(adjust_location): Renamed from extend_location.  It now sets
   5980 	*loc and adjusts the scanner cursor.  All uses changed.
   5981 	Don't bother testing for CR.
   5982 	(handle_syncline): Remove location arg; now updates scanner cursor.
   5983 	All callers changed.
   5984 	(unexpected_end_of_file): Now accepts start boundary of token or
   5985 	comment, not location.  All callers changed.  Update scanner cursor,
   5986 	not the location.
   5987 	(SC_AFTER_IDENTIFIER): New state.
   5988 	(context_state): Renamed from c_context.  All uses changed.
   5989 	(id_loc, code_start, token_start): New local vars.
   5990 	(<INITIAL,SC_AFTER_IDENTIFIER>): New initial context.  Move all
   5991 	processing of Yacc white space and equivalents here.
   5992 	(<INITIAL>{id}): Save id_loc.  Begin state SC_AFTER_IDENTIFIER
   5993 	instead of returning ID immediately, since we need to search for
   5994 	a subsequent colon.
   5995 	(<INITIAL>"'", "\""): Save token_start.
   5996 	(<INITIAL>"%{", "{", "%%"): Save code_start.
   5997 	(<SC_AFTER_IDENTIFIER>): New state, looking for a colon.
   5998 	(<SC_YACC_COMMENT>, <SC_COMMENT>, <SC_LINE_COMMENT>):
   5999 	BEGIN context_state at end, not INITIAL.
   6000 	(<SC_ESCAPED_STRING>"\"", <SC_ESCAPED_CHARACTER>"'",
   6001 	<SC_BRACED_CODE>"}", <SC_PROLOGUE>"%}", <SC_EPILOGUE><<EOF>>):
   6002 	Return correct token start.
   6003 	(<SC_BRACED_CODE,SC_PROLOGUE,SC_EPILOGUE>): Save start boundary when
   6004 	the start of a character, string or multiline comment is found.
   6005 	* tests/conflicts.at (S/R in initial, Defaulted Conflicted
   6006 	Reduction): Adjust reported locations to match the more-precise
   6007 	results now expected.
   6008 	* tests/input.at (Invalid $n, Invalid @n, Type Clashes): Likewise.
   6009 	* tests/reduce.at (Useless Rules, Reduced Automaton,
   6010 	Underivable Rules): Likewise.
   6011 	* tests/regression.at (Invalid inputs): No longer `expecting ";"
   6012 	or "|"' now that so many other tokens are allowed by the new grammar.
   6013 
   6014 	* src/complain.h (current_file): Remove duplicate decl;
   6015 	current_file is now owned by files.h.
   6016 	* src/complain.c, src/scan-gram.l: Include files.h.
   6017 
   6018 2002-12-06  Paul Eggert  <eggert (a] twinsun.com>
   6019 
   6020 	* data/glr.c (yy_reduce_print): Don't assume that yyrline[yyrule]
   6021 	promotes to int; it might be unsigned int.
   6022 	* data/yacc.c (yy_reduce_print): Likewise.
   6023 
   6024 	* doc/bison.texinfo (Table of Symbols): YYERROR_VERBOSE should
   6025 	be #defined in the prologue, not in the Bison declarations.
   6026 	This fixes Debian Bug 102878, reported by Shaul Karl.
   6027 
   6028 2002-12-02  Paul Eggert  <eggert (a] twinsun.com>
   6029 
   6030 	* configure.ac (AC_REPLACE_FUNCS): Add strtoul.
   6031 	* lib/strtoul.c: New file, from gnulib.
   6032 	This fixes a porting bug reported by Peter Klein in
   6033 	<http://lists.gnu.org/archive/html/bug-bison/2002-12/msg00000.html>.
   6034 
   6035 2002-11-30  Paul Eggert  <eggert (a] twinsun.com>
   6036 
   6037 	* src/scan-gram.l (no_cr_read, extend_location): Move to epilogue,
   6038 	and put only a forward declaration in the prologue.  This is for
   6039 	consistency with the other scanner helper functions.
   6040 
   6041 	Type clashes now generate warnings, not errors, since it
   6042 	appears that POSIX may allow some grammars with type clashes.
   6043 	* src/reader.c (grammar_current_rule_check): Warn about
   6044 	type clashes instead of complaining.
   6045 	* tests/input.at (Type Clashes): Expect warnings, not complaints.
   6046 
   6047 	Add Yacc library, since POSIX requires it.
   6048 	* doc/bison.texinfo (Yacc Library): New node.  Regenerate top menu.
   6049 	* lib/Makefile.am (lib_LIBRARIES, liby_a_SOURCES): New macros.
   6050 	* lib/main.c, lib/yyerror.c: New files.
   6051 
   6052 	gram_error can be static; it need not be extern.
   6053 	* src/reader.h (gram_error): Remove decl.
   6054 	* src/parse-gram.y (gram_error): Now static.  Add static decl.
   6055 	(print_token_value): Omit parameter names from forward decl,
   6056 	for consistency.
   6057 
   6058 2002-11-29  Paul Eggert  <eggert (a] twinsun.com>
   6059 
   6060 	* doc/bison.texinfo: Emphasize that yylex and yyerror must
   6061 	be declared before being used.  E.g., one should typically
   6062 	declare them in the prologue.  Use GNU coding style in examples.
   6063 	Put "const" consistently after the type it modifies.  Mention
   6064 	that C99 supports "inline".  Mention that yyerror traditionally
   6065 	returns "int".
   6066 
   6067 	%parse-param and %lex-param now take just one argument, the
   6068 	declaration; the argument name is deduced from the declaration.
   6069 
   6070 	* doc/bison.texinfo (Parser Function, Pure Calling, Error
   6071 	Reporting, Table of Symbols): Document this.
   6072 	* src/parse-gram.y (add_param): New function.
   6073 	(COMMA): Remove.
   6074 	(declaration): Implement new rule for %parse-param and %lex-param.
   6075 	* src/scan-gram.l: "," now elicits a warning, rather than being
   6076 	a token; this is more compatible with byacc.
   6077 	* tests/calc.at (Simple LALR Calculator): Adopt new convention.
   6078 
   6079 2002-11-27  Paul Eggert  <eggert (a] twinsun.com>
   6080 
   6081 	Rename identifiers to avoid real and potential collisions.
   6082 
   6083 	* data/c.m4 (b4_yysymprint_generate): yyout -> yyoutput,
   6084 	to avoid collision with lex macro described by Bruce Lilly in
   6085 	<http://lists.gnu.org/archive/html/bug-bison/2002-11/msg00114.html>.
   6086 	* tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): Likewise.
   6087 	* doc/bison.texinfo (Prologue, Tracing): yyprint -> print_token_value.
   6088 	* src/parse-gram.y (print_token_value): Renamed from yyprint.
   6089 	All uses changed.
   6090 	(YYPARSE_PARAM, YYLEX_PARAM, yycontrol): Remove.  All uses changed.
   6091 	The name "yycontrol" violates the name space rules, and this stuff
   6092 	wasn't being used anyway.
   6093 	(input): Remove action; this stuff wasn't being used.
   6094 	(gram_error): Rename local variable yylloc -> loc.
   6095 	* src/reader.h (struct gram_control_s, gram_control_t): Remove.
   6096 	(YY_DECL): Don't use "yy" at start of local variables.
   6097 	All uses changed, e.g., yylloc -> loc.
   6098 	* src/scan-gram.l (STEP): Renamed from YY_STEP.  All uses changed.
   6099 	(STRING_GROW): Renamed from YY_OBS_GROW.  All uses changed.
   6100 	(STRING_FINISH): Renamed from YY_OBS_FINISH.  All uses changed.
   6101 	(STRING_FREE): Renamed from YY_OBS_FREE.  All uses changed.
   6102 
   6103 	* src/parse-gram.y (gram_error): loc is now const *.
   6104 	* src/reader.h (gram_error): Likewise.
   6105 
   6106 2002-11-24  Paul Eggert  <eggert (a] twinsun.com>
   6107 
   6108 	Version 1.75c.
   6109 
   6110 	* tests/actions.at (Actions after errors): Use an output format
   6111 	more similar to that of the Printers and Destructors test.
   6112 	Test the position of the ';' token too.
   6113 	(Printers and Destructors): Likewise.
   6114 	(Printers and Destructors: %glr-parser): Remove for now, to avoid
   6115 	unnecessarily alarming people when the test fails.
   6116 
   6117 	* data/yacc.c (yyerrlab1): Move this label down, so that the
   6118 	parser does not discard the lookahead token if the user code
   6119 	invokes YYERROR.  This change is required for POSIX conformance.
   6120 
   6121 	* lib/error.c: Sync with gnulib.
   6122 
   6123 2002-11-22  Paul Eggert  <eggert (a] twinsun.com>
   6124 
   6125 	* lib/quotearg.c, lib/quotearg.h: Sync with gnulib.
   6126 	* lib/mbswidth.c, lib/mbswidth.h: Likewise.
   6127 	* lib/xmalloc.c: Likewise.
   6128 
   6129 2002-11-20  Paul Eggert  <eggert (a] twinsun.com>
   6130 
   6131 	* lib/argmatch.c, lib/argmatch.h: Sync with gnulib.
   6132 
   6133 2002-11-20  Paul Eggert  <eggert (a] twinsun.com>
   6134 
   6135 	Avoid use of <assert.h>, as the GNU Coding Standards hint that one
   6136 	should use `if (! x) abort ();' rather than `assert (x);', and
   6137 	anyway it's one less thing to worry about configuring.
   6138 
   6139 	* data/glr.c, lib/hash.c, src/system.h: Do not include <assert.h>.
   6140 	* tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): Likewise,
   6141 	and replace all instances of assert with abort.
   6142 	* tests/calc.at (_AT_DATA_CALC_Y): Likewise.
   6143 	* tests/cxx-type.at (_AT_TEST_GLR_CXXTYPES): Likewise.
   6144 
   6145 	* data/glr.c (yydoAction, yyglrReduce, yysplitStack, yyresolveStates,
   6146 	yyresolveAction, yyprocessOneStack): Use abort rather than assert.
   6147 	* lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
   6148 	hash_find_entry, hash_rehash, hash_insert): Likewise.
   6149 	* src/conflicts.c (resolve_sr_conflict): Likewise.
   6150 	* src/lalr.c (set_goto_map, map_goto): Likewise.
   6151 	* src/nullable.c (nullable_compute): Likewise.
   6152 	* src/output.c (prepare_rules, token_definitions_output): Likewise.
   6153 	* src/reader.c (packgram, reader): Likewise.
   6154 	* src/state.c (state_new, state_free, state_transitions_set,
   6155 	state_reduction_find): Likewise.
   6156 	* src/symtab.c (symbol_user_token_number_set, symbol_make_alias,
   6157 	symbol_pack): Likewise.
   6158 	* src/tables.c (conflict_row, pack_vector): Likewise.
   6159 	* src/vcg.c (get_color_str, get_textmode_str, get_shape_str,
   6160 	get_layoutalgorithm_str, get_decision_str, get_orientation_str,
   6161 	get_node_alignement_str, get_arrow_mode_str, get_crossing_type_str,
   6162 	get_view_str, get_linestyle_str, get_arrowstyle_str): Likewise.
   6163 
   6164 	* lib/argmatch.h (ARRAY_CARDINALITY): Do not bother to #undef.
   6165 	(ARGMATCH_CONSTRAINT): New macro.
   6166 	(ARGMATCH_ASSERT): Use it.
   6167 
   6168 	* src/system.h (verify): New macro.
   6169 	* src/getargs.c (trace_argmatch, report_argmatch): Use verify
   6170 	rather than assert.
   6171 	* src/tables.c (tables_generate): Likewise.
   6172 
   6173 	* src/struniq.c (struniq_assert): Now returns void, and aborts
   6174 	if the assertion is false.
   6175 	(struniq_assert_p): Remove.
   6176 	* src/struniq.h: Likewise.
   6177 
   6178 2002-11-18  Paul Eggert  <eggert (a] twinsun.com>
   6179 
   6180 	* data/glr.c (yygetLRActions): Replace `yyindex' with
   6181 	`yytable[yyindex]' to fix typo introduced in my 2002-11-09 patch.
   6182 	This fixes the regression with Sun ONE Studio 7 cc that I reported in
   6183 	<http://lists.gnu.org/archive/html/bug-bison/2002-11/msg00077.html>.
   6184 
   6185 2002-11-18  Akim Demaille  <akim (a] epita.fr>
   6186 
   6187 	* doc/bison.texinfo (Tracing): `yyprint' shouldn't prepend a
   6188 	space.
   6189 	From Tim Van Holder.
   6190 
   6191 2002-11-17  Paul Eggert  <eggert (a] twinsun.com>
   6192 
   6193 	Pacify Sun ONE Studio 7 lint.  Also, rename "ParseError"
   6194 	to "SyntaxError" for consistency with my 2002-11-15 change.
   6195 
   6196 	* data/glr.c (YYDPRINTF, YYDSYMPRINT, YYDSYMPRINTF) [!YYDEBUG]: Do
   6197 	not define to {}, since this breaks the common use of `YYDPRINTF
   6198 	((...));' if a single statement is desired (e.g. before `else').
   6199 	Work around GCC warnings by surrounding corresponding calls with
   6200 	{} if needed.
   6201 	(yyhasResolvedValue): Remove unused function.
   6202 	(yymergeOptionSets, yyresolvStack): Use `continue;' for empty
   6203 	loop body.
   6204 	(yyreportSyntaxError): Renamed from yyreportParseError.
   6205 	(yyrecoverSyntaxError): Renamed from yyrecoverParseError.
   6206 	All uses changed.
   6207 	* tests/calc.at (_AT_DATA_CALC_Y): Make vars static instead of
   6208 	extern when possible.  Remove unused initializations.
   6209 
   6210 2002-11-16  Akim Demaille  <akim (a] epita.fr>
   6211 
   6212 	Augment the similarity between GLR and LALR traces.
   6213 
   6214 	* data/yacc.c (yy_stack_print, YY_STACK_PRINT, yy_reduce_print)
   6215 	(YY_REDUCE_PRINT): New.
   6216 	(yyparse): Use them.
   6217 	* data/glr.c (yy_reduce_print): Use YYFPRINTF, no need for
   6218 	YYDPRINT here.
   6219 	(yyglrReduce, yyrecoverParseError, yyparse): Don't report the
   6220 	state reached after the reduction/recovery, since...
   6221 	(yyparse, yyprocessOneStack): Report the state we are entering in.
   6222 
   6223 2002-11-16  Akim Demaille  <akim (a] epita.fr>
   6224 
   6225 	* src/getargs.h, src/getargs.c (trace_e, trace_args, trace_types):
   6226 	Add support for --trace=skeleton.
   6227 	* src/scan-skel.l: %option debug.
   6228 	Scan strings of non-@ or \n instead of character by character.
   6229 	(scan_skel): Handle trace_skeleton.
   6230 	(QPUTS): New.
   6231 	(@output_parser_name@, @output_header_name@): ``Restore'' their
   6232 	support (used to be M4 macros).
   6233 	* data/yacc.c: Quote larger chunks, a la glr.c.
   6234 	* data/lalr1.cc: Likewise.
   6235 	The header guards are no longer available, so use some other
   6236 	string than `YYLSP_NEEDED'.
   6237 
   6238 2002-11-16  Akim Demaille  <akim (a] epita.fr>
   6239 
   6240 	Make the ``Printers and Destructors'' test more verbose, taking
   6241 	`yacc.c''s behavior as (possibly wrong) reference.
   6242 
   6243 	* tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): Use printf
   6244 	instead of fprint on stdout.
   6245 	Set and report the last_line of the symbols.
   6246 	Consistently display values and locations.
   6247 
   6248 2002-11-16  Paul Eggert  <eggert (a] twinsun.com>
   6249 
   6250 	* data/yacc.c: Avoid over-quoting of __line__ and __file__.
   6251 
   6252 2002-11-15  Paul Eggert  <eggert (a] twinsun.com>
   6253 
   6254 	* tests/actions.at (Actions after errors): New test case.
   6255 
   6256 	* data/glr.c, data/lalr1.cc, data/yacc.cc, doc/bison.texinfo,
   6257 	src/conflicts.c, src/parse-gram.y, src/tables.c, src/tables.h,
   6258 	tests/action.at, tests/calc.at, tests/conflicts.at,
   6259 	tests/cxx-type.at, tests/regression.at:
   6260 	"parse error" -> "syntax error" for POSIX compatibility.
   6261 	"parsing stack overflow..." -> "parser stack overflow" so
   6262 	that code matches Bison documentation.
   6263 
   6264 2002-11-15  Akim Demaille  <akim (a] epita.fr>
   6265 
   6266 	* src/parse-gram.y (declaration): Have %parse-param and %lex-param
   6267 	take two BRACED_CODE, not two string_content.
   6268 	Free the scanner's obstack when we are done.
   6269 	(code_content): New.
   6270 	* tests/calc.at: Adjust.
   6271 	* doc/bison.texinfo: Adjust.
   6272 	Also, make sure to include the `,' for these declarations.
   6273 
   6274 2002-11-15  Tim Van Holder  <tim.van.holder (a] pandora.be>
   6275 
   6276 	* m4/prereq.m4: Removed the commented jm_PREREQ_HASH
   6277 	definition; avoids potential autoreconf problems.
   6278 
   6279 2002-11-15  Akim Demaille  <akim (a] epita.fr>
   6280 
   6281 	Always check the value returned by yyparse.
   6282 
   6283 	* tests/calc.at (_AT_DATA_CALC_Y): Have `main' exit with the value
   6284 	returned by yyparse.
   6285 	(_AT_CHECK_CALC_ERROR): Take the expected exit value as argument.
   6286 	Adjust calls.
   6287 	* tests/glr-regr1.at (glr-regr1.y): Have `main' exit with the value
   6288 	returned by yyparse.
   6289 
   6290 2002-11-14  Paul Hilfinger  <Hilfinger (a] CS.Berkeley.EDU>
   6291 
   6292 	* data/glr.c (yyFail): Always set yyerrflag.  Corrects regression
   6293 	on input.at test.
   6294 
   6295 2002-11-14  Paul Eggert  <eggert (a] twinsun.com>
   6296 
   6297 	* src/output.c (output_skeleton): Call xfopen instead of
   6298 	duplicating xfopen's body.
   6299 
   6300 	Fix bugs reported by Nelson H. F. Beebe in
   6301 	<http://lists.gnu.org/archive/html/bug-bison/2002-11/msg00078.html>.
   6302 
   6303 	* tests/headers.at (AT_TEST_CPP_GUARD_H): Don't assume that
   6304 	"$CC -E foo.h" is allowed, as this doesn't work with the Portland
   6305 	Group compiler.  Instead, use "$CC -E bar.c".  Include the .h
   6306 	file twice in the grammar, as an extra check.
   6307 
   6308 	* tests/input.at (Torturing the Scanner): Surround the
   6309 	backslash-newline tests with "#if 0", to make it less likely that
   6310 	we'll run into compiler bugs.  Bring back solitary \ inside
   6311 	comment, but add a closing comment to work around HP C bug.  Don't
   6312 	test backslash-newline in C character constant.
   6313 
   6314 2002-11-14  Akim Demaille  <akim (a] epita.fr>
   6315 
   6316 	* tests/synclines.at (AT_SYNCLINES_COMPILE): Ignore the exit
   6317 	status of the compiler.
   6318 	Calling `exit 1' is no longer needed.
   6319 	Reported by Nelson H. F. Beebe.
   6320 
   6321 2002-11-14  Akim Demaille  <akim (a] epita.fr>
   6322 
   6323 	* tests/atlocal.in (CPPFLAGS): We have config.h.
   6324 	* tests/testsuite.at (AT_DATA_GRAMMAR_PROLOGUE, AT_DATA_GRAMMAR):
   6325 	New.
   6326 	* tests/actions.at, tests/calc.at, tests/conflicts.at,
   6327 	* tests/cxx-type.at, tests/glr-regr1.at, tests/headers.at,
   6328 	* tests/regression.at, tests/torture.at: Use them for all the
   6329 	grammars that are to be compiled.
   6330 	* tests/cxx-type.at (_AT_TEST_GLR_CALC): Rename as...
   6331 	* tests/cxx-type.at (_AT_TEST_GLR_CXXTYPES): this.
   6332 	* doc/bison.texinfo (GLR Parsers): Document `inline'.
   6333 
   6334 2002-11-14  Akim Demaille  <akim (a] epita.fr>
   6335 
   6336 	* doc/bison.texinfo: Various formatting changes (alignments in
   6337 	samples, additional @group/@end group, GCS in samples.
   6338 	Use @deffn instead of simple @table to define the directives,
   6339 	macros, variables etc.
   6340 
   6341 2002-11-13  Paul Eggert  <eggert (a] twinsun.com>
   6342 
   6343 	Fix some bugs reported by Albert Chin-A-Young in
   6344 	<http://lists.gnu.org/archive/html/bug-bison/2002-11/msg00066.html>.
   6345 
   6346 	* tests/input.at (Torturing the Scanner): Don't invoke "cc a.c b.c
   6347 	-o c"; the HP C compiler chatters during compilation.
   6348 	Instead, invoke "cc -c a.c -o a.o; cc -c b.c -o b.o; cc a.o b.o -o c".
   6349 	* tests/headers.at (export YYLTYPE): Likewise.
   6350 
   6351 	* tests/input.at (Torturing the Scanner): Remove lines containing
   6352 	solitary backslashes, as they tickle a bug in the HP C compiler.
   6353 
   6354 	* tests/glr-regr1.at (Badly Collapsed GLR States): Avoid //
   6355 	comments, since they're not portable.  Use GNU coding style.
   6356 
   6357 2002-11-13  Akim Demaille  <akim (a] epita.fr>
   6358 
   6359 	* data/yacc.c: Leave bigger chunks of quoted text.
   6360 	(YYDSYMPRINTF): New.
   6361 	Use it to report symbol activities.
   6362 	* data/glr.c (YYDSYMPRINTF): New.
   6363 	Use it.
   6364 
   6365 2002-11-12  Paul Eggert  <eggert (a] twinsun.com>
   6366 
   6367 	Version 1.75b.
   6368 
   6369 	* data/glr.c (yydoAction): Return YYRESULTTAG, not int.
   6370 	(yyglrReduce): Return yyok, not 0.
   6371 	This should avoid the enumerated-type warnings reported
   6372 	by Nelson H. F. Beebe in
   6373 	<http://lists.gnu.org/archive/html/bug-bison/2002-11/msg00057.html>.
   6374 
   6375 	* lib/bbitset.h (BITSET_INLINE): Remove.
   6376 	* lib/bitset.h [! BITSET_INLINE]: Remove.
   6377 	(bitset_set, bitset_reset, bitset_test): Rename local vars
   6378 	to avoid shadowing warnings by GCC.
   6379 
   6380 	* data/glr.c (inline): Remove #define.  It's the user's
   6381 	responsibility to #define it away, just like 'const'.
   6382 	This fixes one of the bugs reported by Nelson H. F. Beebe in
   6383 	<http://lists.gnu.org/archive/html/bug-bison/2002-11/msg00058.html>.
   6384 
   6385 	* Makefile.maint (po-check): Scan .l and .y files instead of the
   6386 	.c and the .h files that they generate.  This fixes the bug
   6387 	reported by Tim Van Holder in:
   6388 	<http://lists.gnu.org/archive/html/bison-patches/2002-11/msg00062.html>
   6389 	Look for N_ as well as for _.  Try to avoid matching #define for
   6390 	N_ and _.
   6391 	* po/POTFILES.in: Remove src/parse-gram.c, src/scan-gram.c,
   6392 	src/system.h.  Add src/parse-gram.y, src/scan-gram.l.
   6393 	* src/scan-gram.l: Revamp regular expressions so that " and '
   6394 	do not confuse xgettext.
   6395 
   6396 	* src/struniq.h (struniq_new): Do not declare the return type
   6397 	to be 'const'; this violates the C standard.
   6398 	* src/struniq.c (struniq_new): Likewise.
   6399 
   6400 2002-11-12  Albert Chin-A-Young <china (a] thewrittenword.com>
   6401 
   6402 	* src/Makefile.am (LDADD): Link $(LIBINTL) last to avoid the
   6403 	duplicate definition of optind on Tru64 UNIX 4.0D with the Compaq
   6404 	linker.
   6405 
   6406 2002-11-12  Akim Demaille  <akim (a] epita.fr>
   6407 
   6408 	* Makefile.maint: Sync with Autoconf:
   6409 	(local_updates): New.
   6410 
   6411 2002-11-12  Akim Demaille  <akim (a] epita.fr>
   6412 
   6413 	* po/POTFILES.in (src/lalr.c, src/state.c): Remove
   6414 
   6415 2002-11-12  Akim Demaille  <akim (a] epita.fr>
   6416 
   6417 	* tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): Display the
   6418 	locations.
   6419 
   6420 2002-11-12  Akim Demaille  <akim (a] epita.fr>
   6421 
   6422 	* data/c.m4 (b4_yysymprint_generate): Pass *yyvaluep to YYPRINT,
   6423 	not yyvalue.
   6424 
   6425 2002-11-12  Akim Demaille  <akim (a] epita.fr>
   6426 
   6427 	* tests/actions.at (AT_CHECK_PRINTER_AND_DESTRUCTOR): New.
   6428 	Use it to test the GLR parser.
   6429 
   6430 2002-11-12  Akim Demaille  <akim (a] epita.fr>
   6431 
   6432 	* tests/regression.at (input.y): s/YYEOF/MYEOF/, as the skeleton
   6433 	defines it.
   6434 	* data/glr.c (yystos): New.
   6435 	(b4_yysymprint_generate, b4_yydestruct_generate): Invoke.
   6436 	(YYDSYMPRINT): New.
   6437 	(yyval): Don't define it, it is handled via M4.
   6438 	(yyrecoverParseError): Free verbosely the discarded symbols.
   6439 	* data/yacc.c (yysymprint): Remove, rather...
   6440 	(b4_yysymprint_generate): invoke.
   6441 	* data/c.m4 (b4_yysymprint_generate): New.
   6442 	Accept pointers as arguments, as opposed to the version from
   6443 	yacc.c.
   6444 	(b4_yydestruct_generate): Likewise.
   6445 	* tests/cations.at (Printers and Destructors): Use Bison directives
   6446 	instead of CPP macros.
   6447 	Don't rely on internal details.
   6448 
   6449 2002-11-12  Akim Demaille  <akim (a] epita.fr>
   6450 
   6451 	* data/c.m4 (b4_yydestruct_generate, b4_symbol_actions): New.
   6452 	* data/yacc.c: Rename yychar1 as yytoken, as in glr.c.
   6453 	Don't work on yychar (i.e., do set it to YYEMPTY, don't match
   6454 	it against YYEMPTY and so forth), work on yytoken (i.e., set
   6455 	it to YYEMPTY etc.).
   6456 	(yydestruct): Replace with a b4_yydestruct_generate invocation.
   6457 	(b4_symbol_actions): Remove.
   6458 	* data/glr.c (YYTRANSLATE): As for yacc.c, if negative, it stands
   6459 	for 0, end-of-input.
   6460 
   6461 2002-11-12  Akim Demaille  <akim (a] epita.fr>
   6462 
   6463 	* doc/bison.texinfo (Destructor Decl): New.
   6464 
   6465 2002-11-12  Akim Demaille  <akim (a] epita.fr>
   6466 
   6467 	* src/tables.c (tables_generate): Use free for pointers that
   6468 	cannot be NULL, not XFREE.
   6469 	(pack_vector): Use assert, not fatal, for bound violations.
   6470 	* src/state.c (state_new): Likewise.
   6471 	* src/reader.c (reader): Likewise.
   6472 	* src/lalr.c (set_goto_map): Likewise.
   6473 	* src/location.h (LOCATION_PRINT): If first_line is 0, just issue
   6474 	the file name.
   6475 
   6476 2002-11-12  Akim Demaille  <akim (a] epita.fr>
   6477 
   6478 	* src/scan-gram.l, src/reader.h (scanner_last_string_free):
   6479 	Restore.
   6480 	* src/scan-gram.l (last_string): Is global to the file, not to
   6481 	yylex.
   6482 	* src/parse-gram.y (input): Don't append the epilogue here,
   6483 	(epilogue.opt): do it here, and free the scanner's obstack.
   6484 	* src/reader.c (epilogue_set): Rename as...
   6485 	(epilogue_augment): this.
   6486 	* data/c.m4 (b4_epilogue): Defaults to empty.
   6487 
   6488 2002-11-12  Akim Demaille  <akim (a] epita.fr>
   6489 
   6490 	* src/getargs.c (long_options): Remove duplicates.
   6491 	* src/vmsgetargs.c, src/build.com, src/bison.cld, src/vmshlp.mar:
   6492 	Remove.
   6493 	* doc/bison.rnh: Remove.
   6494 	* doc/bison.texinfo (VMS Invocation): Remove.
   6495 
   6496 2002-11-12  Akim Demaille  <akim (a] epita.fr>
   6497 
   6498 	* src/struniq.h, src/struniq.c (struniq_t): Is const.
   6499 	(STRUNIQ_EQ, struniq_assert, struniq_assert_p): New.
   6500 
   6501 	Use struniq for symbols.
   6502 
   6503 	* src/symtab.h (symbol_t): The tag member is a struniq.
   6504 	(symbol_type_set): Adjust.
   6505 	* src/symtab.c (symbol_new): Takes a struniq.
   6506 	(symbol_free): Don't free the tag member.
   6507 	(hash_compare_symbol_t, hash_symbol_t): Rename as...
   6508 	(hash_compare_symbol, hash_symbol): these.
   6509 	Use the fact that tags as struniqs.
   6510 	(symbol_get): Use struniq_new.
   6511 	* src/symlist.h, src/symlist.c (symbol_list_n_type_name_get):
   6512 	Returns a strniq.
   6513 	* src/reader.h (merger_list, grammar_currentmerge_set): The name
   6514 	and type members are struniqs.
   6515 	* src/reader.c (get_merge_function)
   6516 	(grammar_current_rule_merge_set): Adjust.
   6517 	(TYPE, current_type): Are struniq.
   6518 
   6519 	Use struniq for file names.
   6520 
   6521 	* src/files.h, src/files.c (infile): Split into...
   6522 	(grammar_file, current_file): these.
   6523 	* src/scan-gram.c (YY_USER_INIT, handle_syncline): Adjust.
   6524 	* src/reduce.c (reduce_print): Likewise.
   6525 	* src/getargs.c (getargs): Likewise.
   6526 	* src/complain.h, src/complain.c: Likewise.
   6527 	* src/main.c (main): Call struniqs_new early enough to use it for
   6528 	file names.
   6529 	Don't free the input file name.
   6530 
   6531 2002-11-12  Akim Demaille  <akim (a] epita.fr>
   6532 
   6533 	* src/symtab.c (symbol_free): Remove dead deactivated code:
   6534 	type_name are properly removed.
   6535 	Don't use XFREE to free items that cannot be NULL.
   6536 	* src/struniq.h, src/struniq.c: New.
   6537 	* src/main.c (main): Initialize/free struniqs.
   6538 	* src/parse-gram.y (%union): Add astruniq member.
   6539 	(yyprint): Adjust.
   6540 	* src/scan-gram.l (<{tag}>): Return a struniq.
   6541 	Free the obstack bit that used to store it.
   6542 	* src/symtab.h (symbol_t): The 'type_name' member is a struniq.
   6543 
   6544 2002-11-11  Paul Eggert  <eggert (a] twinsun.com>
   6545 
   6546 	Revamp to fix many (but not all) of the C- and M4-related quoting
   6547 	problems.  Among other things, this fixes the Bison bug reported
   6548 	by Jan Hubicka when processing the Bash grammar; see:
   6549 	<http://lists.gnu.org/archive/html/bison-patches/2002-11/msg00039.html>
   6550 
   6551 	Use new @ escapes consistently.  Represent brackets with @{ and @}
   6552 	rather than @<:@ and @:>@, since this works a bit better with dumb
   6553 	editors like vi.  Represent @ with @@, since @ is now consistently
   6554 	an escape.  Use @oline@ and @ofile@ rather than __oline__ and
   6555 	__ofile__, to avoid unexpected expansions.  Similarly, use @output
   6556 	rather than #output.
   6557 
   6558 	* data/c.m4 (b4_copyright): Omit file name from comment, since
   6559 	the file name could contain "*/".
   6560 	(b4_synclines_flag): Don't quote the 2nd argument; it should already
   6561 	be quoted.  All uses changed.
   6562 
   6563 	* data/glr.c: Use new @ escapes consistently.
   6564 	(b4_input_suffix, b4_output_parser_suffix, b4_output_parser_name,
   6565 	b4_output_header_suffix, b4_output_header_name, b4_header_guard):
   6566 	Remove, since they couldn't handle arbitrary characters in file
   6567 	names.
   6568 	* data/lalr1.cc: Likewise.
   6569 	* data/yacc.c: Likewise.
   6570 
   6571 	* src/files.c (output_infix): Remove; all uses removed.
   6572 	* src/files.h: Likewise.
   6573 
   6574 	* data/glr.c: Remove use of "#ifdef b4_header_guard", since it
   6575 	mishandled funny characters in file names, and anyway it isn't
   6576 	needed any more.
   6577 	* data/yacc.c: Likewise.
   6578 	* data/lalr1.cc: Use YYSLP_NEEDED instead of b4_header_guard.
   6579 
   6580 	* data/glr.c (YYSTYPE_IS_TRIVIAL): Define when the .h file would.
   6581 	* data/yacc.c: Likewise.
   6582 
   6583 	* src/muscle_tab.c: Include quotearg.h, since we need to quote C
   6584 	strings now.
   6585 	(muscle_init): Quote filename as a C string.
   6586 	* src/muscle_tab.h (MUSCLE_GROW_STRING_PAIR): Remove; unused.
   6587 	(MUSCLE_OBSTACK_SGROW, MUSCLE_INSERT_C_STRING): New macros.
   6588 	* src/output.c (escaped_file_name_output): New function.
   6589 	(prepare_symbols): Quote tokens for M4.
   6590 	(prepare): Don't insert output_infix, output_prefix,
   6591 	output_parser_name, output_header_name; this is now down by scan-skel.
   6592 	Insert skeleton as a C string.
   6593 
   6594 	* src/output.c (user_actions_output, symbol_destructors_output,
   6595 	symbol_printers_output): Quote filenames for C and M4.
   6596 	* src/reader.c (prologue_augment, epilogue_set): Likewise.
   6597 
   6598 	* src/scan-gram.l (<SC_CHARACTER>): Don't worry about any backslash
   6599 	escapes other than \\ and \'; this simplifies the code.
   6600 	(<SC_STRING>): Likewise, for \\ and \".
   6601 	(<SC_COMMENT,SC_LINE_COMMENT,SC_STRING,SC_CHARACTER,SC_BRACED_CODE,
   6602 	SC_PROLOGUE,SC_EPILOGUE>): Escape $ and @, too.
   6603 	Use new escapes @{ and @} for [ and ].
   6604 
   6605 	* src/scan-skel.l (yylineno, yyoutname): Remove static vars, replacing
   6606 	them with auto vars.
   6607 	Switch to new escape scheme, where @ is the escape character uniformly.
   6608 	Abort if a stray escape character is found.  Avoid unbounded input
   6609 	buffer when parsing non-escaped text.
   6610 
   6611 	* tests/input.at (Torturing the Scanner): Add tests that @oline@,
   6612 	__oline__, #output, $@, and @{ do not have unintended meanings.
   6613 
   6614 2002-11-09  Paul Eggert  <eggert (a] twinsun.com>
   6615 
   6616 	Fix the test failure due to GCC warnings described in
   6617 	<http://lists.gnu.org/archive/html/bug-bison/2002-11/msg00000.html>.
   6618 	* data/glr.c (yyis_pact_ninf, yyis_table_ninf): New macros, which
   6619 	evaluate to 0 if it's impossible for NINF to be in the respective
   6620 	table.
   6621 	(yygetLRActions, yyrecoverParseError): Use them.
   6622 
   6623 	* src/scan-gram.l (unexpected_end_of_file): Fix bug: columns were
   6624 	counted in the token inserted at end of file.  Now takes
   6625 	location_t *, not location_t, so that the location can be
   6626 	adjusted.  All uses changed.
   6627 
   6628 	* tests/regression.at (Invalid inputs): Adjust wording in
   6629 	diagnostic to match the new behavior.
   6630 
   6631 	* tests/torture.at (AT_DATA_TRIANGULAR_GRAMMAR,
   6632 	AT_DATA_HORIZONTAL_GRAMMAR, AT_DATA_LOOKAHEADS_GRAMMAR,
   6633 	AT_DATA_STACK_TORTURE): Replace `assert (x);' with `if (! (x))
   6634 	abort ();'.  This reduces the runtime of the "Many lookaheads"
   6635 	test from 27.6 to 2.7 minutes on a 440 MHz Ultrasparc III running
   6636 	GCC 3.2.
   6637 
   6638 2002-11-07  Paul Eggert  <eggert (a] twinsun.com>
   6639 
   6640 	* src/parse-gram.y (CHARACTER): Remove unused token.
   6641 	All uses removed.
   6642 
   6643 	* src/scan-gram.l: Remove stack option.  We no longer use the
   6644 	stack, since the stack was never deeper than 1; instead, use the
   6645 	new auto var c_context to record the stacked value.
   6646 
   6647 	Remove nounput option.  At an unexpected end of file, we now unput
   6648 	the minimal input necessary to end cleanly; this simplifies the
   6649 	code.
   6650 
   6651 	Avoid unbounded token sizes where this is easy.
   6652 
   6653 	(unexpected_end_of_file): New function.
   6654 	Use it to systematize the error message on unexpected EOF.
   6655 	(last-string): Now auto, not static.
   6656 	(YY_OBS_FREE): Remove unnecessary do while (0) wrapper.
   6657 	(scanner_last_string_free): Remove; not used.
   6658 	(percent_percent_count): Move decl to just before use.
   6659 	(SC_ESCAPED_CHARACTER): Return ID at unexpected end of file,
   6660 	not the (never otherwised-used) CHARACTER.
   6661 
   6662 2002-11-07  Akim Demaille  <akim (a] epita.fr>
   6663 
   6664 	Let yyerror always receive the msg as last argument, so that
   6665 	yyerror can be variadic.
   6666 
   6667 	* data/yacc.c (b4_yyerror_args): New.
   6668 	Use it when calling yyerror.
   6669 	* data/glr.c (b4_yyerror_args, b4_lyyerror_args): New.
   6670 	Use it when calling yyerror.
   6671 	* doc/bison.texinfo (Error Reporting): Adjust.
   6672 	* tests/calc.at (_AT_DATA_CALC_Y): Adjust.
   6673 	* tests/cxx-type.at (_AT_TEST_GLR_CALC): Adjust.
   6674 
   6675 2002-11-06  Akim Demaille  <akim (a] epita.fr>
   6676 
   6677 	#line should have quoted strings.
   6678 	Ideally, this should be done by m4_quotearg.
   6679 
   6680 	* src/scan-skel.l: Include quotearg.h.
   6681 	Quote __ofile__.
   6682 	* src/output.c (symbol_printers_output)
   6683 	(symbol_destructors_output): Quote the file name.
   6684 
   6685 2002-11-06  Akim Demaille  <akim (a] epita.fr>
   6686 
   6687 	* tests/regression.at (Invalid inputs): Adjust to the recent
   6688 	messages.
   6689 
   6690 2002-11-06  Akim Demaille  <akim (a] epita.fr>
   6691 
   6692 	Restore --no-lines.
   6693 	Reported by Jim Kent.
   6694 
   6695 	* data/c.m4 (b4_syncline): New.
   6696 	* data/glr.c, data/yacc.c, data/lalr1.cc: Use it.
   6697 	* src/reader.c (prologue_augment, epilogue_set): Use b4_syncline.
   6698 	* src/output.c (user_actions_output): Likewise.
   6699 	(prepare): Define 'b4_synclines_flag'.
   6700 	* src/muscle_tab.c (muscle_init): Don't define b4_linef.
   6701 
   6702 2002-11-06  Akim Demaille  <akim (a] epita.fr>
   6703 
   6704 	* src/main.c (main): Free `infile'.
   6705 	* src/scan-gram.l (handle_syncline): New.
   6706 	Recognize `#line'.
   6707 	* src/output.c (user_actions_output, symbol_destructors_output)
   6708 	(symbol_printers_output): Use the location's file name, not
   6709 	infile.
   6710 	* src/reader.c (prologue_augment, epilogue_set): Likewise.
   6711 
   6712 2002-11-05  Paul Hilfinger  <Hilfinger (a] CS.Berkeley.EDU>
   6713 
   6714 	* src/tables.c (matching_state): Don't allow states to match if
   6715 	either has GLR conflict entries.
   6716 
   6717 2002-11-05  Paul Eggert  <eggert (a] twinsun.com>
   6718 
   6719 	* src/scan-gram.l: Use more accurate diagnostics, e.g.
   6720 	"integer out of range" rather than "invalid value".
   6721 	* tests/input.at (Invalid $n, Invalid @n): Change expected wording
   6722 	accordingly.
   6723 
   6724 	Scan <% and %> digraphs in C code as POSIX 1003.1-2001 requires.
   6725 	Also, remove one static variable in the scanner.
   6726 
   6727 	* src/scan-gram.l (braces_level): Now auto, not static.
   6728 	Initialize to zero if the compiler is being picky.
   6729 	(INITIAL): Clear braces_level instead of incrementing it.
   6730 	(SC_BRACED_CODE): Treat <% and %> as { and } when inside C code,
   6731 	as POSIX 1003.1-2001 requires.
   6732 	* src/system.h (IF_LINT): New macro, taken from coreutils.
   6733 	* configure.ac: Define "lint" if --enable-gcc-warnings.
   6734 
   6735 2002-11-05  Akim Demaille  <akim (a] epita.fr>
   6736 
   6737 	* src/scan-gram.l: When it starts with `%', complain about the
   6738 	whole directive, not just that `invalid character: %'.
   6739 
   6740 2002-11-04  Akim Demaille  <akim (a] epita.fr>
   6741 
   6742 	* Makefile.maint: Update from Autoconf.
   6743 	(update, cvs-update, po-update, do-po-update): New.
   6744 
   6745 2002-11-04  Akim Demaille  <akim (a] epita.fr>
   6746 
   6747 	* tests/glr-regr1.at (Badly Collapsed GLR States): Prototype yylex
   6748 	and yyerror.
   6749 	Have yyerror `use' its arguments.
   6750 	* tests/calc.at (AT_CHECK_PUSHDEFS): AT_YYERROR_SEES_LOC_IF
   6751 	returns true when location & yacc & pure & parse-param.
   6752 	(_AT_DATA_CALC_Y): Let yyerror ``use'' its arguments.
   6753 
   6754 2002-11-04  Akim Demaille  <akim (a] epita.fr>
   6755 
   6756 	* src/location.h (LOCATION_PRINT): Use quotearg slot 3 to avoid
   6757 	clashes.
   6758 	* src/scan-gram.l: Use [\'] instead of ['] to pacify
   6759 	font-lock-mode.
   6760 	Use complain_at.
   6761 	Use quote, not quote_n since LOCATION_PRINT no longer uses the
   6762 	slot 0.
   6763 
   6764 2002-11-03  Paul Eggert  <eggert (a] twinsun.com>
   6765 
   6766 	* src/reader.c (get_merge_function, grammar_current_rule_check):
   6767 	Use consistent diagnostics for reporting type name clashes.
   6768 	Quote the types with <>, for consistency with Yacc.
   6769 	* tests/input.at (Type Clashes): Adjust to diagnostic changes.
   6770 
   6771 2002-11-03  Akim Demaille  <akim (a] epita.fr>
   6772 
   6773 	* data/c.m4 (b4_identification, b4_user_args, b4_parse_param):
   6774 	New.
   6775 	* data/yacc.m4 (b4_pure_args, b4_Pure_args): New.
   6776 	(b4_parse_param): Remove.
   6777 	Use b4_identification.
   6778 	Propagate b4_pure_args where needed to pass them to yyerror.
   6779 	* data/glr.m4 (b4_parse_param): Remove.
   6780 	(b4_user_formals, b4_pure_args, b4_pure_formals, b4_lpure_args)
   6781 	(b4_lpure_formals): New.
   6782 	Use b4_identification.
   6783 	(YY_USER_FORMALS, YY_USER_ARGS): Remove, replaced by
   6784 	b4_user_formals and b4_user_args.
   6785 	(yyexpandGLRStack, yyFail, yyaddDeferredAction, yyglrShiftDefer)
   6786 	(yyreportAmbiguity): When using a pure parser, also need
   6787 	the location, and the parse-params.
   6788 	Adjust callers.
   6789 	(yyuserAction, yyglrShift, yyreportParseError, yyrecoverParseError):
   6790 	When using a pure parser, also need the parse-params.
   6791 	Adjust callers.
   6792 	* tests/calc.at: Test pure (%pure-parser) and absolutely pure
   6793 	(%pure-parser + %parse-param) LALR and GLR parsers.
   6794 	(AT_CHECK_PUSHDEFS, AT_CHECK_POPDEFS): New, define AT_PARAM_IF,
   6795 	AT_LOCATION_IF, AT_PURE_IF, AT_GLR_IF, AAT_PURE_AND_LOC_IF,
   6796 	AT_GLR_OR_PARAM_IF, AT_YYERROR_ARG_LOC_IF, AT_YYERROR_SEES_LOC_IF.
   6797 	(_AT_DATA_CALC_Y): Equip for purity of yyerror.
   6798 	(_AT_CHECK_CALC_ERROR): Use AT_YYERROR_SEES_LOC_IF.
   6799 	* tests/cxx-type.at (_AT_TEST_GLR_CALC): Equip for yyerror purity.
   6800 	* doc/bison.texinfo: Untabify the whole file.
   6801 	(Parser Function): Document %parse-param, deprecate YYPARSE_PARAM.
   6802 	(Pure Calling): Document %lex-param, deprecate YYLEX_PARAM.
   6803 	(Error Reporting): Adjust to these new directives.
   6804 	Document %error-verbose, deprecate YYERROR_VERBOSE.
   6805 
   6806 2002-11-03  Akim Demaille  <akim (a] epita.fr>
   6807 
   6808 	* tests/calc.at: Change all the AT_CHECK_CALC_LALR and
   6809 	AT_CHECK_CALC_GLR invocations to use % directives, instead of
   6810 	command line options.
   6811 	* tests/cxx-type.at: Formatting changes.
   6812 
   6813 2002-11-03  Paul Eggert  <eggert (a] twinsun.com>
   6814 
   6815 	* src/scan-gram.l: Revamp to fix POSIX incompatibilities,
   6816 	to count columns correctly, and to check for invalid inputs.
   6817 
   6818 	Use mbsnwidth to count columns correctly.  Account for tabs, too.
   6819 	Include mbswidth.h.
   6820 	(YY_USER_ACTION): Invoke extend_location rather than LOCATION_COLUMNS.
   6821 	(extend_location): New function.
   6822 	(YY_LINES): Remove.
   6823 
   6824 	Handle CRLF in C code rather than in Lex code.
   6825 	(YY_INPUT): New macro.
   6826 	(no_cr_read): New function.
   6827 
   6828 	Scan UCNs, even though we don't fully handle them yet.
   6829 	(convert_ucn_to_byte): New function.
   6830 
   6831 	Handle backslash-newline correctly in C code.
   6832 	(SC_LINE_COMMENT, SC_YACC_COMMENT): New states.
   6833 	(eols, blanks): Remove.  YY_USER_ACTION now counts newlines etc.;
   6834 	all uses changed.
   6835 	(tag, splice): New EREs.  Do not allow NUL or newline in tags.
   6836 	Use {splice} wherever C allows backslash-newline.
   6837 	YY_STEP after space, newline, vertical-tab.
   6838 	("/*"): BEGIN SC_YACC_COMMENT, not yy_push_state (SC_COMMENT).
   6839 
   6840 	(letter, id): Don't assume ASCII; e.g., spell out a-z.
   6841 
   6842 	({int}, handle_action_dollar, handle_action_at): Check for integer
   6843 	overflow.
   6844 
   6845 	(YY_STEP): Omit trailing semicolon, so that it's more like C.
   6846 
   6847 	(<SC_ESCAPED_STRING,SC_ESCAPED_CHARACTER>): Allow \0 and \00
   6848 	as well as \000.  Check for UCHAR_MAX, not 255.
   6849 	Allow \x with an arbitrary positive number of digits, as in C.
   6850 	Check for overflow here.
   6851 	Allow \? and UCNs, for compatibility with C.
   6852 
   6853 	(handle_symbol_code_dollar): Use quote_n slot 1 to avoid collision
   6854 	with quote slot used by complain_at.
   6855 
   6856 	* tests/input.at: Add tests for backslash-newline, m4 quotes
   6857 	in symbols, long literals, and funny escapes in strings.
   6858 
   6859 	* configure.ac (jm_PREREQ_MBSWIDTH): Add.
   6860 	* lib/Makefile.am (libbison_a_SOURCES): Add mbswidth.h, mbswidth.c.
   6861 	* lib/mbswidth.h, lib/mbswidth.c: New files, from GNU gettext.
   6862 	* m4/Makefile.am (EXTRA_DIST): Add mbswidth.m4.
   6863 	* m4/mbswidth.m4: New file, from GNU coreutils.
   6864 
   6865 	* doc/bison.texinfo (Grammar Outline): Document // comments.
   6866 	(Symbols): Document that trigraphs have no special meaning in Bison,
   6867 	nor is backslash-newline allowed.
   6868 	(Actions): Document that trigraphs have no special meaning.
   6869 
   6870 	* src/location.h (LOCATION_COLUMNS, LOCATION_LINES): Remove;
   6871 	no longer used.
   6872 
   6873 2002-11-02  Paul Eggert  <eggert (a] twinsun.com>
   6874 
   6875 	* src/reader.c: Don't include quote.h; not needed.
   6876 	(get_merge_function): Reword warning to be consistent with
   6877 	type clash diagnostic in grammar_current_rule_check.
   6878 
   6879 	* lib/quotearg.c (quotearg_buffer_restyled): Fix off-by-two
   6880 	bug in trigraph handling.
   6881 
   6882 	* src/output.c (prepare_symbols): When printing token names,
   6883 	escape "[" as "@<:@" and likewise for "]".
   6884 
   6885 	* src/system.h (errno): Remove declaration, as we are now
   6886 	assuming C89 or better, and C89 guarantees errno.
   6887 
   6888 2002-10-30  Paul Eggert  <eggert (a] twinsun.com>
   6889 
   6890 	* lib/bitset_stats.c (bitset_stats_read, bitset_stats_write):
   6891 	Check for close failures.
   6892 	* src/files.h (xfclose): Return void, not int, since it always
   6893 	returned zero.
   6894 	* src/files.c (xfclose): Likewise.  Report I/O error if ferror
   6895 	indicates one.
   6896 	* src/output.c (output_skeleton): Use xfclose rather than fclose
   6897 	and ferror.  xfclose now checks ferror.
   6898 
   6899 	* data/glr.c (YYLEFTMOST_STATE): Remove.
   6900 	(yyreportTree): Use a stack-based leftmost state.  This avoids
   6901 	our continuing battles with bogus warnings about initializers.
   6902 
   6903 2002-10-30  Akim Demaille  <akim (a] epita.fr>
   6904 
   6905 	* src/system.h: Don't use #ifdef/#ifndef on HAVE_ values, only
   6906 	#if.
   6907 
   6908 2002-10-29  Paul Hilfinger  <Hilfinger (a] CS.Berkeley.EDU>
   6909 
   6910 	* tests/glr-regr1.at: New test for reported regressions.
   6911 	* tests/testsuite.at: Add glr-regr1.at test.
   6912 	* tests/Makefile.am: Add glr-regr1.at test.
   6913 
   6914 2002-10-24  Paul Eggert  <eggert (a] twinsun.com>
   6915 
   6916 	Version 1.75a.
   6917 
   6918 	* tests/calc.at (_AT_DATA_CALC_Y): Remove unused strcat declaration.
   6919 	* tests/cxx-type.at (_AT_TEST_GLR_CALC): Include stdlib.h, since
   6920 	we use malloc.  Don't assume 'A' through 'Z' are contiguous.
   6921 	Don't assume strdup exists; POSIX says its an XSI extension.
   6922 	Check for buffer overflow on input.
   6923 
   6924 2002-10-24  Akim Demaille  <akim (a] epita.fr>
   6925 
   6926 	* src/output.c (output_skeleton): Don't disable M4sugar comments
   6927 	too soon: it results in comments being expanded.
   6928 	* data/yacc.c, data/glr.c, data/lalr1.cc: Do it right before the
   6929 	first output.
   6930 
   6931 2002-10-24  Akim Demaille  <akim (a] epita.fr>
   6932 
   6933 	* data/yacc.c (m4_int_type): New.
   6934 	* data/c.m4 (m4_int_type): Don't use yysigned_char, but `signed
   6935 	char' as only yacc.c wants K&R portability.
   6936 	* data/glr.c (yysigned_char): Remove.
   6937 	* data/lalr1.cc: Rename the trailing b4_name as b4_parser_class_name.
   6938 	Reported by Quoc Peyrot.
   6939 
   6940 2002-10-23  Paul Eggert  <eggert (a] twinsun.com>
   6941 
   6942 	* src/main.c (main): With --trace=time, report times even if a
   6943 	non-fatal error occurs.  Formerly, the times were reported in some
   6944 	such cases but not in others.
   6945 	* src/reader.c (reader): Just return if a complaint has been issued,
   6946 	instead of exiting, so that 'main' can report times.
   6947 
   6948 2002-10-22  Akim Demaille  <akim (a] epita.fr>
   6949 
   6950 	* src/system.h: Include sys/types.
   6951 	Reported by Bert Deknuydt.
   6952 
   6953 2002-10-23  Paul Eggert  <eggert (a] twinsun.com>
   6954 
   6955 	* configure.ac (AC_PROG_LEX): Use instead of AM_PROG_LEX.
   6956 	Suggested by Art Haas.
   6957 
   6958 2002-10-22  Paul Eggert  <eggert (a] twinsun.com>
   6959 
   6960 	* src/complain.c (exit) [! (STDC_HEADERS || _LIBC)]: Remove exit
   6961 	decl; not needed any more.
   6962 	* src/main.c (main): Use return to exit, undoing yesterday's change.
   6963 	The last OS that we could find where this wouldn't work is
   6964 	SunOS 3.5, and that's too old to worry about now.
   6965 
   6966 	* data/glr.c (struct yyltype): Define members even when not
   6967 	doing locations.  This is more consistent with yacc.c, and it
   6968 	works around the following bug reports:
   6969 	http://lists.gnu.org/archive/html/bug-bison/2002-10/msg00106.html
   6970 	http://lists.gnu.org/archive/html/bug-bison/2002-10/msg00111.html
   6971 
   6972 	* doc/bison.texinfo: Minor spelling and typographical fixes.  Use
   6973 	@acronym consistently.  Standardize on "Yacc" instead of "YACC",
   6974 	"Algol" instead of "ALGOL".  Give a bit more history about BNF.
   6975 
   6976 2002-10-22  Akim Demaille  <akim (a] epita.fr>
   6977 
   6978 	* data/README: New.
   6979 
   6980 2002-10-21  Paul Eggert  <eggert (a] twinsun.com>
   6981 
   6982 	Be consistent about 'bool'; the old code used an enum in one
   6983 	module and an int in another, and this violates the C standard.
   6984 	* m4/stdbool.m4: New file, from coreutils 4.5.3.
   6985 	* configure.ac (AC_HEADER_STDBOOL): Add.
   6986 	* m4/Makefile.am (EXTRA_DIST): Add stdbool.m4.
   6987 	* src/muscle_tab.c (hash_compare_muscles): (a ? FALSE : TRUE) -> (! a)
   6988 	* src/symtab.c (hash_compare_symbol_t): Likewise.
   6989 	* src/system.h (bool, false, true): Use a definition consistent
   6990 	with ../lib/hash.c.  All uses changed.
   6991 
   6992 	* src/complain.c (warning_issued): Renamed from warn_message_count,
   6993 	so that we needn't worry about integer overflow (!).
   6994 	Now of type bool.  All uses changed.
   6995 	(complaint_issued): Renamed from complain_message_count; likewise.
   6996 
   6997 	* src/main.c (main): Use exit to exit with failure.
   6998 
   6999 	* src/complain.c (fatal_at, fatal): Use EXIT_FAILURE and EXIT_SUCCESS
   7000 	rather than 1 and 0.
   7001 	* src/main.c (main): Likewise.
   7002 	* src/getargs.c (getargs): Likewise.
   7003 	* src/reader.c (reader): Likewise.
   7004 
   7005 	* src/getarg.c (getargs): Remove duplicate code for
   7006 	"Try `bison --help'".
   7007 
   7008 	* src/files.c (xfopen, xfclose): Use EXIT_FAILURE rather than 2.
   7009 	What was that "2" for?
   7010 
   7011 	* src/complain.h (fatal, fatal_at): Add __attribute__((__noreturn__)).
   7012 	* src/getargs.c (usage): Likewise.
   7013 
   7014 	* src/getargs.c (getargs): When there are too few operands, report
   7015 	the last one.  When there are too many, report the first extra
   7016 	one.  This is how diffutils does it.
   7017 
   7018 2002-10-20  Paul Eggert  <eggert (a] twinsun.com>
   7019 
   7020 	Remove K&R vestiges.
   7021 	* configure.ac (AC_C_CONST, AM_C_PROTOTYPES): Remove.
   7022 	* src/complain.c (VA_START): Remove.  Assume prototypes.
   7023 	(vfprintf) [! (HAVE_VPRINTF || defined vfprintf)]: New macro.
   7024 	(private_strerror, warn_at, warn, complain_at, complain, fatal_at,
   7025 	fatal): Assume prototypes.
   7026 	* src/complain.h: Assume prototypes.
   7027 	* src/system.h (PARAMS): Remove.
   7028 	Include <limits.h> unconditionally, since it's guaranteeed even
   7029 	for a freestanding C89 compiler.
   7030 	(SHRT_MIN, SHRT_MAX): Remove, since C89 guarantees them.
   7031 	* src/vmsgetargs.c (getargs, cli_present, cli_get_value): Prototype.
   7032 
   7033 2002-10-20  Akim Demaille  <akim (a] epita.fr>
   7034 
   7035 	* src/muscle_tab.c (muscle_grow): Remove trailing debugging code.
   7036 	* data/glr.c (YY_USER_FORMALS, YY_USER_ARGS): New.
   7037 	(yyuserAction, yydoAction, yyglrReduce, yyresolveValue)
   7038 	(yyresolveStates, yyresolveAction, yyresolveStack)
   7039 	(yyprocessOneStack): Use them.
   7040 	(yy_reduce_print): New.
   7041 	* tests/calc.at (_AT_DATA_CALC_Y): Exercise %parse-param.
   7042 
   7043 2002-10-20  Akim Demaille  <akim (a] epita.fr>
   7044 
   7045 	* data/c.m4 (b4_c_ansi_args): Recognize functions with no
   7046 	arguments and output `void'.
   7047 	(b4_c_function): Rename as...
   7048 	(b4_c_function_def): this.
   7049 	(b4_c_function_decl, b4_c_ansi_function_def)
   7050 	(b4_c_ansi_function_decl): New.
   7051 	Change the interpretation of the arguments: before `int, foo', now
   7052 	`int foo, foo'.
   7053 	* data/yacc.c (yyparse): Prototype and define thanks to these.
   7054 	Adjust b4_c_function_def uses.
   7055 	* data/glr.c (yyparse): Likewise, but ANSI only.
   7056 
   7057 2002-10-20  Akim Demaille  <akim (a] epita.fr>
   7058 
   7059 	* src/output.c (prepare): Move the definition of `tokens_number',
   7060 	`nterms_number', `undef_token_number', `user_token_number_max'
   7061 	to...
   7062 	(prepare_tokens): Here.
   7063 	(prepare_tokens): Rename as...
   7064 	(prepare_symbols): this.
   7065 	(prepare): Move the definition of `rules_number' to...
   7066 	(prepare_rules): here.
   7067 	(prepare): Move the definition of `last', `final_state_number',
   7068 	`states_number' to...
   7069 	(prepare_states): here.
   7070 	* data/yacc.c, data/lalr1.cc, data/glr.c: Normalize `>' into `<'.
   7071 
   7072 2002-10-20  Akim Demaille  <akim (a] epita.fr>
   7073 
   7074 	* src/tables.h, src/tables.c, src/output.c: Comment changes.
   7075 
   7076 2002-10-20  Akim Demaille  <akim (a] epita.fr>
   7077 
   7078 	* data/yacc.c, data/yacc.c (b4_location_if, b4_pure_if): Move to...
   7079 	* data/c.m4: here.
   7080 
   7081 2002-10-20  Akim Demaille  <akim (a] epita.fr>
   7082 
   7083 	* src/output.c (prepare): Use MUSCLE_INSERT_STRING.
   7084 	* src/muscle_tab.c (muscle_pair_list_grow): Rename `val as
   7085 	`pair'.
   7086 	(muscle_init): Move the `b4_ltype', `b4_maxdepth', `b4_initdepth',
   7087 	`name' to...
   7088 	* data/glr.c, data/lalr1.cc, data/yacc.c (b4_location_type)
   7089 	(b4_stack_depth_init, b4_stack_depth_max, b4_parser_class_name):
   7090 	These.
   7091 
   7092 2002-10-19  Paul Eggert  <eggert (a] twinsun.com>
   7093 
   7094 	Do not create a temporary file, as that involves security and
   7095 	cleanup headaches.  Instead, use a pair of pipes.
   7096 	Derived from a suggestion by Florian Krohm.
   7097 	* lib/subpipe.c, lib/subpipe.h, m4/subpipe.m4: New files.
   7098 	* lib/mkstemp.c, lib/readpipe.c, lib/tempname.c, m4/mkstemp.m4: Remove.
   7099 	* configure.ac (UTILS_FUNC_MKSTEMP, jm_PREREQ_TEMPNAME): Remove.
   7100 	(BISON_PREREQ_SUBPIPE): Add.
   7101 	* lib/Makefile.am (libbison_a_SOURCES): Remove readpipe.c.
   7102 	Add subpipe.h, subpipe.c.
   7103 	* m4/Makefile.am (EXTRA_DIST): Remove mkstemp.m4.  Add subpipe.m4.
   7104 	* po/POTFILES.in: Add lib/subpipe.c.
   7105 	* src/output.c: Include "subpipe.h".
   7106 	(m4_invoke): Remove decl.
   7107 	(scan_skel): New decl.
   7108 	(output_skeleton): Use pipe rather than temporary file for m4 input.
   7109 	Check that m4sugar.m4 is readable, to avoid deadlock.
   7110 	Check for pipe I/O error.
   7111 	* src/scan-skel.l (readpipe): Remove decl.
   7112 	(scan_skel): New function, to be used in place of m4_invoke.
   7113 	Read from stream rather than file.
   7114 
   7115 	* lib/timevar.c (TICKS_TO_MSEC, CLOCKS_TO_MSEC): Do not cast to
   7116 	float, as this generates a warning on Solaris 8 + GCC 3.2 with
   7117 	--enable-gcc-warnings.  Instead, divide into 1.0 rather than 1;
   7118 	this generates a more-accurate value anyway.
   7119 
   7120 	* lib/timevar.c (timervar_accumulate): Rename locals to
   7121 	avoid confusion with similarly-named more-global.
   7122 	* src/muscle_tab.c (muscle_pair_list_grow): Likewise.
   7123 
   7124 	* src/output.c (prepare): Use xstrdup to convert char const *
   7125 	to char *, to avoid GCC warning.
   7126 
   7127 2002-10-19  Akim Demaille  <akim (a] epita.fr>
   7128 
   7129 	* tests/calc.at (_AT_DATA_CALC_Y): Define VAL, LOC, LEX_FORMALS,
   7130 	LEX_PRE_FORMALS, LEX_ARGS, LEX_PRE_ARGS, USE_LEX_ARGS.
   7131 	Use them to have `calc.y' ready for %pure-parser.
   7132 	* data/yacc.c (YYLEX): Pass a yylex return type to
   7133 	b4_c_function_call.
   7134 
   7135 2002-10-19  Akim Demaille  <akim (a] epita.fr>
   7136 
   7137 	Prototype support of %lex-param and %parse-param.
   7138 
   7139 	* src/parse-gram.y: Add the definition of the %lex-param and
   7140 	%parse-param tokens, plus their rules.
   7141 	Drop the `_' version of %glr-parser.
   7142 	Add the "," token.
   7143 	* src/scan-gram.l (INITIAL): Scan them.
   7144 	* src/muscle_tab.c: Comment changes.
   7145 	(muscle_insert, muscle_find): Rename `pair' as `probe'.
   7146 	* src/muscle_tab.h (MUSCLE_INSERT_PREFIX): Remove unused.
   7147 	(muscle_entry_s): The `value' member is no longer const.
   7148 	Adjust all dependencies.
   7149 	* src/muscle_tab.c (muscle_init): Adjust: use
   7150 	MUSCLE_INSERT_STRING.
   7151 	Initialize the obstack earlier.
   7152 	* src/muscle_tab.h, src/muscle_tab.c (muscle_grow)
   7153 	(muscle_pair_list_grow): New.
   7154 	* data/c.m4 (b4_c_function_call, b4_c_args): New.
   7155 	* data/yacc.c (YYLEX): Use b4_c_function_call to honor %lex-param.
   7156 	* tests/calc.at: Use %locations, not --locations.
   7157 	(AT_CHECK_CALC_GLR): Use %glr-parser, not %glr_parser.
   7158 
   7159 2002-10-19  Akim Demaille  <akim (a] epita.fr>
   7160 
   7161 	* src/getargs.c (usage): Take status as argument and exit
   7162 	accordingly.
   7163 	Report the traditional `Try ... --help' message when status != 0.
   7164 	(usage, version): Don't take a FILE * as arg, it is pointless.
   7165 	(getargs): When there is an incorrect number of arguments, make it
   7166 	an error, and report it GNUlically thanks to `usage ()'.
   7167 
   7168 2002-10-18  Paul Eggert  <eggert (a] twinsun.com>
   7169 
   7170 	* data/glr.c (yyreportParseError): Don't assume that sprintf
   7171 	yields the length of the printed string, as this is not true
   7172 	on SunOS 4.1.4.  Reported by Peter Klein.
   7173 
   7174 	* tests/calc.at (_AT_DATA_CALC_Y): #undef memcmp and realloc.
   7175 	* tests/conflicts.at (%nonassoc and eof): Likewise.
   7176 	Fixes SunOS 4.1.4 test failure reported by Peter Klein.
   7177 
   7178 2002-10-17  Akim Demaille  <akim (a] epita.fr>
   7179 
   7180 	* src/getargs.h (trace_e): Add trace_scan, and trace_parse.
   7181 	* src/getargs.c (trace_types, trace_args): Adjust.
   7182 	* src/reader.c (grammar_current_rule_prec_set)
   7183 	(grammar_current_rule_dprec_set, grammar_current_rule_merge_set):
   7184 	Standardize error messages.
   7185 	And s/@prec/%prec/!
   7186 	(reader): Use trace_flag to enable scanner/parser debugging,
   7187 	instead of an adhoc scheme.
   7188 	* src/scan-gram.l: Remove trailing debugging code.
   7189 
   7190 2002-10-16  Paul Eggert  <eggert (a] twinsun.com>
   7191 
   7192 	* src/muscle_tab.h (MUSCLE_TAB_H_): Was misspelled as
   7193 	MUSCLE_TAB_H.
   7194 
   7195 	* NEWS: Officially drop support for building Bison with K&R C,
   7196 	since it didn't work anyway and it's not worth worrying about.
   7197 	* Makefile.maint (wget_files): Remove ansi2knr.c.
   7198 	(ansi2knr.c-url_prefix): Remove.
   7199 	* lib/.cvsignore: Remove ansi2knr, ansi2knr.*.
   7200 	* lib/Makefile.am (AUTOMAKE_OPTIONS): Remove.
   7201 	* src/Makefile.am (AUTOMAKE_OPTIONS): Remove.
   7202 
   7203 2002-10-15  Paul Eggert  <eggert (a] twinsun.com>
   7204 
   7205 	Stop using the "enum_" trick for K&R-style function definitions;
   7206 	it confused me, and I was the author!  Instead, assume that people
   7207 	who want to use K&R C compilers (when using these modules in GCC,
   7208 	perhaps?) will run ansi2knr.
   7209 
   7210 	* lib/bbitset.h: (enum_bitset_ops, enum_bitset_type): Remove.
   7211 	All uses of "enum_" changed to "enum ".
   7212 	* lib/ebitset.c (enum_ebitset_find_mode): Likewise.
   7213 	* lib/lbitset.c (enum_lbitset_find_mode): Likewise.
   7214 
   7215 	* lib/abitset.c (abitset_and, abitset_and_cmp, abitset_and_or,
   7216 	abitset_and_or_cmp, abitset_andn, abitset_andn_cmp,
   7217 	abitset_andn_or, abitset_andn_or_cmp, abitset_bytes, abitset_copy,
   7218 	abitset_copy1, abitset_disjoint_p, abitset_empty_p,
   7219 	abitset_equal_p, abitset_init, abitset_list, abitset_list_reverse,
   7220 	abitset_not, abitset_ones, abitset_or, abitset_or_and,
   7221 	abitset_or_and_cmp, abitset_or_cmp, abitset_reset, abitset_set,
   7222 	abitset_size, abitset_small_list, abitset_subset_p, abitset_test,
   7223 	abitset_unused_clear, abitset_xor, abitset_xor_cmp, abitset_zero):
   7224 	Use function prototypes; this removes the need for declaring
   7225 	static functions simply to provide their prototypes.
   7226 	* lib/bitset.c (bitset_alloc, bitset_and_or_, bitset_and_or_cmp_,
   7227 	bitset_andn_or_, bitset_andn_or_cmp_, bitset_bytes, bitset_copy_,
   7228 	bitset_count_, bitset_create, bitset_dump, bitset_first,
   7229 	bitset_free, bitset_init, bitset_last, bitset_next,
   7230 	bitset_obstack_alloc, bitset_obstack_free, bitset_only_set_p,
   7231 	bitset_op4_cmp, bitset_or_and_, bitset_or_and_cmp_, bitset_prev,
   7232 	bitset_print, bitset_release_memory, bitset_toggle_,
   7233 	bitset_type_choose, bitset_type_get, bitset_type_name_get,
   7234 	debug_bitset): Likewise.
   7235 	* lib/bitset.h (bitset_set, bitset_reset, bitset_test): Likewise.
   7236 	* lib/bitset_stats.c (bitset_log_histogram_print,
   7237 	bitset_percent_histogram_print, bitset_stats_and,
   7238 	bitset_stats_and_cmp, bitset_stats_and_or,
   7239 	bitset_stats_and_or_cmp, bitset_stats_andn, bitset_stats_andn_cmp,
   7240 	bitset_stats_andn_or, bitset_stats_andn_or_cmp, bitset_stats_copy,
   7241 	bitset_stats_count, bitset_stats_disable, bitset_stats_disjoint_p,
   7242 	bitset_stats_dump, bitset_stats_empty_p, bitset_stats_enable,
   7243 	bitset_stats_equal_p, bitset_stats_free, bitset_stats_init,
   7244 	bitset_stats_list, bitset_stats_list_reverse, bitset_stats_not,
   7245 	bitset_stats_ones, bitset_stats_or, bitset_stats_or_and,
   7246 	bitset_stats_or_and_cmp, bitset_stats_or_cmp, bitset_stats_print,
   7247 	bitset_stats_print_1, bitset_stats_read, bitset_stats_reset,
   7248 	bitset_stats_set, bitset_stats_size, bitset_stats_subset_p,
   7249 	bitset_stats_test, bitset_stats_toggle, bitset_stats_type_get,
   7250 	bitset_stats_write, bitset_stats_xor, bitset_stats_xor_cmp,
   7251 	bitset_stats_zero): Likewise.
   7252 	* lib/bitsetv.c (bitsetv_alloc, bitsetv_create, bitsetv_free,
   7253 	bitsetv_zero, bitsetv_ones, bitsetv_transitive_closure,
   7254 	bitsetv_dump, debug_bitsetv): Likewise.
   7255 	* lib/ebitset.c (ebitset_and, ebitset_and_cmp, ebitset_andn,
   7256 	ebitset_andn_cmp, ebitset_bytes, ebitset_copy, ebitset_copy_,
   7257 	ebitset_copy_cmp, ebitset_disjoint_p, ebitset_elt_add,
   7258 	ebitset_elt_alloc, ebitset_elt_calloc, ebitset_elt_find,
   7259 	ebitset_elt_free, ebitset_elt_last, ebitset_elt_remove,
   7260 	ebitset_elt_zero_p, ebitset_elts_grow, ebitset_empty_p,
   7261 	ebitset_equal_p, ebitset_free, ebitset_init, ebitset_list,
   7262 	ebitset_list_reverse, ebitset_not, ebitset_ones, ebitset_op3_cmp,
   7263 	ebitset_or, ebitset_or_cmp, ebitset_release_memory, ebitset_reset,
   7264 	ebitset_set, ebitset_size, ebitset_subset_p, ebitset_test,
   7265 	ebitset_weed, ebitset_xor, ebitset_xor_cmp, ebitset_zero):
   7266 	Likewise.
   7267 	* lib/lbitset.c (debug_lbitset, lbitset_and, lbitset_and_cmp,
   7268 	lbitset_andn, lbitset_andn_cmp, lbitset_bytes, lbitset_copy,
   7269 	lbitset_copy_cmp, lbitset_disjoint_p, lbitset_elt_alloc,
   7270 	lbitset_elt_calloc, lbitset_elt_find, lbitset_elt_free,
   7271 	lbitset_elt_link, lbitset_elt_unlink, lbitset_elt_zero_p,
   7272 	lbitset_empty_p, lbitset_equal_p, lbitset_free, lbitset_init,
   7273 	lbitset_list, lbitset_list_reverse, lbitset_not, lbitset_ones,
   7274 	lbitset_op3_cmp, lbitset_or, lbitset_or_cmp, lbitset_prune,
   7275 	lbitset_release_memory, lbitset_reset, lbitset_set, lbitset_size,
   7276 	lbitset_subset_p, lbitset_test, lbitset_weed, lbitset_xor,
   7277 	lbitset_xor_cmp, lbitset_zero): Likewise.
   7278 
   7279 2002-10-14  Akim Demaille  <akim (a] epita.fr>
   7280 
   7281 	Version 1.75.
   7282 
   7283 2002-10-14  Akim Demaille  <akim (a] epita.fr>
   7284 
   7285 	* tests/Makefile.am (maintainer-check-posix): New.
   7286 
   7287 2002-10-14  Akim Demaille  <akim (a] epita.fr>
   7288 
   7289 	* data/glr.c [YYDEBUG] (YYLEFTMOST_STATE): Initialize the yyloc
   7290 	member.
   7291 
   7292 2002-10-14  Akim Demaille  <akim (a] epita.fr>
   7293 
   7294 	* src/tables.c (table_ninf_remap): base -> tab.
   7295 	Reported by Matt Rosing.
   7296 
   7297 2002-10-14  Paul Eggert  <eggert (a] twinsun.com>
   7298 
   7299 	* tests/action.at, tests/calc.at, tests/conflicts.at,
   7300 	tests/cxx-type.at, tests/headers.at, tests/input.at,
   7301 	tests/regression.at, tests/synclines.at, tests/torture.at:
   7302 	Say "bison -o foo.c foo.y", not "bison foo.y -o foo.c",
   7303 	so that the tests still work even if POSIXLY_CORRECT is set.
   7304 	* doc/bison.texinfo (Rpcalc Compile, Invocation): Likewise.
   7305 
   7306 	* data/c.m4 (b4_int_type): Use yysigned_char instead of signed char,
   7307 	for portability to K&R hosts.  Fix typo: signed char is guaranteed
   7308 	only to 127, not to 128.
   7309 	* data/glr.c (yysigned_char): New type.
   7310 	* data/yacc.c (yysigned_char): Likewise.
   7311 	* tests/regression.at (Web2c Actions): signed char -> yysigned_char.
   7312 
   7313 2002-10-13  Paul Eggert  <eggert (a] twinsun.com>
   7314 
   7315 	* data/yacc.c (yyparse): Rewrite to avoid "comparison is always
   7316 	true due to limited range of data type" warning from GCC.
   7317 
   7318 	* data/c.m4 (b4_token_defines): Protect against double-inclusion
   7319 	by wrapping enum yytokentype's definition inside #ifndef
   7320 	YYTOKENTYPE.  This undoes a bug I introduced on 2002-10-12.
   7321 
   7322 2002-10-13  Akim Demaille  <akim (a] epita.fr>
   7323 
   7324 	* data/glr.c (yyglrShiftDefer, yyaddDeferredAction, yydoAction):
   7325 	Un yy- yyrhs to avoid the name clash with the global YYRHS.
   7326 
   7327 2002-10-13  Akim Demaille  <akim (a] epita.fr>
   7328 
   7329 	* Makefile.maint: Update from Autoconf 2.54.
   7330 	* m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Remove, shipped with 2.54.
   7331 
   7332 2002-10-13  Akim Demaille  <akim (a] epita.fr>
   7333 
   7334 	* src/print.c (print_state): Separate the list of solved conflicts
   7335 	from the other items.
   7336 	* tests/conflicts.at (Resolved SR Conflicts): Adjust.
   7337 
   7338 2002-10-13  Akim Demaille  <akim (a] epita.fr>
   7339 
   7340 	Let nondeterministic skeletons be usable with deterministic
   7341 	tables.
   7342 
   7343 	With the patch, GAWK compiled by GCC without -O2 passes its test
   7344 	suite using a GLR parser driven by LALR tables.  It fails with -O2
   7345 	because `struct stat' gives two different answers on my machine:
   7346 	88 (definition of an auto var) and later 96 (memset on this var).
   7347 	Hence the stack is badly corrumpted.  The headers inclusion is to
   7348 	blame: if I move the awk.h inclusion before GLR's system header
   7349 	inclusion, the two struct stat have the same size.
   7350 
   7351 	* src/tables.c (pack_table): Always create conflict_table.
   7352 	(token_actions): Always create conflict_list.
   7353 	* data/glr.c (YYFLAG): Remove, unused.
   7354 
   7355 2002-10-13  Akim Demaille  <akim (a] epita.fr>
   7356 
   7357 	* configure.ac (AC_GNU_SOURCE): Use it instead of hand written code.
   7358 	(O0FLAGS): New.
   7359 	(VALGRIND, GXX): New.
   7360 	* tests/atlocal.in (CFLAGS): Use O0FLAGS.
   7361 	* tests/bison.in: Run $PREBISON a pre-command.
   7362 	* tests/Makefile.am (maintainer-check, maintainer-check-valgrind)
   7363 	(maintainer-check-g++): New.
   7364 	* Makefile.am (maintainer-check): New.
   7365 
   7366 2002-10-13  Akim Demaille  <akim (a] epita.fr>
   7367 
   7368 	* data/glr.c: Formatting changes.
   7369 	Tweak some trace messages to match yacc.c's.
   7370 
   7371 2002-10-13  Akim Demaille  <akim (a] epita.fr>
   7372 
   7373 	GLR parsers sometimes raise parse errors instead of performing the
   7374 	default reduction.
   7375 	Reported by Charles-Henry de Boysson.
   7376 
   7377 	* tests/calc.at (_AT_CHECK_CALC, _AT_CHECK_CALC_ERROR): Don't
   7378 	check the length of the traces when %glr.
   7379 	(_AT_CHECK_CALC_ERROR): Also skip `^Stack' lines, coming from
   7380 	GLR's traces.
   7381 	(AT_CHECK_CALC_LALR, AT_CHECK_CALC_GLR): New.
   7382 	Test GLR parsers.
   7383 	* data/glr.c (YYLEFTMOST_STATE): Fix its value.
   7384 	(yyltype): Remove the yy prefix from the member names.
   7385 	(yytable): Complete its comment.
   7386 	(yygetLRActions): Map error action number from YYTABLE from
   7387 	YYTABLE_NINF to 0.
   7388 	(yyisErrorAction): No longer compare YYACTION to YYPACT_NINF
   7389 	(which was a bug: it should have been YYTABEL_NINF, and yet it was
   7390 	not satisfying as we could compare an YYACTION computed from
   7391 	YYDEFACT to YYTABLE_NINF although they are unrelated): 0 is the
   7392 	only value for error actions.
   7393 	(yyreportParseError): In verbose parse error messages, don't issue
   7394 	`error' in the list of expected tokens.
   7395 	* data/yacc.c (yyparse) <yybackup>: Rewrite the decoding of the
   7396 	next action to perform to match glr.c's decoding.
   7397 	(yytable): Complete its comment.
   7398 
   7399 2002-10-13  Paul Eggert  <eggert (a] twinsun.com>
   7400 
   7401 	Fix problem reported by Henrik Grubbstroem in
   7402 	<http://lists.gnu.org/archive/html/bug-bison/2002-10/msg00098.html>:
   7403 	"nonterm: { $$ = 123; } { $$ = $1; };" was wrongly rejected,
   7404 	because the Bison parser reads the second action before reducing
   7405 	the first one.
   7406 	* src/scan-gram.l (rule_length): New static var.
   7407 	Use it to keep track of the rule length in the scanner, since
   7408 	we can't expect the parser to be in lock-step sync with the scanner.
   7409 	(handle_action_dollar, handle_action_at): Use this var.
   7410 	* tests/actions.at (Exotic Dollars): Test for the problem.
   7411 
   7412 2002-10-12  Paul Eggert  <eggert (a] twinsun.com>
   7413 
   7414 	* lib/timevar.c [! IN_GCC && HAVE_SYS_TIME_H]: Include <sys/time.h>.
   7415 	* m4/timevar.m4 (BISON_PREREQ_TIMEVAR): Check for <sys/time.h>.
   7416 	Include <sys/time.h> when checking for clock_t and struct tms.
   7417 	Use same include order as source.
   7418 	This is for the SunOS 4.1.4 porting bug reported by Peter Klein in
   7419 	<http://lists.gnu.org/archive/html/bug-bison/2002-10/msg00016.html>.
   7420 
   7421 	* lib/timevar.c: Update copyright date and clarify comments.
   7422 	(get_time) [IN_GCC]: Keep the GCC version for reference.
   7423 
   7424 	* lib/timevar.c, lib/timevar.h, lib/timevar.def: Import
   7425 	GCC version as of today, then merge Bison's changes.
   7426 	Change "GCC" to "Bison" in copyright notice.  timevar.def's
   7427 	author is Akim, so change that too.
   7428 
   7429 	* src/reader.c (grammar_current_rule_check):
   7430 	Don't worry about the default action if $$ is untyped.
   7431 	Prevents bogus warnings reported by Jim Gifford in
   7432 	<http://lists.gnu.org/archive/html/bug-bison/2002-10/msg00015.html>.
   7433 
   7434 	* data/c.m4 (b4_token_enum): Do not define YYTOKENTYPE.
   7435 	* data/glr.c, data/lalr1.cc, data/yacc.c:
   7436 	Output token definitions before the first part of user declarations.
   7437 	Fixes compatibility problem reported by Jim Gifford for kbd in
   7438 	<http://lists.gnu.org/archive/html/bug-bison/2002-10/msg00014.html>.
   7439 
   7440 2002-10-11  Paul Eggert  <eggert (a] twinsun.com>
   7441 
   7442 	* data/yacc.c (yyreport_parse_error): Remove, putting its body into...
   7443 	(yyparse): here.  This undoes some of the 2002-07-25 change.
   7444 	Compatibility problem reported by Ralf S. Engelschall with
   7445 	OSSP cfg <http://www.ossp.org/pkg/lib/cfg/>.
   7446 
   7447 2002-10-11  Akim Demaille  <akim (a] epita.fr>
   7448 
   7449 	* tests/regression.at Characters Escapes): New.
   7450 	* src/scan-gram.l (SC_ESCAPED_CHARACTER): Accept \' in strings and
   7451 	characters.
   7452 	Reported by Jan Nieuwenhuizen.
   7453 
   7454 2002-10-11  Akim Demaille  <akim (a] epita.fr>
   7455 
   7456 	* po/id.po: New.
   7457 
   7458 2002-10-10  Paul Eggert  <eggert (a] twinsun.com>
   7459 
   7460 	Portability fixes for bitsets; this also avoids several GCC
   7461 	warnings.
   7462 
   7463 	* lib/abitset.c: Include <stddef.h>, for offsetof.
   7464 	* lib/lbitset.c: Likewise.
   7465 
   7466 	* lib/abitset.c (abitset_bytes): Return a size that is aligned
   7467 	properly for vectors of objects.  Do not assume that adding a
   7468 	header size to a multiple of a word size yields a value that is
   7469 	properly aligned for the whole union.
   7470 	* lib/bitsetv.c (bitsetv_alloc): Likewise.
   7471 
   7472 	* lib/bitset_stats.c (bitset_stats_bytes): Adjust to new,
   7473 	unique names for structures.
   7474 	* lib/ebitset.c (ebitset_bytes): Likewise.
   7475 	* lib/lbitset.c (lbitset_bytes): Likewise.
   7476 
   7477 	* lib/abitset.c (abitset_ones, abitset_zero, abitset_empty_p,
   7478 	abitset_copy1, abitset_not, abitset_equal_p, abitset_subset_p,
   7479 	abitset_disjoint_p, abitset_and, abitset_and_cmp, abitset_andn,
   7480 	abitset_andn_cmp, abitset_or, abitset_or_cmp, abitset_xor,
   7481 	abitset_xor_cmp, abitset_and_or, abitset_and_or_cmp,
   7482 	abitset_andn_or, abitset_andn_or_cmp, abitset_or_and,
   7483 	abitset_or_and_cmp, abitset_copy): Supply prototype decls,
   7484 	to improve the type-checking that GCC can do.
   7485 	* lib/bitset.c (bitset_op4_cmp): Likewise.
   7486 	* lib/bitset_stats.c (bitset_stats_count,
   7487 	bitset_stats_empty_p, bitset_stats_ones, bitset_stats_zero,
   7488 	bitset_stats_copy, bitset_stats_disjoint_p,
   7489 	bitset_stats_equal_p, bitset_stats_not, bitset_stats_subset_p,
   7490 	bitset_stats_and, bitset_stats_and_cmp, bitset_stats_andn,
   7491 	bitset_stats_andn_cmp, bitset_stats_or, bitset_stats_or_cmp,
   7492 	bitset_stats_xor, bitset_stats_xor_cmp, bitset_stats_and_or,
   7493 	bitset_stats_and_or_cmp, bitset_stats_andn_or,
   7494 	bitset_stats_andn_or_cmp, bitset_stats_or_and,
   7495 	bitset_stats_or_and_cmp): Likewise.
   7496 	* lib/lbitset.c (lbitset_and, lbitset_and_cmp, lbitset_andn,
   7497 	lbitset_andn_cmp, lbitset_or, lbitset_or_cmp, lbitset_xor,
   7498 	lbitset_xor_cmp, lbitset_empty_p, lbitset_ones, lbitset_not,
   7499 	lbitset_subset_p, lbitset_disjoint_p, debug_lbitset): Likewise.
   7500 
   7501 	* lib/abitset.h: Include bitset.h, not bbitset.h.
   7502 	* lib/ebitset.h: Likewise.
   7503 	* lib/lbitset.h: Likewise.
   7504 
   7505 	* lib/bbitset.h: (enum_bitset_ops, enum_bitset_type): New types.
   7506 	All instances of parameters of type enum bitset_opts are now of
   7507 	type enum_bitset_opts, to conform to the C Standard, and similarly
   7508 	for enum_bitset_type.
   7509 	* lib/ebitset.c (enum_ebitset_find_mode): Likewise.
   7510 	* lib/lbitset.c (enum_lbitset_find_mode): Likewise.
   7511 
   7512 	Do not use "struct bitset_struct" to mean different things in
   7513 	different modules.  Not only is this confusing, it violates
   7514 	the C Standard, which requires that structure types in different
   7515 	modules must be compatible if one is to be passed to the other.
   7516 	* lib/bbitset.h (bitset): Now points to a union, not to a struct.
   7517 	All instances of "struct bitset_struct *" replaced with "bitset".
   7518 	* lib/bitset.h (struct bitset_struct): Remove, replacing with....
   7519 	(union bitset_union, struct abitset_struct, struct ebitset_struct,
   7520 	struct lbitset_struct, struct bitset_stats_struct): New types.
   7521 	All uses of struct bitset_struct changed to union bitset_union,
   7522 	etc.
   7523 	* lib/abitset.c (struct abitset_struct, abitset,
   7524 	struct bitset_struct): Remove.
   7525 	* lib/bitset_stats.c (struct bitset_stats_struct, bitset_stats,
   7526 	struct bitset_struct): Remove.
   7527 	* lib/ebitset.c (struct ebitset_struct, ebitset, struct
   7528 	bitset_struct): Remove.
   7529 	* lib/lbitset.c (struct lbitset_struct, lbitset, bitset_struct):
   7530 	Likewise.
   7531 
   7532 	Do not call a function of type T using a call that assumes the
   7533 	function is of a different type U.  Standard C requires that a
   7534 	function must be called with a type that is compatible with its
   7535 	definition.
   7536 	* lib/bbitset.h (bitset_and_or_, bitset_andn_or_, bitset_or_and_):
   7537 	New decls.
   7538 	* lib/bitset.c (bitset_and_or_, bitset_andn_or_, bitset_or_and_):
   7539 	New functions.
   7540 	* lib/ebitset.c (PFV): Remove.
   7541 	* lib/lbitset.c (PFV): Likewise.
   7542 	* lib/ebitset.c (ebitset_and, ebitset_andn, ebitset_or,
   7543 	ebitset_xor, ebitset_copy, ebitset_ones, ebitset_empty_p): New
   7544 	decls.
   7545 	(ebitset_and, ebitset_andn, ebitset_or, ebitset_xor): New functions.
   7546 	(ebitset_vtable): Use them.
   7547 	* lib/lbitset.c (lbitset_and, lbitset_andn, lbitset_or,
   7548 	lbitset_xor): New functions.
   7549 	(lbitset_vtable): Use them.
   7550 
   7551 	* lib/bitset.h (bitset_next, bitset_prev, bitset_only_set_p):
   7552 	Declare.
   7553 
   7554 	* lib/bitsetv.c (bitsetv_alloc): Add a cast to (void *) to avoid a
   7555 	GCC warning.
   7556 	* lib/lbitset.c (LBITSET_CURRENT1): Likewise.
   7557 	Use offsetof, for simplicity.
   7558 
   7559 2002-10-06  Paul Eggert  <eggert (a] twinsun.com>
   7560 
   7561 	* lib/bitset.h (bitset_reset): Do not assume that bitset_word is
   7562 	the same width as int.  This reapplies a hunk of the 2002-08-12 patch
   7563 	<http://lists.gnu.org/archive/html/bison-patches/2002-08/msg00007.html>,
   7564 	which was inadvertently undone by the 2002-09-30 patch.
   7565 	* lib/lbitset.c (debug_lbitset): Do not assume that bitset_word is
   7566 	the same width as int.
   7567 
   7568 2002-10-04  Paul Eggert  <eggert (a] twinsun.com>
   7569 
   7570 	Version 1.50.
   7571 
   7572 	* configure.ac (AC_INIT), NEWS: Increment version number.
   7573 
   7574 	* doc/bison.texinfo: Minor spelling, grammar, and white space
   7575 	fixes.
   7576 	(Symbols): Mention that any negative value returned from yylex
   7577 	signifies end-of-input.  Warn about negative chars.  Mention
   7578 	the portable Standard C character set.
   7579 
   7580 	The GNU coding standard says CFLAGS and YFLAGS are reserved
   7581 	for the installer to set.
   7582 	* lib/Makefile.am (AM_CFLAGS): Renamed from CFLAGS.
   7583 	* src/Makefile.am (AM_CFLAGS): Likewise.
   7584 	(AM_YFLAGS): Renamed from YFLAGS.
   7585 
   7586 	Fix some MAX and MIN problems.
   7587 	* src/gram.h (ITEM_NUMBER_MIN): MIN_MAX -> INT_MIN.
   7588 	* src/lalr.h (GOTO_NUMBER_MAX): INT_MAX -> SHRT_MAX.
   7589 	* src/symtab.h (SYMBOL_NUMBER_MAX): New macro.
   7590 	* src/reader.c (reader): Use it.
   7591 
   7592 	* tests/regression.at (Braces parsing): Use grep, not fgrep, as
   7593 	POSIX 1003.1-2001 has removed fgrep.
   7594 
   7595 2002-10-04  Michael Hayes  <m.hayes (a] elec.canterbury.ac.nz>
   7596 
   7597 	* lib/bbitset.h (BITSET_WINDEX_MAX): Redefine so that it cannot be
   7598 	interpreted as signed.
   7599 	* lib/ebitset.c (ebitset_list): Fix bug.
   7600 
   7601 2002-10-01  Paul Eggert  <eggert (a] twinsun.com>
   7602 
   7603 	More fixes for 64-bit hosts and large bitsets.
   7604 
   7605 	* lib/abitset.c (struct abitset_struct.n_bits, abitset_small_list,
   7606 	abitset_size, abitset_list, abitset_list_reverse, abitset_list):
   7607 	Use bitset_bindex, not int or unsigned int or size_t, to count bits.
   7608 	* lib/bbitset.h (struct bitset_vtable.size, struct bitset_vtable.count,
   7609 	struct bitset_vtable.list, struct bitset_vtable.list_reverse,
   7610 	bitset_count_, bitset_next, bitset_prev, bitset_first, bitset_last,
   7611 	bitset_count_): Likewise.
   7612 	* lib/bitset.h (bitset_iterator.num, bitset_iterator.i,
   7613 	bitset_first, bitset_last): Likewise.
   7614 	* lib/bitset_stats.c (bitset_stats_size, bitset_stats_list,
   7615 	bitset_stats_list_reverse, bitset_stats_size,
   7616 	bitset_stats_count, bitset_stats_list, bitset_stat_list_reverse):
   7617 	Likewise.
   7618 	* lib/bitsetv-print.c (bitsetv_matrix_dump): Likewise.
   7619 	* lib/bitsetv.c (bitsetv_alloc, bitsetv_create, bitsetv_free,
   7620 	bitsetv_zero, bitsetv_ones, bitsetv_transitive_closure,
   7621 	bitsetv_reflexive_transitive_closure): Likewise.
   7622 	* lib/bitsetv.h (bitsetv_alloc, bitsetv_create): Likewise.
   7623 	* lib/ebitset.c (ebitset_size, ebitset_list, ebitset_list_reverse):
   7624 	Likewise.
   7625 	* lib/lbitset.c (lbitset_size, lbitset_list, lbitset_list_merge):
   7626 	Likewise.
   7627 
   7628 	* lib/abitset.c (abitset_ones, abitset_zero, abitset_bytes):
   7629 	Use size_t, not unsigned int, to count bytes.
   7630 	* lib/abitset.h (abitset_bytes): Likewise.
   7631 	* lib/bitset.c (bitset_bytes, bitset_alloc, bitset_obstack_alloc):
   7632 	Likewise.
   7633 	* lib/bitset.h (bitset_bytes): Likewise.
   7634 	* lib/bitset_stats.c (bitset_stats_bytes, bitset_stats_init): Likewise.
   7635 	* lib/bitset_stats.h (bitset_stats_bytes): Likewise.
   7636 	* lib/bitsetv.c (bitsetv_alloc): Likewise.
   7637 	* lib/ebitset.c (ebitset_bytes): Likewise.
   7638 	* lib/ebitset.h (ebitset_bytes): Likewise.
   7639 	* lib/lbitset.c (lbitset_bytes): Likewise.
   7640 	* lib/lbitset.h (lbitset_bytes): Likewise.
   7641 
   7642 	* lib/abitset.c (abitset_empty_p, abitset_not, abitset_equal_p,
   7643 	abitset_subset_p, abitset_disjoint_p, abitset_and,
   7644 	abitset_and_cmp, abitset_andn, abitset_andn_cmp, abitset_or,
   7645 	abitset_or_cmp, abitset_xor, abitset_xor_cmp, abitset_and_or,
   7646 	abitset_and_or_cmp, abitset_andn_or, abitset_andn_or_cmp,
   7647 	abitset_or_and, abitset_or_and_cmp):
   7648 	Use bitset_windex instead of unsigned int.
   7649 	* lib/bitsetv.c (bitsetv_dump, debug_bitsetv): Likewise.
   7650 	* lib/ebitset.c (struct ebitset_struct.size, ebitset_elts_grow,
   7651 	ebitset_elt_add, ebitset_elt_remove, ebitset_weed,
   7652 	ebitset_elt_find, ebitset_list_reverse, ebitset_list, ebitset_init):
   7653 	Likewise.
   7654 	* lib/lbitset.c (lbitset_ones, lbitset_not): Likewise.
   7655 
   7656 	* lib/bitset.c (bitset_print):
   7657 	Use proper printf formats for widths of integer types.
   7658 	* lib/bitset_stats.c (bitset_percent_histogram_print,
   7659 	bitset_log_histogram_print, bitset_stats_print_1): Likewise.
   7660 	* lib/bitsetv-print.c (bitsetv_matrix_dump): Likewise.
   7661 	* lib/bitsetv.c (bitsetv_dump, debug_bitsetv): Likewise.
   7662 	* lib/lbitset.c (lbitset_bytes): Likewise.
   7663 
   7664 	* lib/bbitset.h (BITSET_BINDEX_MAX, BITSET_WINDEX_MAX,
   7665 	BITSET_SIZE_MAX): New macros.
   7666 	(BITSET_INDEX_MAX): Remove.  It wasn't right, since it assumed that
   7667 	sizeof (bitset_word) == sizeof (bitset_windex).  All uses changed
   7668 	to BITSET_WINDEX_MAX.
   7669 
   7670 	* lib/bitset.c (bitset_next, bitset_prev, bitset_first,
   7671 	bitset_last): Return BITSET_BINDEX_MAX (not -1) for no value,
   7672 	since we now return the bitset_bindex type (not int).
   7673 
   7674 	* lib/bitsetv.c (bitsetv_alloc): Check for arithmetic overflow
   7675 	when computing sizes.
   7676 	* lib/ebitset.c (ebitset_elts_grow): Likewise.
   7677 
   7678 	* lib/lbitset.c (lbitset_elt_find): Simplify windex calculation
   7679 	and avoid cast to unsigned.
   7680 
   7681 2002-09-30  Akim Demaille  <akim (a] epita.fr>
   7682 
   7683 	* lib/abitset.c, lib/bbitset.h, lib/bitset.c, lib/bitset.h,
   7684 	* lib/bitset_stats.c, lib/bitsetv.c, lib/ebitset.c, lib/lbitset.c:
   7685 	Updates from Michael Hayes.
   7686 
   7687 2002-09-30  Art Haas  <ahaas (a] neosoft.com>
   7688 
   7689 	* configure.ac: Update AC_OUTPUT and AM_CONFIG_HEADER
   7690 	invocations.
   7691 	* tests/cxx-type.at (declarator): Don't rely on NDEBUG being not
   7692 	defined.
   7693 
   7694 2002-09-27  Akim Demaille  <akim (a] epita.fr>
   7695 
   7696 	Version 1.49c.
   7697 
   7698 2002-09-27  Akim Demaille  <akim (a] epita.fr>
   7699 
   7700 	* configure.ac (AM_INIT_AUTOMAKE): We _need_ 1.7.
   7701 	(Because of AC_LIBSOURCE).
   7702 
   7703 2002-09-27  Akim Demaille  <akim (a] epita.fr>
   7704 
   7705 	Playing with Autoscan.
   7706 
   7707 	* configure.ac: Remove the old LIBOBJ tweaks.
   7708 	(AC_REPLACE_FUNCS): Add strrchr and strtol.
   7709 	* lib/strrchr.c: New.
   7710 	* lib/strtol.c: New, from the Coreutils 4.5.1.
   7711 
   7712 2002-09-27  Akim Demaille  <akim (a] epita.fr>
   7713 
   7714 	Playing with Autoscan.
   7715 
   7716 	* m4/prereq.m4 (jm_PREREQ_ARGMATCH, jm_FUNC_ARGMATCH): New.
   7717 	* lib/Makefile.am (libbison_a_SOURCES): No longer include
   7718 	argmatch.c and argmatch.h, since they are AC_LIBSOURCE'd.
   7719 	* lib/strcasecmp.c, lib/strncasecmp.c, lib/memcmp.c: New, from the
   7720 	Coreutils 4.5.1.
   7721 
   7722 2002-09-24  Akim Demaille  <akim (a] epita.fr>
   7723 
   7724 	* doc/bison.texinfo (Stack Overflow): xref to Recursion.
   7725 	(Frequently Asked Questions, Parser Stack Overflow): New.
   7726 
   7727 2002-09-13  Akim Demaille  <akim (a] epita.fr>
   7728 
   7729 	Playing with autoscan.
   7730 
   7731 	* src/reader.c (get_merge_function): Use xstrdup, not strdup.
   7732 	* src/files.c (skeleton_find): Remove, unused.
   7733 	* m4/memcmp.m4: New, from the Coreutils 4.5.1.
   7734 	* m4/prereq.m4 (jm_PREREQ_QUOTEARG): Run jm_FUNC_MEMCMP.
   7735 
   7736 2002-09-13  Akim Demaille  <akim (a] epita.fr>
   7737 
   7738 	* configure.ac (AM_INIT_AUTOMAKE): Require Automake 1.6.3.
   7739 	* Makefile.am (AUTOMAKE_OPTIONS): Don't.
   7740 
   7741 2002-09-13  Akim Demaille  <akim (a] epita.fr>
   7742 
   7743 	* configure.ac: Require 2.54.
   7744 	s/jm_FUNC_MALLOC/AC_FUNC_MALLOC/.
   7745 	s/jm_FUNC_REALLOC/AC_FUNC_REALLOC/.
   7746 	* m4/c-bs-a.m4, m4/malloc.m4, m4/mbstate_t.m4, m4/realloc.m4:
   7747 	Remove, provided by Autoconf macros.
   7748 
   7749 2002-09-12  Akim Demaille  <akim (a] epita.fr>
   7750 
   7751 	* m4/prereq.m4: Update, from Coreutils 4.5.1.
   7752 
   7753 2002-09-12  Akim Demaille  <akim (a] epita.fr>
   7754 
   7755 	* m4/prereq.m4: Update, from Fileutils 4.1.5.
   7756 	* configure.ac (jm_PREREQ_TEMPNAME): Invoke it.
   7757 	Reported by Martin Mokrejs.
   7758 
   7759 2002-09-10  Akim Demaille  <akim (a] epita.fr>
   7760 
   7761 	* src/parse-gram.y: Associate a human readable string to each
   7762 	token type.
   7763 	* tests/regression.at (Invalid inputs): Adjust.
   7764 
   7765 2002-09-10  Gary V. Vaughan  <gary (a] gnu.org>
   7766 
   7767 	* tests/Makefile.am ($(srcdir)/package.m4): Bison now ships
   7768 	with an Autoconf-2.5x style configure.ac.
   7769 
   7770 2002-09-06  Paul Eggert  <eggert (a] twinsun.com>
   7771 
   7772 	* doc/bison.texinfo (Conditions): Make explicit that the GPL
   7773 	exception applies only to yacc.c.  This is a modification of a
   7774 	patch originally suggested by Akim Demaille.
   7775 
   7776 2002-09-06  Akim Demaille  <akim (a] epita.fr>
   7777 
   7778 	* data/c.m4 (b4_copyright): Move the GPL exception comment from
   7779 	here to...
   7780 	* data/yacc.c: here.
   7781 
   7782 	* data/lalr1.cc (struct yyltype): Don't define it, since we use
   7783 	LocationType.
   7784 	(b4_ltype): Default to yy::Location from location.hh.
   7785 
   7786 2002-09-04  Jim Meyering  <jim (a] meyering.net>
   7787 
   7788 	* data/yacc.c: Guard the declaration of yytoknum also with
   7789 	`#ifdef YYPRINT', so it is declared only when used.
   7790 
   7791 2002-09-04  Akim Demaille  <akim (a] epita.fr>
   7792 
   7793 	* configure.in: Rename as...
   7794 	* configure.ac: this.
   7795 	Bump to 1.49c.
   7796 
   7797 2002-09-04  Akim Demaille  <akim (a] epita.fr>
   7798 
   7799 	* src/assoc.c, src/closure.c, src/gram.c, src/injections.c,
   7800 	* src/lalr.c, src/LR0.c, src/relation.c, src/tables.c: Don't
   7801 	translate maintainer only messages.
   7802 
   7803 2002-08-12  Paul Eggert  <eggert (a] twinsun.com>
   7804 
   7805 	Version 1.49b.
   7806 
   7807 	* Makefile.am (SUBDIRS): Remove intl.
   7808 	(DISTCLEANFILES): Remove.
   7809 	* NEWS: Mention that GNU M4 is now required.  Clarify what is
   7810 	meant by "larger grammars".  Mention the pt_BR translation.
   7811 	* configure.in (AC_CHECK_DECLS): Add getenv, getopt.
   7812 	(AM_GNU_GETTEXT_VERSION): New macro, replacing GETTEXT_VERSION var.
   7813 	Bump version from 0.11.2 to 0.11.5.
   7814 	(BISON_PREREQ_STAGE): Remove.
   7815 	(AM_GNU_GETTEXT): Use external gettext.
   7816 	(AC_OUTPUT): Remove intl/Makefile.
   7817 
   7818 	* config/depcomp, config/install-sh: Sync with Automake 1.6.3.
   7819 
   7820 	* data/glr.c: Include string.h, for strlen.
   7821 	(yyreportParseError): Use size_t for yysize.
   7822 	(yy_yypstack): No longer nested inside yypstates, as nested
   7823 	functions are not portable.  Do not assume size_t is the
   7824 	same width as int.
   7825 	(yypstates): Do not assume that ptrdiff_t is the same width
   7826 	as int, and similarly for yyposn and YYINDEX.
   7827 
   7828 	* data/yacc.c: Fix comment about `$$ = $1': it can copy garbage.
   7829 
   7830 	* lib/Makefile.am (INCLUDES): Do not include from the intl
   7831 	directory, which has been removed.
   7832 	* src/Makefile.am (INCLUDES): Likewise.
   7833 
   7834 	* lib/Makefile.am (libbison_a_SOURCES): Add unlocked-io.h.
   7835 	(bitsets_sources, additional_bitsets_sources, timevars_sources):
   7836 	New vars.
   7837 
   7838 	* lib/Makefile.am (libbison_a_SOURCES): Avoid +=, a GNU make extension.
   7839 	* tests/Makefile.am (EXTRA_DIST): Likewise.
   7840 
   7841 	* lib/abitset.c (abitset_reverse_list, ebitset_reverse_list):
   7842 	Do not assume that bitset_windex is the same width as unsigned.
   7843 
   7844 	* lib/abitset.c (abitset_unused_clear): Do not assume that
   7845 	bitset_word is the same width as int.
   7846 	* lib/bbitset.h (BITSET_INDEX_MAX, BITSET_MSB): Likewise.
   7847 	* lib/bitset.h (bitset_set, bitset_reset): Likewise.
   7848 	* lib/bitset_stats.c (bitset_stats_set, bitset_stats_reset): Likewise.
   7849 	* lib/ebitset.c (ebitset_set, ebitset_reset): Likewise.
   7850 	* lib/lbitset.c (lbitset_set, lbitset_reset): Likewise.
   7851 
   7852 	* lib/abitset.c (abitset_op1): Use -1, not ~0, as memset arg (for
   7853 	portability to one's complement hosts!).
   7854 	* lib/ebitset.c (ebitset_op1): Likewise.
   7855 	* lib/lbitset.c (lbitset_op1): Likewise.
   7856 
   7857 	* lib/argmatch.c, lib/quotearg.c, quotearg.h: Sync with GNU tar.
   7858 	* lib/argmatch.h, lib/basename.c, lib/dirname.c, lib/dirname.h,
   7859 	lib/hash.c, lib/hash.h, lib/strnlen.c, lib/xmalloc.c:
   7860 	Sync with fileutils.
   7861 	* lib/error.c, lib/getopt.c, lib/getopt.h, lib/getopt1.c,
   7862 	lib/gettext.h: Sync with diffutils.
   7863 
   7864 	* lib/memrchr.c, lib/mkstemp.c, lib/strchr.c, lib/strnlen.c,
   7865 	lib/strspn.c, lib/tempname.c: Use GPL, not LGPL.
   7866 
   7867 	* lib/obstack.c, lib/obstack.h: Sync with fileutils, except use
   7868 	PROTOTYPES to check for prototypes, and "defined __STDC__" to
   7869 	check for void *.
   7870 
   7871 	* lib/bbitset.h (BITSET_WORD_BITS): Now of type unsigned, not
   7872 	size_t; the old version tried to do this but casted improperly.
   7873 	(bitset_bindex, bitset_windex): Now size_t, not unsigned long.
   7874 	(bitset_test): Now returns int, not unsigned long.
   7875 
   7876 	* lib/bitset_stats.c: Include "gettext.h".
   7877 	(_): New macro.
   7878 	(bitset_stats_set, bitset_stats_reset, bitset_stats_test): Don't
   7879 	name locals "index", as it generates unnecessary warnings on some
   7880 	hosts that have an "index" function.
   7881 
   7882 	* lib/bitset_stats.c (bitset_stats_print_1, bitset_stats_print,
   7883 	bitset_stats_read, bitset_stats_write): Wrap strings in _() if
   7884 	they need translation.
   7885 	* src/LR0.c (state_list_append, new_itemsets, get_state,
   7886 	append_states, generate_states): Likewise.
   7887 	* src/assoc.c (assoc_to_string): Likewise.
   7888 	* src/closure.c (print_closure, set_firsts, closure): Likewise.
   7889 	* src/gram.c (grammar_dump): Likewise.
   7890 	* src/injections.c (injections_compute): Likewise.
   7891 	* src/lalr.c (lookaheads_print): Likewise.
   7892 	* src/relation.c (relation_transpose): Likewise.
   7893 	* src/scan-gram.l: Likewise.
   7894 	* src/tables.c (table_grow, pack_vector): Likewise.
   7895 
   7896 	* m4/Makefile.am (EXTRA_DIST): Remove codeset.m4,
   7897 	glibc21.m4, isc-posix.m4 lcmessage.m4, stage.m4.
   7898 	* m4/malloc.m4, m4/realloc.m4: Sync with diffutils.
   7899 	* m4/mbstate_t.m4: Sync with fileutils.
   7900 	* m4/prereq.m4 (jm_PREREQ_QUOTEARG): AC_MBSTATE_T -> AC_TYPE_MBSTATE_T.
   7901 
   7902 	* po/LINGUAS: Add pt_BR.
   7903 	* po/POTFILES.in: Add src/assoc.c, src/closure.c, src/gram.c,
   7904 	src/main.c, src/relation.c, src/state.c, lib/bitset_stats.c,
   7905 	lib/timevar.c.
   7906 	Use src/parse-gram.y instead of src/parse-gram.c, as the gettext
   7907 	manual recommends.
   7908 	Similarly, use src/scan-gram.l instead of src/scan-gram.c.
   7909 
   7910 	* src/complain.c (strerror_r): Remove decl; not needed.
   7911 	(strerror): Use same pattern as ../lib/error.c.
   7912 
   7913 	* src/files.c, src/files.h (compute_header_macro): Remove; unused.
   7914 
   7915 	* src/gram.c (grammar_dump): Do not assume ptrdiff_t fits in int.
   7916 
   7917 	* src/main.c (main): Cast result of bindtextdomain and textdomain
   7918 	to void, to avoid a GCC warning when --disable-nls is in effect.
   7919 
   7920 	* src/scan-gram.l: Use strings rather than escapes when possible,
   7921 	to minimize the number of warnings from xgettext.
   7922 	(handle_action_dollar, handle_action_at): Don't use isdigit,
   7923 	as it mishandles negative chars and it may not work as expected
   7924 	outside the C locale.
   7925 
   7926 	* src/symtab.c (symbol_get): Don't cast LHS of an assignment;
   7927 	this is a GCC extension and is not portable to other compilers.
   7928 
   7929 	* src/system.h (alloca): Use same pattern as ../lib/error.c.
   7930 	Do not include <ctype.h>; no longer needed.
   7931 	Do not include <malloc.h>; no longer needed (and generates
   7932 	warnings on OpenBSD 3.0).
   7933 
   7934 	* tests/cxx-type.at (yylex): Do not pass signed char to isupper;
   7935 	it's not portable.
   7936 
   7937 	* tests/regression.at: Do not use 'cc -c input.c -o input';
   7938 	Sun C rejects this.  Instead, use 'cc -c input.c -o input.o'.
   7939 
   7940 	* tests/synclines.at (AC_SYNCLINES_COMPILE): Accept any nonzero
   7941 	exit status as failure, not just exit status 1.  Sun C exits
   7942 	with status 2 sometimes.
   7943 
   7944 	* tests/torture.at (AT_INCREASE_DATA_SIZE): New macro.
   7945 	Use it for the two large tests.
   7946 
   7947 2002-08-02  Akim Demaille  <akim (a] epita.fr>
   7948 
   7949 	* src/conflicts.c (conflicts_output): Don't output rules never
   7950 	reduced here, since anyway that computation doesn't work.
   7951 	* src/gram.h, src/gram.h (rule_filter_t, rule_useful_p)
   7952 	(rule_useless_p, rule_never_reduced_p): New.
   7953 	(grammar_rules_partial_print): Use a filter instead of a range.
   7954 	Display the title only if needed.
   7955 	(grammar_rules_print): Adjust.
   7956 	(grammar_rules_never_reduced_report): New.
   7957 	* src/tables.c (action_row): Move the computation of rules never
   7958 	reduced to...
   7959 	(token_actions): here.
   7960 	* src/main.c (main): Make the parser before making the report, so
   7961 	that rules never reduced are computed.
   7962 	Call grammar_rules_never_reduced_report.
   7963 	* src/print.c (print_results): Report rules never reduced.
   7964 	* tests/conflicts.at, tests/reduce.at: Adjust.
   7965 
   7966 2002-08-01  Akim Demaille  <akim (a] epita.fr>
   7967 
   7968 	Instead of attaching lookaheads and duplicating the rules being
   7969 	reduced by a state, attach the lookaheads to the reductions.
   7970 
   7971 	* src/state.h (state_t): Remove the `lookaheads',
   7972 	`lookaheads_rule' member.
   7973 	(reductions_t): Add a `lookaheads' member.
   7974 	Use a regular array for the `rules'.
   7975 	* src/state.c (reductions_new): Initialize the lookaheads member
   7976 	to 0.
   7977 	(state_rule_lookaheads_print): Adjust.
   7978 	* src/state.h, src/state.c (state_reductions_find): New.
   7979 	* src/conflicts.c (resolve_sr_conflict, set_conflicts)
   7980 	(count_rr_conflicts): Adjust.
   7981 	* src/lalr.c (LArule): Remove.
   7982 	(add_lookback_edge): Adjust.
   7983 	(state_lookaheads_count): New.
   7984 	(states_lookaheads_initialize): Merge into...
   7985 	(initialize_LA): this.
   7986 	(lalr_free): Adjust.
   7987 	* src/main.c (main): Don't free nullable and derives too early: it
   7988 	is used by --verbose.
   7989 	* src/print.c, src/print_graph.c, src/tables.c: Adjust.
   7990 
   7991 2002-08-01  Akim Demaille  <akim (a] epita.fr>
   7992 
   7993 	* src/derives.h, src/derives.c (derives): A `rule_t***' instead of
   7994 	`rule_number_t**'.
   7995 	(set_derives, free_derives): Rename as...
   7996 	(derives_compute, derives_free): this.
   7997 	Adjust all dependencies.
   7998 	* src/nullable.c (set_nullable, free_nullable): Rename as...
   7999 	(nullable_compute, nullable_free): these.
   8000 	(rule_list_t): Store rule_t *, not rule_number_t.
   8001 	* src/state.c (state_rule_lookaheads_print): Directly compare rule
   8002 	pointers, instead of their numbers.
   8003 	* src/main.c (main): Call nullable_free, and derives_free earlier,
   8004 	as they were lo longer used.
   8005 
   8006 2002-08-01  Akim Demaille  <akim (a] epita.fr>
   8007 
   8008 	* lib/timevar.c (get_time): Include children time.
   8009 	* src/lalr.h (LA, LArule): Don't export them: used with the
   8010 	state_t.
   8011 	* src/lalr.c (LA, LArule): Static.
   8012 	* src/lalr.h, src/lalr.c (lalr_free): New.
   8013 	* src/main.c (main): Call it.
   8014 	* src/tables.c (pack_vector): Check whether loc is >= to the
   8015 	table_size, not >.
   8016 	(pack_tables): Don't free froms, tos, conflict_tos, and pos...
   8017 	(tables_generate): do it, since that's also it which allocates
   8018 	them.
   8019 	Don't free LA and LArule, main does.
   8020 
   8021 2002-07-31  Akim Demaille  <akim (a] epita.fr>
   8022 
   8023 	Separate parser tables computation and output.
   8024 
   8025 	* src/output.c (nvectors, base_t, base, base_ninf, conflict_table)
   8026 	(conflict_list, conflict_list_cnt, table, check, table_ninf)
   8027 	(yydefgoto, yydefact, high): Move to...
   8028 	* src/tables.h, src/tables.c: here.
   8029 	* src/output.c (vector_number_t, VECTOR_NUMBER_MAX)
   8030 	(VECTOR_NUMBER_MIN, state_number_to_vector_number)
   8031 	(symbol_number_to_vector_number, nvectors, BASE_MAX, BASE_MIN)
   8032 	(froms, tos, conflict_tos, tally, width, action_t, ACTION_MAX)
   8033 	(ACTION_MIN, actrow, order, nentries, pos, conflrow)
   8034 	(conflict_list_free, table_size, lowzero, table_grow, conflict_row)
   8035 	(action_row, save_row, token_actions, save_column, default_goto)
   8036 	(goto_actions, sort_actions, matching_state, pack_vector)
   8037 	(table_ninf_remap, pack_table, prepare_actions): Move to...
   8038 	* src/tables.c: here.
   8039 	* src/tables.h, src/tables.c(tables_generate, tables_free): New.
   8040 	* src/output.c (token_actions, output_base, output_conflicts)
   8041 	(output_check): Merge into...
   8042 	(prepare_actions): this.
   8043 	(actions_output): Rename as...
   8044 	(user_actions_output): this.
   8045 	* src/main.c (main): Call tables_generate and tables_free.
   8046 
   8047 2002-07-31  Akim Demaille  <akim (a] epita.fr>
   8048 
   8049 	Steal GCC's --time-report support.
   8050 
   8051 	* lib/timevar.c, lib/timevar.h, lib/timevar.def: New,
   8052 	stolen/adjusted from GCC.
   8053 	* m4/stage.m4: Remove time related checks.
   8054 	* m4/timevar.m4: New.
   8055 	* configure.in: Adjust.
   8056 	* src/system.h: Adjust to using timevar.h.
   8057 	* src/getargs.h, src/getargs.c: Support trace_time for
   8058 	--trace=time.
   8059 	* src/main.c (stage): Remove.
   8060 	(main): Replace `stage' invocations with timevar calls.
   8061 	* src/output.c: Insert pertinent timevar calls.
   8062 
   8063 2002-07-31  Akim Demaille  <akim (a] epita.fr>
   8064 
   8065 	Let --trace have arguments.
   8066 
   8067 	* src/getargs.h (enum trace_e): New.
   8068 	* src/getargs.c (trace_args, trace_types, trace_argmatch): New.
   8069 	(long_options, short_options): --trace/-T takes an optional
   8070 	argument.
   8071 	Change all the uses of trace_flag to reflect the new flags.
   8072 	* tests/sets.at (Firsts, Nullable, Broken Closure): Use --trace=sets.
   8073 
   8074 	Strengthen `stage' portability.
   8075 
   8076 	* m4/stage.m4 (BISON_PREREQ_STAGE): New.
   8077 	* configure.in: Use it.
   8078 	Don't check for malloc.h and sys/times.h.
   8079 	* src/system.h: Include them when appropriate.
   8080 	* src/main.c (stage): Compile only when mallinfo, struct mallinfo,
   8081 	times and struct tms are available.
   8082 
   8083 2002-07-30  Akim Demaille  <akim (a] epita.fr>
   8084 
   8085 	In verbose parse error message, don't report `error' as an
   8086 	expected token.
   8087 	* tests/actions.at (Printers and Destructors): Adjust.
   8088 	* tests/calc.at (Calculator $1): Adjust.
   8089 	* data/yacc.c, data/glr.c, data/lalr1.c: When making the verbose
   8090 	error message, do not report the parser accepts the error token in
   8091 	that state.
   8092 
   8093 2002-07-30  Akim Demaille  <akim (a] epita.fr>
   8094 
   8095 	Normalize conflict related messages.
   8096 
   8097 	* src/complain.h, src/complain.c (warn, complain): New.
   8098 	* src/conflicts.c (conflicts_print): Use them.
   8099 	(conflict_report_yacc): New, extracted from...
   8100 	(conflicts_print): here.
   8101 	* tests/conflicts.at, tests/existing.at: Adjust.
   8102 
   8103 2002-07-30  Akim Demaille  <akim (a] epita.fr>
   8104 
   8105 	Report rules which are never reduced by the parser: those hidden
   8106 	by conflicts.
   8107 
   8108 	* src/LR0.c (save_reductions): Don't make the final state too
   8109 	different: save its reduction (accept) instead of having a state
   8110 	without any action (no shift or goto, no reduce).
   8111 	Note: the final state is now a ``regular'' state, i.e., the
   8112 	parsers now contain `reduce 0' as default reduction.
   8113 	Nevertheless, since they decide to `accept' when yystate =
   8114 	final_state, they still will not reduce rule 0.
   8115 	* src/print.c (print_actions, print_reduction): Adjust.
   8116 	* src/output.c (action_row): Track reduced rules.
   8117 	(token_actions): Report rules never reduced.
   8118 	* tests/conflicts.at, tests/regression.at: Adjust.
   8119 
   8120 2002-07-30  Akim Demaille  <akim (a] epita.fr>
   8121 
   8122 	`stage' was accidently included in a previous patch.
   8123 	Initiate its autoconfiscation.
   8124 
   8125 	* configure.in: Look for malloc.h and sys/times.h.
   8126 	* src/main.c (stage): Adjust.
   8127 	Report only when trace_flag.
   8128 
   8129 2002-07-29  Akim Demaille  <akim (a] epita.fr>
   8130 
   8131 	* src/state.h, src/state.c (transitions_t): Holds state_t*'s, not
   8132 	state_number_t.
   8133 	(errs_t): symbol_t*, not symbol_number_t.
   8134 	(reductions_t): rule_t*, not rule_number_t.
   8135 	(FOR_EACH_SHIFT): New.
   8136 	* src/LR0.c, src/conflicts.c, src/lalr.c, src/output.c
   8137 	* src/print.c, src/print_graph.c: Adjust.
   8138 
   8139 2002-07-29  Akim Demaille  <akim (a] epita.fr>
   8140 
   8141 	Use $accept and $end, as BYacc and BTYacc do, instead of $axiom and $.
   8142 
   8143 	* src/symtab.h, src/symtab.c (eoftoken, axiom): Rename as...
   8144 	(endtoken, accept): these.
   8145 	* src/reader.c (reader): Set endtoken's default tag to "$end".
   8146 	Set undeftoken's tag to "$undefined" instead of "$undefined.".
   8147 	* doc/bison.texinfo (Table of Symbols): Mention $accept and $end.
   8148 	Adjust.
   8149 
   8150 2002-07-29  Akim Demaille  <akim (a] epita.fr>
   8151 
   8152 	* src/reduce.c (reduce_grammar): When the language is empty,
   8153 	complain about the start symbol, not the axiom.
   8154 	Use its location.
   8155 	* tests/reduce.at (Empty Language): New.
   8156 
   8157 2002-07-26  Akim Demaille  <akim (a] epita.fr>
   8158 
   8159 	* src/reader.h, src/reader.c (gram_error): ... can't get
   8160 	yycontrol without making too strong assumptions on the parser
   8161 	itself.
   8162 	* src/output.c (prepare_tokens): Use the real 0th value of
   8163 	token_translations instead of `0'.
   8164 	* src/parse-gram.y (yyerror): Don't rely on yycontrol being
   8165 	visible here.
   8166 	* data/yacc.c (yyreport_parse_error): Rename yylocation as yylloc
   8167 	for the time being: %locations ought to provide it to yyerror.
   8168 
   8169 2002-07-25  Akim Demaille  <akim (a] epita.fr>
   8170 
   8171 	* src/output.c (prepare_tokens): Go up to ntokens, not ntokens + 1.
   8172 	* doc/bison.texinfo (Decl Summary): s/$illegal/$undefined./.
   8173 	* tests/regression.at (Web2c Actions): Adjust.
   8174 
   8175 2002-07-25  Akim Demaille  <akim (a] epita.fr>
   8176 
   8177 	Stop storing rules from 1 to nrules + 1.
   8178 
   8179 	* src/LR0.c, src/closure.c, src/derives.c, src/gram.c, src/lalr.c
   8180 	* src/nullable.c, src/output.c, src/print.c, src/reader.c
   8181 	* src/reduce.c: Allocate and free from &rules[0], not &rules[1].
   8182 	Iterate from 0 to nrules.
   8183 	Use rule_number_as_item_number and item_number_as_rule_number.
   8184 	Adjust to `derive' now containing possibly 0.
   8185 	* src/gram.h (rule_number_as_item_number, item_number_as_rule_number):
   8186 	Handle the `- 1' part in rule numbers from/to item numbers.
   8187 	* src/conflicts.c (log_resolution): Fix the message which reversed
   8188 	shift and reduce.
   8189 	* src/output.c (action_row): Initialize default_rule to -1.
   8190 	(token_actions): Adjust.
   8191 	* tests/sets.at (Nullable, Firsts): Fix the previously bogus
   8192 	expected output.
   8193 	* tests/conflicts.at (Resolved SR Conflicts): Likewise.
   8194 
   8195 2002-07-25  Akim Demaille  <akim (a] epita.fr>
   8196 
   8197 	* data/c.m4 (b4_c_function, b4_c_ansi_args, b4_c_ansi_arg)
   8198 	(b4_c_knr_arg_names, b4_c_knr_arg_name, b4_c_knr_arg_decls)
   8199 	(b4_c_knr_arg_decl): New.
   8200 	* data/yacc.c: Use it to define yysymprint, yydestruct, and
   8201 	yyreport_parse_error.
   8202 
   8203 2002-07-25  Akim Demaille  <akim (a] epita.fr>
   8204 
   8205 	* data/yacc.c (yyreport_parse_error): New, extracted from...
   8206 	(yyparse): here.
   8207 	(yydestruct, yysymprint): Move above yyparse.
   8208 	Be K&R compliant.
   8209 
   8210 2002-07-25  Akim Demaille  <akim (a] epita.fr>
   8211 
   8212 	* data/c.m4 (b4_ints_in, b4_int_type, b4_int_type_for): New,
   8213 	replace...
   8214 	(b4_sint_type, b4_uint_type): these.
   8215 	* data/yacc.c, data/glr.c, data/lalr1.cc: Use b4_int_type_for.
   8216 	* tests/regression.at (Web2c Actions): Adjust.
   8217 
   8218 2002-07-25  Akim Demaille  <akim (a] epita.fr>
   8219 
   8220 	* src/gram.h (TIEM_NUMBER_MAX): New.
   8221 	(item_number_of_rule_number, rule_number_of_item_number): Rename
   8222 	as...
   8223 	(rule_number_as_item_number, item_number_as_rule_number): these.
   8224 	Adjust dependencies.
   8225 	* src/output.c (vector_number_t, VECTOR_NUMBER_MAX)
   8226 	(VECTOR_NUMBER_MIN, state_number_to_vector_number)
   8227 	(symbol_number_to_vector_number): New.
   8228 	(order): Of vector_number_t* type.
   8229 	(base_t, BASE_MAX, BASE_MIN): New.
   8230 	(froms, tos, width, pos, check): Of base_t type.
   8231 	(action_number_t, ACTION_MIN, ACTION_MAX): New.
   8232 	(actrow): Of action_number_t type.
   8233 	(conflrow): Of unsigned int type.
   8234 	(table_ninf, base_ninf): New.
   8235 	(GENERATE_MUSCLE_INSERT_TABLE): Also output the `*_min' value.
   8236 	(muscle_insert_int_table, muscle_insert_base_table)
   8237 	(muscle_insert_rule_number_table): New.
   8238 	(prepare_tokens): Output `toknum' as int_table.
   8239 	(action_row): Returns a rule_number_t.
   8240 	Use ACTION_MIN, not SHRT_MIN.
   8241 	(token_actions): yydefact is rule_number_t*.
   8242 	(table_ninf_remap): New.
   8243 	(pack_table): Use it for `base' and `table'.
   8244 	* data/yacc.c, data/glr.c, data/lalr1.cc (YYFLAG): Remove,
   8245 	replaced with...
   8246 	(YYPACT_NINF, YYTABLE_NINF): these.
   8247 	(yypact, yytable): Compute their types instead of hard-coded
   8248 	`short'.
   8249 	* tests/regression.at (Web2c Actions): Adjust.
   8250 
   8251 2002-07-19  Akim Demaille  <akim (a] epita.fr>
   8252 
   8253 	* src/scan-gram.l (id): Can start with an underscore.
   8254 
   8255 2002-07-16  Akim Demaille  <akim (a] epita.fr>
   8256 
   8257 	* src/assoc.c, src/asssoc.h (assoc_t, assoc_to_string): New.
   8258 	Adjust all former `associativity' dependencies.
   8259 	* src/symtab.c (symbol_new): Default associativity is `undef', not
   8260 	`right'.
   8261 	(symbol_check_alias_consistence): Adjust.
   8262 
   8263 2002-07-09  Akim Demaille  <akim (a] epita.fr>
   8264 
   8265 	* doc/bison.texinfo: Properly set the ``header'' part.
   8266 	Use @dircategory ``GNU programming tools'' as per Texinfo's
   8267 	documentation.
   8268 	Use @copying.
   8269 
   8270 2002-07-09  Akim Demaille  <akim (a] epita.fr>
   8271 
   8272 	* lib/quotearg.h: Protect against multiple inclusions.
   8273 	* src/location.h (location_t): Add a `file' member.
   8274 	(LOCATION_RESET, LOCATION_PRINT): Adjust.
   8275 	* src/complain.c (warn_at, complain_at, fatal_at): Drop
   8276 	`error_one_per_line' support.
   8277 
   8278 2002-07-09  Akim Demaille  <akim (a] epita.fr>
   8279 
   8280 	* src/complain.h, src/complain.c (warn, complain): Remove, unused.
   8281 	* src/reader.c (lineno): Remove.
   8282 	Adjust all dependencies.
   8283 	(get_merge_function): Take a location and use complain_at.
   8284 	* src/symtab.h, src/symtab.c (symbol_make_alias): Likewise.
   8285 	* tests/regression.at (Invalid inputs, Mixing %token styles):
   8286 	Adjust.
   8287 
   8288 2002-07-09  Akim Demaille  <akim (a] epita.fr>
   8289 
   8290 	* src/parse-gram.y (rules_or_grammar_declaration): Add an error
   8291 	recovery rule, and forbid extensions when --yacc.
   8292 	(gram_error): Use complain_at.
   8293 	* src/reader.c (reader): Exit if there were parse errors.
   8294 
   8295 2002-07-09  Akim Demaille  <akim (a] epita.fr>
   8296 
   8297 	* tests/synclines.at (AT_SYNCLINES_COMPILE): New.
   8298 	(AT_TEST_SYNCLINE): Adjust to unusual GCC outputs.
   8299 	Reported by R Blake <blakers (a] mac.com>.
   8300 
   8301 2002-07-09  Akim Demaille  <akim (a] epita.fr>
   8302 
   8303 	* data/yacc.c: Output the copyright notive in the header.
   8304 
   8305 2002-07-03  Akim Demaille  <akim (a] epita.fr>
   8306 
   8307 	* src/output.c (froms, tos): Are state_number_t.
   8308 	(save_column): sp, sp1, and sp2 are state_number_t.
   8309 	(prepare): Rename `final' as `final_state_number', `nnts' as
   8310 	`nterms_number', `nrules' as `rules_number', `nstates' as
   8311 	`states_number', and `ntokens' as `tokens_number'.  Remove `nsym',
   8312 	unused.
   8313 	* data/yacc.c, data/glr.c, data/lalr1.cc: Adjust.
   8314 	* data/lalr1.cc (nsym_): Remove, unused.
   8315 
   8316 2002-07-03  Akim Demaille  <akim (a] epita.fr>
   8317 
   8318 	* src/lalr.h, src/lalr.c (goto_number_t): New.
   8319 	* src/lalr.c (goto_list_t): New.
   8320 	Propagate them.
   8321 	* src/nullable.c (rule_list_t): New.
   8322 	Propagate.
   8323 	* src/types.h: Remove.
   8324 
   8325 2002-07-03  Akim Demaille  <akim (a] epita.fr>
   8326 
   8327 	* src/closure.c (print_fderives): Use rule_rhs_print.
   8328 	* src/derives.c (print_derives): Use rule_rhs_print.
   8329 	(rule_list_t): New, replaces `shorts'.
   8330 	(set_derives): Add comments.
   8331 	* tests/sets.at (Nullable, Firsts): Adjust.
   8332 
   8333 2002-07-03  Akim Demaille  <akim (a] epita.fr>
   8334 
   8335 	* src/output.c (prepare_actions): Free `tally' and `width'.
   8336 	(prepare_actions): Allocate and free `order'.
   8337 	* src/symtab.c (symbols_free): Free `symbols'.
   8338 	* src/scan-gram.l (scanner_free): Clear Flex's scanners memory.
   8339 	* src/output.c (m4_invoke): Move to...
   8340 	* src/scan-skel.l: here.
   8341 	(<<EOF>>): Close yyout, and free its name.
   8342 
   8343 2002-07-03  Akim Demaille  <akim (a] epita.fr>
   8344 
   8345 	Fix some memory leaks, and fix a bug: state 0 was examined twice.
   8346 
   8347 	* src/LR0.c (new_state): Merge into...
   8348 	(state_list_append): this.
   8349 	(new_states): Merge into...
   8350 	(generate_states): here.
   8351 	(set_states): Don't ensure a proper `errs' state member here, do it...
   8352 	* src/conflicts.c (conflicts_solve): here.
   8353 	* src/state.h, src/state.c: Comment changes.
   8354 	(state_t): Rename member `shifts' as `transitions'.
   8355 	Adjust all dependencies.
   8356 	(errs_new): For consistency, also take the values as argument.
   8357 	(errs_dup): Remove.
   8358 	(state_errs_set): New.
   8359 	(state_reductions_set, state_transitions_set): Assert that no
   8360 	previous value was assigned.
   8361 	(state_free): New.
   8362 	(states_free): Use it.
   8363 	* src/conflicts.c (resolve_sr_conflict): Don't use an `errs_t' as
   8364 	temporary storage: use `errs' and `nerrs' as elsewhere.
   8365 	(set_conflicts): Allocate and free this `errs'.
   8366 
   8367 2002-07-02  Akim Demaille  <akim (a] epita.fr>
   8368 
   8369 	* lib/libiberty.h: New.
   8370 	* lib: Update the bitset implementation from upstream.
   8371 	* src/closure.c, src/lalr.c, src/output.c, src/print_graph.c,
   8372 	* src/state.c: Use BITSET_FOR_EACH, not BITSET_EXECUTE.
   8373 	* src/main.c: Adjust bitset stats calls.
   8374 
   8375 2002-07-01  Paul Eggert  <eggert (a] twinsun.com>
   8376 
   8377 	* src/scan-gram.l (<SC_ESCAPED_CHARACTER>): Convert to unsigned
   8378 	char, so that negative chars don't collide with $.
   8379 
   8380 2002-06-30  Akim Demaille  <akim (a] epita.fr>
   8381 
   8382 	Have the GLR tests be `warning' checked, and fix the warnings.
   8383 
   8384 	* data/glr.c (YYFPRINTF): Always define it, not only when YYDEBUG
   8385 	(yyuserAction, yyreportAmbiguity): `Use' all the arguments.
   8386 	(yyremoveDeletes): `yyi' and `yyj' are size_t.
   8387 	Use YYFPRINTF when under if (YYDEBUG) to avoid empty `if' bodies.
   8388 	(yyaddDeferredAction): static.
   8389 	(yyglrReduce): yyi, yyk, amd yyposn are size_t.
   8390 	(yyreportParseError): yyprefix is const.
   8391 	yytokenp is used only when verbose.
   8392 	(yy__GNUC__): Replace with __GNUC__.
   8393 	(yypdumpstack): yyi is size_t.
   8394 	(yypreference): Un-yy local variables and arguments, to avoid
   8395 	clashes with `yyr1'.  Anyway, we are not in the user name space.
   8396 	(yytname_size): be an int, as is compared with ints.
   8397 	* tests/testsuite.at (AT_COMPILE, AT_PARSER_CHECK): New.
   8398 	Use them.
   8399 	* tests/cxx-gram.at: Use quotation to protect $1.
   8400 	Use AT_COMPILE to enable warnings hunts.
   8401 	Prototype yylex and yyerror.
   8402 	`Use' argc.
   8403 	Include `string.h', not `strings.h'.
   8404 	Produce and prototype stmtMerge only when used.
   8405 	yylex takes a location.
   8406 
   8407 2002-06-30  Akim Demaille  <akim (a] epita.fr>
   8408 
   8409 	We spend a lot of time in quotearg, in particular when --verbose.
   8410 
   8411 	* src/symtab.c (symbol_get): Store a quoted version of the key.
   8412 	(symbol_tag_get, symbol_tag_get_n, symbol_tag_print): Remove.
   8413 	Adjust all callers.
   8414 
   8415 2002-06-30  Akim Demaille  <akim (a] epita.fr>
   8416 
   8417 	* src/state.h (reductions_t): Rename member `nreds' as num.
   8418 	(errs_t): Rename members `nerrs' and `errs' as `num' and `symbols'.
   8419 	* src/state.c (ERRS_ALLOC, REDUCTIONS_ALLOC): Use the correct types.
   8420 
   8421 2002-06-30  Akim Demaille  <akim (a] epita.fr>
   8422 
   8423 	* src/state.h, src/state.c (shift_t, SHIFT_SYMBOL, SHIFT_IS_SHIFT)
   8424 	(SHIFT_IS_GOTO, SHIFT_IS_ERROR, SHIFT_DISABLE, SHIFT_IS_DISABLED)
   8425 	(shifts_to): Rename as...
   8426 	(transition_t, TRANSITION_SYMBOL, TRANSITION_IS_TRANSITION)
   8427 	(TRANSITION_IS_GOTO, TRANSITION_IS_ERROR, TRANSITION_DISABLE)
   8428 	(TRANSITION_IS_DISABLED, transitions_to): these.
   8429 
   8430 2002-06-30  Akim Demaille  <akim (a] epita.fr>
   8431 
   8432 	* src/print.c (print_shifts, print_gotos): Merge into...
   8433 	(print_transitions): this.
   8434 	(print_transitions, print_errs, print_reductions): Align the
   8435 	lookaheads columns.
   8436 	(print_core, print_transitions, print_errs, print_state,
   8437 	print_grammar): Output empty lines separator before, not after.
   8438 	(state_default_rule_compute): Rename as...
   8439 	(state_default_rule): this.
   8440 	* tests/conflicts.at (Defaulted Conflicted Reduction),
   8441 	(Unresolved SR Conflicts, Resolved SR Conflicts): Adjust.
   8442 	* tests/regression.at (Rule Line Numbers, Web2c Report): Adjust.
   8443 
   8444 2002-06-30  Akim Demaille  <akim (a] epita.fr>
   8445 
   8446 	Display items as we display rules.
   8447 
   8448 	* src/gram.h, src/gram.c (rule_lhs_print): New.
   8449 	* src/gram.c (grammar_rules_partial_print): Use it.
   8450 	* src/print.c (print_core): Likewise.
   8451 	* tests/conflicts.at (Defaulted Conflicted Reduction),
   8452 	(Unresolved SR Conflicts): Adjust.
   8453 	(Unresolved SR Conflicts): Adjust and rename as...
   8454 	(Resolved SR Conflicts): this, as was meant.
   8455 	* tests/regression.at (Web2c Report): Adjust.
   8456 
   8457 2002-06-30  Akim Demaille  <akim (a] epita.fr>
   8458 
   8459 	* src/print.c (state_default_rule_compute): New, extracted from...
   8460 	(print_reductions): here.
   8461 	Pessimize, but clarify the code.
   8462 	* tests/conflicts.at (Defaulted Conflicted Reduction): New.
   8463 
   8464 2002-06-30  Akim Demaille  <akim (a] epita.fr>
   8465 
   8466 	* src/output.c (action_row): Let default_rule be always a rule
   8467 	number.
   8468 
   8469 2002-06-30  Akim Demaille  <akim (a] epita.fr>
   8470 
   8471 	* src/closure.c (print_firsts, print_fderives, closure):
   8472 	Use BITSET_EXECUTE.
   8473 	* src/lalr.c (lookaheads_print): Likewise.
   8474 	* src/state.c (state_rule_lookaheads_print): Likewise.
   8475 	* src/print_graph.c (print_core): Likewise.
   8476 	* src/print.c (print_reductions): Likewise.
   8477 	* src/output.c (action_row): Likewise.
   8478 	Use SHIFT_IS_DISABLED, SHIFT_IS_SHIFT and SHIFT_SYMBOL.
   8479 
   8480 2002-06-30  Akim Demaille  <akim (a] epita.fr>
   8481 
   8482 	* src/print_graph.c: Use report_flag.
   8483 
   8484 2002-06-30  Akim Demaille  <akim (a] epita.fr>
   8485 
   8486 	* src/lalr.c (traverse, digraph, matrix_print, transpose): Move
   8487 	to...
   8488 	* src/relation.h, src/relation.c (traverse, relation_digraph)
   8489 	(relation_print, relation_transpose): New.
   8490 
   8491 2002-06-30  Akim Demaille  <akim (a] epita.fr>
   8492 
   8493 	* src/state.h, src/state.c (shifts_to): New.
   8494 	* src/lalr.c (build_relations): Use it.
   8495 
   8496 2002-06-30  Akim Demaille  <akim (a] epita.fr>
   8497 
   8498 	* src/gram.h (rule_number_t, RULE_NUMBER_MAX, int_of_rule_number)
   8499 	(item_number_of_rule_number, rule_number_of_item_number): New.
   8500 	* src/LR0.c, src/closure.c, src/derives.c, src/derives.h,
   8501 	* src/gram.c, src/lalr.c, src/nullable.c, src/output.c, src/print.c,
   8502 	* src/print_graph.c, src/reader.c, src/reduce.c, src/reduce.h:
   8503 	Propagate their use.
   8504 	Much remains to be done, in particular wrt `shorts' from types.h.
   8505 
   8506 2002-06-30  Akim Demaille  <akim (a] epita.fr>
   8507 
   8508 	* src/symtab.c (symbol_new): Initialize the `printer' member.
   8509 
   8510 2002-06-30  Akim Demaille  <akim (a] epita.fr>
   8511 
   8512 	* src/LR0.c (save_reductions): Remove, replaced by...
   8513 	* src/state.h, src/state.c (state_reductions_set): New.
   8514 	(reductions, errs): Rename as...
   8515 	(reductions_t, errs_t): these.
   8516 	Adjust all dependencies.
   8517 
   8518 2002-06-30  Akim Demaille  <akim (a] epita.fr>
   8519 
   8520 	* src/LR0.c (state_list_t, state_list_append): New.
   8521 	(first_state, last_state): Now symbol_list_t.
   8522 	(this_state): Remove.
   8523 	(new_itemsets, append_states, save_reductions): Take a state_t as
   8524 	argument.
   8525 	(set_states, generate_states): Adjust.
   8526 	(save_shifts): Remove, replaced by...
   8527 	* src/state.h, src/state.c (state_shifts_set): New.
   8528 	(shifts): Rename as...
   8529 	(shifts_t): this.
   8530 	Adjust all dependencies.
   8531 	* src/state.h (state_t): Remove the `next' member.
   8532 
   8533 2002-06-30  Akim Demaille  <akim (a] epita.fr>
   8534 
   8535 	* src/vcg.c (quote): Use slot 2, since we often pass symbol tag
   8536 	escaped in slot 0.
   8537 
   8538 2002-06-30  Akim Demaille  <akim (a] epita.fr>
   8539 
   8540 	Use hash.h for the state hash table.
   8541 
   8542 	* src/LR0.c (STATE_HASH_SIZE, state_hash): Remove.
   8543 	(allocate_storage): Use state_hash_new.
   8544 	(free_storage): Use state_hash_free.
   8545 	(new_state, get_state): Adjust.
   8546 	* src/lalr.h, src/lalr.c (states): Move to...
   8547 	* src/states.h (state_t): Remove the `link' member, no longer
   8548 	used.
   8549 	* src/states.h, src/states.c: here.
   8550 	(state_hash_new, state_hash_free, state_hash_lookup)
   8551 	(state_hash_insert, states_free): New.
   8552 	* src/states.c (state_table, state_compare, state_hash): New.
   8553 	* src/output.c (output_actions): Do not free states now, since we
   8554 	still need to know the final_state number in `prepare', called
   8555 	afterwards.  Do it...
   8556 	* src/main.c (main): here: call states_free after `output'.
   8557 
   8558 2002-06-30  Akim Demaille  <akim (a] epita.fr>
   8559 
   8560 	* src/state.h, src/state.c (state_new): New, extracted from...
   8561 	* src/LR0.c (new_state): here.
   8562 	* src/state.h (STATE_ALLOC): Move to...
   8563 	* src/state.c: here.
   8564 	* src/LR0.h, src/LR0.c (nstates, final_state): Move to...
   8565 	* src/state.h, src/state.c: here.
   8566 
   8567 2002-06-30  Akim Demaille  <akim (a] epita.fr>
   8568 
   8569 	* src/reader.c (gensym): Rename as...
   8570 	* src/symtab.h, src/symtab.c (dummy_symbol_get): this.
   8571 	(getsym): Rename as...
   8572 	(symbol_get): this.
   8573 
   8574 2002-06-30  Akim Demaille  <akim (a] epita.fr>
   8575 
   8576 	* src/state.h (state_number_t, STATE_NUMBER_MAX): New.
   8577 	* src/LR0.c, src/LR0.h, src/conflicts.c, src/lalr.c, src/lalr.h,
   8578 	* src/output.c, src/print.c, src/print_graph.c: Propagate.
   8579 	* src/LR0.h, src/LR0.h (final_state): Is a state_t*.
   8580 
   8581 2002-06-30  Akim Demaille  <akim (a] epita.fr>
   8582 
   8583 	Make the test suite pass with warnings checked.
   8584 
   8585 	* tests/actions.at (Printers and Destructors): Improve.
   8586 	Avoid unsigned vs. signed issues.
   8587 	* tests/calc.at: Don't exercise the scanner here, do it...
   8588 	* tests/input.at (Torturing the Scanner): here.
   8589 
   8590 2002-06-28  Paul Hilfinger  <Hilfinger (a] CS.Berkeley.EDU>
   8591 
   8592 	* data/glr.c: Correct typo in Emacs-mode directive.  Slightly
   8593 	reorganize first lines parallel to yacc.c.
   8594 
   8595 2002-06-28  Akim Demaille  <akim (a] epita.fr>
   8596 
   8597 	* data/c.m4 (b4_copyright, b4_sint_type, b4_uint_type, b4_token_define)
   8598 	(b4_token_enum, b4_token_defines): New, factored from...
   8599 	* data/lalr1.cc, data/yacc.c, glr.c: here.
   8600 
   8601 2002-06-28  Akim Demaille  <akim (a] epita.fr>
   8602 
   8603 	* data/yacc.c (yydestruct, yysymprint): Pacify GCC warnings for
   8604 	unused variables.
   8605 	* src/output.c (merger_output): static.
   8606 
   8607 2002-06-28  Akim Demaille  <akim (a] epita.fr>
   8608 
   8609 	* src/reader.h: s/grammer_current_rule_merge_set/grammar_.../.
   8610 	* src/conflicts.c (conflicts_total_count): `i' is unsigned, to
   8611 	pacify GCC.
   8612 	* src/output.c (save_row): Initialize all the variables to pacify GCC.
   8613 
   8614 2002-06-27  Paul Hilfinger  <Hilfinger (a] CS.Berkeley.EDU>
   8615 
   8616 	Accumulated changelog for new GLR parsing features.
   8617 
   8618 	* src/conflicts.c (count_total_conflicts): Change name to
   8619 	conflicts_total_count.
   8620 	* src/conflicts.h: Ditto.
   8621 	* src/output.c (token_actions): Use the new name.
   8622 	(output_conflicts): Change conflp => conflict_list_heads, and
   8623 	confl => conflict_list for better readability.
   8624 	* data/glr.c: Use the new names.
   8625 	* NEWS: Add self to GLR announcement.
   8626 
   8627 	* src/reader.c (free_merger_functions): Cleanup: XFREE->free.
   8628 
   8629 	* doc/bison.texinfo (GLR Parsers): Make corrections suggested by
   8630 	Akim Demaille.
   8631 
   8632 	* data/bison.glr: Change name to glr.c
   8633 	* data/glr.c: Renamed from bison.glr.
   8634 	* data/Makefile.am: Add glr.c
   8635 
   8636 	* src/getargs.c:
   8637 
   8638 	* src/symlist.h:  Add dprec and merger fields to symbol_list_s.
   8639 	* src/symlist.c (symbol_list_new): Initialize dprec and merger fields.
   8640 
   8641 	Originally 2002-06-16  Paul Hilfinger  <Hilfinger (a] CS.Berkeley.EDU>
   8642 
   8643 	* data/bison.glr: Be sure to restore the
   8644 	current #line when returning to the skeleton contents after having
   8645 	exposed the input file's #line.
   8646 
   8647 	Originally 2002-06-13  Paul Hilfinger  <Hilfinger (a] CS.Berkeley.EDU>
   8648 
   8649 	* data/bison.glr: Bring up to date with changes to bison.simple.
   8650 
   8651 	Originally 2002-06-03  Paul Hilfinger  <Hilfinger (a] CS.Berkeley.EDU>
   8652 
   8653 	* data/bison.glr: Correct definitions that use b4_prefix.
   8654 	Various reformatting.
   8655 	(GLRStack): Make yychar (in YYPURE case) and yytokenp as part of stack.
   8656 	(yyreportParseError, yyrecoverParseError, yyprocessOneStack): remove
   8657 	yytokenp argument; now part of stack.
   8658 	(yychar): Define to behave as documented.
   8659 	(yyclearin): Ditto.
   8660 
   8661 	Originally 2002-05-14  Paul Hilfinger  <Hilfinger (a] CS.Berkeley.EDU>
   8662 
   8663 	* src/reader.h: Add declaration for free_merger_functions.
   8664 
   8665 	* src/reader.c (merge_functions): New variable.
   8666 	(get_merge_function): New function.
   8667 	(free_merger_functions): New function.
   8668 	(readgram): Check for %prec that is not followed by a symbol.
   8669 	Handle %dprec and %merge declarations.
   8670 	(packgram): Initialize dprec and merger fields in rules array.
   8671 
   8672 	* src/output.c (conflict_tos, conflrow, conflict_table, conflict_list,
   8673 	conflict_list_cnt, conflict_list_free): New variables.
   8674 	(table_grow): Also grow conflict_table.
   8675 	(prepare_rules): Output dprec and merger tables.
   8676 	(conflict_row): New function.
   8677 	(action_row): Output conflict lists for GLR parser.  Don't use
   8678 	default reduction in conflicted states for GLR parser so that there
   8679 	are spaces for the conflict lists.
   8680 	(save_row): Also save conflict information.
   8681 	(token_actions): Allocate conflict list.
   8682 	(merger_output): New function.
   8683 	(pack_vector): Pack conflict table, too.
   8684 	(output_conflicts): New function to output yyconflp and yyconfl.
   8685 	(output_check): Allocate conflict_tos.
   8686 	(output_actions): Output conflict tables, also.
   8687 	(output_skeleton): Output b4_mergers definition.
   8688 	(prepare): Output b4_max_rhs_length definition.
   8689 	Use 'bison.glr' as default skeleton for GLR parsers.
   8690 
   8691 	* src/gram.c (glr_parser): New flag.
   8692 	(grammar_free): Call free_merger_functions.
   8693 
   8694 	* src/conflicts.c (count_rr_conflicts): Augment to optionally count
   8695 	all pairs of conflicting reductions, rather than just all tokens
   8696 	causing conflicts.  Needed to size conflict tables.
   8697 	(conflicts_output): Modify call to count_rr_conflicts for new
   8698 	interface.
   8699 	(conflicts_print): Ditto.
   8700 	(count_total_conflicts): New function.
   8701 
   8702 	* src/reader.h (merger_list): New type.
   8703 	(merge_functions): New variable.
   8704 
   8705 	* src/lex.h (tok_dprec, tok_merge): New token types.
   8706 
   8707 	* src/gram.h (rule_s): Add dprec and merger fields.
   8708 	(glr_parser): New flag.
   8709 
   8710 	* src/conflicts.h (count_total_conflicts): New function.
   8711 
   8712 	* src/options.c (option_table): Add %dprec, %merge, and %glr-parser.
   8713 
   8714 	* doc/bison.texinfo (Generalized LR Parsing): New section.
   8715 	(GLR Parsers): New section.
   8716 	(Language and Grammar): Mention GLR parsing.
   8717 	(Table of Symbols): Add %dprec, %glr-parser, %merge, GLR
   8718 	Correct typo ("tge" -> "the").
   8719 
   8720 	* data/bison.glr: New skeleton for GLR parsing.
   8721 
   8722 	* tests/cxx-gram.at: New tests for GLR parsing.
   8723 
   8724 	* tests/testsuite.at: Include cxx-gram.at.
   8725 
   8726 	* tests/Makefile.am: Add cxx-gram.at.
   8727 
   8728 	* src/parse-gram.y:
   8729 
   8730 	* src/scan-gram.l: Add %dprec, %glr-parser, %merge.
   8731 
   8732 	* src/parse-gram.y: Grammar for %dprec, %merge, %glr-parser.
   8733 
   8734 2002-06-27  Akim Demaille  <akim (a] epita.fr>
   8735 
   8736 	* src/options.h, src/options.c: Remove.
   8737 	* src/getargs.c (short_options, long_options): New.
   8738 
   8739 2002-06-27  Akim Demaille  <akim (a] epita.fr>
   8740 
   8741 	* data/bison.simple, data/bison.c++: Rename as...
   8742 	* data/yacc.c, data/lalr1.cc: these.
   8743 	* doc/bison.texinfo (Environment Variables): Remove.
   8744 
   8745 2002-06-25  Raja R Harinath  <harinath (a] cs.umn.edu>
   8746 
   8747 	* src/getargs.c (report_argmatch): Initialize strtok().
   8748 
   8749 2002-06-20  Akim Demaille  <akim (a] epita.fr>
   8750 
   8751 	* data/bison.simple (b4_symbol_actions): New, replaces...
   8752 	(b4_symbol_destructor, b4_symbol_printer): these.
   8753 	(yysymprint): Be sure to call YYPRINT only for tokens, and using
   8754 	user token numbers.
   8755 
   8756 2002-06-20  Akim Demaille  <akim (a] epita.fr>
   8757 
   8758 	* data/bison.simple (yydestructor): Rename as...
   8759 	(yydestruct): this.
   8760 
   8761 2002-06-20  Akim Demaille  <akim (a] epita.fr>
   8762 
   8763 	* src/symtab.h, src/symtab.c (symbol_type_set)
   8764 	(symbol_destructor_set, symbol_precedence_set): The location is
   8765 	the last argument.
   8766 	Adjust all callers.
   8767 
   8768 2002-06-20  Akim Demaille  <akim (a] epita.fr>
   8769 
   8770 	* src/parse-gram.y (YYPRINT, yyprint): Don't mess with the parser
   8771 	internals.
   8772 	* src/reader.h, src/reader.c (grammar_current_rule_prec_set):
   8773 	Takes a location.
   8774 	* src/symtab.h, src/symtab.c (symbol_class_set)
   8775 	(symbol_user_token_number_set): Likewise.
   8776 	Adjust all callers.
   8777 	Promote complain_at.
   8778 	* tests/input.at (Type Clashes): Adjust.
   8779 
   8780 2002-06-20  Akim Demaille  <akim (a] epita.fr>
   8781 
   8782 	* data/bison.simple (YYLEX): Fix the declaration when
   8783 	%pure-parser.
   8784 
   8785 2002-06-20  Akim Demaille  <akim (a] epita.fr>
   8786 
   8787 	* data/bison.simple (yysymprint): Don't print the token number,
   8788 	just its name.
   8789 	* tests/actions.at (Destructors): Rename as...
   8790 	(Printers and Destructors): this.
   8791 	Also exercise %printer.
   8792 
   8793 2002-06-20  Akim Demaille  <akim (a] epita.fr>
   8794 
   8795 	* data/bison.simple (YYDSYMPRINT): New.
   8796 	Use it to remove many of the #if YYDEBUG/if (yydebug).
   8797 
   8798 2002-06-20  Akim Demaille  <akim (a] epita.fr>
   8799 
   8800 	* src/symtab.h, src/symtab.c (symbol_t): printer and
   8801 	printer_location are new members.
   8802 	(symbol_printer_set): New.
   8803 	* src/parse-gram.y (PERCENT_PRINTER): New token.
   8804 	Handle its associated rule.
   8805 	* src/scan-gram.l: Adjust.
   8806 	(handle_destructor_at, handle_destructor_dollar): Rename as...
   8807 	(handle_symbol_code_at, handle_symbol_code_dollar): these.
   8808 	* src/output.c (symbol_printers_output): New.
   8809 	(output_skeleton): Call it.
   8810 	* data/bison.simple (yysymprint): New.  Cannot be named yyprint
   8811 	since there are already many grammar files with a user `yyprint'.
   8812 	Replace the calls to YYPRINT to calls to yysymprint.
   8813 	* tests/calc.at: Adjust.
   8814 	* tests/torture.at (AT_DATA_STACK_TORTURE): Remove YYPRINT: it was
   8815 	taking advantage of parser very internal details (stack size!).
   8816 
   8817 2002-06-20  Akim Demaille  <akim (a] epita.fr>
   8818 
   8819 	* src/scan-gram.l: Complete the scanner with the missing patterns
   8820 	to pacify Flex.
   8821 	Use `quote' and `symbol_tag_get' where appropriate.
   8822 
   8823 2002-06-19  Akim Demaille  <akim (a] epita.fr>
   8824 
   8825 	* tests/actions.at (Destructors): Augment to test locations.
   8826 	* data/bison.simple (yydestructor): Pass it the current location
   8827 	if locations are enabled.
   8828 	Prototype only when __STDC__ or C++.
   8829 	Change the argument names to move into the yy name space: there is
   8830 	user code here.
   8831 
   8832 2002-06-19  Akim Demaille  <akim (a] epita.fr>
   8833 
   8834 	* data/bison.simple (b4_pure_if): New.
   8835 	Use it instead of #ifdef YYPURE.
   8836 
   8837 2002-06-19  Akim Demaille  <akim (a] epita.fr>
   8838 
   8839 	* data/bison.simple (b4_location_if): New.
   8840 	Use it instead of #ifdef YYLSP_NEEDED.
   8841 
   8842 2002-06-19  Akim Demaille  <akim (a] epita.fr>
   8843 
   8844 	Prepare @$ in %destructor, but currently don't bind it in the
   8845 	skeleton, as %location use is not cleaned up yet.
   8846 
   8847 	* src/scan-gram.l (handle_dollar, handle_destructor_at)
   8848 	(handle_action_at): New.
   8849 	(handle_at, handle_action_dollar, handle_destructor_dollar): Take
   8850 	a braced_code_t and a location as additional arguments.
   8851 	(handle_destructor_dollar): Instead of requiring `b4_eval', just
   8852 	unquote one when outputting `b4_dollar_dollar'.
   8853 	Adjust callers.
   8854 	* data/bison.simple (b4_eval): Remove.
   8855 	(b4_symbol_destructor): Adjust.
   8856 	* tests/input.at (Invalid @n): Adjust.
   8857 
   8858 2002-06-19  Zack Weinberg  <zack (a] codesourcery.com>
   8859 
   8860 	* doc/bison.texinfo: Document ability to have multiple
   8861 	prologue sections.
   8862 
   8863 2002-06-18  Akim Demaille  <akim (a] epita.fr>
   8864 
   8865 	* src/files.c (compute_base_names): When computing the output file
   8866 	names from the input file name, strip the directory part.
   8867 
   8868 2002-06-18  Akim Demaille  <akim (a] epita.fr>
   8869 
   8870 	* data/bison.simple.new: Comment changes.
   8871 	Reported by Andreas Schwab.
   8872 
   8873 2002-06-18  Matt Kraai  <kraai (a] alumni.cmu.edu>
   8874 
   8875 	* data/bison.simple (yyoverflowlab): #ifndef yyoverflow, so that
   8876 	there are no `label `yyoverflowlab' defined but not used' warnings
   8877 	when yyoverflow is defined.
   8878 
   8879 2002-06-18  Akim Demaille  <akim (a] epita.fr>
   8880 
   8881 	* src/symtab.h, src/symtab.c (symbol_t): destructor_location is a
   8882 	new member.
   8883 	(symbol_destructor_set): Adjust.
   8884 	* src/output.c (symbol_destructors_output): Output the destructor
   8885 	locations.
   8886 	Output the symbol name.
   8887 	* data/bison.simple (b4_symbol_destructor): Adjust.
   8888 
   8889 2002-06-18  Cris Bailiff  <c.bailiff (a] awayweb.com>
   8890 	and Akim Demaille  <akim (a] epita.fr>
   8891 
   8892 	* data/bison.simple.new (yyerrlab1): Be sure to pop and destroy
   8893 	what's left on the stack when the error recovery hits EOF.
   8894 	* tests/actions.at (Destructors): Complete to exercise this case.
   8895 
   8896 2002-06-17  Akim Demaille  <akim (a] epita.fr>
   8897 
   8898 	* data/m4sugar/m4sugar.m4 (m4_map): Recognize when the list of
   8899 	arguments is really empty, not only equal to `[]'.
   8900 	* src/symtab.h, src/symtab.c (symbol_t): `destructor' is a new
   8901 	member.
   8902 	(symbol_destructor_set): New.
   8903 	* src/output.c (symbol_destructors_output): New.
   8904 	* src/reader.h (brace_code_t, current_braced_code): New.
   8905 	* src/scan-gram.l (BRACED_CODE): Use it to branch on...
   8906 	(handle_dollar): Rename as...
   8907 	(handle_action_dollar): this.
   8908 	(handle_destructor_dollar): New.
   8909 	* src/parse-gram.y (PERCENT_DESTRUCTOR): New.
   8910 	(grammar_declaration): Use it.
   8911 	* data/bison.simple (yystos): Is always defined.
   8912 	(yydestructor): New.
   8913 	* tests/actions.at (Destructors): New.
   8914 	* tests/calc.at (_AT_CHECK_CALC_ERROR): Don't rely on egrep.
   8915 
   8916 2002-06-17  Akim Demaille  <akim (a] epita.fr>
   8917 
   8918 	* src/symlist.h, src/symlist.c (symbol_list_length): New.
   8919 	* src/scan-gram.l (handle_dollar, handle_at): Compute the
   8920 	rule_length only when needed.
   8921 	* src/output.c (actions_output, token_definitions_output): Output
   8922 	the full M4 block.
   8923 	* src/symtab.c: Don't access directly to the symbol tag, use
   8924 	symbol_tag_get.
   8925 	* src/parse-gram.y: Use symbol_list_free.
   8926 
   8927 2002-06-17  Akim Demaille  <akim (a] epita.fr>
   8928 
   8929 	* src/reader.h, src/reader.c (symbol_list, symbol_list_new)
   8930 	(symbol_list_prepend, get_type_name): Move to...
   8931 	* src/symlist.h, src/symlist.c (symbol_list_t, symbol_list_new)
   8932 	(symbol_list_prepend, symbol_list_n_type_name_get): here.
   8933 	Adjust all callers.
   8934 	(symbol_list_free): New.
   8935 	* src/scan-gram.l (handle_dollar): Takes a location.
   8936 	* tests/input.at (Invalid $n): Adjust.
   8937 
   8938 2002-06-17  Akim Demaille  <akim (a] epita.fr>
   8939 
   8940 	* src/reader.h, src/reader.c (symbol_list_new): Export it.
   8941 	(symbol_list_prepend): New.
   8942 	* src/parse-gram.y (%union): `list' is a new member.
   8943 	(symbols.1): New, replaces...
   8944 	(terms_to_prec.1, nterms_to_type.1): these.
   8945 	* src/symtab.h, src/symtab.c (symbol_type_set, symbol_precedence_set)
   8946 	Take a location as additional argument.
   8947 	Adjust all callers.
   8948 
   8949 2002-06-15  Akim Demaille  <akim (a] epita.fr>
   8950 
   8951 	* src/parse-gram.y: Move %token in the declaration section so that
   8952 	we don't depend upon CVS Bison.
   8953 
   8954 2002-06-15  Akim Demaille  <akim (a] epita.fr>
   8955 
   8956 	* src/state.h, src/state.c (state_rule_lookaheads_print): New.
   8957 	* src/print.c (print_core): Use it.
   8958 
   8959 2002-06-15  Akim Demaille  <akim (a] epita.fr>
   8960 
   8961 	* src/conflicts.c (log_resolution): Accept the rule involved in
   8962 	the sr conflicts instead of the lookahead number that points to
   8963 	that rule.
   8964 	(flush_reduce): Accept the current lookahead vector as argument,
   8965 	instead of the index in LA.
   8966 	(resolve_sr_conflict): Accept the current number of lookahead
   8967 	bitset to consider for the STATE, instead of the index in LA.
   8968 	(set_conflicts): Adjust.
   8969 	* src/lalr.c, src/lalr.h, src/state.h: Comment changes.
   8970 
   8971 2002-06-15  Akim Demaille  <akim (a] epita.fr>
   8972 
   8973 	* src/state.h (state_t): Replace the `lookaheadsp' member, a
   8974 	short, with `lookaheads' (bitsetv), `lookaheads_rule' (rule_t**).
   8975 	Adjust all dependencies.
   8976 	* src/lalr.c (initialize_lookaheads): Split into...
   8977 	(states_lookaheads_count, states_lookaheads_initialize): these.
   8978 	(lalr): Adjust.
   8979 
   8980 2002-06-15  Akim Demaille  <akim (a] epita.fr>
   8981 
   8982 	* src/gram.h, src/gram.c (grammar_rules_partial_print): New, eved
   8983 	out of...
   8984 	(grammar_rules_print): here.
   8985 	* src/reduce.c (reduce_output): Use it.
   8986 	* tests/reduce.at (Useless Rules, Reduced Automaton)
   8987 	(Underivable Rules): Adjust.
   8988 
   8989 2002-06-15  Akim Demaille  <akim (a] epita.fr>
   8990 
   8991 	Copy BYacc's nice way to report the grammar.
   8992 
   8993 	* src/gram.h, src/gram.c (grammar_rhs_print, grammar_rules_print):
   8994 	New.
   8995 	Don't print the rules' location, it is confusing and useless.
   8996 	(rule_print): Use grammar_rhs_print.
   8997 	* src/print.c (print_grammar): Use grammar_rules_print.
   8998 
   8999 2002-06-15  Akim Demaille  <akim (a] epita.fr>
   9000 
   9001 	Complete and rationalize `useless thing' warnings.
   9002 
   9003 	* src/symtab.h, src/symtab.c (symbol_tag_get, symbol_tag_get_n)
   9004 	(symbol_tag_print): New.
   9005 	Use them everywhere in place of accessing directly the tag member.
   9006 	* src/gram.h, src/gram.c (rule_print): New.
   9007 	Use it where a rule used to be printed `by hand'.
   9008 	* src/reduce.c (nonterminals_reduce): Report the use nonterminals.
   9009 	(reduce_grammar_tables): Report the useless rules.
   9010 	(reduce_print): Useless things are a warning, not an error.
   9011 	Report it as such.
   9012 	* tests/reduce.at (Useless Nonterminals, Useless Rules):
   9013 	(Reduced Automaton, Underivable Rules): Adjust.
   9014 	* tests/regression.at (Web2c Report, Web2c Report): Adjust.
   9015 	* tests/conflicts.at (Unresolved SR Conflicts)
   9016 	(Solved SR Conflicts): Adjust.
   9017 
   9018 2002-06-15  Akim Demaille  <akim (a] epita.fr>
   9019 
   9020 	Let symbols have a location.
   9021 
   9022 	* src/symtab.h, src/symtab.c (symbol_t): Location is a new member.
   9023 	(getsym): Adjust.
   9024 	Adjust all callers.
   9025 	* src/complain.h, src/complain.c (complain_at, fatal_at, warn_at):
   9026 	Use location_t, not int.
   9027 	* src/symtab.c (symbol_check_defined): Take advantage of the
   9028 	location.
   9029 	* tests/regression.at (Invalid inputs): Adjust.
   9030 
   9031 2002-06-15  Akim Demaille  <akim (a] epita.fr>
   9032 
   9033 	* src/parse-gram.y (YYLLOC_DEFAULT, current_lhs_location): New.
   9034 	(input): Don't try to initialize yylloc here, do it in the
   9035 	scanner.
   9036 	* src/scan-gram.l (YY_USER_INIT): Initialize yylloc.
   9037 	* src/gram.h (rule_t): Change line and action_line into location
   9038 	and action_location, of location_t type.
   9039 	Adjust all dependencies.
   9040 	* src/location.h, src/location.c (empty_location): New.
   9041 	* src/reader.h, src/reader.c (grammar_start_symbol_set)
   9042 	(grammar_symbol_append, grammar_rule_begin, grammar_rule_end)
   9043 	(grammar_current_rule_symbol_append)
   9044 	(grammar_current_rule_action_append): Expect a location as argument.
   9045 	* src/reader.c (grammar_midrule_action): Adjust to attach an
   9046 	action's location as dummy symbol location.
   9047 	* src/symtab.h, src/symtab.c (startsymbol_location): New.
   9048 	* tests/regression.at (Web2c Report, Rule Line Numbers): Adjust
   9049 	the line numbers.
   9050 
   9051 2002-06-14  Akim Demaille  <akim (a] epita.fr>
   9052 
   9053 	Grammar declarations may be found in the grammar section.
   9054 
   9055 	* src/parse-gram.y (rules_or_grammar_declaration): New.
   9056 	(declarations): Each declaration may end with a semicolon, not
   9057 	just...
   9058 	(grammar_declaration): `"%union"'.
   9059 	(grammar): Branch to rules_or_grammar_declaration.
   9060 
   9061 2002-06-14  Akim Demaille  <akim (a] epita.fr>
   9062 
   9063 	* src/main.c (main): Invoke scanner_free.
   9064 
   9065 2002-06-14  Akim Demaille  <akim (a] epita.fr>
   9066 
   9067 	* src/output.c (m4_invoke): Extracted from...
   9068 	(output_skeleton): here.
   9069 	Free tempfile.
   9070 
   9071 2002-06-14  Akim Demaille  <akim (a] epita.fr>
   9072 
   9073 	* src/parse-gram.y (directives, directive, gram)
   9074 	(grammar_directives, precedence_directives, precedence_directive):
   9075 	Rename as...
   9076 	(declarations, declaration, grammar, grammar_declaration)
   9077 	(precedence_declaration, precedence_declarator): these.
   9078 	(symbol_declaration): New.
   9079 
   9080 2002-06-14  Akim Demaille  <akim (a] epita.fr>
   9081 
   9082 	* src/files.c (action_obstack): Remove, unused.
   9083 	(output_obstack): Remove it, and all its dependencies, as it is no
   9084 	longer needed.
   9085 	* src/reader.c (epilogue_set): Build the epilogue in the
   9086 	muscle_obstack.
   9087 	* src/output.h, src/output.c (muscle_obstack): Move to...
   9088 	* src/muscle_tab.h, src/muscle_tab.h: here.
   9089 	(muscle_init): Initialize muscle_obstack.
   9090 	(muscle_free): New.
   9091 	* src/main.c (main): Call it.
   9092 
   9093 2002-06-14  Akim Demaille  <akim (a] epita.fr>
   9094 
   9095 	* src/location.h: New, extracted from...
   9096 	* src/reader.h: here.
   9097 	* src/Makefile.am (noinst_HEADERS): Merge into
   9098 	(bison_SOURCES): this.
   9099 	Add location.h.
   9100 	* src/parse-gram.y: Use location_t instead of Bison's.
   9101 	* src/reader.h, src/reader.c (prologue_augment, epilogue_set):
   9102 	Use location_t instead of ints.
   9103 
   9104 2002-06-14  Akim Demaille  <akim (a] epita.fr>
   9105 
   9106 	* data/bison.simple, data/bison.c++: Be sure to restore the
   9107 	current #line when returning to the skeleton contents after having
   9108 	exposed the input file's #line.
   9109 
   9110 2002-06-12  Akim Demaille  <akim (a] epita.fr>
   9111 
   9112 	* src/scan-gram.l (SC_BRACED_CODE): Don't use `<.*>', it is too
   9113 	eager.
   9114 	* tests/actions.at (Exotic Dollars): New.
   9115 
   9116 2002-06-12  Akim Demaille  <akim (a] epita.fr>
   9117 
   9118 	* src/scan-gram.l (SC_PROLOGUE): Don't eat characters amongst
   9119 	['"/] too eagerly.
   9120 	* tests/input.at (Torturing the Scanner): New.
   9121 
   9122 2002-06-11  Akim Demaille  <akim (a] epita.fr>
   9123 
   9124 	* src/scan-gram.l (YY_OBS_INIT): Remove, replace with...
   9125 	[SC_COMMENT,SC_STRING,SC_CHARACTER,SC_BRACED_CODE,SC_PROLOGUE]
   9126 	[SC_EPILOGUE]: Output the quadrigraphs only when not in a comment.
   9127 	* src/reader.h, src/scan-gram.l (scanner_initialize): this.
   9128 	* src/reader.c (reader): Use it.
   9129 
   9130 2002-06-11  Akim Demaille  <akim (a] epita.fr>
   9131 
   9132 	* src/scan-gram.l (YY_OBS_FINISH): Don't set yylval.
   9133 	Adjust all callers.
   9134 	(scanner_last_string_free): New.
   9135 
   9136 2002-06-11  Akim Demaille  <akim (a] epita.fr>
   9137 
   9138 	* src/scan-gram.l (YY_INIT, YY_GROW, YY_FINISH): Rename as...
   9139 	(YY_OBS_INIT, YY_OBS_GROW, YY_OBS_FINISH): these.
   9140 	(last_string, YY_OBS_FREE): New.
   9141 	Use them when returning an ID.
   9142 
   9143 2002-06-11  Akim Demaille  <akim (a] epita.fr>
   9144 
   9145 	Have Bison grammars parsed by a Bison grammar.
   9146 
   9147 	* src/reader.c, src/reader.h (prologue_augment): New.
   9148 	* src/reader.c (copy_definition): Remove.
   9149 
   9150 	* src/reader.h, src/reader.c (gram_start_symbol_set, prologue_augment)
   9151 	(grammar_symbol_append, grammar_rule_begin, grammar_midrule_action)
   9152 	(grammar_current_rule_prec_set, grammar_current_rule_check)
   9153 	(grammar_current_rule_symbol_append)
   9154 	(grammar_current_rule_action_append): Export.
   9155 	* src/parse-gram.y (symbol_list_new, symbol_list_symbol_append_
   9156 	(symbol_list_action_append): Remove.
   9157 	Hook the routines from reader.
   9158 	* src/scan-gram.l: In INITIAL, characters and strings are tokens.
   9159 	* src/system.h (ATTRIBUTE_NORETURN, ATTRIBUTE_UNUSED): Now.
   9160 
   9161 	* src/reader.c (read_declarations): Remove, unused.
   9162 
   9163 	* src/parse-gram.y: Handle the epilogue.
   9164 	* src/reader.h, src/reader.c (gram_start_symbol_set): Rename as...
   9165 	(grammar_start_symbol_set): this.
   9166 	* src/scan-gram.l: Be sure to ``use'' yycontrol to keep GCC quiet.
   9167 	* src/reader.c (readgram): Remove, unused.
   9168 	(reader): Adjust to insert eoftoken and axiom where appropriate.
   9169 
   9170 	* src/reader.c (copy_dollar): Replace with...
   9171 	* src/scan-gram.h (handle_dollar): this.
   9172 	* src/parse-gram.y: Remove `%thong'.
   9173 
   9174 	* src/reader.c (copy_at): Replace with...
   9175 	* src/scan-gram.h (handle_at): this.
   9176 
   9177 	* src/complain.h, src/complain.c (warn_at, complain_at, fatal_at):
   9178 	New.
   9179 
   9180 	* src/scan-gram.l (YY_LINES): Keep lineno synchronized for the
   9181 	time being.
   9182 
   9183 	* src/reader.h, src/reader.c (grammar_rule_end): New.
   9184 
   9185 	* src/parse.y (current_type, current_class): New.
   9186 	Implement `%nterm', `%token' support.
   9187 	Merge `%term' into `%token'.
   9188 	(string_as_id): New.
   9189 	* src/symtab.h, src/symtab.c (symbol_make_alias): Don't pass the
   9190 	type name.
   9191 
   9192 	* src/parse-gram.y: Be sure to handle properly the beginning of
   9193 	rules.
   9194 
   9195 	* src/parse-gram.y: Handle %type.
   9196 	* src/reader.c (grammar_rule_end): Call grammar_current_rule_check.
   9197 
   9198 	* src/parse-gram.y: More directives support.
   9199 	* src/options.c: No longer handle source directives.
   9200 
   9201 	* src/parse-gram.y: Fix %output.
   9202 
   9203 	* src/parse-gram.y: Handle %union.
   9204 	Use the prologue locations.
   9205 	* src/reader.c (parse_union_decl): Remove.
   9206 
   9207 	* src/reader.h, src/reader.c (epilogue_set): New.
   9208 	* src/parse-gram.y: Use it.
   9209 
   9210 	* data/bison.simple, data/bison.c++: b4_stype is now either not
   9211 	defined, then default to int, or to the contents of %union,
   9212 	without `union' itself.
   9213 	Adjust.
   9214 	* src/muscle_tab.c (muscle_init): Don't predefine `stype'.
   9215 
   9216 	* src/output.c (actions_output): Don't output braces, as they are
   9217 	already handled by the scanner.
   9218 
   9219 	* src/scan-gram.l (SC_CHARACTER): Set the user_token_number of
   9220 	characters to themselves.
   9221 
   9222 	* tests/reduce.at (Reduced Automaton): End the grammars with %% so
   9223 	that the epilogue has a proper #line.
   9224 
   9225 	* src/parse-gram.y: Handle precedence/associativity.
   9226 
   9227 	* src/symtab.c (symbol_precedence_set): Requires the symbol to be
   9228 	a terminal.
   9229 	* src/scan-gram.l (SC_BRACED_CODE): Catch strings and characters.
   9230 	* tests/calc.at: Do not use `%token "foo"' as it makes not sense
   9231 	at all to define terminals that cannot be emitted.
   9232 
   9233 	* src/scan-gram.l: Escape M4 characters.
   9234 
   9235 	* src/scan-gram.l: Working properly with escapes in user
   9236 	strings/characters.
   9237 
   9238 	* tests/torture.at (AT_DATA_TRIANGULAR_GRAMMAR)
   9239 	(AT_DATA_HORIZONTAL_GRAMMAR): Respect the `%token ID NUM STRING'
   9240 	grammar.
   9241 	Use more modest sizes, as for the time being the parser does not
   9242 	release memory, and therefore the process swallows a huge amount
   9243 	of memory.
   9244 
   9245 	* tests/torture.at (AT_DATA_LOOKAHEADS_GRAMMAR): Adjust to the
   9246 	stricter %token grammar.
   9247 
   9248 	* src/symtab.h (associativity): Add `undef_assoc'.
   9249 	(symbol_precedence_set): Do nothing when passed an undef_assoc.
   9250 	* src/symtab.c (symbol_check_alias_consistence): Adjust.
   9251 
   9252 	* tests/regression.at (Invalid %directive): Remove, as it is now
   9253 	meaningless.
   9254 	(Invalid inputs): Adjust to the new error messages.
   9255 	(Token definitions): The new grammar doesn't allow too many
   9256 	eccentricities.
   9257 
   9258 	* src/lex.h, src/lex.c: Remove.
   9259 	* src/reader.c (lastprec, skip_to_char, read_signed_integer)
   9260 	(copy_character, copy_string2, copy_string, copy_identifier)
   9261 	(copy_comment, parse_token_decl, parse_type_decl, parse_assoc_decl)
   9262 	(parse_muscle_decl, parse_dquoted_param, parse_skel_decl)
   9263 	(parse_action): Remove.
   9264 	* po/POTFILES.in: Adjust.
   9265 
   9266 2002-06-11  Akim Demaille  <akim (a] epita.fr>
   9267 
   9268 	* src/reader.c (parse_action): Don't store directly into the
   9269 	rule's action member: return the action as a string.
   9270 	Don't require `rule_length' as an argument: compute it.
   9271 	(grammar_current_rule_symbol_append)
   9272 	(grammar_current_rule_action_append): New, eved out from
   9273 	(readgram): here.
   9274 	Remove `action_flag', `rulelength', unused now.
   9275 
   9276 2002-06-11  Akim Demaille  <akim (a] epita.fr>
   9277 
   9278 	* src/reader.c (grammar_current_rule_prec_set).
   9279 	(grammar_current_rule_check): New, eved out from...
   9280 	(readgram): here.
   9281 	Remove `xaction', `first_rhs': useless.
   9282 	* tests/input.at (Type clashes): New.
   9283 	* tests/existing.at (GNU Cim Grammar): Adjust.
   9284 
   9285 2002-06-11  Akim Demaille  <akim (a] epita.fr>
   9286 
   9287 	* src/reader.c (grammar_midrule_action): New, Eved out from
   9288 	(readgram): here.
   9289 
   9290 2002-06-11  Akim Demaille  <akim (a] epita.fr>
   9291 
   9292 	* src/reader.c (grammar_rule_begin, previous_rule, current_rule):
   9293 	New.
   9294 	(readgram): Use them as replacement of inlined code, crule and
   9295 	crule1.
   9296 
   9297 2002-06-11  Akim Demaille  <akim (a] epita.fr>
   9298 
   9299 	* src/reader.c (grammar_end, grammar_symbol_append): New.
   9300 	(readgram): Use them.
   9301 	Make the use of `p' as local as possible.
   9302 
   9303 2002-06-10  Akim Demaille  <akim (a] epita.fr>
   9304 
   9305 	GCJ's parser requires the tokens to be defined before the prologue.
   9306 
   9307 	* data/bison.simple: Output the token definition before the user's
   9308 	prologue.
   9309 	* tests/regression.at (Braces parsing, Duplicate string)
   9310 	(Mixing %token styles): Check the output from bison.
   9311 	(Early token definitions): New.
   9312 
   9313 2002-06-10  Akim Demaille  <akim (a] epita.fr>
   9314 
   9315 	* src/symtab.c (symbol_user_token_number_set): Don't complain when
   9316 	assigning twice the same user number to a token, so that we can
   9317 	use it in...
   9318 	* src/lex.c (lex): here.
   9319 	Also use `symbol_class_set' instead of hand written code.
   9320 	* src/reader.c (parse_assoc_decl): Likewise.
   9321 
   9322 2002-06-10  Akim Demaille  <akim (a] epita.fr>
   9323 
   9324 	* src/symtab.c, src/symtab.c (symbol_class_set)
   9325 	(symbol_user_token_number_set): New.
   9326 	* src/reader.c (parse_token_decl): Use them.
   9327 	Use a switch instead of ifs.
   9328 	Use a single argument.
   9329 
   9330 2002-06-10  Akim Demaille  <akim (a] epita.fr>
   9331 
   9332 	Remove `%thong' support as it is undocumented, unused, duplicates
   9333 	`%token's job, and creates useless e-mail traffic with people who
   9334 	want to know what it is, why it is undocumented, unused, and
   9335 	duplicates `%token's job.
   9336 
   9337 	* src/reader.c (parse_thong_decl): Remove.
   9338 	* src/options.c (option_table): Remove "thong".
   9339 	* src/lex.h (tok_thong): Remove.
   9340 
   9341 2002-06-10  Akim Demaille  <akim (a] epita.fr>
   9342 
   9343 	* src/symtab.c, src/symtab.c (symbol_type_set)
   9344 	(symbol_precedence_set): New.
   9345 	* src/reader.c (parse_type_decl, parse_assoc_decl): Use them.
   9346 	(value_components_used): Remove, unused.
   9347 
   9348 2002-06-09  Akim Demaille  <akim (a] epita.fr>
   9349 
   9350 	Move symbols handling code out of the reader.
   9351 
   9352 	* src/reader.h, src/reader.c (errtoken, undeftoken, eoftoken)
   9353 	(axiom): Move to...
   9354 	* src/symtab.h, src/symtab.c: here.
   9355 
   9356 	* src/gram.c (start_symbol): Remove: use startsymbol->number.
   9357 	* src/reader.c (startval): Rename as...
   9358 	* src/symtab.h, src/symtab.c (startsymbol): this.
   9359 	* src/reader.c: Adjust.
   9360 
   9361 	* src/reader.c (symbol_check_defined, symbol_make_alias)
   9362 	(symbol_check_alias_consistence, symbol_pack, symbol_translation)
   9363 	(token_translations_init)
   9364 	Move to...
   9365 	* src/symtab.c: here.
   9366 	* src/reader.c (packsymbols): Move to...
   9367 	* src/symtab.h, src/symtab.c (symbols_pack): here.
   9368 	* src/symtab.h, src/symtab.c (symbol_make_alias): Takes SYMVAL as
   9369 	argument.
   9370 
   9371 2002-06-03  Akim Demaille  <akim (a] epita.fr>
   9372 
   9373 	* src/muscle_tab.c (muscle_insert, muscle_find): Declarations,
   9374 	then statements.
   9375 
   9376 2002-06-03  Akim Demaille  <akim (a] epita.fr>
   9377 
   9378 	* src/muscle_tab.c (muscle_find, muscle_insert): Don't initialize
   9379 	structs with non literals.
   9380 	* src/scan-skel.l: never-interactive.
   9381 	* src/conflicts.c (enum conflict_resolution_e): No trailing
   9382 	comma.
   9383 	* src/getargs.c (usage): Split long literal strings.
   9384 	Reported by Hans Aberg.
   9385 
   9386 2002-05-28  Akim Demaille  <akim (a] epita.fr>
   9387 
   9388 	* data/bison.c++: Use C++ ostreams.
   9389 	(cdebug_): New member.
   9390 
   9391 2002-05-28  Akim Demaille  <akim (a] epita.fr>
   9392 
   9393 	* src/output.c (output_skeleton): Be sure to allocate enough room
   9394 	for `/' _and_ for `\0' in full_skeleton.
   9395 
   9396 2002-05-28  Akim Demaille  <akim (a] epita.fr>
   9397 
   9398 	* data/bison.c++: Catch up with bison.simple:
   9399 	2002-05-24  Paul Hilfinger  <Hilfinger (a] CS.Berkeley.EDU>
   9400 	and Paul Eggert  <eggert (a] twinsun.com>: `error' handing.
   9401 	2002-05-26  Akim Demaille  <akim (a] epita.fr>: stos_, token_number_,
   9402 	and popping traces.
   9403 
   9404 2002-05-27  Paul Hilfinger  <Hilfinger (a] CS.Berkeley.EDU>
   9405 
   9406 	* src/output.c (output_skeleton): Put an explicit path in front of
   9407 	the skeleton file name, rather than relying on the -I directory,
   9408 	to partially alleviate effects of having a skeleton file lying around
   9409 	in the current directory.
   9410 
   9411 2002-05-27  Paul Hilfinger  <Hilfinger (a] CS.Berkeley.EDU>
   9412 
   9413 	* src/conflicts.c (log_resolution): Correct typo:
   9414 	obstack_printf should be obstack_fgrow1.
   9415 
   9416 2002-05-26  Akim Demaille  <akim (a] epita.fr>
   9417 
   9418 	* src/state.h (state_t): `solved_conflicts' is a new member.
   9419 	* src/LR0.c (new_state): Set it to 0.
   9420 	* src/conflicts.h, src/conflicts.c (print_conflicts)
   9421 	(free_conflicts, solve_conflicts): Rename as...
   9422 	(conflicts_print, conflicts_free, conflicts_solve): these.
   9423 	Adjust callers.
   9424 	* src/conflicts.c (enum conflict_resolution_e)
   9425 	(solved_conflicts_obstack): New, used by...
   9426 	(log_resolution): this.
   9427 	Adjust to attach the conflict resolution to each state.
   9428 	Complete the description with the precedence/associativity
   9429 	information.
   9430 	(resolve_sr_conflict): Adjust.
   9431 	* src/print.c (print_state): Output its solved_conflicts.
   9432 	* tests/conflicts.at (Unresolved SR Conflicts)
   9433 	(Solved SR Conflicts): Exercise --report=all.
   9434 
   9435 2002-05-26  Akim Demaille  <akim (a] epita.fr>
   9436 
   9437 	* src/LR0.c, src/derives.c, src/gram.c, src/gram.h, src/lalr.c,
   9438 	* src/nullable.c, src/output.c, src/print.c, src/print_graph.c,
   9439 	* src/reader.c, src/reduce.c, src/state.h, src/symtab.h
   9440 	(token_number_t, item_number_as_token_number)
   9441 	(token_number_as_item_number, muscle_insert_token_number_table):
   9442 	Rename as...
   9443 	(symbol_number_t, item_number_as_symbol_number)
   9444 	(symbol_number_as_item_number, muscle_insert_symbol_number_table):
   9445 	these, since it is more appropriate.
   9446 
   9447 2002-05-26  Akim Demaille  <akim (a] epita.fr>
   9448 
   9449 	* tests/calc.at (AT_CHECK_CALC): Adjust: there are now additional
   9450 	`Error:' lines.
   9451 	* data/bison.simple (yystos) [YYDEBUG]: New.
   9452 	(yyparse) [YYDEBUG]: Display the symbols which are popped during
   9453 	error recovery.
   9454 	* tests/regression.at (Web2c Actions): Adjust: yystos is output now.
   9455 
   9456 2002-05-25  Akim Demaille  <akim (a] epita.fr>
   9457 
   9458 	* doc/bison.texinfo (Debugging): Split into...
   9459 	(Tracing): this new section, its former contents, and...
   9460 	(Understanding): this new section.
   9461 	* src/getargs.h, src/getargs.c (verbose_flag): Remove, replaced
   9462 	by...
   9463 	(report_flag): this.
   9464 	Adjust all dependencies.
   9465 	(report_args, report_types, report_argmatch): New.
   9466 	(usage, getargs): Report/support -r, --report.
   9467 	* src/options.h
   9468 	(struct option_table_struct): Rename as..,
   9469 	(struct option_table_s): this.
   9470 	Rename the `set_flag' member to `flag' to match with getopt_long's
   9471 	struct.
   9472 	* src/options.c (option_table): Split verbose into an entry for
   9473 	%verbose, and another for --verbose.
   9474 	Support --report/-r, so remove -r from the obsolete --raw.
   9475 	* src/print.c: Attach full item sets and lookaheads reports to
   9476 	report_flag instead of trace_flag.
   9477 	* lib/argmatch.h, lib/argmatch.c: New, from Fileutils 4.1.
   9478 
   9479 2002-05-24  Paul Hilfinger  <Hilfinger (a] CS.Berkeley.EDU>
   9480 	and Paul Eggert  <eggert (a] twinsun.com>
   9481 
   9482 	* data/bison.simple (yyparse): Correct error handling to conform to
   9483 	POSIX and yacc.  Specifically, after syntax error is discovered,
   9484 	do not reduce further before shifting the error token.
   9485 	Clean up the code a bit by removing the labels yyerrdefault,
   9486 	yyerrhandle, yyerrpop.
   9487 	* NEWS: Document the above.
   9488 
   9489 2002-05-20  Paul Hilfinger  <Hilfinger (a] CS.Berkeley.EDU>
   9490 
   9491 	* data/bison.simple (yyr1): Don't use yy_token_number_type as element
   9492 	type; it isn't always big enough, since it doesn't necessarily
   9493 	include non-terminals.
   9494 	(yytranslate): Expand definition of yy_token_number_type, so that
   9495 	the latter can be removed.
   9496 	(yy_token_number_type): Remove, only one use.
   9497 	* data/bison.c++ (r1_): Parallel change to yyr1 in bison.simple---
   9498 	don't use TokenNumberType as element type.
   9499 
   9500 	* tests/regression.at: Modify expected output to agree with change
   9501 	to yyr1 and yytranslate.
   9502 
   9503 2002-05-13  Florian Krohm  <florian (a] edamail.fishkill.ibm.com>
   9504 
   9505 	* src/reader.c (parse_action): Use copy_character instead of
   9506 	obstack_1grow.
   9507 
   9508 2002-05-13  Akim Demaille  <akim (a] epita.fr>
   9509 
   9510 	* tests/regression.at (Token definitions): Prototype yylex and
   9511 	yyerror.
   9512 
   9513 2002-05-12  Paul Hilfinger  <Hilfinger (a] CS.Berkeley.EDU>
   9514 
   9515 	* src/scan-skel.l: Correct off-by-one error in handling of __oline__.
   9516 	* data/bison.simple (b4_sint_type, b4_uint_type): Correct to reflect
   9517 	32-bit arithmetic.
   9518 	* data/bison.c++ (b4_sint_type, b4_uint_type): Ditto.
   9519 
   9520 2002-05-07  Akim Demaille  <akim (a] epita.fr>
   9521 
   9522 	* tests/synclines.at: Be sure to prototype yylex and yyerror to
   9523 	avoid GCC warnings.
   9524 
   9525 2002-05-07  Akim Demaille  <akim (a] epita.fr>
   9526 
   9527 	Kill GCC warnings.
   9528 
   9529 	* src/reduce.c (nonterminals_reduce): Don't loop over RITEM: loop
   9530 	over the RHS of each rule.
   9531 	* src/gram.h, src/gram.c (nritems): Is `unsigned int', not int.
   9532 	* src/state.h (state_t): Member `nitems' is unsigned short.
   9533 	* src/LR0.c (get_state): Adjust.
   9534 	* src/reader.c (packgram): Likewise.
   9535 	* src/output.c (GENERATE_MUSCLE_INSERT_TABLE): `max' is of type
   9536 	`Type'.
   9537 	(muscle_insert_int_table): Remove, unused.
   9538 	(prepare_rules): Remove `max'.
   9539 
   9540 2002-05-06  Akim Demaille  <akim (a] epita.fr>
   9541 
   9542 	* src/closure.c (print_firsts): Display of the symbol tags.
   9543 	(bitmatrix_print): Move to...
   9544 	* lib/bitsetv-print.h, lib/bitsetv-print.c (bitsetv_matrix_dump):
   9545 	here.
   9546 	* tests/sets.at (Nullable, Broken Closure, Firsts): Adjust.
   9547 
   9548 2002-05-06  Akim Demaille  <akim (a] epita.fr>
   9549 
   9550 	* src/muscle_tab.c (muscle_m4_output): Must return TRUE for
   9551 	hash_do_for_each.
   9552 
   9553 2002-05-06  Akim Demaille  <akim (a] epita.fr>
   9554 
   9555 	* src/LR0.c (new_state, get_state): Instead of using the global
   9556 	`kernel_size' and `kernel_base', have two new arguments:
   9557 	`core_size' and `core'.
   9558 	Adjust callers.
   9559 
   9560 2002-05-06  Akim Demaille  <akim (a] epita.fr>
   9561 
   9562 	* src/reader.c (packgram): No longer end `ritem' with a 0
   9563 	sentinel: it is not used.
   9564 
   9565 2002-05-05  Akim Demaille  <akim (a] epita.fr>
   9566 
   9567 	New experimental feature: display the lookaheads in the report and
   9568 	graph.
   9569 
   9570 	* src/print (print_core): When --trace-flag, display the rules
   9571 	lookaheads.
   9572 	* src/print_graph.c (print_core): Likewise.
   9573 	Swap the arguments.
   9574 	Adjust caller.
   9575 
   9576 2002-05-05  Akim Demaille  <akim (a] epita.fr>
   9577 
   9578 	* tests/torture.at (Many lookaheads): New test.
   9579 
   9580 2002-05-05  Akim Demaille  <akim (a] epita.fr>
   9581 
   9582 	* src/output.c (GENERATE_OUTPUT_TABLE): Replace with...
   9583 	(GENERATE_MUSCLE_INSERT_TABLE): this.
   9584 	(output_int_table, output_unsigned_int_table, output_short_table)
   9585 	(output_token_number_table, output_item_number_table): Replace with...
   9586 	(muscle_insert_int_table, muscle_insert_unsigned_int_table)
   9587 	(muscle_insert_short_table, muscle_insert_token_number_table)
   9588 	(muscle_insert_item_number_table): these.
   9589 	Adjust all callers.
   9590 	(prepare_tokens): Don't free `translations', since...
   9591 	* src/reader.h, src/reader.c (grammar_free): do it.
   9592 	Move to...
   9593 	* src/gram.h, src/gram.c (grammar_free): here.
   9594 	* data/bison.simple, data/bison.c++: b4_token_number_max is now
   9595 	b4_translate_max.
   9596 
   9597 2002-05-05  Akim Demaille  <akim (a] epita.fr>
   9598 
   9599 	* src/output.c (output_unsigned_int_table): New.
   9600 	(prepare_rules): `i' is unsigned.
   9601 	`prhs', `rline', `r2' are unsigned int.
   9602 	Rename muscle `rhs_number_max' as `rhs_max'.
   9603 	Output muscles `prhs_max', `rline_max', and `r2_max'.
   9604 	Free rline and r1.
   9605 	* data/bison.simple, data/bison.c++: Adjust to use these muscles
   9606 	to compute types instead of constant types.
   9607 	* tests/regression.at (Web2c Actions): Adjust.
   9608 
   9609 2002-05-04  Akim Demaille  <akim (a] epita.fr>
   9610 
   9611 	* src/symtab.h (SALIAS, SUNDEF): Rename as...
   9612 	(USER_NUMBER_ALIAS, USER_NUMBER_UNDEFINED): these.
   9613 	Adjust dependencies.
   9614 	* src/output.c (token_definitions_output): Be sure not to output a
   9615 	`#define 'a'' when fed with `%token 'a' "a"'.
   9616 	* tests/regression.at (Token definitions): New.
   9617 
   9618 2002-05-03  Paul Eggert  <eggert (a] twinsun.com>
   9619 
   9620 	* data/bison.simple (b4_token_defines): Also define YYTOKENTYPE
   9621 	for K&R C.
   9622 
   9623 2002-05-03  gettextize  <bug-gnu-gettext (a] gnu.org>
   9624 
   9625 	* Makefile.am (SUBDIRS): Remove intl.
   9626 	(EXTRA_DIST): Add config/config.rpath.
   9627 
   9628 2002-05-03  Akim Demaille  <akim (a] epita.fr>
   9629 
   9630 	* data/bison.simple (m4_if): Don't output empty enums.
   9631 	And actually, output valid enum definitions :(.
   9632 
   9633 2002-05-03  Akim Demaille  <akim (a] epita.fr>
   9634 
   9635 	* configure.bat: Remove, completely obsolete.
   9636 	* Makefile.am (EXTRA_DIST): Adjust.
   9637 	Don't distribute config.rpath...
   9638 	* config/Makefile.am (EXTRA_DIST): Do it.
   9639 
   9640 2002-05-03  Akim Demaille  <akim (a] epita.fr>
   9641 
   9642 	* configure.in (GETTEXT_VERSION): New.
   9643 	Suggested by Bruno Haible for the forthcoming Gettext 0.10.3.
   9644 
   9645 2002-05-03  Akim Demaille  <akim (a] epita.fr>
   9646 
   9647 	* data/bison.simple (b4_token_enum): New.
   9648 	(b4_token_defines): Use it to output tokens both as #define and
   9649 	enums.
   9650 	Suggested by Paul Eggert.
   9651 	* src/output.c (token_definitions_output): Don't output spurious
   9652 	white spaces.
   9653 
   9654 2002-05-03  Akim Demaille  <akim (a] epita.fr>
   9655 
   9656 	* data/m4sugar/m4sugar.m4: Update from CVS Autoconf.
   9657 
   9658 2002-05-02  Robert Anisko  <robert (a] lrde.epita.fr>
   9659 
   9660 	* data/bison.c++: Adapt expansion of $s and @s to the C++ parser.
   9661 	Update the stack class, give a try to deque as the default container.
   9662 
   9663 2002-05-02  Akim Demaille  <akim (a] epita.fr>
   9664 
   9665 	* data/bison.simple (yyparse): Do not implement @$ = @1.
   9666 	(YYLLOC_DEFAULT): Adjust to do it.
   9667 	* doc/bison.texinfo (Location Default Action): Fix.
   9668 
   9669 2002-05-02  Akim Demaille  <akim (a] epita.fr>
   9670 
   9671 	* src/reader.c (parse_braces): Merge into...
   9672 	(parse_action): this.
   9673 
   9674 2002-05-02  Akim Demaille  <akim (a] epita.fr>
   9675 
   9676 	* configure.in (ALL_LINGUAS): Remove.
   9677 	* po/LINGUAS, hr.po: New.
   9678 
   9679 2002-05-02  Akim Demaille  <akim (a] epita.fr>
   9680 
   9681 	Remove the so called hairy (semantic) parsers.
   9682 
   9683 	* src/system.h (EXT_GUARD_C, EXT_STYPE_H): Remove.
   9684 	* src/gram.h, src/gram.c (semantic_parser): Remove.
   9685 	(rule_t): Remove the guard and guard_line members.
   9686 	* src/lex.h (token_t): remove tok_guard.
   9687 	* src/options.c (option_table): Remove %guard and %semantic_parser
   9688 	support.
   9689 	* src/output.c, src/output.h (guards_output): Remove.
   9690 	(prepare): Adjust.
   9691 	(token_definitions_output): Don't output the `T'
   9692 	tokens (???).
   9693 	(output_skeleton): Don't output the guards.
   9694 	* src/files.c, src/files.c (attrsfile): Remove.
   9695 	* src/reader.c (symbol_list): Remove the guard and guard_line
   9696 	members.
   9697 	Adjust dependencies.
   9698 	(parse_guard): Remove.
   9699 	* data/bison.hairy: Remove.
   9700 	* doc/bison.texinfo (Environment Variables): Remove occurrences of
   9701 	BISON_HAIRY.
   9702 
   9703 2002-05-02  Akim Demaille  <akim (a] epita.fr>
   9704 
   9705 	* src/reader.c (copy_at, copy_dollarm parse_braces, parse_action)
   9706 	(parse_guard): Rename the formal argument `stack_offset' as
   9707 	`rule_length', which is more readable.
   9708 	Adjust callers.
   9709 	(copy_at, copy_dollar): Instead of outputting the hard coded
   9710 	values of $$, $n and so forth, output invocation to b4_lhs_value,
   9711 	b4_lhs_location, b4_rhs_value, and b4_rhs_location.
   9712 	Note: this patch partially drops `semantic-parser' support: it
   9713 	always does `rule_length - n', where semantic parsers ought to
   9714 	always use `-n'.
   9715 	* data/bison.simple, data/bison.c++ (b4_lhs_value)
   9716 	(b4_lhs_location, b4_rhs_value, and b4_rhs_location: New.
   9717 
   9718 2002-05-02  Akim Demaille  <akim (a] epita.fr>
   9719 
   9720 	* configure.in (AC_INIT): Bump to 1.49b.
   9721 	(AM_INIT_AUTOMAKE): Short invocation.
   9722 
   9723 2002-05-02  Akim Demaille  <akim (a] epita.fr>
   9724 
   9725 	Version 1.49a.
   9726 
   9727 2002-05-01  Akim Demaille  <akim (a] epita.fr>
   9728 
   9729 	* src/skeleton.h: Remove.
   9730 
   9731 2002-05-01  Akim Demaille  <akim (a] epita.fr>
   9732 
   9733 	* src/skeleton.h: Fix the #endif.
   9734 	Reported by Magnus Fromreide.
   9735 
   9736 2002-04-26  Paul Eggert  <eggert (a] twinsun.com>
   9737 
   9738 	* data/bison.simple (YYSTYPE_IS_TRIVIAL, YYLTYPE_IS_TRIVIAL):
   9739 	Define if we define YYSTYPE and YYLTYPE, respectively.
   9740 	(YYCOPY): Fix [] quoting problem in the non-GCC case.
   9741 
   9742 2002-04-25  Robert Anisko  <robert (a] lrde.epita.fr>
   9743 
   9744 	* src/scan-skel.l: Postprocess quadrigraphs.
   9745 
   9746 	* src/reader.c (copy_character): New function, used to output
   9747 	single characters while replacing `[' and `]' with quadrigraphs, to
   9748 	avoid troubles with M4 quotes.
   9749 	(copy_comment): Output characters with copy_character.
   9750 	(read_additionnal_code): Likewise.
   9751 	(copy_string2): Likewise.
   9752 	(copy_definition): Likewise.
   9753 
   9754 	* tests/calc.at: Exercise M4 quoting.
   9755 
   9756 2002-04-25  Akim Demaille  <akim (a] epita.fr>
   9757 
   9758 	* tests/sets.at (AT_EXTRACT_SETS): Sed portability issue: no space
   9759 	between `!' and the command.
   9760 	Reported by Paul Eggert.
   9761 
   9762 2002-04-24  Robert Anisko  <robert (a] lrde.epita.fr>
   9763 
   9764 	* tests/calc.at: Exercise prologue splitting.
   9765 
   9766 	* data/bison.simple, data/bison.c++: Use `b4_pre_prologue' and
   9767 	`b4_post_prologue' instead of `b4_prologue'.
   9768 
   9769 	* src/output.c (prepare): Add the `pre_prologue' and `post_prologue'
   9770 	muscles.
   9771 	(output): Free pre_prologue_obstack and post_prologue_obstack.
   9772 	* src/files.h, src/files.c (attrs_obstack): Remove.
   9773 	(pre_prologue_obstack, post_prologue_obstack): New.
   9774 	* src/reader.c (copy_definition): Add a parameter to specify the
   9775 	obstack to fill, instead of using attrs_obstack unconditionally.
   9776 	(read_declarations): Pass pre_prologue_obstack to copy_definition if
   9777 	`%union' has not yet been seen, pass post_prologue_obstack otherwise.
   9778 
   9779 2002-04-23  Paul Eggert  <eggert (a] twinsun.com>
   9780 
   9781 	* data/bison.simple: Remove unnecessary commentary and white
   9782 	space differences from 1_29-branch.
   9783 	Depend on YYERROR_VERBOSE, not defined (YYERROR_VERBOSE).
   9784 
   9785 	(union yyalloc, YYSTACK_GAP_MAX, YYSTACK_BYTES, YYCOPY,
   9786 	YYSTACK_RELOCATE): Do not define if yyoverflow is defined, or
   9787 	if this is a C++ parser and YYSTYPE or YYLTYPE has nontrivial
   9788 	constructors or destructors.
   9789 
   9790 	(yyparse) [! defined YYSTACK_RELOCATE]: Do not relocate the stack.
   9791 
   9792 2002-04-23  Akim Demaille  <akim (a] epita.fr>
   9793 
   9794 	* tests/sets.at (AT_EXTRACT_SETS): Don't use 8 char long sed labels.
   9795 	* tests/synclines.at (AT_TEST_SYNCLINE): Be robust to GCC's
   9796 	location with columns.
   9797 	* tests/conflicts.at (%nonassoc and eof): Don't use `error.h'.
   9798 	All reported by Paul Eggert.
   9799 
   9800 2002-04-22  Akim Demaille  <akim (a] epita.fr>
   9801 
   9802 	* src/reduce.c (dump_grammar): Move to...
   9803 	* src/gram.h, src/gram.c (grammar_dump): here.
   9804 	Be sure to separate long item numbers.
   9805 	Don't read the members of a rule's prec if its nil.
   9806 
   9807 2002-04-22  Akim Demaille  <akim (a] epita.fr>
   9808 
   9809 	* src/output.c (table_size, table_grow): New.
   9810 	(MAXTABLE): Remove, replace uses with table_size.
   9811 	(pack_vector): Instead of dying when the table is too big, grow it.
   9812 
   9813 2002-04-22  Akim Demaille  <akim (a] epita.fr>
   9814 
   9815 	* data/bison.simple (yyr1): Its type is that of a token number.
   9816 	* data/bison.c++ (r1_): Likewise.
   9817 	* tests/regression.at (Web2c Actions): Adjust.
   9818 
   9819 2002-04-22  Akim Demaille  <akim (a] epita.fr>
   9820 
   9821 	* src/reader.c (token_translations_init): 256 is now the default
   9822 	value for the error token, i.e., it will be assigned another
   9823 	number if the user assigned 256 to one of her tokens.
   9824 	(reader): Don't force 256 to error.
   9825 	* doc/bison.texinfo (Symbols): Adjust.
   9826 	* tests/torture.at (AT_DATA_HORIZONTAL_GRAMMAR)
   9827 	(AT_DATA_TRIANGULAR_GRAMMAR): Number the tokens as 1, 2, 3
   9828 	etc. instead of 10, 20, 30 (which was used to `jump' over error
   9829 	(256) and undefined (2)).
   9830 
   9831 2002-04-22  Akim Demaille  <akim (a] epita.fr>
   9832 
   9833 	Propagate more token_number_t.
   9834 
   9835 	* src/gram.h (token_number_as_item_number)
   9836 	(item_number_as_token_number): New.
   9837 	* src/output.c (GENERATE_OUTPUT_TABLE): New.
   9838 	Use it to create output_item_number_table and
   9839 	output_token_number_table.
   9840 	* src/LR0.c, src/derives.c, src/gram.c, src/gram.h, src/lalr.c,
   9841 	* src/lex.c, src/nullable.c, src/output.c, src/print.c,
   9842 	* src/print_graph.c, src/reader.c, src/reduce.c, src/state.h,
   9843 	* src/symtab.c, src/symtab.h: Use token_number_t instead of shorts.
   9844 
   9845 2002-04-22  Akim Demaille  <akim (a] epita.fr>
   9846 
   9847 	* src/output.h, src/output.c (get_lines_number): Remove.
   9848 
   9849 2002-04-19  Akim Demaille  <akim (a] epita.fr>
   9850 
   9851 	* doc/bison.texinfo (Actions): Make clear that `|' is not the same
   9852 	as Lex/Flex'.
   9853 	(Debugging): More details about enabling the debugging features.
   9854 	(Table of Symbols): Describe $$, $n, @$, and @n.
   9855 	Suggested by Tim Josling.
   9856 
   9857 2002-04-19  Akim Demaille  <akim (a] epita.fr>
   9858 
   9859 	* doc/bison.texinfo: Remove the uses of the obsolete @refill.
   9860 
   9861 2002-04-10  Akim Demaille  <akim (a] epita.fr>
   9862 
   9863 	* src/system.h: Rely on HAVE_LIMITS_H.
   9864 	Suggested by Paul Eggert.
   9865 
   9866 2002-04-09  Akim Demaille  <akim (a] epita.fr>
   9867 
   9868 	* tests/calc.at (_AT_CHECK_CALC_ERROR): Receive as argument the
   9869 	full stderr, and strip it according to the bison options, instead
   9870 	of composing the error message from different bits.
   9871 	This makes it easier to check for several error messages.
   9872 	Adjust all the invocations.
   9873 	Add an invocation exercising the error token.
   9874 	Add an invocation demonstrating a stupid error message.
   9875 	(_AT_DATA_CALC_Y): Follow the GCS: initial column is 1, not 0.
   9876 	Adjust the tests.
   9877 	Error message are for stderr, not stdout.
   9878 
   9879 2002-04-09  Akim Demaille  <akim (a] epita.fr>
   9880 
   9881 	* src/gram.h, src/gram.c (error_token_number): Remove, use
   9882 	errtoken->number.
   9883 	* src/reader.c (reader): Don't specify the user token number (2)
   9884 	for $undefined, as it uselessly prevents using it.
   9885 	* src/gram.h (token_number_t): Move to...
   9886 	* src/symtab.h: here.
   9887 	(state_t.number): Is a token_number_t.
   9888 	* src/print.c, src/reader.c: Use undeftoken->number instead of
   9889 	hard coded 2.
   9890 	(Even though this 2 is not the same as above: the number of the
   9891 	undeftoken remains being 2, it is its user token number which
   9892 	might not be 2).
   9893 	* src/output.c (prepare_tokens): Rename the `maxtok' muscle with
   9894 	`user_token_number_max'.
   9895 	Output `undef_token_number'.
   9896 	* data/bison.simple, data/bison.c++: Use them.
   9897 	Be sure to map invalid yylex return values to
   9898 	`undef_token_number'.  This saves us from gratuitous SEGV.
   9899 
   9900 	* tests/conflicts.at (Solved SR Conflicts)
   9901 	(Unresolved SR Conflicts): Adjust.
   9902 	* tests/regression.at (Web2c Actions): Adjust.
   9903 
   9904 2002-04-08  Akim Demaille  <akim (a] epita.fr>
   9905 
   9906 	* data/bison.c++: s/b4_item_number_max/b4_rhs_number_max/.
   9907 	Adding #line.
   9908 	Remove the duplicate `typedefs'.
   9909 	(RhsNumberType): Fix the declaration and various other typos.
   9910 	Use __ofile__.
   9911 	* data/bison.simple: Use __ofile__.
   9912 	* src/scan-skel.l: Handle __ofile__.
   9913 
   9914 2002-04-08  Akim Demaille  <akim (a] epita.fr>
   9915 
   9916 	* src/gram.h (item_number_t): New, the type of item numbers in
   9917 	RITEM.  Note that it must be able to code symbol numbers as
   9918 	positive number, and the negation of rule numbers as negative
   9919 	numbers.
   9920 	Adjust all dependencies (pretty many).
   9921 	* src/reduce.c (rule): Remove this `short *' pointer: use
   9922 	item_number_t.
   9923 	* src/system.h (MINSHORT, MAXSHORT): Remove.
   9924 	Include `limits.h'.
   9925 	Adjust dependencies to using SHRT_MAX and SHRT_MIN.
   9926 	(shortcpy): Remove.
   9927 	(MAXTABLE): Move to...
   9928 	* src/output.c (MAXTABLE): here.
   9929 	(prepare_rules): Use output_int_table to output rhs.
   9930 	* data/bison.simple, data/bison.c++: Adjust.
   9931 	* tests/torture.at (Big triangle): Move the limit from 254 to
   9932 	500.
   9933 	* tests/regression.at (Web2c Actions): Ajust.
   9934 
   9935 	Trying with bigger grammars shows various phenomena: at 3000 (28Mb
   9936 	of grammar file) bison is killed by my system, at 2000 (12Mb) bison
   9937 	passes, but produces negative #line number, once fixed, GCC is
   9938 	killed while compiling 14Mb, at 1500 (6.7 Mb of grammar, 8.2Mb of
   9939 	C), it passes.
   9940 	* src/state.h (state_h): Code input lines on ints, not shorts.
   9941 
   9942 2002-04-08  Akim Demaille  <akim (a] epita.fr>
   9943 
   9944 	* src/reduce.c (reduce_grammar): First reduce the nonterminals,
   9945 	and then the grammar.
   9946 
   9947 2002-04-08  Akim Demaille  <akim (a] epita.fr>
   9948 
   9949 	* src/system.h: No longer using strndup.
   9950 
   9951 2002-04-07  Akim Demaille  <akim (a] epita.fr>
   9952 
   9953 	* src/muscle_tab.h (MUSCLE_INSERT_LONG_INT): New.
   9954 	* src/output.c (output_table_data): Return the longest number.
   9955 	(prepare_tokens): Output `token_number_max').
   9956 	* data/bison.simple, data/bison.c++ (b4_sint_type, b4_uint_type):
   9957 	New.
   9958 	Use them to define yy_token_number_type/TokenNumberType.
   9959 	Use this type for yytranslate.
   9960 	* tests/torture.at (Big triangle): Push the limit from 124 to
   9961 	253.
   9962 	* tests/regression.at (Web2c Actions): Adjust.
   9963 
   9964 2002-04-07  Akim Demaille  <akim (a] epita.fr>
   9965 
   9966 	* tests/torture.at (Big triangle): New.
   9967 	(GNU AWK Grammar, GNU Cim Grammar): Move to...
   9968 	* tests/existing.at: here.
   9969 
   9970 2002-04-07  Akim Demaille  <akim (a] epita.fr>
   9971 
   9972 	* src/gram.h, src/gram.c (nitems): Remove, it is an alias of
   9973 	nritems.
   9974 	Adjust dependencies.
   9975 
   9976 2002-04-07  Akim Demaille  <akim (a] epita.fr>
   9977 
   9978 	* src/reader.c: Normalize increments to prefix form.
   9979 
   9980 2002-04-07  Akim Demaille  <akim (a] epita.fr>
   9981 
   9982 	* src/reader.c, symtab.c: Remove debugging code.
   9983 
   9984 2002-04-07  Akim Demaille  <akim (a] epita.fr>
   9985 
   9986 	Rename all the `bucket's as `symbol_t'.
   9987 
   9988 	* src/gram.c, src/gram.h, src/lex.c, src/lex.h, src/output.c,
   9989 	* src/reader.c, src/reader.h, src/reduce.c, src/state.h,
   9990 	* src/symtab.c, src/symtab.h (bucket): Rename as...
   9991 	(symbol_t): this.
   9992 	(symbol_list_new, bucket_check_defined, bucket_make_alias)
   9993 	(bucket_check_alias_consistence, bucket_pack, bucket_translation)
   9994 	(bucket_new, bucket_free, hash_compare_bucket, hash_bucket)
   9995 	(buckets_new, buckets_free, buckets_do): Rename as...
   9996 	(symbol_list_new, symbol_check_defined, symbol_make_alias)
   9997 	(symbol_check_alias_consistence, symbol_pack, symbol_translation)
   9998 	(symbol_new, symbol_free, hash_compare_symbol_t, hash_symbol_t)
   9999 	(symbols_new, symbols_free, symbols_do): these.
   10000 
   10001 2002-04-07  Akim Demaille  <akim (a] epita.fr>
   10002 
   10003 	Use lib/hash for the symbol table.
   10004 
   10005 	* src/gram.c (ntokens): Initialize to 1, to reserve a slot for
   10006 	EOF.
   10007 	* src/lex.c (lex): Set the `number' member of new terminals.
   10008 	* src/reader.c (bucket_check_defined, bucket_make_alias)
   10009 	(bucket_check_alias_consistence, bucket_translation): New.
   10010 	(reader, grammar_free, readgram, token_translations_init)
   10011 	(packsymbols): Adjust.
   10012 	(reader): Number the predefined tokens.
   10013 	* src/reduce.c (inaccessable_symbols): Just use hard coded numbers
   10014 	for predefined tokens.
   10015 	* src/symtab.h (bucket): Remove all the hash table related
   10016 	members.
   10017 	* src/symtab.c (symtab): Replace by...
   10018 	(bucket_table): this.
   10019 	(bucket_new, bucket_free, hash_compare_bucket, hash_bucket)
   10020 	(buckets_new, buckets_do): New.
   10021 
   10022 2002-04-07  Akim Demaille  <akim (a] epita.fr>
   10023 
   10024 	* src/gram.c (nitems, nrules, nsyms, ntokens, nvars, nritems)
   10025 	(start_symbol, max_user_token_number, semantic_parser)
   10026 	(error_token_number): Initialize.
   10027 	* src/reader.c (grammar, start_flag, startval, typed, lastprec):
   10028 	Initialize.
   10029 	(reader): Don't.
   10030 	(errtoken, eoftoken, undeftoken, axiom): Extern.
   10031 
   10032 2002-04-07  Akim Demaille  <akim (a] epita.fr>
   10033 
   10034 	* src/gram.h (rule_s): prec and precsym are now pointers
   10035 	to the bucket giving the priority/associativity.
   10036 	Member `associativity' removed: useless.
   10037 	* src/reduce.c, src/conflicts.c: Adjust.
   10038 
   10039 2002-04-07  Akim Demaille  <akim (a] epita.fr>
   10040 
   10041 	* src/lalr.c, src/LR0.c, src/closure.c, src/gram.c, src/reduce.c:
   10042 	Properly escape the symbols' TAG when outputting them.
   10043 
   10044 2002-04-07  Akim Demaille  <akim (a] epita.fr>
   10045 
   10046 	* src/lalr.h (LA): Is a bitsetv, not bitset*.
   10047 
   10048 2002-04-07  Akim Demaille  <akim (a] epita.fr>
   10049 
   10050 	* src/lalr.h, src/lalr.c (LAruleno): Replace with...
   10051 	(LArule): this, which is an array to rule_t*.
   10052 	* src/print.c, src/conflicts.c: Adjust.
   10053 
   10054 2002-04-07  Akim Demaille  <akim (a] epita.fr>
   10055 
   10056 	* src/gram.h (rule_t): Rename `number' as `user_number'.
   10057 	`number' is a new member.
   10058 	Adjust dependencies.
   10059 	* src/reduce.c (reduce_grammar_tables): Renumber rule_t.number.
   10060 
   10061 2002-04-07  Akim Demaille  <akim (a] epita.fr>
   10062 
   10063 	As a result of the previous patch, it is no longer needed
   10064 	to reorder ritem itself.
   10065 
   10066 	* src/reduce.c (reduce_grammar_tables): Don't sort RITEM.
   10067 
   10068 2002-04-07  Akim Demaille  <akim (a] epita.fr>
   10069 
   10070 	Be sure never to walk through RITEMS, but use only data related to
   10071 	the rules themselves. RITEMS should be banished.
   10072 
   10073 	* src/output.c (output_token_translations): Rename as...
   10074 	(prepare_tokens): this.
   10075 	In addition to `translate', prepare the muscles `tname' and
   10076 	`toknum', which were handled by...
   10077 	(output_rule_data): this.
   10078 	Remove, and move the remainder of its outputs into...
   10079 	(prepare_rules): this new routines, which also merges content from
   10080 	(output_gram): this.
   10081 	(prepare_rules): Be sure never to walk through RITEMS.
   10082 	(output_stos): Rename as...
   10083 	(prepare_stos): this.
   10084 	(output): Always invoke prepare_states, after all, just don't use it
   10085 	in the output if you don't need it.
   10086 
   10087 2002-04-07  Akim Demaille  <akim (a] epita.fr>
   10088 
   10089 	* src/LR0.c (new_state): Display `nstates' as the name of the
   10090 	newly created state.
   10091 	Adjust to initialize first_state and last_state if needed.
   10092 	Be sure to distinguish the initial from the final state.
   10093 	(new_states): Create the itemset of the initial state, and use
   10094 	new_state.
   10095 	* src/closure.c (closure): Now that the initial state has its
   10096 	items properly set, there is no need for a special case when
   10097 	creating `ruleset'.
   10098 
   10099 	As a result, now the rule 0, reducing to $axiom, is visible in the
   10100 	outputs.  Adjust the test suite.
   10101 
   10102 	* tests/conflicts.at (Solved SR Conflicts)
   10103 	(Unresolved SR Conflicts): Adjust.
   10104 	* tests/regression.at (Web2c Report, Rule Line Numbers): Idem.
   10105 	* tests/conflicts.at (S/R in initial): New.
   10106 
   10107 2002-04-07  Akim Demaille  <akim (a] epita.fr>
   10108 
   10109 	* src/LR0.c (allocate_itemsets): Don't loop over ritem: loop over
   10110 	the RHS of the rules.
   10111 	* src/output.c (output_gram): Likewise.
   10112 
   10113 2002-04-07  Akim Demaille  <akim (a] epita.fr>
   10114 
   10115 	* src/gram.h (rule_t): `lhs' is now a pointer to the symbol's
   10116 	bucket.
   10117 	Adjust all dependencies.
   10118 	* src/reduce.c (nonterminals_reduce): Don't forget to renumber the
   10119 	`number' of the buckets too.
   10120 	* src/gram.h: Include `symtab.h'.
   10121 	(associativity): Move to...
   10122 	* src/symtab.h: here.
   10123 	No longer include `gram.h'.
   10124 
   10125 2002-04-07  Akim Demaille  <akim (a] epita.fr>
   10126 
   10127 	* src/gram.h, src/gram.c (rules_rhs_length): New.
   10128 	(ritem_longest_rhs): Use it.
   10129 	* src/gram.h (rule_t): `number' is a new member.
   10130 	* src/reader.c (packgram): Set it.
   10131 	* src/reduce.c (reduce_grammar_tables): Move the useless rules at
   10132 	the end of `rules', and count them out of `nrules'.
   10133 	(reduce_output, dump_grammar): Adjust.
   10134 	* src/print.c (print_grammar): It is no longer needed to check for
   10135 	the usefulness of a rule, as useless rules are beyond `nrules + 1'.
   10136 	* tests/reduce.at (Reduced Automaton): New test.
   10137 
   10138 2002-04-07  Akim Demaille  <akim (a] epita.fr>
   10139 
   10140 	* src/reduce.c (inaccessable_symbols): Fix a buglet: because of a
   10141 	lacking `+ 1' to nrules, Bison reported as useless a token if it
   10142 	was used solely to set the precedence of the last rule...
   10143 
   10144 2002-04-07  Akim Demaille  <akim (a] epita.fr>
   10145 
   10146 	* data/bison.c++, data/bison.simple: Don't output the current file
   10147 	name in #line, to avoid useless diffs between two identical
   10148 	outputs under different names.
   10149 
   10150 2002-04-07  Akim Demaille  <akim (a] epita.fr>
   10151 
   10152 	* src/closure.c, src/print.c, src/reader.c, src/reduce.c:
   10153 	Normalize loops to using `< nrules + 1', not `<= nrules'.
   10154 
   10155 2002-04-07  Akim Demaille  <akim (a] epita.fr>
   10156 
   10157 	* TODO: Update.
   10158 
   10159 2002-04-07  Akim Demaille  <akim (a] epita.fr>
   10160 
   10161 	* src/output.c, src/reader.c, src/symtab.c, src/symtab.h: Rename
   10162 	bucket.value as bucket.number.
   10163 
   10164 2002-04-07  Akim Demaille  <akim (a] epita.fr>
   10165 
   10166 	* src/closure.c, src/derives.c, src/gram.h, src/lalr.c,
   10167 	* src/nullable.c, src/output.c, src/print.c, src/print_graph.c,
   10168 	* src/reader.c, src/reduce.c: Let rule_t.rhs point directly to the
   10169 	RHS, instead of being an index in RITEMS.
   10170 
   10171 2002-04-04  Paul Eggert  <eggert (a] twinsun.com>
   10172 
   10173 	* doc/bison.texinfo: Update copyright date.
   10174 	(Rpcalc Lexer, Symbols, Token Decl): Don't assume ASCII.
   10175 	(Symbols): Warn about running Bison in one character set,
   10176 	but compiling and/or running in an incompatible one.
   10177 	Warn about character code 256, too.
   10178 
   10179 2002-04-03  Paul Eggert  <eggert (a] twinsun.com>
   10180 
   10181 	* src/bison.data (YYSTACK_ALLOC): Depend on whether
   10182 	YYERROR_VERBOSE is nonzero, not whether it is defined.
   10183 
   10184 	Merge changes from bison-1_29-branch.
   10185 
   10186 2002-03-20  Paul Eggert  <eggert (a] twinsun.com>
   10187 
   10188 	Merge fixes from Debian bison_1.34-1.diff.
   10189 
   10190 	* configure.in (AC_PREREQ): 2.53.
   10191 
   10192 2002-03-20  Akim Demaille  <akim (a] epita.fr>
   10193 
   10194 	* src/conflicts.c (log_resolution): Argument `resolution' is const.
   10195 
   10196 2002-03-19  Paul Eggert  <eggert (a] twinsun.com>
   10197 
   10198 	* src/bison.simple (YYCOPY): New macro.
   10199 	(YYSTACK_RELOCATE): Use it.
   10200 	Remove Type arg; no longer needed.  All callers changed.
   10201 	(yymemcpy): Remove; no longer needed.
   10202 
   10203 	* Makefile.am (AUTOMAKE_OPTIONS): 1.6.
   10204 	* doc/Makefile.am (AUTOMAKE_OPTIONS): Remove.
   10205 
   10206 2002-03-19  Akim Demaille  <akim (a] epita.fr>
   10207 
   10208 	Test and fix the #line outputs.
   10209 
   10210 	* tests/atlocal.at (GCC): New.
   10211 	* tests/synclines.at (AT_TEST_SYNCLINE): New macro.
   10212 	(Prologue synch line, %union synch line, Postprologue synch line)
   10213 	(Action synch line, Epilogue synch line): New tests.
   10214 	* src/reader.c (parse_union_decl): Define the muscle stype_line.
   10215 	* data/bison.simple, data/bison.c++: Use it.
   10216 
   10217 2002-03-19  Akim Demaille  <akim (a] epita.fr>
   10218 
   10219 	* tests/regression.at (%nonassoc and eof, Unresolved SR Conflicts)
   10220 	(Solved SR Conflicts, %expect not enough, %expect right)
   10221 	(%expect too much): Move to...
   10222 	* tests/conflicts.at: this new file.
   10223 
   10224 2002-03-19  Akim Demaille  <akim (a] epita.fr>
   10225 
   10226 	* data/m4sugar/m4sugar.m4: Update from CVS Autoconf.
   10227 	* data/bison.simple, data/bison.c++: Handle the `#define' part, so
   10228 	that we can move to enums for instance.
   10229 	* src/output.c (token_definitions_output): Output a list of
   10230 	`token-name, token-number' instead of the #define.
   10231 	(output_skeleton): Name this list `b4_tokens', not `b4_tokendefs'.
   10232 
   10233 2002-03-14  Akim Demaille  <akim (a] epita.fr>
   10234 
   10235 	Use Gettext 0.11.1.
   10236 
   10237 2002-03-09  Robert Anisko  <robert (a] lrde.epita.fr>
   10238 
   10239 	* data/bison.c++: Make the user able to add members to the generated
   10240 	parser by subclassing.
   10241 
   10242 2002-03-05  Robert Anisko  <robert (a] lrde.epita.fr>
   10243 
   10244 	* src/reader.c (read_additionnal_code): `c' should be an integer, not
   10245 	a character.
   10246 	Reported by Nicolas Tisserand and Nicolas Burrus.
   10247 
   10248 2002-03-04  Robert Anisko  <robert (a] lrde.epita.fr>
   10249 
   10250 	* src/reader.c: Warn about lacking semi-colons, do not complain.
   10251 
   10252 2002-03-04  Robert Anisko  <robert (a] lrde.epita.fr>
   10253 
   10254 	* data/bison.c++: Remove a debug line.
   10255 
   10256 2002-03-04  Robert Anisko  <robert (a] lrde.epita.fr>
   10257 
   10258 	* data/bison.c++: Unmerge value as yylval and value as yyval.  Unmerge
   10259 	location as yylloc and location as yyloc.  Use YYLLOC_DEFAULT, and
   10260 	provide a default implementation.
   10261 
   10262 2002-03-04  Akim Demaille  <akim (a] epita.fr>
   10263 
   10264 	* tests/input.at (Invalid $n, Invalid @n): Add the ending `;'.
   10265 	* tests/output.at (AT_CHECK_OUTPUT): Likewise.
   10266 	* tests/headers.at (AT_TEST_CPP_GUARD_H): Ditto.
   10267 	* tests/semantic.at (Parsing Guards): Similarly.
   10268 	* src/reader.at (readgram): Complain if the last rule is not ended
   10269 	with a semi-colon.
   10270 
   10271 2002-03-04  Akim Demaille  <akim (a] epita.fr>
   10272 
   10273 	* src/warshall.h, src/warshall.c (bitmatrix_print): Move to...
   10274 	* src/closure.c: here.
   10275 	(set_firsts): Use bitsetv_reflexive_transitive_closure instead of
   10276 	RTC.
   10277 	* src/warshall.h, src/warshall.c: Remove.
   10278 	* tests/sets.at (Broken Closure): Adjust.
   10279 
   10280 2002-03-04  Akim Demaille  <akim (a] epita.fr>
   10281 
   10282 	* src/output.c (output_skeleton): tempdir is const.
   10283 	bytes_read is unused.
   10284 
   10285 2002-03-04  Akim Demaille  <akim (a] epita.fr>
   10286 
   10287 	* lib/bbitset.h, lib/bitset.c, lib/bitset.h, lib/bitsetv.c,
   10288 	* lib/bitsetv.h, lib/ebitset.c, lib/lbitset.c, lib/sbitset.c:
   10289 	Update.
   10290 	From Michael Hayes.
   10291 
   10292 2002-03-04  Akim Demaille  <akim (a] epita.fr>
   10293 
   10294 	* src/closure.c (closure): `r' is unused.
   10295 
   10296 2002-03-04  Akim Demaille  <akim (a] epita.fr>
   10297 
   10298 	* tests/sets.at (Broken Closure): Add the ending `;'.
   10299 	* src/reader.at (readgram): Complain if a rule is not ended with a
   10300 	semi-colon.
   10301 
   10302 2002-03-04  Akim Demaille  <akim (a] epita.fr>
   10303 
   10304 	* src/conflicts.c (set_conflicts): Use bitset_disjoint_p.
   10305 	(count_sr_conflicts): Use bitset_count.
   10306 	* src/reduce.c (inaccessable_symbols): Ditto.
   10307 	(bits_size): Remove.
   10308 	* src/warshall.h, src/warshall.c: Convert to bitsetv.
   10309 
   10310 2002-03-04  Akim Demaille  <akim (a] epita.fr>
   10311 
   10312 	* src/closure.c, src/conflicts.c, src/lalr.c, src/print.c,
   10313 	* src/reduce.c: Remove the `bitset_zero's following the
   10314 	`bitset_create's, as now it is performed by the latter.
   10315 
   10316 2002-03-04  Akim Demaille  <akim (a] epita.fr>
   10317 
   10318 	* lib/bitset.c, lib/bitset.h, lib/bitsetv.c, lib/bitsetv.h,
   10319 	* lib/ebitset.c, lib/ebitset.h, lib/lbitset.c, lib/lbitset.h,
   10320 	* lib/sbitset.c, lib/sbitset.h, lib/bbitset.h: Update from the
   10321 	latest sources from Michael.
   10322 
   10323 2002-03-04  Akim Demaille  <akim (a] epita.fr>
   10324 
   10325 	* src/output.c (output): Don't free the grammar.
   10326 	* src/reader.c (grammar_free): New.
   10327 	* src/main.c (main): Call it and don't free symtab here.
   10328 
   10329 2002-03-04  Akim Demaille  <akim (a] epita.fr>
   10330 
   10331 	* src/lex.c (parse_percent_token): Be sure to 0-end token_buffer
   10332 	before returning.
   10333 	Reported by Benoit Perrot.
   10334 
   10335 2002-03-04  Akim Demaille  <akim (a] epita.fr>
   10336 
   10337 	Use bitset operations when possible, not loops over bits.
   10338 
   10339 	* src/conflicts.c (set_conflicts, count_sr_conflicts): Use
   10340 	bitset_or.
   10341 	* src/print.c (print_reductions): Use bitset_and, bitset_andn.
   10342 	* src/reduce.c (useless_nonterminals): Formatting changes.
   10343 	* src/warshall.c (TC): Use bitset_or.
   10344 
   10345 2002-03-04  Akim Demaille  <akim (a] epita.fr>
   10346 
   10347 	* src/lalr.h, src/lalr.c (tokensetsize): Remove, unused.
   10348 	* src/system.h (BITS_PER_WORD, WORDSIZE, SETBIT, RESETBIT, BITISSET):
   10349 	Ditto.
   10350 
   10351 2002-03-04  Akim Demaille  <akim (a] epita.fr>
   10352 
   10353 	* src/lalr.c (F): Now a bitset*.
   10354 	Adjust all dependencies.
   10355 
   10356 2002-03-04  Akim Demaille  <akim (a] epita.fr>
   10357 
   10358 	* src/conflicts.c (shiftset, lookaheadset): Now bitset.
   10359 	Adjust all dependencies.
   10360 
   10361 2002-03-04  Akim Demaille  <akim (a] epita.fr>
   10362 
   10363 	* src/L0.c, src/LR0.h (nstates): Be size_t.
   10364 	Adjust comparisons (signed vs unsigned).
   10365 	* src/conflics.c, src/lalr.c, src/lalr.h, src/output.c (LA): Now a
   10366 	bitset*.
   10367 	Adjust all dependencies.
   10368 
   10369 2002-03-04  Akim Demaille  <akim (a] epita.fr>
   10370 
   10371 	* src/closure.c (firsts): Now, also a bitset.
   10372 	Adjust all dependencies.
   10373 	(varsetsize): Remove, now unused.
   10374 	* src/warshall.h, src/warshall.c: Now work on arrays of bitsets.
   10375 
   10376 2002-03-04  Akim Demaille  <akim (a] epita.fr>
   10377 
   10378 	* src/print.c: Convert to use bitset.h, not hand coded iterations
   10379 	over ints.
   10380 
   10381 2002-03-04  Akim Demaille  <akim (a] epita.fr>
   10382 
   10383 	* src/reduce.c: Convert to use bitset.h, not hand coded BSet.
   10384 
   10385 2002-03-04  Akim Demaille  <akim (a] epita.fr>
   10386 
   10387 	* src/closure.c (ruleset): Be a bitset.
   10388 	(rulesetsize): Remove.
   10389 
   10390 2002-03-04  Akim Demaille  <akim (a] epita.fr>
   10391 
   10392 	* lib/bitset-int.h, lib/bitset.c, lib/bitset.h, lib/bitsetv.c,
   10393 	* lib/bitsetv.h, lib/ebitset.c, lib/ebitset.h, lib/lbitset.c,
   10394 	* lib/lbitset.h, lib/sbitset.c, lib/sbitset.h: New.
   10395 	* src/closure.c (fderives): Be an array of bitsets.
   10396 
   10397 2002-02-28  Robert Anisko  <robert (a] lrde.epita.fr>
   10398 
   10399 	* data/bison.c++: Merge the two generated headers.  Insert a copyright
   10400 	notice in each output file.
   10401 
   10402 2002-02-28  Akim Demaille  <akim (a] epita.fr>
   10403 
   10404 	* data/bison.c++: Copy the prologue of bison.simple to fetch
   10405 	useful M4 definitions, such as b4_header_guard.
   10406 
   10407 2002-02-25  Akim Demaille  <akim (a] epita.fr>
   10408 
   10409 	* src/getargs.c (version): Give the name of the authors, and use a
   10410 	translator friendly scheme for the bgr
   10411 	copyright notice.
   10412 
   10413 2002-02-25  Akim Demaille  <akim (a] epita.fr>
   10414 
   10415 	* src/output.c (header_output): Remove, now handled completely via
   10416 	M4.
   10417 
   10418 2002-02-25  Akim Demaille  <akim (a] epita.fr>
   10419 
   10420 	* m4/m4.m4: New, from CVS Autoconf.
   10421 	* configure.in: Invoke it.
   10422 	* src/output.c (output_skeleton): Use its result instead of the
   10423 	hard coded name.
   10424 
   10425 2002-02-25  Akim Demaille  <akim (a] epita.fr>
   10426 
   10427 	* lib/tempname.c, lib/mkstemp.c, m4/mkstemp.m4: New, stolen from
   10428 	Fileutils 4.1.5.
   10429 	* configure.in: Invoke UTILS_FUNC_MKSTEMP.
   10430 	* src/output.c (output_skeleton): Use mkstemp to create a real
   10431 	temporary file.
   10432 	Move the filling of `skeleton' and its muscle to...
   10433 	(prepare): here.
   10434 	(output): Move the definition of the prologue muscle to...
   10435 	(prepare): here.
   10436 	* src/system.h (DEFAULT_TMPDIR): New.
   10437 
   10438 2002-02-14  Paul Eggert  <eggert (a] twinsun.com>
   10439 
   10440 	Remove the support for C++ namespace cleanliness; it was
   10441 	causing more problems than it was curing, since it didn't work
   10442 	properly on some nonstandard C++ compilers.  This can wait
   10443 	for a proper C++ parser.
   10444 
   10445 	* NEWS: Document this.
   10446 	* doc/bison.texinfo (Bison Parser, Debugging): Remove special mention
   10447 	of C++, as it's treated like C now.
   10448 	* src/bison.simple (YYSTD): Remove.
   10449 	(YYSIZE_T, YYFPRINTF, YYPARSE_PARAM_ARG, YYPARSE_PARAM_DECL):
   10450 	Treat C++ just like Standard C instead of trying to support
   10451 	namespace cleanliness.
   10452 
   10453 2002-02-14  Akim Demaille  <akim (a] epita.fr>
   10454 
   10455 	* tests/regression.at (else): Adjust to Andreas' change.
   10456 
   10457 2002-02-14  Akim Demaille  <akim (a] epita.fr>
   10458 
   10459 	* lib/Makefile.am (EXTRA_DIST): Ship strnlen.c.
   10460 
   10461 2002-02-13  Andreas Schwab  <schwab (a] suse.de>
   10462 
   10463 	* src/output.c (output_rule_data): Don't output NULL, it might
   10464 	not be defined yet.
   10465 
   10466 2002-02-11  Robert Anisko  <robert (a] lrde.epita.fr>
   10467 
   10468 	* data/bison.c++ (YYDEBUG, YYERROR_VERBOSE): After the prologue.
   10469 	(Copyright notice): Update.
   10470 
   10471 2002-02-11  Akim Demaille  <akim (a] epita.fr>
   10472 
   10473 	* tests/regression.at (%nonassoc and eof): Don't include
   10474 	nonportable headers.
   10475 
   10476 2002-02-08  Robert Anisko  <robert (a] lrde.epita.fr>
   10477 
   10478 	* data/bison.c++: Correct error recovery.  Make the user able to
   10479 	initialize the starting location.
   10480 
   10481 2002-02-07  Akim Demaille  <akim (a] epita.fr>
   10482 
   10483 	* tests/input.at: New.
   10484 
   10485 2002-02-07  Robert Anisko  <robert (a] lrde.epita.fr>
   10486 
   10487 	* data/bison.c++: Replace some direct m4 expansions by constants.  Be
   10488 	more consistent when naming methods and variables.  Put preprocessor
   10489 	directives around tables only needed for debugging.
   10490 
   10491 2002-02-07  Robert Anisko  <robert (a] lrde.epita.fr>
   10492 
   10493 	* data/bison.c++ (yy::b4_name::print_): New method, replaces yyprint in
   10494 	C++ parsers.
   10495 	(yy::b4_name::parse): Use print_.
   10496 
   10497 2002-02-07  Robert Anisko  <robert (a] lrde.epita.fr>
   10498 
   10499 	* data/bison.c++ (yy::b4_name::parse): Error recovery is back.
   10500 
   10501 2002-02-07  Robert Anisko  <robert (a] lrde.epita.fr>
   10502 
   10503 	* data/bison.c++ (yy::b4_name::error_): New method, replaces yyerror in
   10504 	C++ parsers.
   10505 	(yy::b4_name::parse): Build verbose error messages, and use error_.
   10506 
   10507 2002-02-06  Robert Anisko  <robert (a] lrde.epita.fr>
   10508 
   10509 	* data/bison.c++: Fix m4 quoting in comments.
   10510 
   10511 2002-02-06  Robert Anisko  <robert (a] lrde.epita.fr>
   10512 
   10513 	* data/bison.c++: Adjust the parser code.  Fix some muscles that were
   10514 	not expanded by m4.
   10515 
   10516 2002-02-05  Akim Demaille  <akim (a] epita.fr>
   10517 
   10518 	* data/bison.c++: Adjust to the M4 back end.
   10519 	More is certainly needed.
   10520 
   10521 2002-02-05  Akim Demaille  <akim (a] epita.fr>
   10522 
   10523 	Give a try to M4 as a back end.
   10524 
   10525 	* lib/readpipe.c: New, from wdiff.
   10526 	* src/Makefile.am (DEFS): Define PKGDATADIR, not BISON_SIMPLE and
   10527 	BISON_HAIRY.
   10528 	* src/system.h (BISON_HAIRY, BISON_SIMPLE): Remove the DOS and VMS
   10529 	specific values.  Now it is m4 that performs the lookup.
   10530 	* src/parse-skel.y: Remove.
   10531 	* src/muscle_tab.c, src/muscle_tab.h (muscles_m4_output): New.
   10532 	* src/output.c (actions_output, guards_output)
   10533 	(token_definitions_output): No longer keeps track of the output
   10534 	line number, hence remove the second argument.
   10535 	(guards_output): Check against the guard member of a rule, not the
   10536 	action member.
   10537 	Adjust callers.
   10538 	(output_skeleton): Don't look for the skeleton location, let m4 do
   10539 	that.
   10540 	Create `/tmp/muscles.m4'.  This is temporary, a proper temporary
   10541 	file will be used.
   10542 	Invoke `m4' on m4sugar.m4, muscles.m4, and the skeleton.
   10543 	(prepare): Given that for the time being changesyntax is not
   10544 	usable in M4, rename the muscles using `-' to `_'.
   10545 	Define `defines_flag', `output_parser_name' and `output_header_name'.
   10546 	* src/output.h (actions_output, guards_output)
   10547 	(token_definitions_output): Adjust prototypes.
   10548 	* src/scan-skel.l: Instead of scanning the skeletons, it now
   10549 	processes the output of m4: `__oline__' and `#output'.
   10550 	* data/bison.simple: Adjust to be used by M4(sugar).
   10551 	* tests/Makefile.am: Use check_SCRIPTS to make sure `bison' is up
   10552 	to date.
   10553 	* tests/bison.in: Use the secrete envvar `BISON_PKGDATADIR'
   10554 	instead of the dead `BISON_SIMPLE' and `BISON_HAIRY'.
   10555 	* data/m4sugar/m4sugar.m4, data/m4sugar/version.m4: New,
   10556 	shamelessly stolen from CVS Autoconf.
   10557 
   10558 2002-02-05  Akim Demaille  <akim (a] epita.fr>
   10559 
   10560 	* lib/hash.c, lib/hash.h: Replace with Fileutils 4.1's version.
   10561 	* configure.in: Check for the declarations of free and malloc.
   10562 	* src/muscle_tab.c: Adjust.
   10563 
   10564 2002-02-05  Akim Demaille  <akim (a] epita.fr>
   10565 
   10566 	* src/muscle_tab.c (muscle_init): Don't default to NULL muscle
   10567 	which have no values.
   10568 
   10569 2002-02-05  Akim Demaille  <akim (a] epita.fr>
   10570 
   10571 	* src/bison.simple, src/bison.hairy, src/bison.c++: Move to...
   10572 	* data/: here.
   10573 
   10574 2002-01-29  Paul Eggert  <eggert (a] twinsun.com>
   10575 
   10576 	* src/bison.simple (YYSIZE_T): Do not define merely because
   10577 	YYSTACK_USE_ALLOCA is nonzero or alloca or _ALLOCA_H are defined.
   10578 	On some platforms, <alloca.h> does not declare YYSTD (size_t).
   10579 
   10580 2002-01-27  Akim Demaille  <akim (a] epita.fr>
   10581 
   10582 	Fix `%nonassoc and eof'.
   10583 
   10584 	* src/state.c (errs_dup): Aaaah!  The failure was due to bytes
   10585 	which were not properly copied!  Replace
   10586 	memcpy (res->errs, src->errs, src->nerrs);
   10587 	with
   10588 	memcpy (res->errs, src->errs, src->nerrs * sizeof (src->errs[0]));
   10589 	!!!
   10590 	* tests/regression.at (%nonassoc and eof): Adjust to newest
   10591 	Autotest: `.' is not in the PATH.
   10592 
   10593 2002-01-27  Akim Demaille  <akim (a] epita.fr>
   10594 
   10595 	* tests/sets.at (AT_EXTRACT_SETS): New.
   10596 	(Nullable): Use it.
   10597 	(Firsts): New.
   10598 
   10599 2002-01-26  Akim Demaille  <akim (a] epita.fr>
   10600 
   10601 	* tests/actions.at, tests/calc.at, tests/headers.at,
   10602 	* tests/torture.at: Adjust to the newest Autotest which no longer
   10603 	forces `.' in the PATH.
   10604 
   10605 2002-01-25  Akim Demaille  <akim (a] epita.fr>
   10606 
   10607 	* tests/regression.at (%nonassoc and eof): New.
   10608 	Suggested by Robert Anisko.
   10609 
   10610 2002-01-24  Akim Demaille  <akim (a] epita.fr>
   10611 
   10612 	Bison dumps core when trying to complain about broken input files.
   10613 	Reported by Cris van Pelt.
   10614 
   10615 	* src/lex.c (parse_percent_token): Be sure to set token_buffer.
   10616 	* tests/regression.at (Invalid input: 1, Invalid input: 2): Merge
   10617 	into...
   10618 	(Invalid inputs): Strengthen: exercise parse_percent_token.
   10619 
   10620 2002-01-24  Robert Anisko  <robert.anisko (a] epita.fr>
   10621 
   10622 	* src/Makefile.am: Add bison.c++.
   10623 	* src/bison.c++: New skeleton.
   10624 
   10625 2002-01-21  Paolo Bonzini <bonzini (a] gnu.org>
   10626 
   10627 	* po/it.po: New.
   10628 
   10629 2002-01-21  Kees Zeelenberg  <kzlg (a] users.sourceforge.net>
   10630 
   10631 	* src/files.c (skeleton_find) [MSDOS]: Fix cp definition.
   10632 
   10633 2002-01-20  Marc Autret  <marc (a] gnu.org>
   10634 
   10635 	* src/files.c (compute_output_file_names): Fix
   10636 
   10637 2002-01-20  Marc Autret  <marc (a] gnu.org>
   10638 
   10639 	* tests/output.at: New test.
   10640 	* src/files.c (compute_base_names): Don't map extensions when
   10641 	the YACC flag is set, use defaults.
   10642 	Reported by Evgeny Stambulchik.
   10643 
   10644 2002-01-20  Marc Autret  <marc (a] gnu.org>
   10645 
   10646 	* src/system.h: Need to define __attribute__ away for non-GCC
   10647 	compilers as well (i.e., the vendor C compiler).
   10648 	Suggested by Albert Chin-A-Young.
   10649 
   10650 2002-01-11  Tim Van Holder  <tim.van.holder (a] pandora.be>
   10651 
   10652 	* lib/hash.h, lib/hash.c: Renamed __P to PARAMS and used the
   10653 	canonical definition.
   10654 	* src/system.h: Use the canonical definition for PARAMS (avoids
   10655 	a conflict with the macro from lib/hash.h).
   10656 
   10657 2002-01-11  Akim Demaille  <akim (a] epita.fr>
   10658 
   10659 	* configure.in: Use AC_FUNC_STRNLEN.
   10660 	Fixes the failures observed on AIX 4.3 by H.Merijn Brand.
   10661 
   10662 2002-01-09  Akim Demaille  <akim (a] epita.fr>
   10663 
   10664 	* src/files.c, src/files.h (output_infix): New.
   10665 	(tab_extension): Remove.
   10666 	(compute_base_names): Compute the former, drop the latter.
   10667 	* src/output.c (prepare): Insert the muscles `output-infix', and
   10668 	`output-suffix'.
   10669 	* src/parse-skel.y (string, string.1): New.
   10670 	(section.header): Use it.
   10671 	(section.yacc): Remove.
   10672 	(prefix): Remove too.
   10673 	* src/scan-skel.l: Adjust.
   10674 	* src/bison.simple, src/bison.hairy: Adjust.
   10675 
   10676 2002-01-09  Akim Demaille  <akim (a] epita.fr>
   10677 
   10678 	* configure.in (WERROR_CFLAGS): Compute it.
   10679 	* src/Makefile.am (CFLAGS): Pass it.
   10680 	* tests/atlocal.in (CFLAGS): Idem.
   10681 	* src/files.c: Fix a few warnings.
   10682 	(get_extension_index): Remove, unused.
   10683 
   10684 2002-01-08  Akim Demaille  <akim (a] epita.fr>
   10685 
   10686 	* src/getargs.c (AS_FILE_NAME): New.
   10687 	(getargs): Use it to convert DOSish file names.
   10688 	* src/files.c (base_name): Rename as full_base_name to avoid
   10689 	clashes with `base_name ()'.
   10690 	(filename_split): New.
   10691 	(compute_base_names): N-th rewrite, using filename_split.
   10692 
   10693 2002-01-08  Akim Demaille  <akim (a] epita.fr>
   10694 
   10695 	* lib/basename.c, lib/dirname.h, lib/dirname.c, lib/memrchr.c:
   10696 	New, stolen from the Fileutils 4.1.
   10697 	* lib/Makefile.am (libbison_a_SOURCES): Adjust.
   10698 	* configure.in: Check for the presence of memrchr, and of its
   10699 	prototype.
   10700 
   10701 2002-01-07  Tim Van Holder  <tim.van.holder (a] pandora.be>
   10702 
   10703 	* lib/hash.h (__P): Added definition for this macro.
   10704 	* src/Makefile.am: Add parse-skel.c and scan-skel.c to
   10705 	BUILT_SOURCES, to ensure they are generated first.
   10706 	* src/parse-skel.y: Use YYERROR_VERBOSE instead of
   10707 	%error-verbose to allow bootstrapping with bison 1.30x.
   10708 
   10709 2002-01-06  Akim Demaille  <akim (a] epita.fr>
   10710 
   10711 	* src/reader.c (parse_braces): Don't fetch the next char, the
   10712 	convention is to fetch on entry.
   10713 	* tests/torture.at (GNU Cim Grammar): Reintroduce their weird
   10714 	'switch' without a following semicolon.
   10715 	* tests/regression.at (braces parsing): New.
   10716 
   10717 2002-01-06  Akim Demaille  <akim (a] epita.fr>
   10718 
   10719 	Bison is dead wrong in its RR conflict reports.
   10720 
   10721 	* tests/torture.at (GNU Cim Grammar): New.
   10722 	* src/conflicts.c (count_rr_conflicts): Fix.
   10723 
   10724 2002-01-06  Akim Demaille  <akim (a] epita.fr>
   10725 
   10726 	Creating package.m4 from configure.ac causes too many problems.
   10727 
   10728 	* tests/Makefile.am (package.m4): Create it by hand,
   10729 	AC_CONFIG_TESTDIR no longer does in the most recent CVS Autoconf.
   10730 
   10731 2002-01-06  Akim Demaille  <akim (a] epita.fr>
   10732 
   10733 	* src/Makefile.am (bison_SOURCES): Add parse-skel.h and
   10734 	skeleton.h.
   10735 
   10736 2002-01-04  Paul Eggert  <eggert (a] twinsun.com>
   10737 
   10738 	* doc/bison.texinfo (Debugging):
   10739 	Remove YYSTDERR; it's no longer defined or used.
   10740 	Also, s/cstdio.h/cstdio/.
   10741 
   10742 2002-01-03  Akim Demaille  <akim (a] epita.fr>
   10743 
   10744 	* tests/bison.in, tests/atlocal.in: Adjust to CVS Autoconf.
   10745 
   10746 2002-01-03  Akim Demaille  <akim (a] epita.fr>
   10747 
   10748 	* src/parse-skel.y (process_skeleton): Don't bind the parser's
   10749 	tracing code to --trace, wait for a better --trace option, with
   10750 	args.
   10751 
   10752 2002-01-03  Akim Demaille  <akim (a] epita.fr>
   10753 
   10754 	* src/bison.simple (YYSTDERR): Remove, replace `stderr'.
   10755 	The ISO C++ standard is extremely clear about it: stderr is
   10756 	considered a macro, not a regular symbol (see table 94 `Header
   10757 	<cstdio> synopsis', [lib.c.files] 27.8.2 C Library files).
   10758 	Therefore std:: does not apply to it.  It still does with fprintf.
   10759 	Also, s/cstdio.h/cstdio/.
   10760 
   10761 2002-01-03  Akim Demaille  <akim (a] epita.fr>
   10762 
   10763 	* lib/quotearg.c: Use `#include "..."' instead of `#include <...>'
   10764 	for non system headers.
   10765 
   10766 2002-01-02  Akim Demaille  <akim (a] epita.fr>
   10767 
   10768 	Equip the skeleton chain with location tracking, runtime trace,
   10769 	pure parser and scanner.
   10770 
   10771 	* src/parse-skel.y: Request a pure parser, locations, and prefix
   10772 	renaming.
   10773 	(%union): Having several members with the same type does not help
   10774 	type mismatches, simplify.
   10775 	(YYPRINT, yyprint): New.
   10776 	(yyerror): ``Rename'' (there is a #define yyerror skel_error) as...
   10777 	(skel_error): this.
   10778 	Handle locations.
   10779 	* src/scan-skel.l: Adjust to these changes.
   10780 	* src/skeleton.h (LOCATION_RESET, LOCATION_LINES, LOCATION_STEP)
   10781 	(LOCATION_PRINT, skel_control_t): New.
   10782 
   10783 2001-12-30  Akim Demaille  <akim (a] epita.fr>
   10784 
   10785 	* src/parse-skel.y: Get rid of the shift/reduce conflict:
   10786 	replace `gb' with BLANKS.
   10787 	* src/scan-skel.l: Adjust.
   10788 
   10789 2001-12-30  Akim Demaille  <akim (a] epita.fr>
   10790 
   10791 	* src/system.h: We don't need nor want bcopy.
   10792 	Throw away MS-DOS crap: we don't need getpid.
   10793 	* configure.in: We don't need strndup.  It was even causing
   10794 	problems: because Flex includes the headers *before* us,
   10795 	_GNU_SOURCE is not defined by config.h, and therefore strndup was
   10796 	not visible.
   10797 	* lib/xstrndup.c: New.
   10798 	* src/scan-skel.l: Use it.
   10799 	Be sure to initialize yylval.muscle member when scanning a MUSCLE.
   10800 	* src/parse-skel.y: Use %directives instead of #defines.
   10801 
   10802 2001-12-30  Akim Demaille  <akim (a] epita.fr>
   10803 
   10804 	* src/skeleton.h: New.
   10805 	* src/output.c (output_parser, output_master_parser): Remove, dead
   10806 	code.
   10807 	* src/output.h (get_lines_number, actions_output, guards_output)
   10808 	(token_definitions_output): Prototype them.
   10809 	* src/parse-skel.y: Add the license notice.
   10810 	Include output.h and skeleton.h.
   10811 	(process_skeleton): Returns void, and takes a single parameter.
   10812 	* src/scan-skel.l: Add the license notice.
   10813 	Include skeleton.h.
   10814 	Don't use %option yylineno: it seems that then Flex imagines
   10815 	REJECT has been used, and therefore it won't reallocate its
   10816 	buffers (which makes no other sense to me than a bug).  It results
   10817 	in warnings for `unused: yy_flex_realloc'.
   10818 
   10819 2001-12-30  Robert Anisko  <robert.anisko (a] epita.fr>
   10820 
   10821 	* src/muscle_tab.h (MUSCLE_INSERT_INT, MUSCLE_INSERT_STRING)
   10822 	(MUSCLE_INSERT_PREFIX): ...to there.
   10823 	* src/output.c (MUSCLE_INSERT_INT, MUSCLE_INSERT_STRING)
   10824 	(MUSCLE_INSERT_PREFIX): Move from here...
   10825 
   10826 	* src/bison.hairy: Add a section directive.  Put braces around muscle
   10827 	names.  This parser skeleton is still broken, but Bison should not
   10828 	choke on a bad muscle 'syntax'.
   10829 	* src/bison.simple: Add a section directive.  Put braces around muscle
   10830 	names.
   10831 
   10832 	* src/files.h (strsuffix, stringappend): Add declarations.
   10833 	(tab_extension): Add declaration.
   10834 	(short_base_name): Add declaration.
   10835 
   10836 	* src/files.c (strsuffix, stringappend): No longer static.  These
   10837 	functions are used in the skeleton parser.
   10838 	(tab_extension): New.
   10839 	(compute_base_names): Use the computations done in this function
   10840 	to guess if the generated parsers should have '.tab' in their
   10841 	names.
   10842 	(short_base_name): No longer static.
   10843 
   10844 	* src/output.c (output_skeleton): New.
   10845 	(output): Disable call to output_master_parser, and give a try to
   10846 	a new skeleton handling system.
   10847 	(guards_output, actions_output): No longer static.
   10848 	(token_definitions_output, get_lines_number): No longer static.
   10849 
   10850 	* configure.in: Use AM_PROG_LEX and AC_PROG_YACC.
   10851 
   10852 	* src/Makefile.am (bison_SOURCES): Add scan-skel.l and
   10853 	parse-skel.y.
   10854 
   10855 	* src/parse-skel.y: New file.
   10856 	* src/scan-skel.l: New file.
   10857 
   10858 2001-12-29  Akim Demaille  <akim (a] epita.fr>
   10859 
   10860 	%name-prefix is broken.
   10861 
   10862 	* src/files.c (spec_name_prefix): Initialize to NULL, not to "yy".
   10863 	Adjust all dependencies.
   10864 	* tests/headers.at (export YYLTYPE): Strengthen this test: use
   10865 	%name-prefix.
   10866 
   10867 	Renaming yylval but not yylloc is not consistent.  Now we do.
   10868 
   10869 	* src/bison.simple: Prefix yylloc if used.
   10870 	* doc/bison.texinfo (Decl Summary): Document that.
   10871 
   10872 2001-12-29  Akim Demaille  <akim (a] epita.fr>
   10873 
   10874 	* doc/bison.texinfo: Promote `%long-directive' over
   10875 	`%long_directive'.
   10876 	Remove all references to fixed-output-files, yacc is enough.
   10877 
   10878 2001-12-29  Akim Demaille  <akim (a] epita.fr>
   10879 
   10880 	* src/bison.simple: Define YYDEBUG and YYERROR_VERBOSE *after* the
   10881 	user prologue.  These are defaults.
   10882 	* tests/actions.at (Mid-rule actions): Make sure the user can
   10883 	define YYDEBUG and YYERROR_VERBOSE.
   10884 
   10885 2001-12-29  Akim Demaille  <akim (a] epita.fr>
   10886 
   10887 	* src/output.c (header_output): Don't forget to export YYLTYPE and
   10888 	yylloc.
   10889 	* tests/headers.at (export YYLTYPE): New, make sure it does.
   10890 	* tests/regression.at (%union and --defines, Invalid CPP headers):
   10891 	Move to...
   10892 	* tests/headers.at: here.
   10893 
   10894 2001-12-29  Akim Demaille  <akim (a] epita.fr>
   10895 
   10896 	* src/gram.h (rule_s): Member `assoc' is of type `associativity'.
   10897 
   10898 2001-12-29  Akim Demaille  <akim (a] epita.fr>
   10899 
   10900 	* tests/actions.at (Mid-rule actions): Output on a single line
   10901 	instead of several.
   10902 
   10903 2001-12-29  Akim Demaille  <akim (a] epita.fr>
   10904 
   10905 	* doc/bison.texinfo: Formatting changes.
   10906 
   10907 2001-12-29  Akim Demaille  <akim (a] epita.fr>
   10908 
   10909 	Don't store the token defs in a muscle, just be ready to output it
   10910 	on command.  Now possible via `symbols'.  Fixes a memory leak.
   10911 
   10912 	* src/output.c (token_definitions_output): New.
   10913 	(output_parser, header_output): Use it.
   10914 	* src/reader.c (symbols_save): Remove.
   10915 
   10916 2001-12-29  Akim Demaille  <akim (a] epita.fr>
   10917 
   10918 	* src/bison.simple: Do not provide a default for YYSTYPE and
   10919 	YYLTYPE before the user's prologue.  Otherwise it's hardly... a
   10920 	default.
   10921 
   10922 2001-12-29  Akim Demaille  <akim (a] epita.fr>
   10923 
   10924 	Mid-rule actions are simply... ignored!
   10925 
   10926 	* src/reader.c (readgram): Be sure to attach mid-rule actions to
   10927 	the empty-rule associated to the dummy symbol, not to the host
   10928 	rule.
   10929 	* tests/actions.at (Mid-rule actions): New.
   10930 
   10931 2001-12-29  Akim Demaille  <akim (a] epita.fr>
   10932 
   10933 	Memory leak.
   10934 
   10935 	* src/reader.c (reader): Free grammar.
   10936 
   10937 2001-12-29  Akim Demaille  <akim (a] epita.fr>
   10938 
   10939 	Memory leak.
   10940 
   10941 	* src/LR0.c (new_itemsets): Don't allocate `shift_symbol' here,
   10942 	since it allocates it for each state, although only one is needed.
   10943 	(allocate_storage): Do it here.
   10944 
   10945 2001-12-29  Akim Demaille  <akim (a] epita.fr>
   10946 
   10947 	* src/options.h, src/options.c (create_long_option_table): Rename
   10948 	as...
   10949 	(long_option_table_new): this, with a clearer prototype.
   10950 	(percent_table): Remove, unused,
   10951 	* src/getargs.c (getargs): Adjust.
   10952 
   10953 2001-12-29  Akim Demaille  <akim (a] epita.fr>
   10954 
   10955 	* src/LR0.c, src/conflicts.c, src/lalr.c, src/lalr.h, src/output.c
   10956 	* src/print.c, src/print_graph.c, src/state.h: Rename state_table
   10957 	as states.
   10958 
   10959 2001-12-29  Akim Demaille  <akim (a] epita.fr>
   10960 
   10961 	* src/lalr.c (build_relations): Rename `states' as `states1'.
   10962 	Sorry, I don't understand exactly what it is, no better name...
   10963 
   10964 2001-12-29  Akim Demaille  <akim (a] epita.fr>
   10965 
   10966 	* src/closure.c, src/conflicts.c, src/derives.c, src/gram.c
   10967 	* src/gram.h, src/lalr.c, src/nullable.c, src/output.c, src/print.c
   10968 	* src/print_graph.c, src/reader.c, src/reduce.c: Rename rule_table
   10969 	as rules.
   10970 
   10971 2001-12-29  Akim Demaille  <akim (a] epita.fr>
   10972 
   10973 	* src/gram.c (rprec, rprecsym, rassoc): Remove, unused since long
   10974 	ago.
   10975 
   10976 2001-12-29  Akim Demaille  <akim (a] epita.fr>
   10977 
   10978 	* src/reader.c, src/reader.h (user_toknums): Remove.
   10979 	Adjust all users to use symbols[i]->user_token_number.
   10980 
   10981 2001-12-29  Akim Demaille  <akim (a] epita.fr>
   10982 
   10983 	* src/gram.c, src/gram.h (sprec, sassoc): Remove.
   10984 	Adjust all users to use symbols[i]->prec or ->assoc.
   10985 
   10986 2001-12-29  Akim Demaille  <akim (a] epita.fr>
   10987 
   10988 	* src/reader.c, src/reader.h (tags): Remove.
   10989 	Adjust all users to use symbols[i]->tag.
   10990 
   10991 2001-12-29  Akim Demaille  <akim (a] epita.fr>
   10992 
   10993 	* src/gram.h, src/gram.c (symbols): New, similar to state_table
   10994 	and rule_table.
   10995 	* src/reader.c (packsymbols): Fill this table.
   10996 	Drop sprec.
   10997 	* src/conflicts.c (resolve_sr_conflict): Adjust.
   10998 	* src/reduce.c (reduce_grammar): Adjust: just sort symbols, a
   10999 	single table.
   11000 	Use symbols[i]->tag instead of tags[i].
   11001 
   11002 2001-12-29  Akim Demaille  <akim (a] epita.fr>
   11003 
   11004 	* tests/calc.at (_AT_DATA_CALC_Y): Also use %union.
   11005 	In addition, put a comment in there, to replace...
   11006 	* tests/regression.at (%union and C comments): Remove.
   11007 
   11008 2001-12-29  Akim Demaille  <akim (a] epita.fr>
   11009 
   11010 	* tests/regression.at (Web2c Actions): Blindly move the actual
   11011 	output as expected output.  The contents *seem* right to me, but I
   11012 	can't pretend reading perfectly parser tables...  Nonetheless, all
   11013 	the other tests pass correctly, the table look OK, even though the
   11014 	presence of `$axiom' is to be noted: AFAICS it is useless (but
   11015 	harmless).
   11016 
   11017 2001-12-29  Akim Demaille  <akim (a] epita.fr>
   11018 
   11019 	* src/reader.c (readgram): Don't add the rule 0 if there were no
   11020 	rules read.  In other words, add it _after_ having performed
   11021 	grammar sanity checks.
   11022 	Fixes the `tests/regression.at (Invalid input: 1)' Failure.
   11023 
   11024 2001-12-29  Akim Demaille  <akim (a] epita.fr>
   11025 
   11026 	* tests/regression.at (Web2c Report): Catch up: the rule 0 is now
   11027 	visible, and some states have now a different number.
   11028 
   11029 2001-12-29  Akim Demaille  <akim (a] epita.fr>
   11030 
   11031 	* src/reader.c (readgram): Bind the initial rule's lineno to that
   11032 	of the first rule.
   11033 	* tests/regression.at (Rule Line Numbers, Unresolved SR Conflicts):
   11034 	(Solved SR Conflicts): Adjust rule 0's line number.
   11035 
   11036 2001-12-29  Akim Demaille  <akim (a] epita.fr>
   11037 
   11038 	Fix the `GAWK Grammar' failure.
   11039 
   11040 	* src/LR0.c (final_state): Initialize to -1 so that we do compute
   11041 	the reductions of the first state which was mistakenly confused
   11042 	with the final state because precisely final_state was initialized
   11043 	to 0.
   11044 	* tests/sets.at (Nullable): Adjust: state 0 does have lookaheads,
   11045 	now noticed by Bison.
   11046 	* tests/regression.at (Rule Line Numbers): Adjust: state 0 does
   11047 	have a reduction on $default.
   11048 
   11049 2001-12-29  Akim Demaille  <akim (a] epita.fr>
   11050 
   11051 	* src/gram.c (ritem_print): Be sure to subtract 1 when displaying
   11052 	rule line numbers.
   11053 	* src/closure.c (print_closure): Likewise.
   11054 	* src/derives.c (print_derives): Likewise.
   11055 	* tests/sets.at (Nullable): Adjust: the rule numbers are correct
   11056 	now.
   11057 
   11058 2001-12-29  Akim Demaille  <akim (a] epita.fr>
   11059 
   11060 	* src/lalr.c (lookaheads_print): New.
   11061 	(lalr): Call it when --trace-flag.
   11062 	* tests/sets.at (Nullable): Adjust: when tracing, the lookaheads
   11063 	are dumped.
   11064 
   11065 2001-12-29  Akim Demaille  <akim (a] epita.fr>
   11066 
   11067 	* src/derives.c (print_derives): Be sure to use `>= 0', not `> 0',
   11068 	when walking through ritem, even via rule->rhs.
   11069 	* src/reduce.c (dump_grammar, useful_production, reduce_output)
   11070 	(useful_production, useless_nonterminals): Likewise.
   11071 	(reduce_grammar_tables): Likewise, plus update nritems.
   11072 	* src/nullable.c (set_nullable): Likewise.
   11073 	* src/lalr.c (build_relations): Likewise.
   11074 	* tests/sets.at (Nullable): Adjust.
   11075 	Fortunately, now, the $axiom is no longer nullable.
   11076 
   11077 2001-12-29  Akim Demaille  <akim (a] epita.fr>
   11078 
   11079 	* src/LR0.c (generate_states): Use nritems, not nitems, nor using
   11080 	the 0-sentinel.
   11081 	* src/gram.c (ritem_longest_rhs): Likewise.
   11082 	* src/reduce.c (nonterminals_reduce): Likewise.
   11083 	* src/print_graph.c (print_graph): Likewise.
   11084 	* src/output.c (output_rule_data): Likewise.
   11085 	* src/nullable.c (set_nullable):  Likewise.
   11086 
   11087 2001-12-29  Akim Demaille  <akim (a] epita.fr>
   11088 
   11089 	* src/output.c: Comment changes.
   11090 
   11091 2001-12-27  Paul Eggert  <eggert (a] twinsun.com>
   11092 
   11093 	* src/bison.simple (YYSTACK_ALLOC, YYSIZE_T): Remove special
   11094 	cases for non-GNU systems like AIX, HP-UX, SGI, Sun, and
   11095 	Sparc, as they were causing more porting problems than the
   11096 	(minor) performance improvement was worth.
   11097 
   11098 	Also, catch up with 1.31's YYSTD.
   11099 
   11100 2001-12-27  Akim Demaille  <akim (a] epita.fr>
   11101 
   11102 	* src/output.c (output_gram): Rely on nritems, not the
   11103 	0-sentinel.  See below.
   11104 	Use -1 as separator, not 0.
   11105 	* src/bison.simple (yyparse): Subtract 1 to the rule numbers.
   11106 	Rely on -1 as separator in yyrhs, instead of 0.
   11107 	* tests/calc.at (AT_CHECK_CALC): Now, the parsers no longer issue
   11108 	twice `Now at end of input', therefore there are two lines less to
   11109 	expect.
   11110 
   11111 2001-12-27  Akim Demaille  <akim (a] epita.fr>
   11112 
   11113 	* tests/regression.at (Unresolved SR Conflicts):
   11114 	(Solved SR Conflicts, Rule Line Numbers): Adjust to the changes
   11115 	below.
   11116 
   11117 2001-12-27  Akim Demaille  <akim (a] epita.fr>
   11118 
   11119 	* src/LR0.c (new_state): Recognize the final state by the fact it
   11120 	is reached by eoftoken.
   11121 	(insert_start_shifting_state, insert_eof_shifting_state)
   11122 	(insert_accepting_state, augment_automaton): Remove, since now
   11123 	these states are automatically computed from the initial state.
   11124 	(generate_states): Adjust.
   11125 	* src/print.c: When reporting a rule number to the user, substract
   11126 	1, so that the axiom rule is rule 0, and the first user rule is 1.
   11127 	* src/reduce.c: Likewise.
   11128 	* src/print_graph.c (print_core): For the time being, just as for
   11129 	the report, depend upon --trace-flags to dump the full set of
   11130 	items.
   11131 	* src/reader.c (readgram): Once the grammar read, insert the rule
   11132 	0: `$axiom: START-SYMBOL $'.
   11133 	* tests/set.at: Adjust: rule 0 is now displayed, and since the
   11134 	number of the states has changed (the final state is no longer
   11135 	necessarily the last), catch up.
   11136 
   11137 2001-12-27  Akim Demaille  <akim (a] epita.fr>
   11138 
   11139 	Try to make the use of the eoftoken valid.  Given that its value
   11140 	is 0 which was also used as a sentinel in ritem, (i) make sure >= 0
   11141 	is used instead of > 0 where appropriate, (ii), depend upon nritems
   11142 	instead of the 0-sentinel.
   11143 
   11144 	* src/gram.h, src/gram.c (nritems): New.
   11145 	Expected to be duplication of nitems, but for the time being...
   11146 	* src/reader.c (packgram): Assert nritems and nitems are equal.
   11147 	* src/LR0.c (allocate_itemsets, new_itemsets): Adjust.
   11148 	* src/closure.c (print_closure, print_fderives): Likewise.
   11149 	* src/gram.c (ritem_print): Likewise.
   11150 	* src/print.c (print_core, print_grammar): Likewise.
   11151 	* src/print_graph.c: Likewise.
   11152 
   11153 2001-12-27  Akim Demaille  <akim (a] epita.fr>
   11154 
   11155 	* src/main.c (main): If there are complains after grammar
   11156 	reductions, then output the report anyway if requested, then die.
   11157 	* src/symtab.c (bucket_new): Initialize `value' to -1, not 0.
   11158 	* src/reader.c (eoftoken): New.
   11159 	(parse_token_decl): If the token being defined has value `0', it
   11160 	is the eoftoken.
   11161 	(packsymbols): No longer hack `tags' to insert `$' by hand.
   11162 	Be sure to preserve the value of the eoftoken.
   11163 	(reader): Make sure eoftoken is defined.
   11164 	Initialize nsyms to 0: now eoftoken is created just like the others.
   11165 	* src/print.c (print_grammar): Don't special case the eof token.
   11166 	* src/regression.at: Adjust: `$' has value 0, not -1, which was a
   11167 	lie anyway, albeit pleasant.
   11168 	* tests/calc.at: Exercise error messages with eoftoken.
   11169 	Change the grammar so that empty input is invalid.
   11170 	Adjust expectations.
   11171 	When yyungeting, be sure to use a valid yylloc: use last_yylloc.
   11172 
   11173 2001-12-27  Akim Demaille  <akim (a] epita.fr>
   11174 
   11175 	* configure.in: Check the protos of strchr ans strspn.
   11176 	Replace strchr if needed.
   11177 	* src/system.h: Provide the protos of strchr, strspn and memchr if
   11178 	missing.
   11179 	* lib/strchr.c: New.
   11180 	* src/reader.c (symbols_save): Use strchr.
   11181 
   11182 2001-12-27  Akim Demaille  <akim (a] epita.fr>
   11183 
   11184 	* src/print.c, src/print_graph.c (escape): New.
   11185 	Use it to quote the TAGS outputs.
   11186 	* src/print_graph.c (print_state): Now errors are in red, and
   11187 	reductions in green.
   11188 	Prefer high to wide: output the state number on a line of its own.
   11189 
   11190 2001-12-27  Akim Demaille  <akim (a] epita.fr>
   11191 
   11192 	* src/state.h, src/state.c (reductions_new): New.
   11193 	* src/LR0.c (set_state_table): Let all the states have a
   11194 	`reductions', even if reduced to 0.
   11195 	(save_reductions): Adjust.
   11196 	* src/lalr.c (initialize_LA, initialize_lookaheads): Adjust.
   11197 	* src/print.c (print_reductions, print_actions): Adjust.
   11198 	* src/output.c (action_row): Adjust.
   11199 
   11200 2001-12-27  Akim Demaille  <akim (a] epita.fr>
   11201 
   11202 	* src/state.h, src/state.c (errs_new, errs_dup): New.
   11203 	* src/LR0.c (set_state_table): Let all the states have an errs,
   11204 	even if reduced to 0.
   11205 	* src/print.c (print_errs, print_reductions): Adjust.
   11206 	* src/output.c (output_actions, action_row): Adjust.
   11207 	* src/conflicts.c (resolve_sr_conflict): Adjust.
   11208 
   11209 2001-12-27  Akim Demaille  <akim (a] epita.fr>
   11210 
   11211 	* src/lalr.c (set_goto_map, initialize_F): Use SHIFT_SYMBOL.
   11212 
   11213 2001-12-27  Akim Demaille  <akim (a] epita.fr>
   11214 
   11215 	* src/conflicts.c, src/conflicts.h (print_reductions): Move to...
   11216 	* src/print.c: here.
   11217 	(lookaheadset, shiftset): New, used as additional storage by
   11218 	print_reductions.
   11219 	(print_results): Adjust.
   11220 	(print_shifts, print_gotos, print_errs): New, extracted from...
   11221 	(print_actions): here.
   11222 	* src/print_graph.c (print_actions): Remove dead code.
   11223 
   11224 2001-12-27  Akim Demaille  <akim (a] epita.fr>
   11225 
   11226 	* src/reader.c (copy_dollar, copy_at): Better checking of `n' in
   11227 	`$n' and `@n'.
   11228 
   11229 2001-12-27  Akim Demaille  <akim (a] epita.fr>
   11230 
   11231 	* src/lalr.c (add_lookback_edge): Use state_t instead of ints.
   11232 	(build_relations): Adjust.
   11233 
   11234 2001-12-27  Akim Demaille  <akim (a] epita.fr>
   11235 
   11236 	* src/lalr.c (set_goto_map): Remove a wrong but benign loop
   11237 	duplication.
   11238 
   11239 2001-12-27  Akim Demaille  <akim (a] epita.fr>
   11240 
   11241 	* src/reader.c (packgram): Catch nitems overflows.
   11242 
   11243 2001-12-27  Akim Demaille  <akim (a] epita.fr>
   11244 
   11245 	* src/files.c, src/files.h (guard_obstack): Remove.
   11246 	* src/output.c (output): Adjust.
   11247 	* src/reader.c (parse_braces): New, factoring...
   11248 	(copy_action, copy_guard): these two which are renamed as...
   11249 	(parse_action, parse_guard): these.
   11250 	As a voluntary consequence, using braces around guards is now
   11251 	mandatory.
   11252 
   11253 2001-12-27  Akim Demaille  <akim (a] epita.fr>
   11254 
   11255 	* src/gram.h (rule_t): `guard' and `guard_line' are new members.
   11256 	* src/reader.c (symbol_list): `guard' and `guard_line' are new
   11257 	members.
   11258 	(symbol_list_new): Adjust.
   11259 	(copy_action): action_line is the first line, not the last.
   11260 	(copy_guard): Just as for actions, store the `action' only, not
   11261 	the switch/case/break flesh.
   11262 	Don't parse the user action that might follow the guard, let...
   11263 	(readgram): do it, i.e., now, there can be an action after a
   11264 	guard.
   11265 	In other words the guard is just explicitly optional.
   11266 	(packgram): Adjust.
   11267 	* src/output.c (guards_output): New.
   11268 	(output_parser): Call it when needed.
   11269 	(output): Also free the guard and attrs obstacks.
   11270 	* src/files.c, src/files.h (obstack_save): Remove.
   11271 	(output_files): Remove.
   11272 	As a result, if one needs the former `.act' file, using an
   11273 	appropriate skeleton which requires actions and guards is now
   11274 	required.
   11275 	* src/main.c (main): Adjust.
   11276 	* tests/semantic.at: New.
   11277 	* tests/regression.at: Use `input.y' as input file name.
   11278 	Avoid 8+3 problems by requiring input.c when the test needs the
   11279 	parser.
   11280 
   11281 2001-12-27  Akim Demaille  <akim (a] epita.fr>
   11282 
   11283 	* src/reader.c (symbol_list_new): Be sure to initialize all the
   11284 	fields.
   11285 
   11286 2001-12-27  Akim Demaille  <akim (a] epita.fr>
   11287 
   11288 	All the hacks using a final pseudo state are now useless.
   11289 
   11290 	* src/LR0.c (set_state_table): state_table holds exactly nstates.
   11291 	* src/lalr.c (nLA): New.
   11292 	(initialize_LA, compute_lookaheads, initialize_lookaheads): Use it
   11293 	instead of lookaheadsp from the pseudo state (nstate + 1).
   11294 
   11295 2001-12-27  Akim Demaille  <akim (a] epita.fr>
   11296 
   11297 	* src/output.c (action_row, token_actions): Use a state_t instead
   11298 	of a integer, and nlookaheads instead of the following state's
   11299 	lookaheadsp.
   11300 
   11301 2001-12-27  Akim Demaille  <akim (a] epita.fr>
   11302 
   11303 	* src/conflicts.c (log_resolution, flush_shift)
   11304 	(resolve_sr_conflict, set_conflicts, solve_conflicts)
   11305 	(count_sr_conflicts, count_rr_conflicts, conflicts_output)
   11306 	(conflicts_print, print_reductions): Use a state_t instead of an
   11307 	integer when referring to a state.
   11308 	As much as possible, depend upon nlookaheads, instead of the
   11309 	`lookaheadsp' member of the following state (since lookaheads of
   11310 	successive states are successive, the difference between state n + 1
   11311 	and n served as the number of lookaheads for state n).
   11312 	* src/lalr.c (add_lookback_edge): Likewise.
   11313 	* src/print.c (print_core, print_actions, print_state)
   11314 	(print_results): Likewise.
   11315 	* src/print_graph.c (print_core, print_actions, print_state)
   11316 	(print_graph): Likewise.
   11317 	* src/conflicts.h: Adjust.
   11318 
   11319 2001-12-27  Akim Demaille  <akim (a] epita.fr>
   11320 
   11321 	* src/bison.hairy: Formatting/comment changes.
   11322 	ANSIfy.
   11323 	Remove `register' indications.
   11324 	Add plenty of `static'.
   11325 
   11326 2001-12-27  Akim Demaille  <akim (a] epita.fr>
   11327 
   11328 	* src/output.c (prepare): Drop the muscle `ntbase' which
   11329 	duplicates ntokens.
   11330 	* src/bison.simple: Formatting/comment changes.
   11331 	Use YYNTOKENS only, which is documented, but not YYNTBASE, which
   11332 	is an undocumented synonym.
   11333 
   11334 2001-12-22  Akim Demaille  <akim (a] epita.fr>
   11335 
   11336 	* src/output.c (output_table_data): Change the prototype to use
   11337 	`int' for array ranges: some invocations do pass an int, not a
   11338 	short.
   11339 	Reported by Wayne Green.
   11340 
   11341 2001-12-22  Akim Demaille  <akim (a] epita.fr>
   11342 
   11343 	Some actions of web2c.y are improperly triggered.
   11344 	Reported by Mike Castle.
   11345 
   11346 	* src/lalr.c (traverse): s/F (i)[k] = F (j)[k]/F (j)[k] = F (i)[k]/.
   11347 	* tests/regression.at (Web2c): Rename as...
   11348 	(Web2c Report): this.
   11349 	(Web2c Actions): New.
   11350 
   11351 2001-12-22  Akim Demaille  <akim (a] epita.fr>
   11352 
   11353 	Reductions in web2c.y are improperly reported.
   11354 	Reported by Mike Castle.
   11355 
   11356 	* src/conflicts.c (print_reductions): Fix.
   11357 	* tests/regression.at (Web2c): New.
   11358 
   11359 2001-12-18  Akim Demaille  <akim (a] epita.fr>
   11360 
   11361 	Some host fail on `assert (!"foo")', which expands to
   11362 	((!"foo") ? (void)0 : __assert("!"foo."", __FILE__, __LINE__))
   11363 	Reported by Nelson Beebee.
   11364 
   11365 	* src/output.c, src/vcg.c: Replace `assert (!"it succeeded")' with
   11366 	`#define it_succeeded 0' and `assert (it_succeeded)'.
   11367 
   11368 2001-12-17  Marc Autret  <autret_m (a] epita.fr>
   11369 
   11370 	* src/bison.simple: Don't hard code the skeleton line and filename.
   11371 	* src/output.c (output_parser): Rename 'line' as 'output_line'.
   11372 	New line counter 'skeleton_line' (skeleton-line muscle).
   11373 
   11374 2001-12-17  Paul Eggert  <eggert (a] twinsun.com>
   11375 
   11376 	* NEWS, doc/bison.texinfo, doc/bison.1, doc/bison.rnh: Document that
   11377 	YYDEBUG must be defined to a nonzero value.
   11378 
   11379 	* src/bison.simple (yytname): Do not assume that the user defines
   11380 	YYDEBUG to a properly parenthesized expression.
   11381 
   11382 2001-12-17  Akim Demaille  <akim (a] epita.fr>
   11383 
   11384 	* src/state.h (state_t): Rename lookaheads as lookaheadsp.
   11385 	nlookaheads is a new member.
   11386 	Adjust all users.
   11387 	* src/lalr.h (nlookaheads): Remove this orphan declaration.
   11388 	* src/lalr.c (initialize_lookaheads): Set nlookaheads for each
   11389 	state.
   11390 
   11391 2001-12-17  Akim Demaille  <akim (a] epita.fr>
   11392 
   11393 	* src/files.h, src/files.c (open_files, close_files): Remove.
   11394 	* src/main.c (main): Don't open/close files, nor invoke lex_free,
   11395 	let...
   11396 	* src/reader.c (reader): Do it.
   11397 
   11398 2001-12-17  Akim Demaille  <akim (a] epita.fr>
   11399 
   11400 	* src/conflicts.c (print_reductions): Formatting changes.
   11401 
   11402 2001-12-17  Akim Demaille  <akim (a] epita.fr>
   11403 
   11404 	* src/conflicts.c (flush_shift): Also adjust lookaheadset.
   11405 	(flush_reduce): New.
   11406 	(resolve_sr_conflict): Adjust.
   11407 
   11408 2001-12-17  Akim Demaille  <akim (a] epita.fr>
   11409 
   11410 	* src/output.c (output_obstack): Be static and rename as...
   11411 	(format_obstack): this, to avoid any confusion with files.c's
   11412 	output_obstack.
   11413 	* src/reader.h (muscle_obstack): Move to...
   11414 	* src/output.h: here, since it's defined in output.c.
   11415 
   11416 2001-12-17  Akim Demaille  <akim (a] epita.fr>
   11417 
   11418 	* src/output.c (action_row, save_column, default_goto)
   11419 	(sort_actions, matching_state, pack_vector): Better variable
   11420 	locality.
   11421 
   11422 2001-12-17  Akim Demaille  <akim (a] epita.fr>
   11423 
   11424 	* src/output.c: Various formatting changes.
   11425 
   11426 2001-12-17  Akim Demaille  <akim (a] epita.fr>
   11427 
   11428 	* src/files.c (output_files): Free the output_obstack.
   11429 	* src/main.c (main): Call print and print_graph conditionally.
   11430 	* src/print.c (print): Work unconditionally.
   11431 	* src/print_graph.c (print_graph): Work unconditionally.
   11432 	* src/conflicts.c (log_resolution): Output only if verbose_flag.
   11433 
   11434 2001-12-16  Marc Autret  <autret_m (a] epita.fr>
   11435 
   11436 	* src/output.c (actions_output): Fix. When we use %no-lines,
   11437 	there is one less line per action.
   11438 
   11439 2001-12-16  Marc Autret  <autret_m (a] epita.fr>
   11440 
   11441 	* src/bison.simple: Remove a useless #line directive.
   11442 	s/#line %%line %%skeleton/#line %%line "%%parser-file-name"/'.
   11443 	* src/output.c (get_lines_number): New.
   11444 	(output_parser): Adjust, now takes care about the lines of a
   11445 	output muscles.
   11446 	Fix line numbering.
   11447 	(actions_output): Computes the number of lines taken by actions.
   11448 	(output_master_parser): Insert new skeleton which is the name of
   11449 	the output parser file name.
   11450 
   11451 2001-12-15  Marc Autret  <autret_m (a] epita.fr>
   11452 
   11453 	* src/bison.simple [YYERROR_VERBOSE]: Restore backward compatibility.
   11454 
   11455 2001-12-15  Marc Autret  <autret_m (a] epita.fr>
   11456 
   11457 	* src/output.c (output_gram): Keep track of the hairy one.
   11458 
   11459 2001-12-15  Akim Demaille  <akim (a] epita.fr>
   11460 
   11461 	Make `make distcheck' work.
   11462 
   11463 	* lib/Makefile.am (INCLUDES): Add top_srcdir/intl, since hash uses
   11464 	system.h which uses libgettext.h.
   11465 
   11466 2001-12-15  Akim Demaille  <akim (a] epita.fr>
   11467 
   11468 	* src/nullable.c (set_nullable): Useless rules must be skipped,
   11469 	otherwise, since we range over their symbols, we might look at a
   11470 	nonterminal which no longer ``exists'', i.e., it is not counted in
   11471 	`nvars', hence we overflow our arrays.
   11472 
   11473 2001-12-15  Akim Demaille  <akim (a] epita.fr>
   11474 
   11475 	The header can also be produced directly, without any obstack!
   11476 	Yahoo!
   11477 
   11478 	* src/files.c, src/files.h (defines_obstack): Remove.
   11479 	(compute_header_macro): Global.
   11480 	(defines_obstack_save): Remove.
   11481 	* src/reader.c (parse_union_decl): No longer output to
   11482 	defines_obstack: its content can be found in the `stype' muscle
   11483 	anyway.
   11484 	(output_token_translations): Merge into...
   11485 	(symbols_output): this.
   11486 	Rename as...
   11487 	(symbols_save): this.
   11488 	(reader): Adjust.
   11489 	* src/output.c (header_output): New.
   11490 	(output): Call it.
   11491 
   11492 2001-12-15  Akim Demaille  <akim (a] epita.fr>
   11493 
   11494 	* src/reader.c (parse_union_decl): Instead of handling two obstack
   11495 	simultaneously, use one to define the `stype' muscle, and use the
   11496 	value of the latter to fill defines_obstack.
   11497 	(copy_comment): Remove.
   11498 	(copy_comment2): Work for a single obstack.
   11499 	Rename as...
   11500 	(copy_comment): this.
   11501 
   11502 2001-12-15  Akim Demaille  <akim (a] epita.fr>
   11503 
   11504 	* src/lex.c, src/lex.h (xgetc): No longer static.
   11505 	* src/reader.c (parse_union_decl): Revamp.
   11506 
   11507 2001-12-15  Akim Demaille  <akim (a] epita.fr>
   11508 
   11509 	Still making progress in separating Bison into (i) input, (ii)
   11510 	process, (iii) output: now we can directly output the parser file
   11511 	without using table_obstack at all.
   11512 
   11513 	* src/files.c, src/files.h (table_obstack): Bye bye.
   11514 	(parser_file_name): New.
   11515 	* src/files.c (compute_output_file_names): Compute it.
   11516 	* src/output.c (actions_output, output_parser)
   11517 	(output_master_parser): To a file instead of an obstack.
   11518 
   11519 2001-12-15  Akim Demaille  <akim (a] epita.fr>
   11520 
   11521 	Attach actions to rules, instead of pre-outputting them to
   11522 	actions_obstack.
   11523 
   11524 	* src/gram.h (rule_t): action and action_line are new members.
   11525 	* src/reader.c (symbol_list): Likewise.
   11526 	(copy_action): Save the actions within the rule.
   11527 	(packgram): Save them in rule_table.
   11528 	* src/output.c (actions_output): New.
   11529 	(output_parser): Use it on `%%actions'.
   11530 	(output_rule_data): Don't free rule_table.
   11531 	(output): Do it.
   11532 	(prepare): Don't save the `action' muscle.
   11533 	* src/bison.simple: s/%%action/%%actions/.
   11534 
   11535 2001-12-15  Akim Demaille  <akim (a] epita.fr>
   11536 
   11537 	* src/reader.c (copy_action): When --yacc, don't append a `;'
   11538 	to the user action: let it fail if lacking.
   11539 	Suggested by Arnold Robbins and Tom Tromey.
   11540 
   11541 2001-12-14  Akim Demaille  <akim (a] epita.fr>
   11542 
   11543 	* src/lex.c (literalchar): Simply return the char you decoded, non
   11544 	longer mess around with obstacks and int pointers.
   11545 	Adjust all callers.
   11546 
   11547 2001-12-14  Akim Demaille  <akim (a] epita.fr>
   11548 
   11549 	* src/lex.c (literalchar): Don't escape the special characters,
   11550 	just decode them, and keep them as char (before, eol was output as
   11551 	the 2 char string `\n' etc.).
   11552 	* src/output.c (output_rule_data): Use quotearg to output the
   11553 	token strings.
   11554 
   11555 2001-12-13  Paul Eggert  <eggert (a] twinsun.com>
   11556 
   11557 	* src/bison.simple (YYSIZE_T, YYSTACK_ALLOC, YYSTACK_FREE):
   11558 	Do not infringe on the global user namespace when using C++.
   11559 	(YYFPRINTF, YYSTDERR): New macros, needed for the above.
   11560 	All uses of `fprintf' and `stderr' changed.
   11561 
   11562 	* doc/bison.texinfo: Document YYFPRINTF, YYSTDERR.
   11563 
   11564 2001-12-13  Akim Demaille  <akim (a] epita.fr>
   11565 
   11566 	The computation of nullable is broken: it doesn't handle empty
   11567 	RHS's properly.
   11568 
   11569 	* tests/torture.at (GNU AWK Grammar): New.
   11570 	* tests/sets.at (Nullable): New.
   11571 	* src/nullable.c (set_nullable): Instead of blindly looping over
   11572 	`ritems', loop over the rules, and then over their rhs's.
   11573 
   11574 	Work around Autotest bugs.
   11575 
   11576 	* src/warshall.c (bitmatrix_print): Don't use `+--+' as table
   11577 	frame, because Autotest understand lines starting with a `+' as
   11578 	traces from the shell.  Then, they are not processed properly.
   11579 	Admittedly an Autotest bug, but we don't have time to wait for
   11580 	Autotest to catch up.
   11581 	* tests/regression.at (Broken Closure): Adjust to the new table
   11582 	frames.
   11583 	Move to...
   11584 	* tests/sets.at: here.
   11585 
   11586 2001-12-13  Akim Demaille  <akim (a] epita.fr>
   11587 
   11588 	* src/closure.c (closure): Use nrules instead of playing tricks
   11589 	with BITS_PER_WORD.
   11590 
   11591 2001-12-13  Akim Demaille  <akim (a] epita.fr>
   11592 
   11593 	* src/print.c (print_actions): Output the handling of `$' as the
   11594 	traces do: shifting the token EOF.  Before EOF was treated as a
   11595 	nonterminal.
   11596 	* tests/regression.at: Adjust some tests.
   11597 	* src/print_graph.c (print_core): Complete the set of items via
   11598 	closure.  The next-to-final and final states are still unsatisfying,
   11599 	but that's to be addressed elsewhere.
   11600 	No longer output the rule numbers, but do output the state number.
   11601 	A single loop for the shifts + gotos is enough, but picked a
   11602 	distinct color for each.
   11603 	(print_graph): Initialize and finalize closure.
   11604 
   11605 2001-12-13  Akim Demaille  <akim (a] epita.fr>
   11606 
   11607 	* src/reader.c (readgram): Remove dead code, an strip useless
   11608 	braces.
   11609 	(get_type): Remove, unused.
   11610 
   11611 2001-12-12  Akim Demaille  <akim (a] epita.fr>
   11612 
   11613 	* src/complain.h, src/complain.c: Remove error_one_per_line, rely
   11614 	on that of lib/error.c.
   11615 
   11616 2001-12-12  Akim Demaille  <akim (a] epita.fr>
   11617 
   11618 	Some hosts don't like `/' in includes.
   11619 
   11620 	* src/system.h: Include libgettext.h without qualifying the path.
   11621 	* src/Makefile.am (INCLUDES): Add $(top_srcdir)/intl, remove
   11622 	$(top_srcdir).
   11623 
   11624 2001-12-11  Marc Autret  <autret_m (a] epita.fr>
   11625 
   11626 	* src/output.c (output_parser): Remove useless muscle.
   11627 
   11628 2001-12-11  Marc Autret  <autret_m (a] epita.fr>
   11629 
   11630 	* src/bison.simple: Remove #line just before %%epilogue. It
   11631 	is now handled in ...
   11632 	* src/reader.c (read_additionnal_code): Add the output of a
   11633 	#line for the epilogue.
   11634 
   11635 2001-12-10  Marc Autret  <autret_m (a] epita.fr>
   11636 
   11637 	* src/reader.c (copy_definition): Re-use CPP-outed code which
   11638 	replace precedent remove.
   11639 	* src/bison.simple: Remove #line before %%prologue because
   11640 	%%input-line is wrong at this time.
   11641 
   11642 2001-12-10  Marc Autret  <autret_m (a] epita.fr>
   11643 
   11644 	* src/reader.c (symbols_output): Clean up.
   11645 	* src/output.c (output_gram, output): Clean up.
   11646 
   11647 2001-12-10  Akim Demaille  <akim (a] epita.fr>
   11648 
   11649 	* src/lalr.c (initialize_lookaheads): New.  Extracted from...
   11650 	* src/LR0.c (set_state_table): here.
   11651 	* src/lalr.c (lalr): Call it.
   11652 
   11653 2001-12-10  Akim Demaille  <akim (a] epita.fr>
   11654 
   11655 	* src/state.h (shifts): Remove the `number' member: shifts are
   11656 	attached to state, hence no longer need to be labelled with a
   11657 	state number.
   11658 
   11659 2001-12-10  Akim Demaille  <akim (a] epita.fr>
   11660 
   11661 	Now that states have a complete set of members, the linked list of
   11662 	shifts is useless: just fill directly the state's shifts member.
   11663 
   11664 	* src/state.h (shifts): Remove the `next' member.
   11665 	* src/LR0.c (first_state, last_state): Remove.
   11666 	Adjust the callers.
   11667 	(augment_automaton): Don't look for the shifts that must be added
   11668 	a shift on EOF: it is those of the state we looked for!  But now,
   11669 	since shifts are attached, it is no longer needed to looking
   11670 	merely by its id: its number.
   11671 
   11672 2001-12-10  Akim Demaille  <akim (a] epita.fr>
   11673 
   11674 	* src/LR0.c (augment_automaton): Better variable locality.
   11675 	Remove an impossible branch: if there is a state corresponding to
   11676 	the start symbol being shifted, then there is shift for the start
   11677 	symbol from the initial state.
   11678 
   11679 2001-12-10  Akim Demaille  <akim (a] epita.fr>
   11680 
   11681 	* src/LR0.c (augment_automaton): Call `insert_eof_shifting_state'
   11682 	only when appropriate: when insert_start_shifting_state' is not
   11683 	invoked.
   11684 	* tests/regression.at (Rule Line Numbers): Adjust.
   11685 
   11686 2001-12-10  Akim Demaille  <akim (a] epita.fr>
   11687 
   11688 	* src/LR0.c (augment_automaton): Now that all states have shifts,
   11689 	merge the two cases addition shifts to the initial state.
   11690 
   11691 2001-12-10  Akim Demaille  <akim (a] epita.fr>
   11692 
   11693 	* src/lalr.c (set_state_table): Move to...
   11694 	* src/LR0.c: here.
   11695 	* src/lalr.c (lalr): Don't call it...
   11696 	* src/LR0.c (generate_states): do it.
   11697 	* src/LR0.h (first_state): Remove, only the table is used.
   11698 
   11699 2001-12-10  Akim Demaille  <akim (a] epita.fr>
   11700 
   11701 	* src/LR0.h (first_shift, first_reduction): Remove.
   11702 	* src/lalr.c: Don't use first_shift: find shifts through the
   11703 	states.
   11704 
   11705 2001-12-10  Akim Demaille  <akim (a] epita.fr>
   11706 
   11707 	* src/LR0.c: Attach shifts to states as soon as they are
   11708 	computed.
   11709 	* src/lalr.c (set_state_table): Instead of assigning shifts to
   11710 	state, just assert that the mapping was properly done.
   11711 
   11712 2001-12-10  Akim Demaille  <akim (a] epita.fr>
   11713 
   11714 	* src/LR0.c (insert_start_shift): Rename as...
   11715 	(insert_start_shifting_state): this.
   11716 	(insert_eof_shifting_state, insert_accepting_state): New.
   11717 	(augment_automaton): Adjust.
   11718 	Better locality of the variables.
   11719 	When looking if the start_symbol is shifted from the initial
   11720 	state, using `while (... symbol != start_symbol ...)' sounds
   11721 	better than `while (... symbol < start_symbol ...)': If fail
   11722 	to see how the order between symbols could be relevant!
   11723 
   11724 2001-12-10  Akim Demaille  <akim (a] epita.fr>
   11725 
   11726 	* src/getargs.h: Don't declare `spec_name_prefix' and
   11727 	`spec_file_prefix', declared by src/files.h.
   11728 	* src/files.c, src/files.h: Default for spec_name_prefix is "yy".
   11729 	* src/muscle_tab.c (muscle_init): Default prefix to NULL.
   11730 	* src/output.c (prepare): Adjust.
   11731 	* src/reader.c (symbols_output): Likewise.
   11732 	* src/vmsgetargs.c: Vaguely adjust, but who cares?
   11733 
   11734 2001-12-10  Akim Demaille  <akim (a] epita.fr>
   11735 
   11736 	* src/muscle_tab.c (muscle_init): NULL is a better default than
   11737 	`"0"'.
   11738 
   11739 2001-12-10  Akim Demaille  <akim (a] epita.fr>
   11740 
   11741 	* src/reader.c (reader): Calling symbols_output once is enough.
   11742 
   11743 2001-12-10  Akim Demaille  <akim (a] epita.fr>
   11744 
   11745 	Now that states have a complete set of members, the linked list of
   11746 	reductions is useless: just fill directly the state's reductions
   11747 	member.
   11748 
   11749 	* src/state.h (struct reductions): Remove member `number' and
   11750 	`next'.
   11751 	* src/LR0.c (first_reduction, last_reduction): Remove.
   11752 	(save_reductions): Don't link the new reductions, store them in
   11753 	this_state.
   11754 	* src/lalr.c (set_state_table): No need to attach reductions to
   11755 	states, it's already done.
   11756 	* src/output.c (output_actions): No longer free the shifts, then
   11757 	the reductions, then the states: free all the states and their
   11758 	members.
   11759 
   11760 2001-12-10  Akim Demaille  <akim (a] epita.fr>
   11761 
   11762 	* src/options.c (OPTN, DRTV, BOTH): New.
   11763 	(option_table): Use them.
   11764 
   11765 	* src/muscle_tab.c: Don't include xalloc.h and string.h: that's
   11766 	the job of system.h.
   11767 	* src/options.c: Don't include stdio.h and xalloc.h for the same
   11768 	reasons.
   11769 
   11770 2001-12-10  Akim Demaille  <akim (a] epita.fr>
   11771 
   11772 	* src/output.c (output, prepare): Make sure the values of the
   11773 	muscles `action' and `prologue' are 0-terminated.
   11774 
   11775 2001-12-10  Akim Demaille  <akim (a] epita.fr>
   11776 
   11777 	Clean up GCC warnings.
   11778 
   11779 	* src/reader.c (copy_action): `buf' is not used.
   11780 	(parse_skel_decl): Be static.
   11781 	* src/muscle_tab.c (mhash1, mhash2, muscle_insert): Preserve `const'.
   11782 	* src/options.h (create_long_option_table): Have a real prototype.
   11783 	* lib/hash.c, lib/hash.h (hash_insert, hash_insert_at, hash_delete)
   11784 	(hash_delete_at): Return const void *.
   11785 	Adjust casts to preserve the const.
   11786 
   11787 2001-12-10  Akim Demaille  <akim (a] epita.fr>
   11788 
   11789 	* configure.in: Require 2.52g.
   11790 	M4 is not needed, but AUTOM4TE is.
   11791 	* m4/m4.m4: Remove.
   11792 	* tests/Makefile.am: Adjust.
   11793 
   11794 2001-12-10  Akim Demaille  <akim (a] epita.fr>
   11795 
   11796 	One structure for states is enough, even though theoretically
   11797 	there are LR(0) states and LALR(1) states.
   11798 
   11799 	* src/lalr.h (state_t): Remove.
   11800 	(state_table): Be state_t **, not state_t *.
   11801 	* src/state.h (core, CORE_ALLOC): Rename as...
   11802 	(state_t, STATE_ALLOC): this.
   11803 	Add the LALR(1) members: shifts, reductions, errs.
   11804 	* src/LR0.c (state_table): Rename as...
   11805 	(state_hash): this, to avoid name clashes with the global
   11806 	`state_table'.
   11807 	* src/print_graph.c, src/LR0.c, src/LR0.h, src/conflicts.c
   11808 	* src/lalr.c, src/lalr.h, src/output.c, src/print.c: Adjust.
   11809 
   11810 2001-12-10  Akim Demaille  <akim (a] epita.fr>
   11811 
   11812 	Bison dumps core on bash.y.
   11813 	Reported by Pascal Bart.
   11814 
   11815 	* src/warshall.c (bitmatrix_print): New.
   11816 	(TC): Use it.
   11817 	When performing a transitive closure R(i, j) && R(j, k) => R(i, k),
   11818 	j must be the outer loop.
   11819 	* tests/regression.at (Broken Closure): New.
   11820 
   11821 2001-12-05  Akim Demaille  <akim (a] epita.fr>
   11822 
   11823 	* tests/atlocal.in (CPPFLAGS): Do not leave a space between -I and
   11824 	its argument.
   11825 	Reported by Peter Hamorsky.
   11826 
   11827 2001-12-05  Akim Demaille  <akim (a] epita.fr>
   11828 
   11829 	* src/conflicts.c (err_table): Remove.
   11830 	(resolve_sr_conflict): Adjust.
   11831 	* src/lalr.h (state_t.reduction_table, state_t.shift_table):
   11832 	Rename as...
   11833 	(state_t.reductions, state_t.shifts): this.
   11834 
   11835 2001-12-05  Akim Demaille  <akim (a] epita.fr>
   11836 
   11837 	* src/reduce.c (reduce_grammar_tables): No longer disable the
   11838 	removal of useless rules via CPP but via `if (0)', so that the
   11839 	compiler still check the code is valid.
   11840 	For instance, it should have noticed `rline' no longer exists: use
   11841 	the `line' member of rule_t.
   11842 	* src/gram.c (dummy, rline): Remove, unused.
   11843 
   11844 2001-12-05  Akim Demaille  <akim (a] epita.fr>
   11845 
   11846 	* src/output.c (pack_vector): Use assert, not berror.
   11847 	* src/main.c (berror): Remove, unused.
   11848 
   11849 2001-12-05  Akim Demaille  <akim (a] epita.fr>
   11850 
   11851 	New experimental feature: if --verbose --trace output all the
   11852 	items of a state, not only its kernel.
   11853 
   11854 	* src/print.c (print_core): If `trace_flag', then invoke closure
   11855 	before outputting the items of the state (print_core is no longer
   11856 	a correct name them).
   11857 	(print_results): Invoke new_closure/free_closure if needed.
   11858 
   11859 2001-12-05  Akim Demaille  <akim (a] epita.fr>
   11860 
   11861 	* src/LR0.c (new_itemsets): Use nshifts only, not shiftcount.
   11862 	* src/closure.c, src/closure.h (itemsetsize): Rename as...
   11863 	(nitemset): for consistency with the rest of the project.
   11864 
   11865 2001-12-05  Akim Demaille  <akim (a] epita.fr>
   11866 
   11867 	* src/closure.c (print_closure): Improve.
   11868 	(closure): Use it for printing input and output.
   11869 
   11870 2001-12-05  Akim Demaille  <akim (a] epita.fr>
   11871 
   11872 	* src/closure.c (FIRSTS, FDERIVES): Adjust to reality: they are
   11873 	indexed by nonterminals.
   11874 
   11875 2001-12-05  Akim Demaille  <akim (a] epita.fr>
   11876 
   11877 	* src/warshall.c (TC, RTC): De-obsfucate (source reduced to 22% of
   11878 	what it was!).
   11879 	* src/warshall.h: Remove accidental duplication of the content.
   11880 
   11881 2001-12-05  Akim Demaille  <akim (a] epita.fr>
   11882 
   11883 	* src/closure.c (set_fderives): De-obfuscate.
   11884 
   11885 2001-12-05  Akim Demaille  <akim (a] epita.fr>
   11886 
   11887 	* src/closure.c (print_firsts, print_fderives): De-obfuscate.
   11888 
   11889 2001-12-05  Akim Demaille  <akim (a] epita.fr>
   11890 
   11891 	* src/closure.c (set_firsts): De-obfuscate.
   11892 
   11893 2001-12-05  Akim Demaille  <akim (a] epita.fr>
   11894 
   11895 	* src/output.c (action_row): De-obfuscate
   11896 	using the good o' techniques: arrays not pointers, variable
   11897 	locality, BITISSET, RESETBIT etc.
   11898 
   11899 2001-12-05  Akim Demaille  <akim (a] epita.fr>
   11900 
   11901 	Pessimize the code to simplify it: from now on, all the states
   11902 	have a valid SHIFTS, which NSHIFTS is possibly 0.
   11903 
   11904 	* src/LR0.c (shifts_new): Be global and move to..
   11905 	* src/state.c, src/state.h: here.
   11906 	* src/conflicts, src/lalr.c, src/output.c, src/print.c,
   11907 	* src/print_graph: Adjust.
   11908 
   11909 2001-12-05  Akim Demaille  <akim (a] epita.fr>
   11910 
   11911 	* src/state.h (SHIFT_DISABLE, SHIFT_IS_DISABLED): New.
   11912 	* src/conflicts.c: Use it.
   11913 	Restore a few missing `if (!SHIFT_IS_DISABLED)' which were
   11914 	incorrectly ``simplified''.
   11915 
   11916 2001-12-05  Akim Demaille  <akim (a] epita.fr>
   11917 
   11918 	* src/conflicts.c (flush_shift, resolve_sr_conflict): De-obfuscate
   11919 	using the good o' techniques: arrays not pointers, variable
   11920 	locality, BITISSET, RESETBIT etc.
   11921 
   11922 2001-12-05  Akim Demaille  <akim (a] epita.fr>
   11923 
   11924 	* src/state.h (SHIFT_SYMBOL): New.
   11925 	* src/conflicts.c: Use it to deobfuscate.
   11926 
   11927 2001-12-05  Akim Demaille  <akim (a] epita.fr>
   11928 
   11929 	* src/conflicts.c (count_sr_conflicts, count_rr_conflicts)
   11930 	(print_reductions): De-obfuscate using the good o' techniques:
   11931 	arrays not pointers, variable locality, BITISSET.
   11932 
   11933 2001-12-05  Akim Demaille  <akim (a] epita.fr>
   11934 
   11935 	* src/conflicts.c (print_reductions): Arrays, not pointers.
   11936 	Use BITISSET.
   11937 
   11938 2001-12-05  Akim Demaille  <akim (a] epita.fr>
   11939 
   11940 	* src/conflicts.c (print_reductions): Pessimize, but clarify.
   11941 
   11942 2001-12-05  Akim Demaille  <akim (a] epita.fr>
   11943 
   11944 	* src/conflicts.c (print_reductions): Improve variable locality.
   11945 
   11946 2001-12-05  Akim Demaille  <akim (a] epita.fr>
   11947 
   11948 	* src/conflicts.c (print_reductions): Pessimize, but clarify.
   11949 
   11950 2001-12-05  Akim Demaille  <akim (a] epita.fr>
   11951 
   11952 	* src/conflicts.c (print_reductions): Improve variable locality.
   11953 
   11954 2001-12-05  Akim Demaille  <akim (a] epita.fr>
   11955 
   11956 	* src/state.h (SHIFT_IS_ERROR, SHIFT_IS_GOTO, SHIFT_IS_SHIFT): New.
   11957 	* src/lalr.c: Use them.
   11958 
   11959 2001-12-05  Akim Demaille  <akim (a] epita.fr>
   11960 
   11961 	* src/LR0.c (augment_automaton): Formatting changes.
   11962 	Better variable locality.
   11963 
   11964 2001-12-05  Akim Demaille  <akim (a] epita.fr>
   11965 
   11966 	* src/lalr.c (matrix_print): New.
   11967 	(transpose): Use it.
   11968 	Use arrays instead of pointers.
   11969 
   11970 2001-12-05  Akim Demaille  <akim (a] epita.fr>
   11971 
   11972 	* src/lalr.c (maxrhs): Move to...
   11973 	* src/gram.c, src/gram.h (ritem_longest_rhs): here.
   11974 	* src/lalr.c (build_relations): Adjust.
   11975 
   11976 2001-12-05  Akim Demaille  <akim (a] epita.fr>
   11977 
   11978 	* src/lalr.c (transpose): Free the memory allocated to the
   11979 	argument, as it is replaced by the results by the unique caller.
   11980 	(build_relations): Merely invoke transpose: it handles the memory
   11981 	deallocation.
   11982 	Improve variable locality.
   11983 	Avoid variables used as mere abbreviations.
   11984 	(compute_lookaheads): Use arrays instead of pointers.
   11985 
   11986 2001-12-05  Akim Demaille  <akim (a] epita.fr>
   11987 
   11988 	* src/lalr.c (initialize_F): Improve variable locality.
   11989 	Avoid variables used as mere abbreviations.
   11990 
   11991 2001-12-05  Akim Demaille  <akim (a] epita.fr>
   11992 
   11993 	* src/derives.c (print_derives): Display the ruleno.
   11994 	* src/lalr.c (initialize_F, transpose): Better variable locality
   11995 	to improve readability.
   11996 	Avoid variables used as mere abbreviations.
   11997 
   11998 2001-12-05  Akim Demaille  <akim (a] epita.fr>
   11999 
   12000 	* src/lalr.c (traverse): Use arrays instead of pointers.
   12001 
   12002 2001-12-05  Akim Demaille  <akim (a] epita.fr>
   12003 
   12004 	* src/nullable.c (set_nullable): Use a for loop to de-obfuscate
   12005 	the handling of squeue.
   12006 	`symbol >= 0' is wrong now, use `rule_table[ruleno].useful'.
   12007 
   12008 2001-12-05  Akim Demaille  <akim (a] epita.fr>
   12009 
   12010 	Because useless nonterminals are now kept alive (instead of being
   12011 	`destroyed'), we now sometimes examine them, and store information
   12012 	related to them.  Hence we need to know their number, and adjust
   12013 	memory allocations.
   12014 
   12015 	* src/reduce.c, src/reduce.h (nuseless_nonterminals): No longer
   12016 	static.
   12017 	* src/LR0.c (allocate_itemsets): The memory allocated to
   12018 	`symbol_count' was used for two different purpose: once to count
   12019 	the number of occurrences of each symbol, and later reassigned to
   12020 	`shift_symbol', containing the symbol that can be shifted from a
   12021 	given state.
   12022 	Deobfuscate, i.e., allocate, use and free `symbol_count' here
   12023 	only, and...
   12024 	(new_itemsets): Allocate `shift_symbol' here.
   12025 	(allocate_itemsets): symbol_count includes useless nonterminals.
   12026 	Make room for them.
   12027 	(free_storage): Use `free', not `XFREE', for pointers that cannot
   12028 	be null.
   12029 
   12030 2001-12-05  Akim Demaille  <akim (a] epita.fr>
   12031 
   12032 	* src/nullable.c (set_nullable): Deobfuscate the handling of
   12033 	ritem.
   12034 	`symbol >= 0' is wrong now, use `rule_table[ruleno].useful'.
   12035 
   12036 2001-12-05  Akim Demaille  <akim (a] epita.fr>
   12037 
   12038 	* src/gram.c, src/gram.h (ritem_print): New.
   12039 	* src/gram.c (dummy): Remove, now there is actual code in gram.c.
   12040 	(This useless function was defined only to work around VMS linkers
   12041 	that can't handle compilation units with variables only).
   12042 	* src/reduce.c (dump_grammar): Use it to trace the construction of
   12043 	ritem.
   12044 
   12045 2001-12-04  Paul Eggert  <eggert (a] twinsun.com>
   12046 
   12047 	* src/bison.simple (union yyalloc): Change member names
   12048 	to be the same as the stack names.
   12049 	(yyparse): yyptr is now union yyalloc *, not char *.
   12050 	(YYSTACK_RELOCATE): Likewise.  This avoids a GCC warning,
   12051 	and may generate better code on some machines.
   12052 	(yystpcpy): Use prototype if __STDC__ is defined, not just
   12053 	if __cplusplus is defined.
   12054 
   12055 2001-11-30  Akim Demaille  <akim (a] epita.fr>
   12056 
   12057 	* configure.in (WARNING_CFLAGS): Add -Werror when possible.
   12058 	(CFLAGS): Do not include the WARNING_CFLAGS here, since GNU
   12059 	Gettext doesn't compile cleanly, and dies with -Werror.
   12060 	* src/Makefile.am, lib/Makefile.am, tests/atlocal.in (CFLAGS):
   12061 	Include WARNING_CFLAGS here.
   12062 	* lib/xstrdup.c: Include xalloc.h, so that xstrdup be declared
   12063 	before being defined.
   12064 
   12065 2001-11-27  Paul Eggert  <eggert (a] twinsun.com>
   12066 
   12067 	* lib/quotearg.h (quotearg_n, quotearg_n_style):
   12068 	First arg is int, not unsigned.
   12069 	* lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
   12070 	(SIZE_MAX, UINT_MAX): New macros.
   12071 	(quotearg_n_options): Abort if N is negative.
   12072 	Avoid overflow check on hosts where size_t is 64 bits and int
   12073 	is 32 bits, as overflow is impossible there.
   12074 	Fix off-by-one typo that caused unnecessary reallocation.
   12075 
   12076 2001-11-29  Paul Eggert  <eggert (a] twinsun.com>
   12077 
   12078 	Name space cleanup in generated parser.
   12079 
   12080 	* doc/bison.texinfo (Bison Parser): Discuss system headers
   12081 	and their effect on the user name space.
   12082 
   12083 	* src/bison.simple:
   12084 	(YYSTACK_ALLOC, YYSTACK_FREE, union yyalloc, YYSTACK_GAP_MAX,
   12085 	YYSTACK_BYTES, YYSTACK_RELOCATE): Do not define unless necessary,
   12086 	i.e. unless ! defined (yyoverflow) || defined (YYERROR_VERBOSE).
   12087 
   12088 	(YYSIZE_T): New macro.  Use it instead of size_t, to avoid infringing
   12089 	on user names when possible.
   12090 
   12091 	(YYSTACK_USE_ALLOCA): Do not define; just use any existing defn.
   12092 	Simplify test for whather <alloca.h> exists.
   12093 
   12094 	(<stdlib.h>): Include if we will use malloc, and if standard C or C++.
   12095 
   12096 	(<stdio.h>): Include if YYDEBUG.
   12097 
   12098 	(yymemcpy): Renamed from __yy_memcpy.  Do not define unless
   12099 	! defined (yyoverflow) && ! defined (yymemcpy).
   12100 
   12101 	(yymemcpy, yyparse): Rename local variables as needed so that
   12102 	they all begin with 'yy'.
   12103 
   12104 	(yystrlen, yystpcpy): New functions.
   12105 
   12106 	(YY_DECL_NON_LSP_VARIABLES): Renamed from _YY_DECL_VARIABLES.
   12107 	All uses changed.
   12108 
   12109 	(yyparse): size_t -> YYSIZE_T.  Use yystrlen and yystpcpy
   12110 	instead of relying on string.h functions.  Use YYSTACK_ALLOC
   12111 	and YYSTACK_FREE instead of malloc and free.
   12112 
   12113 2001-11-30  Akim Demaille  <akim (a] epita.fr>
   12114 
   12115 	* src/bison.simple (YYSTYPE, YYLTYPE): Move their definitions
   12116 	before their first uses.
   12117 	(YYBISON, YYPURE): Move to the top of the output.
   12118 
   12119 2001-11-30  Akim Demaille  <akim (a] epita.fr>
   12120 
   12121 	* tests/reduce.at (Useless Nonterminals): Fix.
   12122 
   12123 2001-11-30  Akim Demaille  <akim (a] epita.fr>
   12124 
   12125 	* src/bison.simple (YYSTACK_FREE): Use `do {;} while (0)' as empty
   12126 	if body instead of `;' to pacify GCC's warnings.
   12127 
   12128 2001-11-30  Akim Demaille  <akim (a] epita.fr>
   12129 
   12130 	Instead of mapping the LHS of unused rules to -1, keep the LHS
   12131 	valid, but flag the rules as invalid.
   12132 
   12133 	* src/gram.h (rule_t): `useful' is a new member.
   12134 	* src/print.c (print_grammar): Adjust.
   12135 	* src/derives.c (set_derives): Likewise.
   12136 	* src/reader.c (packgram, reduce_output): Likewise.
   12137 	* src/reduce.c (reduce_grammar_tables): Likewise.
   12138 	* tests/reduce.at (Underivable Rules, Useless Rules): New.
   12139 
   12140 2001-11-30  Akim Demaille  <akim (a] epita.fr>
   12141 
   12142 	* src/reduce.c (reduce_output): Formatting changes.
   12143 	* src/print.c (print_results, print_grammar): Likewise.
   12144 	* tests/regression.at (Rule Line Numbers)
   12145 	(Solved SR Conflicts, Unresolved SR Conflicts): Adjust.
   12146 
   12147 2001-11-30  Akim Demaille  <akim (a] epita.fr>
   12148 
   12149 	* src/reduce.c (nonterminals_reduce): Instead of throwing away
   12150 	useless nonterminals, move them at the end of the symbol arrays.
   12151 	(reduce_output): Adjust.
   12152 	* tests/reduce.at (Useless Nonterminals): Adjust.
   12153 
   12154 2001-11-30  Akim Demaille  <akim (a] epita.fr>
   12155 
   12156 	* src/reduce.c: Various comment/formatting changes.
   12157 	(nonterminals_reduce): New, extracted from...
   12158 	(reduce_grammar_tables): here.
   12159 	(reduce_grammar): Call nonterminals_reduce.
   12160 
   12161 2001-11-29  Paul Eggert  <eggert (a] twinsun.com>
   12162 
   12163 	* src/bison.simple (YYSTACK_REALLOC): Remove.
   12164 	(YYSTACK_ALLOC): Resurrect this macro, with its old meaning.
   12165 	(YYSTACK_FREE, YYSTACK_GAP_MAX, YYSTACK_BYTES, YYSTACK_RELOCATE):
   12166 	New macros.
   12167 	(union yyalloc): New type.
   12168 	(__yy_memcpy): Last arg is size_t, not unsigned int, to remove
   12169 	an arbitrary restriction on hosts where size_t is wider than int.
   12170 
   12171 	(yyparse): Don't dump core if alloca or malloc fails; instead, report
   12172 	a parser stack overflow.  Allocate just one block of memory for all
   12173 	three stacks, instead of allocating three blocks; this typically is
   12174 	faster and reduces fragmentation.
   12175 
   12176 	Do not limit the number of items in the stack to a value that fits
   12177 	in 'int', as this is an arbitrary limit on hosts with 64-bit
   12178 	size_t and 32-bit int.
   12179 
   12180 2001-11-29  Marc Autret  <autret_m (a] epita.fr>
   12181 
   12182 	* tests/calc.at [AT_DATA_CALC_Y]: Use %error-verbose instead
   12183 	of defining YYERROR_VERBOSE.
   12184 	[AT_DATA]: $4 is now out of C declarations in the prologue.
   12185 
   12186 2001-11-28  Marc Autret  <autret_m (a] epita.fr>
   12187 
   12188 	* src/reader.c (parse_dquoted_param): New.
   12189 	(parse_skel_decl): Use it.
   12190 	* src/lex.h: Add its prototype.
   12191 	* src/lex.c (literalchar): Become not static.
   12192 
   12193 2001-11-28  Marc Autret  <autret_m (a] epita.fr>
   12194 
   12195 	* src/output.h: And put its extern declaration here.
   12196 	* src/output.c (error_verbose): Define here.
   12197 	(prepare): Echo name modification.
   12198 	* src/getargs.h: Clean its extern declaration.
   12199 	* src/getargs.c (error_verbose_flag): Remove.
   12200 	(getargs): Remove case 'e'.
   12201 	* src/options.c (option_table): 'error-verbose' is now seen as simple
   12202 	percent option.
   12203 	Include output.h.
   12204 
   12205 	* src/reader.c (read_declarations): Remove case tok_include.
   12206 	(parse_include_decl): Remove.
   12207 	* src/lex.h (token_t): Remove tok_include.
   12208 	* src/options.c (option_table): 'include' is now a simple command line
   12209 	option.
   12210 
   12211 2001-11-28  Marc Autret  <autret_m (a] epita.fr>
   12212 
   12213 	* src/bison.simple: Adjust muscle names.
   12214 	* src/muscle_tab.c (muscle_init): Also rename the muscles.
   12215 	* src/output.c (prepare): s/_/-/ for the muscles names.
   12216 	(output_parser): When scanning for a muscle, allow '-' instead of '_'.
   12217 
   12218 2001-11-28  Marc Autret  <autret_m (a] epita.fr>
   12219 
   12220 	* src/bison.simple: Fix debug.
   12221 	[YYERROR_VERBOSE]: Re-integrate as an internal macro.
   12222 
   12223 2001-11-28  Akim Demaille  <akim (a] epita.fr>
   12224 
   12225 	* src/LR0.c (shifts_new): New.
   12226 	(save_shifts, insert_start_shift, augment_automaton): Use it.
   12227 
   12228 2001-11-28  Akim Demaille  <akim (a] epita.fr>
   12229 
   12230 	* src/closure.c (closure): `b' and `ruleno' denote the same value:
   12231 	keep ruleno only.
   12232 
   12233 2001-11-28  Akim Demaille  <akim (a] epita.fr>
   12234 
   12235 	* src/closure.c (closure): Instead of looping over word in array
   12236 	then bits in words, loop over bits in array.
   12237 
   12238 2001-11-28  Akim Demaille  <akim (a] epita.fr>
   12239 
   12240 	* src/closure.c (closure): No longer optimize the special case
   12241 	where all the bits of `ruleset[r]' are set to 0, to make the code
   12242 	clearer.
   12243 
   12244 2001-11-28  Akim Demaille  <akim (a] epita.fr>
   12245 
   12246 	* src/closure.c (closure): `r' and `c' are new variables, used to
   12247 	de-obfuscate accesses to RULESET and CORE.
   12248 
   12249 2001-11-28  Akim Demaille  <akim (a] epita.fr>
   12250 
   12251 	* src/reduce.c (reduce_print): Use ngettext.
   12252 	(dump_grammar): Improve the trace accuracy.
   12253 
   12254 2001-11-28  Akim Demaille  <akim (a] epita.fr>
   12255 
   12256 	* src/reduce.c (dump_grammar): Don't translate trace messages.
   12257 
   12258 2001-11-28  Akim Demaille  <akim (a] epita.fr>
   12259 
   12260 	* tests/reduce.at (Useless Terminals, Useless Nonterminals): New.
   12261 	* src/reduce.c (reduce_grammar_tables): Do not free useless tags,
   12262 	as all tags are free'ed afterwards.
   12263 	From Enrico Scholz.
   12264 
   12265 2001-11-27  Paul Eggert  <eggert (a] twinsun.com>
   12266 
   12267 	* src/bison.simple (YYSTACK_REALLOC): Fix typo that caused us to
   12268 	use alloca when we didn't want to, and vice versa.
   12269 
   12270 2001-11-27  Marc Autret  <autret_m (a] epita.fr>
   12271 
   12272 	* src/muscle_tab.c (muscle_init): Remove 'verbose' muscle
   12273 	initialization.
   12274 	* src/output.c (prepare): Remove its update.
   12275 
   12276 2001-11-27  Marc Autret  <autret_m (a] epita.fr>
   12277 
   12278 	* tests/torture.at [AT_DATA]: Remove YYERROR_VERBOSE definition.
   12279 	Use %error-verbose.
   12280 
   12281 2001-11-27  Marc Autret  <autret_m (a] epita.fr>
   12282 
   12283 	* src/bison.simple: Remove YYERROR_VERBOSE using.
   12284 	Use %%error_verbose.
   12285 	(yyparse): Likewise.
   12286 	* src/output.c (prepare): Give its final value.
   12287 	* src/muscle_tab.c (muscle_init): Init new muscle 'error_verbose'.
   12288 	* src/getargs.h: Add its extern declaration.
   12289 	* src/getargs.c (error_verbose_flag): New int.
   12290 	(getargs): Update to catch new case.
   12291 	* src/options.c (option_table): 'error-verbose' is a new option.
   12292 	(shortopts): Update.
   12293 
   12294 2001-11-27  Akim Demaille  <akim (a] epita.fr>
   12295 
   12296 	* src/system.h: Use intl/libgettext.h.
   12297 	* src/Makefile.am (INCLUDES): Add -I $(top_srcdir).
   12298 
   12299 2001-11-27  Akim Demaille  <akim (a] epita.fr>
   12300 
   12301 	* tests/torture.at (Exploding the Stack Size with Malloc):
   12302 	s/YYSTACK_USE_ALLOCA_ALLOCA/YYSTACK_USE_ALLOCA/.
   12303 
   12304 2001-11-27  Akim Demaille  <akim (a] epita.fr>
   12305 
   12306 	* src/files.c: Include error.h.
   12307 	Reported by Hans Aberg.
   12308 
   12309 2001-11-26  Marc Autret  <autret_m (a] epita.fr>
   12310 
   12311 	* src/reader.c (parse_include_decl): New, not yet implemented.
   12312 	(read_declarations): Add case tok_include.
   12313 	* src/getargs.h (include): Add its extern definition.
   12314 	* src/getargs.c (include): New const char *.
   12315 	(getargs): Add case '-I'.
   12316 	* src/options.c (option_table): Add include as command line and
   12317 	percent option.
   12318 	* src/lex.h (token_t): Add tok_include.
   12319 
   12320 2001-11-26  Akim Demaille  <akim (a] epita.fr>
   12321 
   12322 	* src/reader.c (readgram): Make sure rules for mid-rule actions
   12323 	have a lineno equal to that of their host rule.
   12324 	Reported by Hans Aberg.
   12325 	* tests/regression.at (Rule Line Numbers): New.
   12326 
   12327 2001-11-26  Akim Demaille  <akim (a] epita.fr>
   12328 
   12329 	* src/LR0.c (allocate_itemsets): kernel_size contains ints, not
   12330 	size_ts.
   12331 
   12332 2001-11-26  Akim Demaille  <akim (a] epita.fr>
   12333 
   12334 	* src/complain.c, src/complain.h (error): Remove, provided by
   12335 	lib/error.[ch].
   12336 
   12337 2001-11-26  Akim Demaille  <akim (a] epita.fr>
   12338 
   12339 	* src/reader.c (read_declarations): Don't abort on tok_illegal,
   12340 	issue an error message.
   12341 	* tests/regression.at (Invalid %directive): New.
   12342 	Reported by Hans Aberg.
   12343 
   12344 2001-11-26  Akim Demaille  <akim (a] epita.fr>
   12345 
   12346 	* configure.in: Invoke AC_FUNC_OBSTACK and AC_FUNC_ERROR_AT_LINE.
   12347 	* lib/Makefile.am (libbison_a_SOURCES): Adjust.
   12348 
   12349 2001-11-26  Akim Demaille  <akim (a] epita.fr>
   12350 
   12351 	* src/conflicts.c (conflicts_print): Don't complain at all when
   12352 	there are no reduce/reduce conflicts, and as many shift/reduce
   12353 	conflicts as expected.
   12354 	* tests/regression.at (%expect right): Adjust.
   12355 
   12356 2001-11-23  Akim Demaille  <akim (a] epita.fr>
   12357 
   12358 	* lib/alloca.c: Update, from fileutils.
   12359 
   12360 2001-11-23  Akim Demaille  <akim (a] epita.fr>
   12361 
   12362 	* lib/Makefile.am (libbison_a_LIBADD): Add @ALLOCA@.
   12363 
   12364 2001-11-23  Akim Demaille  <akim (a] epita.fr>
   12365 
   12366 	* src/system.h: Include alloca.h.
   12367 	* src/main.c (main) [C_ALLOCA]: Call alloca (0).
   12368 
   12369 2001-11-23  Akim Demaille  <akim (a] epita.fr>
   12370 
   12371 	* src/print_graph.c (print_actions): Remove `rule', unused.
   12372 	* src/LR0.c (kernel_size): Contain `int' instead of `size_t' to
   12373 	pacify GCC's signed < unsigned warnings.
   12374 	* src/closure.c (itemsetsize): Likewise.
   12375 	* src/reader.c (symbol_list_new): Static.
   12376 
   12377 2001-11-23  Akim Demaille  <akim (a] epita.fr>
   12378 
   12379 	Attaching lineno to buckets is stupid, since only one copy of each
   12380 	symbol is kept, only the line of the first occurrence is kept too.
   12381 
   12382 	* src/symtab.h, src/symtab.c (bucket): Remove the line member.
   12383 	* src/reader.c (rline_allocated): Remove, unused.
   12384 	(symbol_list): Have a `line' member.
   12385 	(symbol_list_new): New.
   12386 	(readgram): Use it.
   12387 	* src/print.c (print_grammar): Output the rule line numbers.
   12388 	* tests/regression.at (Solved SR Conflicts)
   12389 	(Unresolved SR Conflicts): Adjust.
   12390 	Reported by Hans Aberg.
   12391 
   12392 2001-11-22  Marc Autret  <autret_m (a] epita.fr>
   12393 
   12394 	* src/bison.simple [YYERROR_VERBOSE]: Force its value to be 1 or 0.
   12395 
   12396 2001-11-22  Marc Autret  <autret_m (a] epita.fr>
   12397 
   12398 	* src/muscle_tab.c (muscle_init): Remove initialization of
   12399 	skeleton muscle.
   12400 	* src/output.c (output_master_parser): Do it here.
   12401 
   12402 2001-11-20  Akim Demaille  <akim (a] epita.fr>
   12403 
   12404 	* po/sv.po: New.
   12405 	* configure.in (ALL_LINGUAS): Adjust.
   12406 	* po/POTFILE.in: Remove `nullable.c' and `derives.c' which no
   12407 	longer contains strings to translate.
   12408 
   12409 2001-11-19  Akim Demaille  <akim (a] epita.fr>
   12410 
   12411 	* src/conflicts.c (conflicts_print): Add a missing \n.
   12412 
   12413 2001-11-19  Akim Demaille  <akim (a] epita.fr>
   12414 
   12415 	* src/nullable.c (nullable_print): New.
   12416 	(set_nullable): Call it when tracing.
   12417 	Better locality of variables.
   12418 
   12419 2001-11-19  Akim Demaille  <akim (a] epita.fr>
   12420 
   12421 	* src/print.c (print_actions): Better locality of variables.
   12422 
   12423 2001-11-19  Akim Demaille  <akim (a] epita.fr>
   12424 
   12425 	* src/derives.c (print_derives): Fix and enrich.
   12426 	* src/closure.c (print_fderives): Likewise.
   12427 
   12428 2001-11-19  Akim Demaille  <akim (a] epita.fr>
   12429 
   12430 	* src/closure.c (itemsetend): Remove, replaced with...
   12431 	(itemsetsize): new.
   12432 
   12433 2001-11-19  Akim Demaille  <akim (a] epita.fr>
   12434 
   12435 	* src/LR0.c (kernel_end): Remove, replaced with...
   12436 	(kernel_size): new.
   12437 
   12438 2001-11-19  Akim Demaille  <akim (a] epita.fr>
   12439 
   12440 	* src/conflicts.c (set_conflicts): Use arrays instead of pointers
   12441 	to clarify.
   12442 
   12443 2001-11-19  Akim Demaille  <akim (a] epita.fr>
   12444 
   12445 	* src/closure.c (closure): Use arrays instead of pointers to clarify.
   12446 
   12447 2001-11-19  Akim Demaille  <akim (a] epita.fr>
   12448 
   12449 	* src/closure.c, src/derives.c, src/nullable.c: Adjust various
   12450 	trace messages.
   12451 	* src/LR0.c: Likewise.
   12452 	(allocate_itemsets): Use arrays instead of pointers to clarify.
   12453 
   12454 2001-11-19  Akim Demaille  <akim (a] epita.fr>
   12455 
   12456 	* src/getargs.c (statistics_flag): Replace with...
   12457 	(trace_flag): New.
   12458 	(longopts): Accept --trace instead of --statistics.
   12459 	* src/getargs.h, src/options.c: Adjust.
   12460 	* src/LR0.c, src/closure.c, src/derives.c, src/nullable.c,
   12461 	* src/reduce.c: Use trace_flags instead of the CPP conditional TRACE.
   12462 
   12463 2001-11-19  Akim Demaille  <akim (a] epita.fr>
   12464 
   12465 	* src/LR0.c (new_itemsets, get_state): Use more arrays and fewer
   12466 	pointers to clarify the code.
   12467 	(save_reductions, save_shifts): Factor common parts of alternatives.
   12468 
   12469 2001-11-19  Akim Demaille  <akim (a] epita.fr>
   12470 
   12471 	* src/LR0.c (new_state, get_state): Complete TRACE code.
   12472 	* src/closure.c: Include `reader.h' to get `tags', needed by the
   12473 	trace code.
   12474 	Rename the conditional DEBUG as TRACE.
   12475 	Output consistently TRACEs to stderr, not stdout.
   12476 	* src/derives.c: Likewise.
   12477 	* src/reduce.c: (inaccessable_symbols): Using if is better style
   12478 	than goto.
   12479 	Use `#if TRACE' instead of `#if 0' for tracing code.
   12480 
   12481 2001-11-19  Akim Demaille  <akim (a] epita.fr>
   12482 
   12483 	* src/system.h (LIST_FREE, shortcpy): New.
   12484 	* src/LR0.c: Use them.
   12485 	* src/output.c (free_itemsets, free_reductions, free_shifts):
   12486 	Remove, replaced by LIST_FREE.
   12487 
   12488 2001-11-19  Akim Demaille  <akim (a] epita.fr>
   12489 
   12490 	* src/state.h (CORE_ALLOC, SHIFTS_ALLOC, ERRS_ALLOC)
   12491 	(REDUCTIONS_ALLOC):  New.
   12492 	* src/LR0.c, src/conflicts.c: Use them to de-obfuscate memory
   12493 	allocation.
   12494 
   12495 2001-11-19  Akim Demaille  <akim (a] epita.fr>
   12496 
   12497 	* src/LR0.c (new_state): Complete trace code.
   12498 	* src/nullable.c (set_nullable): Don't translate traces.
   12499 
   12500 2001-11-19  Akim Demaille  <akim (a] epita.fr>
   12501 
   12502 	* src/print_graph.c (print_core): Better locality of variables.
   12503 	* src/print.c (print_core): Likewise.
   12504 
   12505 2001-11-19  Akim Demaille  <akim (a] epita.fr>
   12506 
   12507 	* src/vcg.c: You do the output, so you are responsible of the
   12508 	handling of VCG syntax, in particular: use quotearg.
   12509 	* src/print_graph.c: Don't.
   12510 	(print_actions): Don't output the actions as part of the nodes,
   12511 	since that's the job of the edges.
   12512 	(print_state): Don't output by hand: fill the node description,
   12513 	and ask for its output.
   12514 
   12515 2001-11-19  Akim Demaille  <akim (a] epita.fr>
   12516 
   12517 	* src/bison.simple (yyparse): When verbosely reporting an error,
   12518 	no longer put additional quotes around token names.
   12519 	* tests/calc.at: Adjust.
   12520 
   12521 2001-11-19  Akim Demaille  <akim (a] epita.fr>
   12522 
   12523 	* src/symtab.h, src/symtab.c: `line' is a new member of `bucket'.
   12524 	* src/reader.c (record_rule_lines, rline, rline_allocated): Remove.
   12525 	* src/output.c: Adjust.
   12526 
   12527 2001-11-19  Akim Demaille  <akim (a] epita.fr>
   12528 
   12529 	* src/gram.h (rprec, rprecsym, rassoc): Remove, now part of...
   12530 	(rule_t): this.
   12531 	* src/conflicts.c, src/reader.c, src/reduce.c: Adjust.
   12532 
   12533 2001-11-19  Akim Demaille  <akim (a] epita.fr>
   12534 
   12535 	* src/gram.h (rule_t): New.
   12536 	(rule_table): New.
   12537 	(rrhs, rlhs): Remove, part of state_t.
   12538 	* src/print_graph.c, src/closure.c, src/conflicts.c, src/derives.c,
   12539 	* src/lalr.c, src/nullable.c, src/output.c, src/print.c,
   12540 	* src/reader.c, src/reduce.c: Adjust.
   12541 
   12542 2001-11-19  Akim Demaille  <akim (a] epita.fr>
   12543 
   12544 	* src/reader.c (symbols_output): New, extracted from...
   12545 	(packsymbols): Here.
   12546 	(reader): Call it.
   12547 
   12548 2001-11-19  Akim Demaille  <akim (a] epita.fr>
   12549 
   12550 	* src/lalr.c (set_maxrhs, maxrhs): Remove, replaced with...
   12551 	(maxrhs): this new function.
   12552 
   12553 2001-11-19  Akim Demaille  <akim (a] epita.fr>
   12554 
   12555 	* src/lalr.c (F): New macro to access the variable F.
   12556 	Adjust.
   12557 
   12558 2001-11-19  Akim Demaille  <akim (a] epita.fr>
   12559 
   12560 	* src/lalr.h (LA): New macro to access the variable LA.
   12561 	* src/output.c, src/lalr.c, src/print_graph.c, src/conflicts.c:
   12562 	* src/lalr.c: Adjust.
   12563 
   12564 2001-11-19  Akim Demaille  <akim (a] epita.fr>
   12565 
   12566 	* src/lalr.c (initialize_LA): Only initialize LA.  Let...
   12567 	(set_state_table): handle the `lookaheads' members.
   12568 
   12569 2001-11-19  Akim Demaille  <akim (a] epita.fr>
   12570 
   12571 	* src/lalr.h (lookaheads): Removed array, whose contents is now
   12572 	a member of...
   12573 	(state_t): this structure.
   12574 	* src/output.c, src/lalr.c, src/print_graph.c, src/conflicts.c:
   12575 	Adjust.
   12576 
   12577 2001-11-19  Akim Demaille  <akim (a] epita.fr>
   12578 
   12579 	* src/lalr.h (consistent): Removed array, whose contents is now
   12580 	a member of...
   12581 	(state_t): this structure.
   12582 	* src/output.c, src/lalr.c, src/print_graph.c, src/conflicts.c:
   12583 	Adjust.
   12584 
   12585 2001-11-19  Akim Demaille  <akim (a] epita.fr>
   12586 
   12587 	* src/lalr.h (reduction_table, shift_table): Removed arrays, whose
   12588 	contents are now members of...
   12589 	(state_t): this structure.
   12590 	* src/output.c, src/lalr.c, src/print_graph.c, src/conflicts.c:
   12591 	Adjust.
   12592 
   12593 2001-11-19  Akim Demaille  <akim (a] epita.fr>
   12594 
   12595 	* src/lalr.h (state_t): New.
   12596 	(state_table): Be a state_t * instead of a core **.
   12597 	(accessing_symbol): Remove, part of state_t.
   12598 	* src/lalr.c: Adjust.
   12599 	(set_accessing_symbol): Merge into...
   12600 	(set_state_table): this.
   12601 	* src/print_graph.c, src/conflicts.c: Adjust.
   12602 
   12603 2001-11-14  Akim Demaille  <akim (a] epita.fr>
   12604 
   12605 	* tests/calc.at, tests/output.at, tests/regression.at,
   12606 	* tests/testsuite.at, tests/torture.at: Rely on Autotest 2.52g:
   12607 	now the tests are run in private dirs, therefore AC_CLEANUP and
   12608 	family can be simplified to 0-ary.
   12609 	* tests/atlocal.in: Now that we run `elsewhere' than in tests/,
   12610 	use abs. path to find config.h.
   12611 	* tests/calc.at (AT_CHECK_CALC): Don't try to check the compiler's
   12612 	stderr, there can be way too much random noise.
   12613 	Instead pass -Werror to GCC and rely on the exit status.
   12614 	Reported by Wolfram Wagner.
   12615 
   12616 2001-11-14  Akim Demaille  <akim (a] epita.fr>
   12617 
   12618 	* src/bison.simple (yyparse): Let yyls1, yyss1 and yyvs1 be
   12619 	defined only if yyoverflow is defined, to avoid `warning: unused
   12620 	variable `yyvs1''.
   12621 	Reported by The Test Suite.
   12622 
   12623 2001-11-14  Akim Demaille  <akim (a] epita.fr>
   12624 
   12625 	* src/print.c: Include reduce.h.
   12626 	Reported by Hans Aberg.
   12627 
   12628 2001-11-14  Akim Demaille  <akim (a] epita.fr>
   12629 
   12630 	* src/lex.c, src/lex.h (token_buffer, unlexed_token_buffer):
   12631 	Revert a previous patch:  these are really const.
   12632 	* src/conflicts.c (conflict_report): Additional useless pair of
   12633 	braces to pacify GCC's warnings for `if () if () {} else {}'.
   12634 	* src/lex.c (parse_percent_token): Replace equal_offset with
   12635 	arg_offset.
   12636 	arg is const.
   12637 	Be sure to strdup `arg' when used, since there is no reason for
   12638 	token_buffer not to change.
   12639 
   12640 2001-11-14  Akim Demaille  <akim (a] epita.fr>
   12641 
   12642 	* src/system.h (EXIT_SUCCESS, EXIT_FAILURE): Ensure a proper
   12643 	definition.
   12644 	* src/main.c (main): Use them.
   12645 	Suggested by Hans Aberg.
   12646 
   12647 2001-11-12  Akim Demaille  <akim (a] epita.fr>
   12648 
   12649 	* src/system.h (ngettext): Now that we use ngettext, be sure to
   12650 	provide a default definition when NLS are not used.
   12651 
   12652 2001-11-12  Akim Demaille  <akim (a] epita.fr>
   12653 
   12654 	* doc/bison.texinfo: Use `$' as shell prompt, not `%'.
   12655 	Use @kbd to denote user input.
   12656 	(Language and Grammar): ANSIfy the example.
   12657 	Adjust its layout for info/notinfo.
   12658 	(Location Tracking Calc): Output error messages to stderr.
   12659 	Output locations in a more GNUtically correct way.
   12660 	Fix a couple of Englishos.
   12661 	Adjust @group/@end group pairs.
   12662 
   12663 2001-11-12  Akim Demaille  <akim (a] epita.fr>
   12664 
   12665 	%expect was not functioning at all.
   12666 
   12667 	* src/conflicts.c (expected_conflicts): Set to -1.
   12668 	(conflict_report): Use ngettext.
   12669 	(conflicts_print): Check %expect and make its violation an error.
   12670 	* doc/bison.texinfo (Expect Decl): Adjust.
   12671 	* configure.in (AM_GNU_GETTEXT): Ask for ngettext.
   12672 	* tests/regression.at (%expect not enough, %expect right)
   12673 	(%expect too much): New.
   12674 
   12675 2001-11-12  Akim Demaille  <akim (a] epita.fr>
   12676 
   12677 	* tests/regression.at (Conflicts): Rename as...
   12678 	(Unresolved SR Conflicts): this.
   12679 	(Solved SR Conflicts): New.
   12680 
   12681 2001-11-12  Akim Demaille  <akim (a] epita.fr>
   12682 
   12683 	* src/reduce.c (print_results): Rename as...
   12684 	(reduce_output): This.
   12685 	Output to OUT, passed as argument, instead of output_obstack.
   12686 	(dump_grammar): Likewise.
   12687 	(reduce_free): New.
   12688 	Also free V1.
   12689 	(reduce_grammar): No longer call reduce_output, since...
   12690 	* src/print.c (print_results): do it.
   12691 	* src/main.c (main): Call reduce_free;
   12692 
   12693 2001-11-12  Akim Demaille  <akim (a] epita.fr>
   12694 
   12695 	* src/conflicts.c (print_reductions): Accept OUT as argument.
   12696 	Output to it, not to output_obstack.
   12697 	* src/print.c (print_actions): Adjust.
   12698 
   12699 2001-11-12  Akim Demaille  <akim (a] epita.fr>
   12700 
   12701 	* src/conflicts.c (count_sr_conflicts, count_rr_conflicts): Return
   12702 	the result instead of using...
   12703 	(src_total, rrc_total, src_count, rrc_count): Remove.
   12704 	(any_conflicts): Remove.
   12705 	(print_conflicts): Split into...
   12706 	(conflicts_print, conflicts_output): New.
   12707 	* src/conflicts.h: Adjust.
   12708 	* src/main.c (main): Invoke both conflicts_output and conflicts_print.
   12709 	* src/print.c (print_grammar): Issue `\n' between two rules.
   12710 	* tests/regression.at (Conflicts): New.
   12711 	Reported by Tom Lane.
   12712 
   12713 2001-11-12  Akim Demaille  <akim (a] epita.fr>
   12714 
   12715 	* tests/regression.at (Invalid input): Remove, duplicate with
   12716 	``Invalid input: 1''.
   12717 
   12718 2001-11-12  Akim Demaille  <akim (a] epita.fr>
   12719 
   12720 	* tests/torture.at (AT_DATA_STACK_TORTURE)
   12721 	(Exploding the Stack Size with Alloca)
   12722 	(Exploding the Stack Size with Malloc): New.
   12723 
   12724 2001-11-12  Akim Demaille  <akim (a] epita.fr>
   12725 
   12726 	* src/bison.simple (YYSTACK_REALLOC): New.
   12727 	(yyparse) [!yyoverflow]: Use it and free the old stack.
   12728 	Reported by Per Allansson.
   12729 
   12730 2001-11-12  Pascal Bart  <pascal.bart (a] epita.fr>
   12731 
   12732 	* src/bison.simple: Define type yystype instead of YYSTYPE, and
   12733 	define CPP macro, which substitute YYSTYPE by yystype.
   12734 	* src/reader.c (parse_union_decl): Output yystype/YYSTYPE as we do
   12735 	with yyltype/YYLTYPE.  This allows inclusion of the generated
   12736 	header within the parser if the compiler, such as GGC, accepts
   12737 	multiple equivalent #defines.
   12738 	From Akim.
   12739 
   12740 2001-11-05  Akim Demaille  <akim (a] epita.fr>
   12741 
   12742 	* src/reader.c (symbols_output): New, extracted from...
   12743 	(packsymbols): here.
   12744 	(reader): Adjust.
   12745 
   12746 2001-11-05  Akim Demaille  <akim (a] epita.fr>
   12747 
   12748 	* src/lex.c (parse_percent_token): s/quotearg/quote/.
   12749 
   12750 2001-11-05  Akim Demaille  <akim (a] epita.fr>
   12751 
   12752 	* tests/regression.at (AT_TEST_CPP_GUARD_H): Adjust the clean up
   12753 	pattern.
   12754 
   12755 2001-11-05  Akim Demaille  <akim (a] epita.fr>
   12756 
   12757 	* src/options.h (struct option_table_struct): set_flags is void*.
   12758 	* src/options.c (longopts): Support `--output' and `%output'.
   12759 	(usage): Adjust.
   12760 	* src/lex.h (tok_setopt): Remove, replaced with...
   12761 	(tok_intopt, tok_stropt): these new guys.
   12762 	* src/lex.c (getopt.h): Not needed.
   12763 	(token_buffer, unlexed_token_buffer): Not const.
   12764 	(percent_table): Promote `-' over `_' in directive names.
   12765 	Active `%name-prefix', `file-prefix', and `output'.
   12766 	(parse_percent_token): Accept possible arguments to directives.
   12767 	Promote `-' over `_' in directive names.
   12768 
   12769 2001-11-04  Akim Demaille  <akim (a] epita.fr>
   12770 
   12771 	* doc/bison.texinfo (Decl Summary): Split the list into
   12772 	`directives for grammars' and `directives for bison'.
   12773 	Sort'em.
   12774 	Add description of `%name-prefix', `file-prefix', and `output'.
   12775 	Promote `-' over `_' in directive names.
   12776 	(Bison Options): s/%locactions/%locations/.  Nice Freudian slip.
   12777 	Simplify the description of `--name-prefix'.
   12778 	Promote `-' over `_' in directive names.
   12779 	Promote `--output' over `--output-file'.
   12780 	Fix the description of `--defines'.
   12781 	* tests/output.at: Exercise %file-prefix and %output.
   12782 
   12783 2001-11-02  Akim Demaille  <akim (a] epita.fr>
   12784 
   12785 	* doc/refcard.tex: Update.
   12786 
   12787 2001-11-02  Akim Demaille  <akim (a] epita.fr>
   12788 
   12789 	* src/symtab.h (SUNDEF): New.
   12790 	* src/symtab.c (bucket_new): Init user_token_number to SUNDEF to
   12791 	stand for `uninitialized', instead of 0.
   12792 	* src/reader.c (packsymbols, parse_thong_decl): Adjust.
   12793 	* src/lex.c (lex): Adjust.
   12794 
   12795 	* tests/calc.at (_AT_DATA_CALC_Y): Declare a token for EOF.
   12796 	Number it 0.
   12797 	Let yylex return it instead of a plain 0.
   12798 	Reported by Dick Streefland.
   12799 
   12800 2001-11-02  Akim Demaille  <akim (a] epita.fr>
   12801 
   12802 	* tests/regression.at (Mixing %token styles): New test.
   12803 
   12804 2001-11-02  Akim Demaille  <akim (a] epita.fr>
   12805 
   12806 	* src/reader.c (parse_thong_decl): Formatting changes.
   12807 	(token_translations_init): New, extracted from...
   12808 	(packsymbols): Here.
   12809 	Adjust.
   12810 
   12811 2001-11-01  Akim Demaille  <akim (a] epita.fr>
   12812 
   12813 	* tests/regression.at (AT_TEST_CPP_GUARD_H): New.
   12814 	Check that `9foo.y' produces correct cpp guards.
   12815 	* src/files.c (compute_header_macro): Prepend `BISON_' to CPP
   12816 	guards.
   12817 	Reported by Wwp.
   12818 
   12819 2001-11-01  Akim Demaille  <akim (a] epita.fr>
   12820 
   12821 	* tests/regression.at (Invalid input: 2): New.
   12822 	* src/lex.c (unlexed_token_buffer): New.
   12823 	(lex, unlex): Adjust: when unlexing, be sure to save token_buffer
   12824 	too.
   12825 	Reported by Wwp.
   12826 
   12827 2001-11-01  Akim Demaille  <akim (a] epita.fr>
   12828 
   12829 	* tests/calc.at: Catch up with 1.30.
   12830 	* configure.in: Bump to 1.49a.
   12831 	Adjust to newer Autotest.
   12832 
   12833 2001-10-19  Pascal Bart  <pascal.bart (a] epita.fr>
   12834 
   12835 	* src/conflicts.c: Move global variables rrc_total and src_total ...
   12836 	(print_conflicts): here.
   12837 	* src/output.c (output): Free global variable user_toknums.
   12838 	* src/lex.c (token_obstack): Become static.
   12839 
   12840 2001-10-18  Akim Demaille  <akim (a] epita.fr>
   12841 
   12842 	* tests/atlocal.in (GCC): Add.
   12843 	* tests/calc.at: s/m4_match/m4_bmatch/.
   12844 	s/m4_patsubst/m4_bpatsubst/.
   12845 	(AT_CHECK_CALC): Check the compiler's stderr only if it's GCC.
   12846 	* configure.in: AC_SUBST(GCC).
   12847 
   12848 2001-10-14  Marc Autret  <autret_m (a] epita.fr>
   12849 
   12850 	* src/options.c (create_long_option_table): Fix.
   12851 
   12852 2001-10-10  Akim Demaille  <akim (a] epita.fr>
   12853 
   12854 	* src/bison.simple: Be sure to set YYSTACK_USE_ALLOCA.
   12855 
   12856 2001-10-04  Akim Demaille  <akim (a] epita.fr>
   12857 
   12858 	* src/reader.c (parse_union_decl): Push the caracters in
   12859 	union_obstack, not attrs_obstack.
   12860 
   12861 2001-10-04  Akim Demaille  <akim (a] epita.fr>
   12862 
   12863 	Merge in the branch 1.29.
   12864 
   12865 	* src/reader.c (packsymbols): Use a temporary obstack for
   12866 	`%%tokendef', since output_stack is already used elsewhere.
   12867 
   12868 	2001-10-02  Akim Demaille  <akim (a] epita.fr>
   12869 
   12870 	Bump 1.29d.
   12871 
   12872 	2001-10-02  Akim Demaille  <akim (a] epita.fr>
   12873 
   12874 	Version 1.29c.
   12875 
   12876 	2001-10-02  Akim Demaille  <akim (a] epita.fr>
   12877 
   12878 	* tests/regression.at (Invalid CPP headers): New.
   12879 	From Alexander Belopolsky.
   12880 	* src/files.c (compute_header_macro): Map non alnum chars to `_'.
   12881 
   12882 	2001-10-02  Akim Demaille  <akim (a] epita.fr>
   12883 
   12884 	* tests/regression.at (Invalid input): New.
   12885 	* src/lex.c (lex): Be sure to set `token_buffer' in any case.
   12886 	Reported by Shura.
   12887 
   12888 	2001-10-02  Akim Demaille  <akim (a] epita.fr>
   12889 
   12890 	* tests/calc.at: Now that --debug works, the tests must be adjusted.
   12891 
   12892 	2001-10-02  Akim Demaille  <akim (a] epita.fr>
   12893 
   12894 	* src/output.c (output_parser): Assert `skeleton'.
   12895 	* src/files.c (skeleton_find): Look harder for skeletons on DOSish
   12896 	systems.
   12897 	From Shura.
   12898 
   12899 	2001-10-01  Marc Autret  <autret_m (a] epita.fr>
   12900 
   12901 	* src/lex.h: Echo modifications.
   12902 	* src/lex.c (unlex): Parameter is now token_t.
   12903 	From Hans Aberg.
   12904 
   12905 	2001-10-01  Marc Autret  <autret_m (a] epita.fr>
   12906 
   12907 	* src/main.c: Include lex.h.
   12908 	From Hans Aberg.
   12909 
   12910 	2001-09-29  Akim Demaille  <akim (a] epita.fr>
   12911 
   12912 	* src/getargs.c (longopts): `--debug' is `-t', not `-d'.
   12913 
   12914 	2001-09-28  Akim Demaille  <akim (a] epita.fr>
   12915 
   12916 	* tests/testsuite.at: Update to newer Autotest.
   12917 	* tests/Makefile.am (EXTRA_DIST): bison is not to be shipped.
   12918 
   12919 	2001-09-27  Akim Demaille  <akim (a] epita.fr>
   12920 
   12921 	Position independent wrapper.
   12922 
   12923 	* tests/bison: Remove.
   12924 	* tests/bison.in: New.
   12925 	* configure.in: Adjust.
   12926 
   12927 	2001-09-27  Paul Eggert  <eggert (a] twinsun.com>
   12928 
   12929 	Port quotearg fixes from tar 1.13.24.
   12930 
   12931 	* lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
   12932 	tm to be declared.
   12933 	(HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
   12934 	(mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
   12935 
   12936 	* m4/Makefile.am (EXTRA_DIST): Add mbrtowc.m4.
   12937 	* m4/mbrtowc.m4: New file.
   12938 	* m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for mbsinit and stddef.h.
   12939 	Use jm_FUNC_MBRTOWC instead of AC_CHECK_FUNCS(mbrtowc).
   12940 
   12941 	2001-09-27  Akim Demaille  <akim (a] epita.fr>
   12942 
   12943 	Bump to 1.29c.
   12944 
   12945 	2001-09-27  Akim Demaille  <akim (a] epita.fr>
   12946 
   12947 	Version 1.29b.
   12948 
   12949 	2001-09-25  Akim Demaille  <akim (a] epita.fr>
   12950 
   12951 	* src/system.h: Include `xalloc.h'.
   12952 	Remove it from the C files.
   12953 	* src/files.c (output_files): Free the obstacks.
   12954 	* src/lex.c (init_lex): Rename as...
   12955 	(lex_init): this.
   12956 	(lex_free): New.
   12957 	* src/main.c (main): Use it.
   12958 
   12959 	2001-09-24  Marc Autret  <autret_m (a] epita.fr>
   12960 
   12961 	* src/vcg.c (open_edge, close_edge, open_node, close_node): Change
   12962 	to output informations in fout (FILE*).
   12963 	(open_graph, close_graph): Likewise.
   12964 	(output_graph, output_edge, output_node): Likewise.
   12965 	* src/vcg.h: Update function prototypes.
   12966 	* src/print_graph.c (print_graph): Open output graph file.
   12967 	(print_actions): Adjust.
   12968 	* src/files.h: Remove extern declaration.
   12969 	* src/files.c: Remove graph_obstack declaration.
   12970 	(open_files): Remove graph_obstack initialization.
   12971 	(output_files): Remove graph_obstack saving.
   12972 
   12973 	2001-09-24  Marc Autret  <autret_m (a] epita.fr>
   12974 
   12975 	* src/files.c (compute_output_file_names): Fix.
   12976 
   12977 	2001-09-24  Marc Autret  <autret_m (a] epita.fr>,
   12978 		    Akim Demaille  <akim (a] epita.fr>
   12979 
   12980 	* src/reader.c (reader): Remove call to free_symtab ().
   12981 	* src/main.c (main): Call it here.
   12982 	Include symtab.h.
   12983 	* src/conflicts.c (initialize_conflicts): Rename as...
   12984 	(solve_conflicts): this.
   12985 	* src/print.c (print_core, print_actions, print_state)
   12986 	(print_grammar): Dump to a file instead a `output_obstack'.
   12987 	(print_results): Dump `output_obstack', and then proceed with the
   12988 	FILE *.
   12989 	* src/files.c (compute_output_file_names, close_files): New.
   12990 	(output_files): Adjust.
   12991 	* src/main.c (main): Adjust.
   12992 
   12993 	2001-09-23  Marc Autret  <autret_m (a] epita.fr>
   12994 
   12995 	* src/files.c (compute_header_macro): Computes header macro name
   12996 	from spec_defines_file when given.
   12997 
   12998 	2001-09-23  Marc Autret  <autret_m (a] epita.fr>
   12999 
   13000 	* src/files.c (output_files): Add default extensions.
   13001 
   13002 	2001-09-22  Akim Demaille  <akim (a] epita.fr>
   13003 
   13004 	* src/conflicts.c (finalize_conflicts): Rename as...
   13005 	(free_conflicts): this.
   13006 
   13007 	2001-09-22  Akim Demaille  <akim (a] epita.fr>
   13008 
   13009 	* src/gram.c (gram_free): Rename back as...
   13010 	(dummy): this.
   13011 	(output_token_translations): Free `token_translations'.
   13012 	* src/symtab.c (free_symtab): Free the tag field.
   13013 
   13014 	2001-09-22  Akim Demaille  <akim (a] epita.fr>
   13015 
   13016 	Remove `translations' as it is always set to true.
   13017 
   13018 	* src/gram.h: Adjust.
   13019 	* src/reader.c (packsymbols, parse_token_decl): Adjust
   13020 	* src/print.c (print_grammar): Adjust.
   13021 	* src/output.c (output_token_translations): Adjust.
   13022 	* src/lex.c (lex): Adjust.
   13023 	* src/gram.c: Be sure the set pointers to NULL.
   13024 	(dummy): Rename as...
   13025 	(gram_free): this.
   13026 
   13027 	2001-09-22  Akim Demaille  <akim (a] epita.fr>
   13028 
   13029 	* configure.in: Invoke AM_LIB_DMALLOC.
   13030 	* src/system.h: Use dmalloc.
   13031 	* src/LR0.c: Be sure to have pointers initialized to NULL.
   13032 	(allocate_itemsets): Allocate kernel_items only if needed.
   13033 
   13034 	2001-09-22  Akim Demaille  <akim (a] epita.fr>
   13035 
   13036 	* configure.in: Bump to 1.29b.
   13037 	* tests/Makefile.am (DISTCLEANFILES): Add package.m4.
   13038 	* tests/calc.at (_AT_DATA_CALC_Y): #undef malloc so that we don't
   13039 	need xmalloc.c in calc.y.
   13040 	From Pascal Bart.
   13041 
   13042 	2001-09-21  Akim Demaille  <akim (a] epita.fr>
   13043 
   13044 	Version 1.29a.
   13045 	* Makefile.maint, config/config.guess, config/config.sub,
   13046 	* config/missing: Update from masters.
   13047 	* tests/Makefile.am ($(srcdir)/$(TESTSUITE)): No longer depend
   13048 	upon package.m4.
   13049 	* configure.in (ALL_LINGUAS): Add `tr'.
   13050 
   13051 	2001-09-21  Akim Demaille  <akim (a] epita.fr>
   13052 
   13053 	* tests/Makefile.am (package.m4): Move to...
   13054 	($(srcdir)/$(TESTSUITE)): here.
   13055 
   13056 	2001-09-20  Akim Demaille  <akim (a] epita.fr>
   13057 
   13058 	* src/complain.c: No longer try to be standalone: use system.h.
   13059 	Don't assume __STDC__ is defined to 1. Just test if it is defined.
   13060 	* src/complain.h: Likewise.
   13061 	* src/reduce.c (useless_nonterminals, inaccessable_symbols):
   13062 	Remove the unused variable `n'.
   13063 	From Albert Chin-A-Young.
   13064 
   13065 	2001-09-18  Marc Autret  <autret_m (a] epita.fr>
   13066 
   13067 	* doc/bison.1: Update.
   13068 	* doc/bison.texinfo (Bison Options): Update --defines and --graph
   13069 	descriptions.
   13070 	(Option Cross Key): Update.
   13071 	Add --graph.
   13072 
   13073 	2001-09-18  Marc Autret  <autret_m (a] epita.fr>
   13074 
   13075 	* tests/regression.at: New test (comment in %union).
   13076 
   13077 	2001-09-18  Marc Autret  <autret_m (a] epita.fr>
   13078 
   13079 	* src/reader.c (parse_union_decl): Do not output '/'. Let copy_comment
   13080 	do that.
   13081 	Reported by Keith Browne.
   13082 
   13083 	2001-09-18  Marc Autret  <autret_m (a] epita.fr>
   13084 
   13085 	* tests/output.at: Add tests for --defines and --graph.
   13086 
   13087 	2001-09-18  Marc Autret  <autret_m (a] epita.fr>
   13088 
   13089 	* tests/output.at: Removes tests of %{header,src}_extension features.
   13090 
   13091 	2001-09-18  Akim Demaille  <akim (a] epita.fr>
   13092 
   13093 	* tests/Makefile.am (package.m4): New.
   13094 	* tests/calc.at (_AT_CHECK_CALC): Just run `calc input'.
   13095 	(_AT_CHECK_CALC_ERROR): Likewise.
   13096 	Factor the `, ' part of verbose error messages.
   13097 
   13098 	2001-09-18  Marc Autret  <autret_m (a] epita.fr>
   13099 
   13100 	* src/getargs.c (longopts): Declare --defines and --graph as options
   13101 	with optional arguments.
   13102 	* src/files.h: Add extern declarations.
   13103 	* src/files.c (spec_graph_file, spec_defines_file): New.
   13104 	(output_files): Update.
   13105 	Remove CPP-outed code.
   13106 
   13107 	2001-09-18  Marc Autret  <autret_m (a] epita.fr>
   13108 
   13109 	Turn off %{source,header}_extension feature.
   13110 
   13111 	* src/files.c (compute_exts_from_gf): Update.
   13112 	(compute_exts_from_src): Update.
   13113 	(output_files): CPP-out useless code.
   13114 	* src/files.h: Remove {header,source}_extension extern declarations.
   13115 	* src/reader.c (parse_dquoted_param): CPP-out.
   13116 	(parse_header_extension_decl): Remove.
   13117 	(parse_source_extension_decl): Remove.
   13118 	(read_declarations): Remove cases tok_{hdrext,srcext}.
   13119 	* src/lex.c (percent_table): Remove {header,source}_extension entries.
   13120 	* src/lex.h (token_t): Remove tok_hdrext and tok_srcext.
   13121 
   13122 	2001-09-10  Akim Demaille  <akim (a] epita.fr>
   13123 
   13124 	* tests/output.at (AT_CHECK_BISON_FLAGS, AT_CHECK_BISON_PERCENT):
   13125 	(AT_CHECK_BISON_PERCENT_FLAGS): Merge into...
   13126 	(AT_CHECK_OUTPUT): this.
   13127 	Merely check ls' exit status, its output is useless.
   13128 
   13129 	2001-09-10  Akim Demaille  <akim (a] epita.fr>
   13130 
   13131 	* tests/calc.at: Use m4_match.
   13132 	(_AT_DATA_CALC_Y): Check `yyin != NULL', not `stdin != NULL'.
   13133 
   13134 	2001-09-10  Marc Autret  <autret_m (a] epita.fr>,
   13135 		    Akim Demaille  <akim (a] epita.fr>
   13136 
   13137 	* src/vcg.h (graph_s): color, textcolor, bordercolor are now
   13138 	enum color_e.
   13139 	* src/print_graph.c (print_graph): Initalize graph.layoutalgorithm
   13140 	to `normal'.
   13141 	* src/reader.c (parse_token_decl): Initialize token with tok_eof.
   13142 	* src/lex.h: Adjust prototype.
   13143 	(token_t): Add `tok_undef'.
   13144 	* src/lex.c (struct percent_table_struct): Retval is now a token_t.
   13145 	(parse_percent_token): Now returns token_t.
   13146 	Add default statement in switch.
   13147 	(lex): Separate `c' as an input variable, from the token_t result
   13148 	part.
   13149 	(unlexed): Is a token_t.
   13150 
   13151 	2001-09-10  Akim Demaille  <akim (a] epita.fr>
   13152 
   13153 	* configure.in: Bump to 1.29a.
   13154 
   13155 	2001-09-07  Akim Demaille  <akim (a] epita.fr>
   13156 
   13157 	Version 1.29.
   13158 
   13159 	2001-08-30  Akim Demaille  <akim (a] epita.fr>
   13160 
   13161 	* tests/atgeneral.m4, tests/atconfig.in, tests/suite.at: Remove.
   13162 	* m4/atconfig.m4: Remove.
   13163 	* tests/testsuite.at, tests/atlocal.in, tests/output.at,
   13164 	* tests/bison: New.
   13165 	* tests/regression.at, tests/calc.at: Use m4_define, AT_BANNER,
   13166 	m4_if, m4_patsubst, and m4_regexp.
   13167 	* tests/calc.at (_AT_CHECK_CALC, _AT_CHECK_CALC_ERROR): Use an
   13168 	`input' file instead of echo.
   13169 
   13170 	2001-08-29  Akim Demaille  <akim (a] epita.fr>
   13171 
   13172 	Bump to 1.28e.
   13173 
   13174 	2001-08-29  Akim Demaille  <akim (a] epita.fr>
   13175 
   13176 	Version 1.28d.
   13177 
   13178 	2001-08-29  Paul Eggert  <eggert (a] twinsun.com>
   13179 
   13180 	* src/bison.simple (yyparse): Don't take the address of an
   13181 	item before the start of an array, as that doesn't conform to
   13182 	the C Standard.
   13183 
   13184 	2001-08-29  Robert Anisko  <anisko_r (a] epita.fr>
   13185 
   13186 	* doc/bison.texinfo (Location Tracking Calc): New node.
   13187 
   13188 	2001-08-29  Paul Eggert  <eggert (a] twinsun.com>
   13189 
   13190 	* src/output.c (output): Do not define const, as this now
   13191 	causes more problems than it cures.
   13192 
   13193 	2001-08-29  Akim Demaille  <akim (a] epita.fr>
   13194 
   13195 	* doc/bison.texinfo: Modernize `@node' and `@top' use: just name
   13196 	the nodes.
   13197 	Be sure to tag the `detailmenu'.
   13198 
   13199 	2001-08-29  Akim Demaille  <akim (a] epita.fr>
   13200 
   13201 	* Makefile.maint (do-po-update): Wget refuses to overwrite files:
   13202 	download in a tmp dir.
   13203 
   13204 	2001-08-28  Marc Autret  <autret_m (a] epita.fr>
   13205 
   13206 	* config/depcomp: New file.
   13207 
   13208 	2001-08-28  Marc Autret  <autret_m (a] epita.fr>
   13209 
   13210 	* doc/bison.1 (mandoc): Adjust.
   13211 	From Juan Manuel Guerrero.
   13212 
   13213 	2001-08-28  Marc Autret  <autret_m (a] epita.fr>
   13214 
   13215 	* src/print_graph.c (print_state): Fix.
   13216 
   13217 	2001-08-27  Marc Autret  <autret_m (a] epita.fr>
   13218 
   13219 	* src/vcg.h (classname_s, infoname_s, node_s): Constify the
   13220 	char * members.
   13221 	Echo modifications to the functions prototypes.
   13222 	* src/vcg.c (add_classname, add_infoname): Adjust arguments.
   13223 
   13224 	2001-08-27  Marc Autret  <autret_m (a] epita.fr>
   13225 
   13226 	* src/vcg.c: Include `xalloc.h'.
   13227 	(add_colorentry): New.
   13228 	(add_classname): New.
   13229 	(add_infoname): New.
   13230 	* src/vcg.h: Add new prototypes.
   13231 
   13232 	2001-08-27  Akim Demaille  <akim (a] epita.fr>
   13233 
   13234 	* Makefile.maint: Sync. again with CVS Autoconf.
   13235 
   13236 	2001-08-27  Akim Demaille  <akim (a] epita.fr>
   13237 
   13238 	* Makefile.maint: Formatting changes.
   13239 	(po-update, cvs-update, update): New targets.
   13240 	(AMTAR): Remove.
   13241 
   13242 	2001-08-27  Akim Demaille  <akim (a] epita.fr>
   13243 
   13244 	* Makefile.am (AUTOMAKE_OPTIONS): 1.5.
   13245 	* Makefile.maint: Sync. with CVS Autoconf.
   13246 
   13247 	2001-08-27  Marc Autret  <autret_m (a] epita.fr>
   13248 
   13249 	* src/vcg.h (struct infoname_s): New.
   13250 	(struct colorentry_s): New.
   13251 	(graph_s): New fields {vertical,horizontal}_order in structure.
   13252 	Add `infoname' field.
   13253 	Add `colorentry' field;
   13254 	* src/vcg_defaults.h (G_VERTICAL_ORDER): New.
   13255 	(G_HORIZONTAL_ORDER): New.
   13256 	(G_INFONAME): New.
   13257 	(G_COLORENTRY): New.
   13258 	* src/vcg.c (output_graph): Add output of {vertical,horizontal}_order.
   13259 	Add output of `infoname'.
   13260 	Add output of `colorentry'.
   13261 
   13262 	2001-08-27  Marc Autret  <autret_m (a] epita.fr>
   13263 
   13264 	* src/reader.c (parse_dquoted_param): Rename variable `index' to `i'.
   13265 	This one shadowed a global parameter.
   13266 
   13267 	2001-08-24  Marc Autret  <autret_m (a] epita.fr>
   13268 
   13269 	* src/print_graph.c (node_output_size): Declared POSIX `size_t' type,
   13270 	instead of `unsigned'.
   13271 	(print_state): Do not call obstack_object_size () in obstack_grow ()
   13272 	to avoid macro variables shadowing.
   13273 
   13274 	2001-08-23  Marc Autret  <autret_m (a] epita.fr>
   13275 
   13276 	* src/lex.c (percent_table): Typo: s/naem/name/.
   13277 	Add graph option.
   13278 	Normalize new options declarations.
   13279 
   13280 	2001-08-20  Pascal Bart  <pascal.bart (a] epita.fr>
   13281 
   13282 	* tests/suite.at: Exercise %header_extension and %source_extension.
   13283 
   13284 	2001-08-16  Marc Autret  <autret_m (a] epita.fr>
   13285 
   13286 	* src/reader.c (parse_dquoted_param): New.
   13287 	(parse_header_extension_decl): Use it.
   13288 	(parse_source_extension_decl): Likewise.
   13289 
   13290 	2001-08-16  Marc Autret  <autret_m (a] epita.fr>
   13291 
   13292 	* src/vcg.c: Remove includes of `complain.h' and `xalloc.h'.
   13293 	(get_xxxx_str): Use assert () instead of complain ().
   13294 	Remove return invokations in default cases.
   13295 	(get_decision_str): Modify default behaviour. Remove second argument.
   13296 	Echo modifications on calls.
   13297 	(output_graph): Fix.
   13298 
   13299 	2001-08-16  Marc Autret  <autret_m (a] epita.fr>
   13300 
   13301 	* src/getargs.c (usage): Update with ``-g, --graph''.
   13302 
   13303 	2001-08-16  Marc Autret  <autret_m (a] epita.fr>
   13304 
   13305 	* doc/bison.texinfo (Bison Options): Add items `-g', `--graph'.
   13306 	(Option Cross Key): Likewise.
   13307 	* doc/bison.1: Update.
   13308 
   13309 2001-09-25  Pascal Bart  <pascal.bart (a] epita.fr>
   13310 
   13311 	* src/output.c (output_master_parser): Don't finish action_obstack.
   13312 	(output_parser): Don't care about the muscle action, here.
   13313 	(prepare): Copy the action_obstack in the action muscle.
   13314 	(output): Free action_obstack.
   13315 
   13316 2001-09-23  Pascal Bart  <pascal.bart (a] epita.fr>
   13317 
   13318 	* src/reader.c (parse_union_decl): Add new obstack union_obstack.  Which
   13319 	will contain `%union' declaration.
   13320 	(parse_union_decl): Delete #line directive output.
   13321 	(parse_union_decl): Substitute /attrs_obstack/union_obstack for all
   13322 	informations about %union.
   13323 	(parse_union_decl): Copy the union_obstack in the muscle stype.
   13324 	* src/bison.simple: Add new #line directive.
   13325 	Add typdef %%stype YYSTYPE.
   13326 
   13327 2001-09-23  Pascal Bart  <pascal.bart (a] epita.fr>
   13328 
   13329 	* src/bison.simple: Add new `#line' directive.
   13330 
   13331 2001-09-22  Pascal Bart  <pascal.bart (a] epita.fr>
   13332 
   13333 	* src/bison.simple: New `#line' directive.
   13334 	* src/output.c (output_parser): Support new dynamic muscle input_line.
   13335 
   13336 2001-09-22  Marc Autret  <autret_m (a] epita.fr>
   13337 
   13338 	* src/output.c (output_master_parser): New.
   13339 	(output_parser): Be more re-entrant.
   13340 
   13341 2001-09-21  Marc Autret  <autret_m (a] epita.fr>
   13342 
   13343 	* src/reader.c (copy_definition, parse_union_decl): Update and use
   13344 	`linef' muscle.
   13345 	(copy_action): Likewise.
   13346 	Use obstack_1grow ().
   13347 	* src/muscle_tab.c (muscle_init): Add muscle `linef'.
   13348 
   13349 2001-09-21  Marc Autret  <autret_m (a] epita.fr>
   13350 
   13351 	* src/options.c (option_table): Adjust.
   13352 	* src/lex.c (parse_percent_token): Fix.
   13353 
   13354 2001-09-20  Pascal Bart  <pascal.bart (a] epita.fr>
   13355 
   13356 	* src/options.c (symtab.h): Include it, need by lex.h.
   13357 
   13358 2001-09-20  Pascal Bart  <pascal.bart (a] epita.fr>
   13359 
   13360 	* src/lex.c (parse_percent_token): Change type of variable `tx', which
   13361 	is now an option_table_struct*.
   13362 	(option_strcmp): New function option_strcmp.
   13363 	(parse_percent_token): Call option_strcmp.
   13364 	* src/getargs.c (xalloc.h, options.h): Include it.
   13365 	(getargs): Call create_long_option_table.
   13366 	(getargs): Free longopts at the end of the function.
   13367 	(shortopts): Move in options.c.
   13368 	* src/options.c (create_long_option_table): New function.  Convert
   13369 	information from option_table to option structure.
   13370 	* src/reader.c (options.h): Include it.
   13371 
   13372 	* src/Makefile.am: Adjust.
   13373 	* src/options.c (option_table): Create from longopts and percent_table.
   13374 	* src/getargs.c (longopts): Delete.
   13375 	* src/lex.c (struct percent_table_struct): Delete.
   13376 	(percent_table): Delete.
   13377 	(options.h): Include it.
   13378 	* src/options.c: Create.
   13379 	* src/options.h: Create.
   13380 	Declare enum opt_access_e.
   13381 	Define struct option_table_struct.
   13382 
   13383 2001-09-20  Marc Autret  <autret_m (a] epita.fr>
   13384 
   13385 	* doc/bison.texinfo: Adjust terminologies about prologue and epilogue
   13386 	sections of Bison.
   13387 
   13388 2001-09-19  Pascal Bart  <pascal.bart (a] epita.fr>
   13389 
   13390 	* src/bison.simple: s/%%filename/%%skeleton.
   13391 	* src/muscle_tab.c (getargs.h): Include it.
   13392 	(muscle_init): Insert new muscle skeleton.
   13393 
   13394 2001-09-18  Pascal Bart  <pascal.bart (a] epita.fr>
   13395 
   13396 	* src/output.c (output_parser): Delete unused variable actions_dumped.
   13397 
   13398 2001-09-07  Pascal Bart  <pascal.bart (a] epita.fr>
   13399 
   13400 	* src/output.c (output): Delete call to reader_output_yylsp.
   13401 	* src/reader.c (reader): Likewise.
   13402 	* src/reader.h: Delete declaration of reader_output_yylsp.
   13403 
   13404 2001-09-02  Marc Autret  <autret_m (a] epita.fr>
   13405 
   13406 	* src/reader.c: Include muscle_tab.h.
   13407 	(parse_union_decl): Update.
   13408 	(parse_macro_decl): Rename parse_muscle_decl.
   13409 	Update to use renamed functions and variable.
   13410 	(read_declarations, copy_action, read_additionnal_code, : Updated
   13411 	with correct variables and functions names.
   13412 	(packsymbols, reader): Likewise.
   13413 
   13414 	* src/reader.h (muscle_obstack): Extern declaration update.
   13415 
   13416 	* src/output.c: Include muscle_tab.h
   13417 	In all functions using macro_insert, change by using muscle_insert ().
   13418 	(macro_obstack): Rename muscle_obstack.
   13419 	Echo modifications in the whole file.
   13420 	(MACRO_INSERT_INT): Rename MUSCLE_INSERT_INT.
   13421 	(MACRO_INSERT_STRING): Rename MUSCLE_INSERT_STRING.
   13422 	(MACRO_INSERT_PREFIX): Rename MUSCLE_INSERT_PREFIX.
   13423 
   13424 	* src/muscle_tab.h: Update double inclusion macros.
   13425 	(macro_entry_s): Rename muscle_entry_s.
   13426 	Update prototypes.
   13427 
   13428 	* src/muscle_tab.c: Include muscle_tab.h.
   13429 	Rename macro_tabble to muscle_table.
   13430 	(mhash1, mhash2, mcmp): Use muscle_entry.
   13431 	(macro_init): Rename muscle_init. Update.
   13432 	(macro_insert): Rename muscle_insert. Update.
   13433 	(macro_find): Rename muscle_find. Update.
   13434 
   13435 	* src/main.c: Include muscle_tab.h.
   13436 	(main): Call muscle_init ().
   13437 	* src/Makefile.am (bison_SOURCES): Echo modifications.
   13438 
   13439 2001-09-02  Marc Autret  <autret_m (a] epita.fr>
   13440 
   13441 	Now the files macro_tab.[ch] are named muscle_tab.[ch].
   13442 
   13443 	* src/muscle_tab.c, src/muscle_tab.h: Add files.
   13444 
   13445 2001-09-02  Marc Autret  <autret_m (a] epita.fr>
   13446 
   13447 	* src/macrotab.c, src/macrotab.h: Remove.
   13448 
   13449 2001-09-01  Pascal Bart  <pascal.bart (a] epita.fr>
   13450 
   13451 	* src/reader.c (copy_guard): Use muscle to specify the `#line'
   13452 	filename.
   13453 
   13454 2001-09-01  Marc Autret  <autret_m (a] epita.fr>
   13455 
   13456 	* tests/calc.at (exp): Now, YYERROR_VERBOSE need to be set
   13457 	to an explicit value to activate the feature. We do it here.
   13458 
   13459 2001-08-31  Pascal Bart  <pascal.bart (a] epita.fr>
   13460 
   13461 	* src/output.c (prepare): Delete the `filename' muscule insertion.
   13462 	* src/reader.c (copy_action): Use `filename' muscule with `#line'.
   13463 	(parse_union_decl): Likewise.
   13464 	* src/macrotab.c (macro_init): Initialize filename by infile.
   13465 
   13466 2001-08-31  Marc Autret  <autret_m (a] epita.fr>
   13467 
   13468 	* src/bison.simple (YYLSP_NEEDED): New definition.
   13469 	* src/output.c (prepare): Add macro insertion of `locations_flag'
   13470 
   13471 2001-08-31  Pascal Bart  <pascal.bart (a] epita.fr>
   13472 
   13473 	* src/output.c (prepare): Delete insertion of previous muscles,
   13474 	and insert the `prefix' muscles.
   13475 	* src/macrotab.c (macro_init): Likewise.
   13476 	(macro_init): Initialization prefix directive by `yy'.
   13477 	* src/bison.simple: Substitute all %%yylex, %%yychar, %%yylval,
   13478 	%%yydebug, %%yyerror, %%yynerrs and %%yyparse by yylex, yychar,
   13479 	yylval, yydebug, yyerror, yynerrs and yyparse.
   13480 	New directive `#define' to substitute yydebug, ... with option
   13481 	name_prefix.
   13482 
   13483 2001-08-31  Pascal Bart  <pascal.bart (a] epita.fr>
   13484 
   13485 	* src/main.c (main): Standardize.
   13486 	* src/output.c (output_table_data, output_parser): Likewise.
   13487 	* src/macrotab.h, src/macrotab.c, src/bison.simple: Likewise.
   13488 
   13489 2001-08-31  Pascal Bart  <pascal.bart (a] epita.fr>, Marc Autret  <autret_m (a] epita.fr>
   13490 
   13491 	* src/reader.c (read_additionnal_code): Rename %%user_code to
   13492 	%%epilogue.
   13493 	* src/output.c (output): Rename %%declarations to %%prologue.
   13494 	* src/bison.simple: Echo modifications.
   13495 
   13496 2001-08-31  Marc Autret  <autret_m (a] epita.fr>
   13497 
   13498 	* src/reader.c (readgram): CleanUp.
   13499 	(output_token_defines): Likewise.
   13500 	(packsymbols): Likewise.
   13501 	(reader): Likewise.
   13502 	* src/output.c (output): CPP-out useless code.
   13503 
   13504 2001-08-31  Pascal Bart  <pascal.bart (a] epita.fr>
   13505 
   13506 	* src/reader.c (reader): Delete obsolete call to function
   13507 	output_trailers and output_headers.
   13508 	* src/output.h: Remove obsolete functions prototypes of output_headers
   13509 	and output_trailers.
   13510 
   13511 2001-08-30  Pascal Bart  <pascal.bart (a] epita.fr>
   13512 
   13513 	* src/main.c: Include macrotab.h.
   13514 	* src/macrotab.h (macro_entry_s): Constify fields.
   13515 	Adjust functions prototypes.
   13516 	* src/macrotab.c (macro_insert): Constify key and value.
   13517 	(macro_find): Constify key.
   13518 	(macro_insert): Include 'xalloc.h'
   13519 	(macro_insert): Use XMALLOC.
   13520 	(macro_find): Constify return value.
   13521 	* src/output.c (output_table_data): Rename table to table_data.
   13522 	(output_parser): Constify macro_key, macro_value.
   13523 
   13524 2001-08-30  Marc Autret  <autret_m (a] epita.fr>
   13525 
   13526 	* src/reader.c (parse_skel_decl): New.
   13527 	(read_declarations): Add case `tok_skel', call parse_skel_decl ().
   13528 	* src/lex.h (token_t): New token `tok_skel'.
   13529 	* src/lex.c (percent_table): Add skeleton option entry.
   13530 	Standardize.
   13531 
   13532 2001-08-29  Marc Autret  <autret_m (a] epita.fr>
   13533 
   13534 	* src/bison.simple: Add %%user_code directive at the end.
   13535 	* src/reader.c (read_additionnal_code): New.
   13536 	(reader): Use it.
   13537 	* src/output.c (output_program): Remove.
   13538 	(output): Update.
   13539 
   13540 2001-08-28  Marc Autret  <autret_m (a] epita.fr>
   13541 
   13542 	* src/output.c (output_actions): Clean up.
   13543 	(output_gram): CPP-out useless code.
   13544 	* src/reader.c (reader): Clean up, CPP-out useless code.
   13545 
   13546 2001-08-28  Pascal Bart  <pascal.bart (a] epita.fr>
   13547 
   13548 	* src/output.c (output): Copy attrs_obstack in the '%%definitions'
   13549 	directive.
   13550 	* src/bison.simple: Add `%%definitions'.
   13551 
   13552 2001-08-28  Marc Autret  <autret_m (a] epita.fr>
   13553 
   13554 	* config/depcomp: New file.
   13555 
   13556 2001-08-27  Paul Eggert  <eggert (a] twinsun.com>
   13557 
   13558 	* src/bison.simple (yyparse): Don't take the address of an
   13559 	item before the start of an array, as that doesn't conform to
   13560 	the C Standard.
   13561 
   13562 2001-08-27  Robert Anisko  <robert.anisko (a] epita.fr>
   13563 
   13564 	* src/output.c (output): Remove the initialization of the macro
   13565 	obstack.  It was done too late here.
   13566 
   13567 	* src/reader.c (parse_macro_decl): Fix.  Use of the macro obstack was
   13568 	completely wrong.
   13569 	(reader): Initialize the macro obstack here, since we need it to grow
   13570 	'%define' directives.
   13571 
   13572 	* src/reader.h: Declare the macro obstack as extern.
   13573 
   13574 2001-08-27  Robert Anisko  <robert.anisko (a] epita.fr>
   13575 
   13576 	* src/output.c (output_parser): Fix.  Store single '%' characters in
   13577 	the output obstack instead of throwing them away.
   13578 
   13579 2001-08-27  Akim Demaille  <akim (a] epita.fr>
   13580 
   13581 	* Makefile.am (AUTOMAKE_OPTIONS): 1.5.
   13582 
   13583 2001-08-25  Robert Anisko  <robert.anisko (a] epita.fr>
   13584 
   13585 	* lib/Makefile.am: Adjust.
   13586 
   13587 2001-08-25  Robert Anisko  <robert.anisko (a] epita.fr>
   13588 
   13589 	* src/bison.simple: Update and add '%%' directives.
   13590 
   13591 2001-08-25  Robert Anisko  <robert.anisko (a] epita.fr>
   13592 
   13593 	* src/reader.c (reader): Remove calls to 'output_headers' and
   13594 	'output_trailers'. Remove some C output.
   13595 	(readgram): Disable a piece of code that was writing a default
   13596 	definition for 'YYSTYPE'.
   13597 	(reader_output_yylsp): Remove.
   13598 	(packsymbols): Output token defintions to a macro.
   13599 	(copy_definition): Disable C output.
   13600 
   13601 	* src/reader.c (parse_macro_decl): New function used to parse macro
   13602 	declarations.
   13603 	(copy_string2): Put the body of copy_string into this new function.
   13604 	Add a parameter to let the caller choose whether he wants to copy the
   13605 	string delimiters or not.
   13606 	(copy_string): Be a simple call to copy_string2 with the last argument
   13607 	bound to true.
   13608 	(read_declarations): Add case for macro definition.
   13609 	(copy_identifier): New.
   13610 	(parse_macro_decl): Read macro identifiers using copy_identifier
   13611 	rather than lex.
   13612 
   13613 2001-08-25  Robert Anisko  <robert.anisko (a] epita.fr>
   13614 
   13615 	* src/output.c (prepare): Add prefixed names.
   13616 	(output_parser): Output semantic actions.
   13617 	(output_parser): Fix bug on '%%line' directives.
   13618 
   13619 	* src/output.c (output_headers): Remove. The C code printed by this
   13620 	function should now be in the skeletons.
   13621 	(output_trailers): Remove.
   13622 	(output): Disable call to 'reader_output_yylsp'.
   13623 	(output_rule_data): Do not output tables to the table obstack.
   13624 
   13625 	* src/output.c: Remove some C dedicated output.
   13626 	Improve the use of macro and output obstacks.
   13627 	(output_defines): Remove.
   13628 
   13629 	* src/output.c (output_token_translations): Associate 'translate'
   13630 	table with a macro. No output to the table obstack.
   13631 	(output_gram): Same for 'rhs' and 'prhs'.
   13632 	(output_stos): Same for 'stos'.
   13633 	(output_rule_data): Same for 'r1' and 'r2'.
   13634 	(token_actions): Same for 'defact'.
   13635 	(goto_actions): Same for 'defgoto'.
   13636 	(output_base): Same for 'pact' and 'pgoto'.
   13637 	(output_table): Same for 'table'.
   13638 	(output_check): Same for 'check'.
   13639 
   13640 	* src/output.c (output_table_data): New function.
   13641 	(output_short_table): Remove.
   13642 	(output_short_or_char_table): Remove.
   13643 
   13644 	* src/output.c (output_parser): Replace most of the skeleton copy code
   13645 	with something new. Skeletons are now processed character by character
   13646 	rather than line by line, and Bison looks for '%%' macros. This is the
   13647 	first step in making Bison's output process (a lot) more flexible.
   13648 	(output_parser): Use the macro table.
   13649 
   13650 2001-08-25  Robert Anisko  <robert.anisko (a] epita.fr>
   13651 
   13652 	* src/main.c (main): Initialize the macro table.
   13653 
   13654 2001-08-25  Robert Anisko  <robert.anisko (a] epita.fr>
   13655 
   13656 	* src/lex.c (percent_table): Add tok_define.
   13657 	* src/lex.h: Add tok_define.
   13658 
   13659 2001-08-25  Robert Anisko  <robert.anisko (a] epita.fr>
   13660 
   13661 	* src/macrotab.c: New file.
   13662 	* src/macrotab.h: New file.
   13663 	* src/Makefile.am: Update.
   13664 
   13665 2001-08-25  Robert Anisko  <robert.anisko (a] epita.fr>
   13666 
   13667 	* lib/hash.c: New file.
   13668 	* lib/hash.h: New file.
   13669 	* lib/Makefile.am: Update.
   13670 
   13671 2001-08-15  Akim Demaille  <akim (a] epita.fr>
   13672 
   13673 	Version 1.28c.
   13674 
   13675 2001-08-15  Marc Autret  <autret_m (a] epita.fr>
   13676 
   13677 	* src/reader.c (readgram): Indent output macro YYSTYPE.
   13678 	(packsymbols): Likewise.
   13679 	(output_token_defines): Likewise.
   13680 	* src/files.c: Standardize.
   13681 	(compute_header_macro): New.
   13682 	(defines_obstack_save): New. Use compute_header_macro.
   13683 	(output_files): Update. Use defines_obstack_save.
   13684 
   13685 2001-08-15  Akim Demaille  <akim (a] epita.fr>
   13686 
   13687 	* doc/bison.texinfo (Table of Symbols): Document
   13688 	YYSTACK_USE_ALLOCA.
   13689 
   13690 2001-08-15  Akim Demaille  <akim (a] epita.fr>
   13691 
   13692 	* missing: Update from CVS Automake.
   13693 	* config/config.guess, config/config.sub, config/texinfo.tex:
   13694 	Update from gnu.org.
   13695 
   13696 2001-08-15  Akim Demaille  <akim (a] epita.fr>
   13697 
   13698 	* Makefile.maint: Sync with CVS Autoconf.
   13699 
   13700 2001-08-14  Pascal Bart  <pascal.bart (a] epita.fr>
   13701 
   13702 	* doc/bison.texinfo: Include GNU Free Documentation License from
   13703 	`fdl.texi'.
   13704 	* doc/fdl.texi: Add to package.
   13705 
   13706 2001-08-14  Marc Autret  <autret_m (a] epita.fr>
   13707 
   13708 	Turn on %{source,header}_extension features.
   13709 
   13710 	* src/lex.c (percent_table): Un-CPP out header_extension and
   13711 	source_extension.
   13712 	* src/files.c (compute_exts_from_gf): Compare pointers with NULL.
   13713 	(compute_exts_from_src): Remove conditions. It restores priorities
   13714 	between options.
   13715 
   13716 2001-08-14  Marc Autret  <autret_m (a] epita.fr>
   13717 
   13718 	* src/files.c (compute_base_names): Add extensions computing when
   13719 	`--file-prefix' used.
   13720 	Standardize function calls.
   13721 
   13722 2001-08-13  Marc Autret  <autret_m (a] epita.fr>
   13723 
   13724 	* src/bison.simple (YYSTACK_USE_ALLOCA): Changed to allow users
   13725 	defining it (defined but null disables alloca).
   13726 
   13727 2001-08-13  Marc Autret  <autret_m (a] epita.fr>
   13728 
   13729 	* src/bison.simple (_yy_memcpy): CPP reformat.
   13730 
   13731 2001-08-13  Pascal Bart  <pascal.bart (a] epita.fr>
   13732 
   13733 	* tests/atconfig.in (CPPFLAGS): Fix.
   13734 
   13735 2001-08-10  Pascal Bart  <pascal.bart (a] epita.fr>
   13736 
   13737 	* doc/bison.texinfo: Include GNU General Public License from
   13738 	`gpl.texi'.
   13739 	* doc/gpl.texi: Add to package.
   13740 
   13741 2001-08-10  Marc Autret  <autret_m (a] epita.fr>
   13742 
   13743 	* src/print_graph.h: Fix.
   13744 	* src/reader.c (read_declarations): Use parse_header_extension_decl ().
   13745 
   13746 2001-08-10  Akim Demaille  <akim (a] epita.fr>
   13747 
   13748 	* src/system.h: Provide default declarations for stpcpy, strndup,
   13749 	and strnlen.
   13750 
   13751 2001-08-10  Robert Anisko  <anisko_r (a] epita.fr>
   13752 
   13753 	* doc/bison.texinfo (Locations): Update @$ stuff.
   13754 
   13755 2001-08-09  Robert Anisko  <anisko_r (a] epita.fr>
   13756 
   13757 	* src/bison.simple (YYLLOC_DEFAULT): Update.
   13758 	(yyparse): Adjust.
   13759 
   13760 2001-08-08  Marc Autret  <autret_m (a] epita.fr>
   13761 
   13762 	* doc/bison.texinfo: Change @samp{$<@dots{}>} to
   13763 	@samp{$<@dots{}>@var{n}} in Section Actions in Mid-Rule.
   13764 	Reported by Fabrice Bauzac.
   13765 
   13766 2001-08-08  Marc Autret  <autret_m (a] epita.fr>
   13767 
   13768 	* src/vcg_default.h: Use NULL instead of 0 to initialize pointers.
   13769 	* src/vcg.c (output_node): Fix.
   13770 	* src/vcg.h: Cleanup.
   13771 	* src/print_graph.c: Add comments.
   13772 	(node_output_size): New global variable. Simplify the formatting of
   13773 	the VCG graph output.
   13774 	(print_actions): Unused code is now used. It notifies the final state
   13775 	and no action states in the VCG graph. It also give the reduce actions.
   13776 	The `shift and goto' edges are red and the `go to state' edges are
   13777 	blue.
   13778 	Get the current node name and node_obstack by argument.
   13779 	(node_obstack): New variable.
   13780 	(print_state): Manage node_obstack.
   13781 	(print_core): Use node_obstack given by argument.
   13782 	A node is not only computed here but in print_actions also.
   13783 	(print_graph): CPP out useless code instead of commenting it.
   13784 
   13785 2001-08-07  Pascal Bart  <pascal.bart (a] epita.fr>
   13786 
   13787 	* tests/atconfig.in (CPPFLAGS): Fix.
   13788 
   13789 2001-08-07  Akim Demaille  <akim (a] epita.fr>
   13790 
   13791 	* src/print_graph.c (quote): New.
   13792 	(print_core): Use it.
   13793 
   13794 2001-08-06  Akim Demaille  <akim (a] epita.fr>, Marc Autret  <autret_m (a] epita.fr>
   13795 
   13796 	* src/vcg.c (complain.h): Include it.
   13797 	Unepitaize `return' invocations.
   13798 	[NDEBUG] (main): Remove.
   13799 	* src/vcg.h (node_t, edge_t, graph_t): Constify the char * members.
   13800 	* src/files.c (open_files): Initialize graph_obstack.
   13801 	* src/print_graph.c (print_actions): CPP out useless code.
   13802 	(print_core): Don't output the last `\n' in labels.
   13803 	Use `quote'.
   13804 	* src/files.c (output_files): Output the VCG file.
   13805 	* src/main.c (main): Invoke print_graph ();
   13806 
   13807 2001-08-06  Marc Autret  <autret_m (a] epita.fr>
   13808 
   13809 	Automaton VCG graph output.
   13810 	Using option ``-g'' or long option ``--graph'', you can generate
   13811 	a gram_filename.vcg file containing a VCG description of the LALR (1)
   13812 	automaton of your grammar.
   13813 
   13814 	* src/main.c: Call to print_graph() function.
   13815 	* src/getargs.h: Update.
   13816 	* src/getargs.c (options): Update to catch `-g' and `--graph' options.
   13817 	(graph_flag): New flag.
   13818 	(longopts): Update.
   13819 	(getargs): Add case `g'.
   13820 	* src/files.c (graph_obstack): New obstack struct.
   13821 	(open_files): Initialize new obstack.
   13822 	(output_files): Saves graph_obstack if required.
   13823 	* src/files.h (graph_obstack): New extern declaration.
   13824 	* src/Makefile.am: Add new source files.
   13825 
   13826 2001-08-06  Marc Autret  <autret_m (a] epita.fr>
   13827 
   13828 	* src/print_graph.c, src/print_graph.h (graph): New.
   13829 	* src/vcg.h: New file.
   13830 	* src/vcg.c: New file, VCG graph handling.
   13831 
   13832 2001-08-06  Marc Autret  <autret_m (a] epita.fr>
   13833 
   13834 	Add of %source_extension and %header_extension which specify
   13835 	the source or/and the header output file extension.
   13836 
   13837 	* src/files.c (compute_base_names): Remove initialisation of
   13838 	src_extension and header_extension.
   13839 	(compute_exts_from_gf): Update.
   13840 	(compute_exts_from_src): Update.
   13841 	(output_files): Update.
   13842 	* src/reader.c (parse_header_extension_decl): New.
   13843 	(parse_source_extension_decl): New.
   13844 	(read_declarations): New case statements for the new tokens.
   13845 	* src/lex.c (percent_table): Add entries for %source_extension
   13846 	and %header_extension.
   13847 	* src/lex.h (token_e): New tokens tok_hdrext and tok_srcext.
   13848 
   13849 2001-08-06  Marc Autret  <autret_m (a] epita.fr>
   13850 
   13851 	* configure.in: Bump to 1.28c.
   13852 	* doc/bison.texinfo: Texinfo thingies.
   13853 
   13854 2001-08-04  Pascal Bart  <pascal.bart (a] epita.fr>
   13855 
   13856 	* tests/atconfig.in (CPPFLAGS): Add.
   13857 	* tests/calc.at (AT_CHECK): Use CPPFLAGS.
   13858 
   13859 2001-08-03  Akim Demaille  <akim (a] epita.fr>
   13860 
   13861 	Version 1.28b.
   13862 
   13863 2001-08-03  Akim Demaille  <akim (a] epita.fr>
   13864 
   13865 	* tests/Makefile.am (check-local): Ship testsuite.
   13866 	* tests/calc.at (_AT_DATA_CALC_Y): Prototype all the functions.
   13867 	Include `string.h'.
   13868 
   13869 2001-08-03  Akim Demaille  <akim (a] epita.fr>
   13870 
   13871 	* configure.in: Try using -Wformat when compiling.
   13872 
   13873 2001-08-03  Akim Demaille  <akim (a] epita.fr>
   13874 
   13875 	* configure.in: Bump to 1.28b.
   13876 
   13877 2001-08-03  Akim Demaille  <akim (a] epita.fr>
   13878 
   13879 	* src/complain.c: Adjust strerror_r portability issues.
   13880 
   13881 2001-08-03  Akim Demaille  <akim (a] epita.fr>
   13882 
   13883 	Version 1.28a.
   13884 
   13885 2001-08-03  Akim Demaille  <akim (a] epita.fr>
   13886 
   13887 	* src/getargs.c, src/getarg.h (skeleton)): Constify.
   13888 	* src/lex.c (literalchar): Avoid name clashes on `buf'.
   13889 	* src/getargs.c: Include complain.h.
   13890 	* src/files.c, src/files.h (skeleton_find): Avoid name clashes.
   13891 	* lib/quotearg.c, lib/quotearg.h: Update from fileutils 4.1.
   13892 
   13893 2001-08-03  Akim Demaille  <akim (a] epita.fr>
   13894 
   13895 	* src/reader.c (readgram): Display hidden chars in error messages.
   13896 
   13897 2001-08-03  Akim Demaille  <akim (a] epita.fr>
   13898 
   13899 	Update to gettext 0.10.39.
   13900 
   13901 2001-08-03  Akim Demaille  <akim (a] epita.fr>
   13902 
   13903 	* lib/strspn.c: New.
   13904 
   13905 2001-08-01  Marc Autret  <autret_m (a] epita.fr>
   13906 
   13907 	* doc/bison.texinfo: Update.
   13908 	* doc/bison.1 (mandoc): Update.
   13909 	* src/system.h (EXT_GUARD_C, EXT_STYPE_H): Remove .c and .h.
   13910 	* src/files.c: Support output files extensions computing.
   13911 	(src_extension): New static variable.
   13912 	(header_extension): New static variable.
   13913 	(tr): New function.
   13914 	(get_extension_index): New function, gets the index of an extension
   13915 	filename in a string.
   13916 	(compute_exts_from_gf): New function, computes extensions from the
   13917 	grammar file extension.
   13918 	(compute_exts_from_src): New functions, computes extensions from the
   13919 	C source file extension, file given by ``-o'' option.
   13920 	(compute_base_names): Update.
   13921 	(output_files): Update.
   13922 
   13923 2001-08-01  Robert Anisko  <anisko_r (a] epita.fr>
   13924 
   13925 	* doc/bison.texi: Document @$.
   13926 	(Locations): New section.
   13927 
   13928 2001-07-18  Akim Demaille  <akim (a] epita.fr>
   13929 
   13930 	* Makefile.maint, GNUmakefile: New, from Autoconf 2.52.
   13931 	* config/prev-version.txt, config/move-if-change: New.
   13932 	* Makefile.am: Adjust.
   13933 
   13934 2001-07-08  Pascal Bart  <pascal.bart (a] epita.fr>
   13935 
   13936 	* src/bison.simple (yyparse): Suppress warning `comparaison
   13937 	between signed and unsigned'.
   13938 
   13939 2001-07-05  Pascal Bart  <pascal.bart (a] epita.fr>
   13940 
   13941 	* src/getargs.h (raw_flag): Remove.
   13942 	* src/getargs.c: Die on `-r'/`--raw'.
   13943 	* src/lex.c (parse_percent_token): Die on `%raw'.
   13944 	* src/reader.c (output_token_defines): Suppress call to `raw_flag'.
   13945 	* tests/calc.at: Suppress test with option `--raw'.
   13946 
   13947 2001-07-14  Akim Demaille  <akim (a] epita.fr>
   13948 
   13949 	* config/: New.
   13950 	* configure.in: Require Autoconf 2.50.
   13951 	Update to gettext 0.10.38.
   13952 
   13953 2001-03-16  Akim Demaille  <akim (a] epita.fr>
   13954 
   13955 	* doc/bison.texinfo: ANSIfy the examples.
   13956 
   13957 2001-03-16  Akim Demaille  <akim (a] epita.fr>
   13958 
   13959 	* getargs.c (skeleton): New variable.
   13960 	(longopts): --skeleton is a new option.
   13961 	(shortopts, getargs): -S is a new option.
   13962 	* getargs.h: Declare skeleton.
   13963 	* output.c (output_parser): Use it.
   13964 
   13965 2001-03-16  Akim Demaille  <akim (a] epita.fr>
   13966 
   13967 	* m4/strerror_r.m4: New.
   13968 	* m4/error.m4: Run AC_FUNC_STRERROR_R.
   13969 	* lib/error.h, lib/error.c: Update.
   13970 
   13971 2001-03-16  Akim Demaille  <akim (a] epita.fr>
   13972 
   13973 	* src/getargs.c (longopts): Clean up.
   13974 
   13975 2001-02-21  Akim Demaille  <akim (a] epita.fr>
   13976 
   13977 	* src/reader.c (gensym): `gensym_count' is your own.
   13978 	Use a static buf to create the symbol name, as token_buffer is no
   13979 	longer a buffer.
   13980 
   13981 2001-02-08  Akim Demaille  <akim (a] epita.fr>
   13982 
   13983 	* src/conflicts.c (conflict_report): Be sure not to append to res
   13984 	between two calls, which could happen if both first sprintf were
   13985 	skipped, but not the first cp += strlen.
   13986 
   13987 2001-02-08  Akim Demaille  <akim (a] epita.fr>
   13988 
   13989 	* lib/memchr.c, lib/stpcpy.c, lib/strndup.c, lib/strnlen.c:
   13990 	New, from fileutils 4.0.37.
   13991 	* configure.in: Require Autoconf 2.49c.  I took some time before
   13992 	making this decision.  This is the only way out for portability
   13993 	issues in Bison, it would mean way too much duplicate effort to
   13994 	import in Bison features implemented in 2.49c since 2.13.
   13995 	AC_REPLACE_FUNCS and AC_CHECK_DECLS the functions above.
   13996 
   13997 2001-02-02  Akim Demaille  <akim (a] epita.fr>
   13998 
   13999 	* lib/malloc.c, lib/realloc.c: New, from the fileutils 4.0.37.
   14000 	* lib/xalloc.h, lib/xmalloc.c: Update.
   14001 
   14002 2001-01-19  Akim Demaille  <akim (a] epita.fr>
   14003 
   14004 	Get rid of the ad hoc handling of token_buffer in the scanner: use
   14005 	the obstacks.
   14006 
   14007 	* src/lex.c (token_obstack): New.
   14008 	(init_lex): Initialize it.  No longer call...
   14009 	(grow_token_buffer): this.  Remove it.
   14010 	Adjust all the places which used it to use the obstack.
   14011 
   14012 2001-01-19  Akim Demaille  <akim (a] epita.fr>
   14013 
   14014 	* src/lex.h: Rename all the tokens:
   14015 	s/\bENDFILE\b/tok_eof/g;
   14016 	s/\bIDENTIFIER\b/tok_identifier/g;
   14017 	etc.
   14018 	Let them be enums, not #define, to ease debugging.
   14019 	Adjust all the code.
   14020 
   14021 2001-01-18  Akim Demaille  <akim (a] epita.fr>
   14022 
   14023 	* src/lex.h (MAXTOKEN, maxtoken, grow_token_buffer): Remove, private.
   14024 	* src/lex.c (maxtoken, grow_token_buffer): Static.
   14025 
   14026 2001-01-18  Akim Demaille  <akim (a] epita.fr>
   14027 
   14028 	Since we now use obstacks, more % directives can be enabled.
   14029 
   14030 	* src/lex.c (percent_table): Also accept `%yacc',
   14031 	`%fixed_output_files', `%defines', `%no_parser', `%verbose', and
   14032 	`%debug'.
   14033 	Handle the actions for `%semantic_parser' and `%pure_parser' here,
   14034 	instead of returning a token.
   14035 	* src/lex.h (SEMANTIC_PARSER, PURE_PARSER): Remove, unused.
   14036 	* src/reader.c (read_declarations): Adjust.
   14037 	* src/files.c (open_files): Don't call `compute_base_names', don't
   14038 	compute `attrsfile' since they depend upon data which might be
   14039 	*in* the input file now.
   14040 	(output_files): Do it here.
   14041 	* src/output.c (output_headers): Document the fact that this patch
   14042 	introduces a guaranteed SEGV for semantic parsers.
   14043 	* doc/bison.texinfo: Document them.
   14044 	* tests/suite.at: Exercise these %options.
   14045 
   14046 2000-12-20  Akim Demaille  <akim (a] epita.fr>
   14047 
   14048 	Also handle the output file (--verbose) with obstacks.
   14049 
   14050 	* files.c (foutput): Remove.
   14051 	(output_obstack): New.
   14052 	Adjust all dependencies.
   14053 	* src/conflicts.c: Return a string.
   14054 	* src/system.h (obstack_grow_string): Rename as...
   14055 	(obstack_sgrow): this.  Be ready to work with non literals.
   14056 	(obstack_fgrow4): New.
   14057 
   14058 2000-12-20  Akim Demaille  <akim (a] epita.fr>
   14059 
   14060 	* src/files.c (open_files): Fix the computation of short_base_name
   14061 	in the case of `-o foo.tab.c'.
   14062 
   14063 2000-12-20  Akim Demaille  <akim (a] epita.fr>
   14064 
   14065 	* src/reader.c (copy_string, copy_comment, copy_comment2, copy_at)
   14066 	(copy_dollar): Now that everything uses obstacks, get rid of the
   14067 	FILE * parameters.
   14068 
   14069 2000-12-20  Akim Demaille  <akim (a] epita.fr>
   14070 
   14071 	* src/files.c (open_files): Actually the `.output' file is based
   14072 	on the short_base_name, not base_name.
   14073 	* tests/suite.at (Checking output file names): Adjust.
   14074 
   14075 2000-12-20  Akim Demaille  <akim (a] epita.fr>
   14076 
   14077 	* src/bison.s1: Remove, we now use directly...
   14078 	* src/bison.simple: this.
   14079 	* src/Makefile.am: Use pkgdata instead of data.
   14080 
   14081 2000-12-20  Akim Demaille  <akim (a] epita.fr>
   14082 
   14083 	* src/files.c (guard_obstack): New.
   14084 	(open_files): Initialize it.
   14085 	(output_files): Dump it...
   14086 	* src/files.h: Export it.
   14087 	* src/reader.c (copy_guard): Use it.
   14088 
   14089 2000-12-19  Akim Demaille  <akim (a] epita.fr>
   14090 
   14091 	* src/files.c (outfile, defsfile, actfile): Removed as global
   14092 	vars.
   14093 	(open_files): Don't compute them.
   14094 	(output_files): Adjust.
   14095 	(base_name, short_base_name): Be global.
   14096 	Adjust dependencies.
   14097 
   14098 2000-12-19  Akim Demaille  <akim (a] epita.fr>
   14099 
   14100 	* src/files.c (strsuffix): New.
   14101 	(stringappend): Be just like strcat but allocate.
   14102 	(base_names): Eve out from open_files.
   14103 	Try to simplify the rather hairy computation of base_name and
   14104 	short_base_name.
   14105 	(open_files): Use it.
   14106 	* tests/suite.at (Checking output file names): New test.
   14107 
   14108 2000-12-19  Akim Demaille  <akim (a] epita.fr>
   14109 
   14110 	* src/system.h (obstack_grow_literal_string): Rename as...
   14111 	(obstack_grow_string): this.
   14112 	* src/output.c (output_parser): Recognize `%% actions' instead of
   14113 	`$'.
   14114 	* src/bison.s1: s/$/%% actions/.
   14115 	* src/bison.hairy: Likewise.
   14116 
   14117 2000-12-19  Akim Demaille  <akim (a] epita.fr>
   14118 
   14119 	* src/output.c (output_parser): Compute the `#line' lines when
   14120 	there are.
   14121 	* src/Makefile.am (bison.simple): Be a simple copy of bison.s1.
   14122 	Suggested by Hans Aberg.
   14123 
   14124 2000-12-19  Akim Demaille  <akim (a] epita.fr>
   14125 
   14126 	Let the handling of the skeleton files be local to the procedures
   14127 	that use it.
   14128 
   14129 	* src/files.c (xfopen, xfclose, skeleton_find, guardfile): No
   14130 	longer static.
   14131 	(fparser, open_extra_files): Remove.
   14132 	(open_files, output_files): Don't take care of fparser.
   14133 	* src/files.h: Adjust.
   14134 	* src/output.c (output_parser): Open and close the file to the
   14135 	skeleton.
   14136 	* src/reader.c (read_declarations): When %semantic_parser, open
   14137 	fguard.
   14138 
   14139 2000-12-19  Akim Demaille  <akim (a] epita.fr>
   14140 
   14141 	* src/file.h (BISON_SIMPLE, BISON_HAIRY): Move from here...
   14142 	* src/system.h (BISON_SIMPLE, BISON_HAIRY): ... to here.
   14143 
   14144 2000-12-19  Akim Demaille  <akim (a] epita.fr>
   14145 
   14146 	* src/files.c (open_files): Yipee!  We no longer need all the code
   14147 	looking for `/tmp' since we have no tmp file.
   14148 
   14149 2000-12-19  Akim Demaille  <akim (a] epita.fr>
   14150 
   14151 	* src/system.h (EXT_TAB, EXT_OUTPUT, EXT_STYPE_H, EXT_GUARD_C):
   14152 	New macros.
   14153 	* src/files.c (open_files): Less dependency on MSDOS etc.
   14154 
   14155 2000-12-14  Akim Demaille  <akim (a] epita.fr>
   14156 
   14157 	* src/bison.s1 (YYLLOC_DEFAULT): New macro.
   14158 	Provide a default definition.
   14159 	Use it when executing the default @ action.
   14160 	* src/reader.c (reader_output_yylsp): No longer include
   14161 	`timestamp' and `text' in the default YYLTYPE.
   14162 
   14163 2000-12-12  Akim Demaille  <akim (a] epita.fr>
   14164 
   14165 	* src/reader.c (copy_definition, parse_union_decl, copy_action)
   14166 	(copy_guard): Quote the file names.
   14167 	Reported by Laurent Mascherpa.
   14168 
   14169 2000-12-12  Akim Demaille  <akim (a] epita.fr>
   14170 
   14171 	* src/output.c (output_headers, output_program, output): Be sure
   14172 	to escape special characters when outputting filenames.
   14173 	(ACTSTR_PROLOGUE, ACTSTR_EPILOGUE): Remove.
   14174 	(output_headers): Don't depend on them, Use ACTSTR.
   14175 
   14176 2000-11-17  Akim Demaille  <akim (a] epita.fr>
   14177 
   14178 	* lib/obstack.h: Formatting changes.
   14179 	(obstack_grow, obstack_grow0): Don't cast WHERE at all: it
   14180 	prevents type checking.
   14181 	(obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
   14182 	cast the value to (void *): assigning a `foo *' to a `void *'
   14183 	variable is valid.
   14184 	(obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
   14185 	* src/reader.c (parse_union_decl): Typo: use obstack_1grow to
   14186 	append characters.
   14187 
   14188 2000-11-17  Akim Demaille  <akim (a] epita.fr>
   14189 
   14190 	* tests/Makefile.am (suite.m4, regression.m4, calc.m4): Rename
   14191 	as...
   14192 	(suite.m4, regression.m4, calc.m4): these.
   14193 	* tests/atgeneral.m4: Update from CVS Autoconf.
   14194 
   14195 2000-11-17  Akim Demaille  <akim (a] epita.fr>
   14196 
   14197 	* tests/regression.m4 (%union and --defines): New test,
   14198 	demonstrating a current bug in the obstack implementation.
   14199 
   14200 2000-11-17  Akim Demaille  <akim (a] epita.fr>
   14201 
   14202 	* src/bison.s1 (_YY_DECL_VARIABLES, YY_DECL_VARIABLES): New
   14203 	macros.
   14204 	Use them to declare the variables which are global or local to
   14205 	`yyparse'.
   14206 
   14207 2000-11-17  Akim Demaille  <akim (a] epita.fr>
   14208 
   14209 	* acconfig.h: Remove, no longer used.
   14210 
   14211 2000-11-07  Akim Demaille  <akim (a] epita.fr>
   14212 
   14213 	* src: s/Copyright (C)/Copyright/g.
   14214 
   14215 2000-11-07  Akim Demaille  <akim (a] epita.fr>
   14216 
   14217 	* src/reader.c (reader): #define YYLSP_NEEDED to 1 instead of just
   14218 	defining.
   14219 	* src/bison.s1: s/#ifdef YYLSP_NEEDED/#if YYLSP_NEEDED/.
   14220 
   14221 2000-11-07  Akim Demaille  <akim (a] epita.fr>
   14222 
   14223 	* src/bison.s1 (YYLEX): Use #if instead of #ifdef.
   14224 	Merge in a single CPP if/else.
   14225 
   14226 2000-11-07  Akim Demaille  <akim (a] epita.fr>
   14227 
   14228 	* src/output.c (output): Remove useless variables.
   14229 	* lib/obstack.c (obstack_grow, obstack_grow0): Rename the second
   14230 	argument `data' for consistency with the prototypes.
   14231 	Qualify it `const'.
   14232 	(obstack_copy, obstack_copy0): Rename the second argument as
   14233 	`address' for consistency.  Qualify it `const'.
   14234 	* lib/obstack.h (obstack_copy, obstack_copy0, obstack_grow)
   14235 	(obstack_grow0, obstack_ptr_grow, obstack_ptr_grow_fast): Qualify
   14236 	`const' their input argument (`data' or `address').
   14237 	Adjust the corresponding macros to include `const' in casts.
   14238 
   14239 2000-11-03  Akim Demaille  <akim (a] epita.fr>
   14240 
   14241 	* src/Makefile.am (INCLUDES): s/PFILE/BISON_SIMPLE/.
   14242 	s/PFILE1/BISON_HAIRY/.
   14243 	Adjust dependencies.
   14244 
   14245 2000-11-03  Akim Demaille  <akim (a] epita.fr>
   14246 
   14247 	For some reason, this was not applied.
   14248 
   14249 	* src/files.c [VMS]: No longer include `ssdef.h', no longer define
   14250 	`unlink': it's no longer used.
   14251 
   14252 2000-11-03  Akim Demaille  <akim (a] epita.fr>
   14253 
   14254 	* src/files.c (skeleton_find): New function, eved out of...
   14255 	(open_files, open_extra_files): here.
   14256 
   14257 2000-11-03  Akim Demaille  <akim (a] epita.fr>
   14258 
   14259 	Don't use `atexit'.
   14260 
   14261 	* src/files.c (obstack_save): New function.
   14262 	(done): Rename as...
   14263 	(output_files): this.
   14264 	Use `obstack_save'.
   14265 	* src/main.c (main): Don't use `atexit' to register `done', since
   14266 	it no longer has to remove tmp files, just call `output_files'
   14267 	when there are no errors.
   14268 
   14269 2000-11-02  Akim Demaille  <akim (a] epita.fr>
   14270 
   14271 	* src/files.c [VMS]: No longer include `ssdef.h', no longer define
   14272 	`unlink': it's no longer used.
   14273 	* src/files.h: Formatting changes.
   14274 
   14275 2000-11-02  Akim Demaille  <akim (a] epita.fr>
   14276 
   14277 	Remove the last uses of mktemp and unlink/delete.
   14278 
   14279 	* src/files.c (fdefines, ftable): Removed.
   14280 	(defines_ostack, table_obstack): New.
   14281 	Adjust dependencies of the former into uses of the latter.
   14282 	* src/output.c (output_short_or_char_table, output_short_table):
   14283 	Convert to using obstacks.
   14284 	* src/reader.c (copy_comment2): Accept one FILE * and two
   14285 	obstacks.
   14286 	(output_token_defines, reader_output_yylsp): Use obstacks.
   14287 	* src/system.h (obstack_fgrow3): New.
   14288 	* po/POTFILES.in: Adjust.
   14289 
   14290 2000-11-01  Akim Demaille  <akim (a] epita.fr>
   14291 
   14292 	Change each use of `fattrs' into a use of `attrs_obstack'.
   14293 
   14294 	* src/reader.c (copy_at): Typo: s/yylloc/yyloc/.
   14295 	* src/files.c (fattrs): Remove.
   14296 	(attrs_obstack): New.
   14297 	Adjust all dependencies.
   14298 	(done): If SEMANTIC_PARSER, dump attrs_obstack into attrsfile.
   14299 
   14300 2000-11-01  Akim Demaille  <akim (a] epita.fr>
   14301 
   14302 	Introduce obstacks.
   14303 	Change each use of `faction' into a use of `action_obstack'.
   14304 
   14305 	* lib/obstack.h, lib/obstack.c: New files.
   14306 	* src/files.c (faction): Remove.
   14307 	(action_obstack): New.
   14308 	Adjust all dependencies.
   14309 
   14310 2000-10-20  Akim Demaille  <akim (a] epita.fr>
   14311 
   14312 	* lib/quote.h (PARAMS): New macro.  Use it.
   14313 
   14314 2000-10-16  Akim Demaille  <akim (a] epita.fr>
   14315 
   14316 	* src/output.c (output_short_or_char_table): New function.
   14317 	(output_short_table, output_token_translations): Use it.
   14318 	(goto_actions): Use output_short_table.
   14319 
   14320 2000-10-16  Akim Demaille  <akim (a] epita.fr>
   14321 
   14322 	* src/symtab.c (bucket_new): New function.
   14323 	(getsym): Use it.
   14324 
   14325 	* src/output.c (output_short_table): New argument to display the
   14326 	comment associated with the table.
   14327 	Adjust dependencies.
   14328 	(output_gram): Use it.
   14329 	(output_rule_data): Nicer output layout for YYTNAME.
   14330 
   14331 2000-10-16  Akim Demaille  <akim (a] epita.fr>
   14332 
   14333 	* src/lex.c (read_typename): New function.
   14334 	(lex): Use it.
   14335 	* src/reader.c (copy_dollar): Likewise.
   14336 
   14337 2000-10-16  Akim Demaille  <akim (a] epita.fr>
   14338 
   14339 	* src/reader.c (copy_comment2): Expect the input stream to be on
   14340 	the `/' which is suspected to open a comment, instead of being
   14341 	called after `//' or `/*' was read.
   14342 	(copy_comment, copy_definition, parse_union_decl, copy_action)
   14343 	(copy_guard): Adjust.
   14344 
   14345 2000-10-16  Akim Demaille  <akim (a] epita.fr>
   14346 
   14347 	* src/reader.c (parse_expect_decl): Use `skip_white_space' and
   14348 	`read_signed_integer'.
   14349 
   14350 2000-10-16  Akim Demaille  <akim (a] epita.fr>
   14351 
   14352 	* src/reader.c (copy_dollar): New function.
   14353 	(copy_guard, copy_action): Use it.
   14354 
   14355 2000-10-16  Akim Demaille  <akim (a] epita.fr>
   14356 
   14357 	* lib/quote.h, lib/quote.c, lib/quotearg.h, lib/quotearg.c:
   14358 	* m4/prereq.m4, m4/c-bs-a.m4, m4/mbstate.m4:
   14359 	New files, from Fileutils 4.0.27.
   14360 	* src/main.c (printable_version): Remove.
   14361 	* src/lex.c, src/reader.c: Use `quote'.
   14362 
   14363 2000-10-04  Akim Demaille  <akim (a] epita.fr>
   14364 
   14365 	* lib/error.c, lib/error.h: New files, needed by xmalloc.c.
   14366 
   14367 2000-10-04  Akim Demaille  <akim (a] epita.fr>
   14368 
   14369 	* doc/bison.texinfo: Various typos spotted by Neil Booth.
   14370 
   14371 2000-10-04  Akim Demaille  <akim (a] epita.fr>
   14372 
   14373 	When a literal string is used to define two different tokens,
   14374 	`bison -v' segfaults.
   14375 	Reported by Piotr Gackiewicz, and fixed by Neil Booth.
   14376 
   14377 	* tests/regression.m4: New file.
   14378 	Include the core of the sample provided by Piotr Gackiewicz.
   14379 	* src/reader.c (parse_token_decl): Diagnose bad cases, and proceed
   14380 	properly.
   14381 
   14382 2000-10-04  Akim Demaille  <akim (a] epita.fr>
   14383 
   14384 	* src/reader.c (parse_expect_decl): Keep `count' within the size
   14385 	of `buffer'.
   14386 	From Neil Booth.
   14387 
   14388 2000-10-02  Paul Eggert  <eggert (a] twinsun.com>
   14389 
   14390 	* bison.s1 (yyparse): Assign the default value
   14391 	unconditionally, to avoid a GCC warning and make the parser a
   14392 	tad smaller.
   14393 
   14394 2000-10-02  Akim Demaille  <akim (a] epita.fr>
   14395 
   14396 	* src/getargs.c (getargs): Don't dump `--help' on unrecognized
   14397 	options.
   14398 
   14399 2000-10-02  Akim Demaille  <akim (a] epita.fr>
   14400 
   14401 	* src/derives.c, src/print.c, src/reduce.c: To ease the
   14402 	translation, move some `\n' out of the translated strings.
   14403 
   14404 2000-10-02  Akim Demaille  <akim (a] epita.fr>
   14405 
   14406 	The location tracking mechanism is precious for parse error
   14407 	messages.  Nevertheless, it is enabled only when `@n' is used in
   14408 	the grammar, which is a different issue (you can use it in error
   14409 	message, but not in the grammar per se).  Therefore, there should
   14410 	be another means to enable it.
   14411 
   14412 	* src/getargs.c (getargs): Support `--locations'.
   14413 	(usage): Report it.
   14414 	* src/getargs.h (locationsflag): Export it.
   14415 	* src/lex.c (percent_table): Support `%locations'.
   14416 	* src/reader.c (yylsp_needed): Remove this variable, now replaced
   14417 	with `locationsflag'.
   14418 	* doc/bison.texinfo: Document `--locations' and `%locations'.
   14419 	Sort the options.
   14420 	* tests/calc.m4: Test it.
   14421 
   14422 	For regularity of the names, replace each
   14423 	(nolineflag, toknumflag, rawtokenumflag, noparserflag): with...
   14424 	(no_lineflag, token_tableflag, rawflag, no_parserflag): this.
   14425 	In addition replace each `flag' with `_flag'.
   14426 
   14427 2000-10-02  Akim Demaille  <akim (a] epita.fr>
   14428 
   14429 	Also test parse error messages, including with YYERROR_VERBOSE.
   14430 
   14431 	* tests/calc.m4 (calc.y): Add support for `exp = exp' (non
   14432 	associative).
   14433 	Use it to check the computations.
   14434 	Use it to check `nonassoc' is honored.
   14435 	(AT_DATA_CALC_Y): Equip `calc.y' with YYERROR_VERBOSE when passed
   14436 	`--yyerror-verbose'.
   14437 	(_AT_CHECK_CALC): Adjust to this option.
   14438 	(_AT_CHECK_CALC_ERROR): New macro to check parse error messages.
   14439 
   14440 2000-10-02  Akim Demaille  <akim (a] epita.fr>
   14441 
   14442 	Test also `--verbose', `--defines' and `--name-prefix'.  Testing
   14443 	the latter demonstrates a flaw in the handling of non debugging
   14444 	parsers introduced by myself on 2000-03-16: `#define yydebug 0'
   14445 	was used in order to simplify:
   14446 
   14447 	#if YYDEBUG
   14448 	if (yydebug)
   14449 	{
   14450 	...
   14451 	}
   14452 	#endif
   14453 
   14454 	into
   14455 
   14456 	if (yydebug)
   14457 	{
   14458 	...
   14459 	}
   14460 
   14461 	unfortunately this leads to a CPP conflict when
   14462 	`--name-prefix=foo' is used since it produces `#define yydebug
   14463 	foodebug'.
   14464 
   14465 	* src/bison.s1 [!YYDEBUG]: Do not define yydebug.
   14466 	(YYDPRINTF): New macro.
   14467 	Spread its use.
   14468 	* tests/calc.m4 (AT_CHECK_CALC): Do require a title, build it from
   14469 	the bison options.
   14470 	Also test `--verbose', `--defines' and `--name-prefix'.
   14471 
   14472 2000-10-02  Akim Demaille  <akim (a] epita.fr>
   14473 
   14474 	Improve the readability of the produced parsers.
   14475 
   14476 	* src/bison.s1: Formatting changes.
   14477 	Improve the comment related to the `$' mark.
   14478 	(yydefault): Don't fall through to `yyresume': `goto' there.
   14479 	* src/output.c (output_parser): When the `$' is met, skip the end
   14480 	of its line.
   14481 	New variable, `number_of_dollar_signs', to check there's exactly
   14482 	one `$' in the parser skeleton.
   14483 
   14484 2000-10-02  Akim Demaille  <akim (a] epita.fr>
   14485 
   14486 	* lib/xstrdup.c: New file, from the fileutils.
   14487 	* src/reader.c (parse_token_decl, get_type_name, parse_type_decl)
   14488 	(parse_assoc_decl, parse_thong_decl, get_type): Use `xstrdup'
   14489 	instead of strlen + xmalloc + strcpy.
   14490 	* src/symtab.c (copys): Remove, use xstrdup instead.
   14491 
   14492 2000-10-02  Akim Demaille  <akim (a] epita.fr>
   14493 
   14494 	* src/gram.h (associativity): New enum type which replaces the
   14495 	former CPP macros `RIGHT_ASSOC', `LEFT_ASSOC' and `NON_ASSOC' with
   14496 	`right_assoc', `left_assoc' and `non_assoc'.
   14497 	Adjust all dependencies.
   14498 	* src/reader.c: Formatting changes.
   14499 	(LTYPESTR): Don't define it, use it as a literal in
   14500 	`reader_output_yylsp'.
   14501 	* src/symtab.h (symbol_class): New enum type which replaces the
   14502 	former CPP macros `SUNKNOWN', `STOKEN and `SNTERM' with
   14503 	`sunknown', `stoken and `snterm'.
   14504 
   14505 2000-10-02  Akim Demaille  <akim (a] epita.fr>
   14506 
   14507 	* src/getargs.c (fixed_outfiles): Rename as...
   14508 	(yaccflag): for consistency and accuracy.
   14509 	Adjust dependencies.
   14510 
   14511 2000-10-02  Akim Demaille  <akim (a] epita.fr>
   14512 
   14513 	Use the more standard files `xalloc.h' and `xmalloc.c' instead of
   14514 	Bison's `allocate.c' and `alloc.h'.  This patch was surprisingly
   14515 	difficult and introduced a lot of core dump.  It turns out that
   14516 	Bison used an implementation of `xmalloc' based on `calloc', and
   14517 	at various places it does depend upon the initialization to 0.  I
   14518 	have not tried to isolate the pertinent places, and all the former
   14519 	calls to Bison's `xmalloc' are now using `XCALLOC'.  Someday,
   14520 	someone should address this issue.
   14521 
   14522 	* src/allocate.c, src/alloc.h, m4/bison-decl.m4: Remove.
   14523 	* lib/xmalloc.c, lib/xalloc.h, m4/malloc.m4, m4/realloc.m4: New
   14524 	files.
   14525 	Adjust dependencies.
   14526 	* src/warshall.h: New file.
   14527 	Propagate.
   14528 
   14529 2000-10-02  Akim Demaille  <akim (a] epita.fr>
   14530 
   14531 	Various anti-`extern in *.c' changes.
   14532 
   14533 	* src/system.h: Include `assert.h'.
   14534 
   14535 2000-10-02  Akim Demaille  <akim (a] epita.fr>
   14536 
   14537 	* src/state.h (nstates, final_state, first_state, first_shift)
   14538 	(first_reduction): Move their exportation from here...
   14539 	* src/LR0.h: to here.
   14540 	Adjust dependencies.
   14541 	* src/getargs.c (statisticsflag): New variable.
   14542 	Add support for `--statistics'.
   14543 	Adjust dependencies.
   14544 
   14545 	Remove a lot of now useless `extern' statements in most files.
   14546 
   14547 2000-10-02  Akim Demaille  <akim (a] epita.fr>
   14548 
   14549 	* src/LR0.h: New file.
   14550 	Propagate its use.
   14551 
   14552 2000-10-02  Akim Demaille  <akim (a] epita.fr>
   14553 
   14554 	* src/print.h: New file.
   14555 	Propagate its use.
   14556 	* src/print.c: Formatting and ordering changes.
   14557 	(verbose, terse): Replace with...
   14558 	(print_results): this new function.
   14559 	Adjust dependencies.
   14560 
   14561 2000-10-02  Akim Demaille  <akim (a] epita.fr>
   14562 
   14563 	* src/conflicts.c (conflict_report): New function.
   14564 	(conflict_log, verbose_conflict_log): Replace with...
   14565 	(print_conflicts): this function.
   14566 	Adjust dependencies.
   14567 	* src/conflicts.h: New file.
   14568 	Propagate its inclusion.
   14569 
   14570 2000-10-02  Akim Demaille  <akim (a] epita.fr>
   14571 
   14572 	* src/nullable.h: New file.
   14573 	Propagate its inclusion.
   14574 	* src/nullable.c: Formatting changes.
   14575 
   14576 2000-10-02  Akim Demaille  <akim (a] epita.fr>
   14577 
   14578 	* src/reduce.h: New file.
   14579 	Propagate its inclusion.
   14580 	* src/reduce.c: Topological sort and other formatting changes.
   14581 	(bool, TRUE, FALSE): Move their definition to...
   14582 	* src/system.h: here.
   14583 
   14584 2000-10-02  Akim Demaille  <akim (a] epita.fr>
   14585 
   14586 	* src/files.c: Formatting changes.
   14587 	(tryopen, tryclose, openfiles): Rename as...
   14588 	(xfopen, xfclose, open_files): this.
   14589 	(stringappend): static.
   14590 	* src/files.h: Complete the list of exported symbols.
   14591 	Propagate its use.
   14592 
   14593 2000-10-02  Akim Demaille  <akim (a] epita.fr>
   14594 
   14595 	* src/reader.h: New file.
   14596 	Propagate its use instead of tedious list of `extern' and
   14597 	prototypes.
   14598 	* src/reader.c: Formatting changes, topological sort,
   14599 	s/register//.
   14600 
   14601 2000-10-02  Akim Demaille  <akim (a] epita.fr>
   14602 
   14603 	* src/lex.h: Prototype `lex.c' exported functions.
   14604 	* src/reader.c: Adjust.
   14605 	* src/lex.c: Formatting changes.
   14606 	(safegetc): Rename as...
   14607 	(xgetc): this.
   14608 
   14609 2000-10-02  Akim Demaille  <akim (a] epita.fr>
   14610 
   14611 	* src/lalr.h: New file.
   14612 	Propagate its inclusion instead of prototypes and `extern'.
   14613 	* src/lalr.c: Formatting changes, topological sorting etc.
   14614 
   14615 2000-10-02  Akim Demaille  <akim (a] epita.fr>
   14616 
   14617 	* src/output.c (token_actions): Introduce a temporary array,
   14618 	YYDEFACT, that makes it possible for this function to use
   14619 	output_short_table.
   14620 
   14621 2000-10-02  Akim Demaille  <akim (a] epita.fr>
   14622 
   14623 	`user_toknums' is output as a `short[]' in `output.c', while it is
   14624 	defined as a `int[]' in `reader.c'.  For consistency with the
   14625 	other output tables, `user_toknums' is now defined as a table of
   14626 	shorts.
   14627 
   14628 	* src/reader.c (user_toknums): Be a short table instead of an int
   14629 	table.
   14630 	Adjust dependencies.
   14631 
   14632 	Factor the short table outputs.
   14633 
   14634 	* src/output.c (output_short_table): New function.
   14635 	* src/output.c (output_gram, output_stos, output_rule_data)
   14636 	(output_base, output_table, output_check):  Use it.
   14637 
   14638 2000-10-02  Akim Demaille  <akim (a] epita.fr>
   14639 
   14640 	* src/output.c (output): Topological sort of the functions, in
   14641 	order to get rid of the `static' prototypes.
   14642 	No longer use `register'.
   14643 	* src/output.h: New file.
   14644 	Propagate its inclusion in files explicitly prototyping functions
   14645 	from output.c.
   14646 
   14647 2000-09-21  Akim Demaille  <akim (a] epita.fr>
   14648 
   14649 	* src/atgeneral.m4: Update from Autoconf.
   14650 
   14651 2000-09-21  Akim Demaille  <akim (a] epita.fr>
   14652 
   14653 	* src/closure.h: New file.
   14654 	* src/closure.c: Formatting changes, topological sort over the
   14655 	functions, use of closure.h.
   14656 	(initialize_closure, finalize_closure):  Rename as...
   14657 	(new_closure, free_closure): these.  Adjust dependencies.
   14658 	* src/LR0.c: Formatting changes, topological sort, use of
   14659 	cloture.h.
   14660 	(initialize_states): Rename as...
   14661 	(new_states): this.
   14662 	* src/Makefile.am (noinst_HEADERS): Adjust.
   14663 
   14664 2000-09-20  Akim Demaille  <akim (a] epita.fr>
   14665 
   14666 	* src/acconfig.h: Don't protect config.h against multiple
   14667 	inclusion.
   14668 	Don't define PARAMS.
   14669 	* src/system.h: Define PARAMS.
   14670 	Remove some of the ad-hoc CPP magic for DOS, VMS etc.: this is the
   14671 	purpose of config.h.  system.h must not try to fix wrong
   14672 	definitions in config.h.
   14673 
   14674 2000-09-20  Akim Demaille  <akim (a] epita.fr>
   14675 
   14676 	* src/derives.h: New file.
   14677 	* src/main.c, src/derives.h: Use it.
   14678 	Formatting changes.
   14679 	* src/Makefile.am (noinst_HEADERS): Adjust.
   14680 
   14681 2000-09-20  Akim Demaille  <akim (a] epita.fr>
   14682 
   14683 	* tests/atgeneral.m4: Update from Autoconf.
   14684 	* tests/calc.m4 (_AT_DATA_CALC_Y, AT_DATA_CALC_Y, _AT_CHECK_CALC)
   14685 	(AT_CHECK_CALC): New macros.
   14686 	Use these macros to test bison with options `', `--raw',
   14687 	`--debug', `--yacc', `--yacc --debug'.
   14688 
   14689 2000-09-19  Akim Demaille  <akim (a] epita.fr>
   14690 
   14691 	* src/output.c: Formatting changes.
   14692 	* src/machine.h: Remove, leaving its contents in...
   14693 	* src/system.h: here.
   14694 	Include stdio.h.
   14695 	Adjust all dependencies on stdio.h and machine.h.
   14696 	* src/getargs.h: New file.
   14697 	Let all `extern' declarations about getargs.c be replaced with
   14698 	inclusion of `getargs.h'.
   14699 	* src/Makefile.am (noinst_HEADERS): Adjust.
   14700 
   14701 	* tests/calc.m4 (yyin): Be initialized in main, not on the global
   14702 	scope.
   14703 	(yyerror): Returns void, not int.
   14704 	* doc/bison.texinfo: Formatting changes.
   14705 
   14706 2000-09-19  Akim Demaille  <akim (a] epita.fr>
   14707 
   14708 	* tests/calc.m4 (calc.y): Do not assign to stdin, as it's not
   14709 	portable.
   14710 
   14711 2000-09-18  Akim Demaille  <akim (a] epita.fr>
   14712 
   14713 	* configure.in: Append WARNING_CFLAGS to CFLAGS.
   14714 	* src/Makefile.am (INCLUDES): Don't.
   14715 	Be ready to fetch headers in lib/.
   14716 
   14717 2000-09-18  Akim Demaille  <akim (a] epita.fr>
   14718 
   14719 	* doc/bison.texinfo: Update the copyright.
   14720 	ANSIfy and GNUify the examples.
   14721 	Remove the old menu.
   14722 
   14723 2000-09-18  Akim Demaille  <akim (a] epita.fr>
   14724 
   14725 	First set of tests: use the `calc' example from the documentation.
   14726 
   14727 	* src/bison.s1 (yyparse): Condition the code using `yytname' which
   14728 	is defined only when YYDEBUG is.
   14729 	* m4/atconfig.m4 (AT_CONFIG): Adjust to Autoconf 2.13.
   14730 	* src/files.c (tryopen, tryclose): Formatting changes.
   14731 	Move to the top and be static.
   14732 	* src/reader.c (read_signed_integer): Likewise.
   14733 	* tests/calc.m4: New file.
   14734 	* Makefile.am, suite.m4: Adjust.
   14735 	* m4/atconfig.m4: Set BISON_SIMPLE and BISON_HAIRY.
   14736 
   14737 2000-09-18  Akim Demaille  <akim (a] epita.fr>
   14738 
   14739 	Add support for an Autotest test suite for Bison.
   14740 
   14741 	* m4/m4.m4, m4/atconfig.m4: New files.
   14742 	* m4/Makefile.am (EXTRA_DIST): Adjust.
   14743 	* tests/suite.m4, tests/Makefile.am, tests/atgeneral.m4: New
   14744 	files.
   14745 	* src/getargs.c: Display a more standard --version message.
   14746 	* src/reader.c (reader): Formatting changes.
   14747 	No longer depend upon VERSION_STRING.
   14748 	* configure.in: No longer use `dnl'.
   14749 	Set up the test suite and the new directory `tests/.
   14750 	(VERSION_STRING): Remove.
   14751 
   14752 2000-04-14  Akim Demaille  <akim (a] epita.fr>
   14753 
   14754 	* src/reader.c (copy_comment2): New function, same as former
   14755 	`copy_comment', but outputs into two FILE *.
   14756 	(copy_comment): Use it.
   14757 	(parse_union_decl): Use it.
   14758 	(get_type, parse_start_decl): Use the same `invalid' message.
   14759 	(parse_start_decl, parse_union_decl): Use the same `multiple'
   14760 	message.
   14761 	(parse_union_decl, copy_guard, copy_action): Use the same
   14762 	`unmatched' message.
   14763 	* m4/Makefile.am (EXTRA_DIST): Add `warning.m4'.
   14764 
   14765 2000-03-31  Akim Demaille  <akim (a] epita.fr>
   14766 
   14767 	* src/files.c (tryopen, tryclose): Move to the top.
   14768 	Be static.
   14769 
   14770 2000-03-31  Akim Demaille  <akim (a] epita.fr>
   14771 
   14772 	* src/main.c (main): Don't call `done', exit does it.
   14773 
   14774 2000-03-31  Akim Demaille  <akim (a] epita.fr>
   14775 
   14776 	* allocate.c: s/return (foo)/return foo/.
   14777 	* lalr.c: Likewise.
   14778 	* LR0.c: Likewise.
   14779 	* output.c: Likewise.
   14780 	* reader.c: Likewise.
   14781 	* symtab.c: Likewise.
   14782 	* vmsgetargs.c: Likewise.
   14783 
   14784 2000-03-31  Akim Demaille  <akim (a] epita.fr>
   14785 
   14786 	Clean up the error reporting functions.
   14787 
   14788 	* src/report.c: New file.
   14789 	* src/report.h: Likewise.
   14790 	* src/Makefile.am: Adjust.
   14791 	* m4/error.m4: New file.
   14792 	* m4/Makefile.am: Adjust.
   14793 	* configure.in (jm_PREREQ_ERROR): Call it.
   14794 	* src/main.c (int_to_string, banner, fatal_banner, warn_banner):
   14795 	Remove.
   14796 	(fatal, fatals): Remove.  All callers use complain.c::fatal.
   14797 	(warn, warni, warns, warnss, warnss): Remove.  All callers use
   14798 	complain.c::complain.
   14799 	(toomany): Remove, use fatal instead.
   14800 	* src/files.c (done): No argument, use complain_message_count.
   14801 	* src/main.c (main): Register `done' to `atexit'.
   14802 
   14803 	* src/getargs.c (usage): More `fputs', less `fprintf'.
   14804 
   14805 2000-03-28  Akim Demaille  <akim (a] epita.fr>
   14806 
   14807 	* lib/: New directory.
   14808 	* Makefile.am (SUBDIRS): Adjust.
   14809 	* configure.in: Adjust.
   14810 	(LIBOBJS): Although not used yet, AC_SUBST it, otherwise it's
   14811 	useless.
   14812 	* src/alloca.c: Moved to lib/.
   14813 	* src/getopt.c: Likewise.
   14814 	* src/getopt1.c: Likewise.
   14815 	* src/getopt.h: Likewise.
   14816 	* src/ansi2knr.c: Likewise.
   14817 	* src/ansi2knr.1: Likewise.
   14818 	* src/Makefile.am: Adjust.
   14819 	* lib/Makefile.am: New file.
   14820 
   14821 2000-03-28  Akim Demaille  <akim (a] epita.fr>
   14822 
   14823 	* src/getargs.c (usage): Refresh the help message.
   14824 
   14825 2000-03-17  Akim Demaille  <akim (a] epita.fr>
   14826 
   14827 	* src/getopt1.c: Updated from textutils 2.0e
   14828 	* src/getopt.c: Likewise.
   14829 	* src/getopt.h: Likewise.
   14830 
   14831 2000-03-17  Akim Demaille  <akim (a] epita.fr>
   14832 
   14833 	* src/Makefile.am (bison.simple): Fix the awk program: quote only
   14834 	the file name, not the whole `#line LINE FILE'.
   14835 
   14836 2000-03-17  Akim Demaille  <akim (a] epita.fr>
   14837 
   14838 	On syntax errors, report the token on which we choked.
   14839 
   14840 	* src/bison.s1 (yyparse): In the label yyerrlab, when
   14841 	YYERROR_VERBOSE, add yychar in msg.
   14842 
   14843 2000-03-17  Akim Demaille  <akim (a] epita.fr>
   14844 
   14845 	* src/reader.c (copy_at): New function.
   14846 	(copy_guard): Use it.
   14847 	(copy_action): Use it.
   14848 
   14849 2000-03-17  Akim Demaille  <akim (a] epita.fr>
   14850 
   14851 	Be kind to translators, save some useless translations.
   14852 
   14853 	* src/main.c (banner): New function.
   14854 	(fatal_banner): Use it.
   14855 	(warn_banner): Use it.
   14856 
   14857 2000-03-17  Akim Demaille  <akim (a] epita.fr>
   14858 
   14859 	* src/reader.c (copy_definition): Use copy_string and
   14860 	copy_comment.  Removed now unused `match', `ended',
   14861 	`cplus_comment'.
   14862 	(copy_comment, copy_string): Moved, to be visible from
   14863 	copy_definition.
   14864 
   14865 2000-03-17  Akim Demaille  <akim (a] epita.fr>
   14866 
   14867 	* src/reader.c (copy_string): Declare `static inline'.  No
   14868 	problems with inline, since it is checked by configure.
   14869 	(copy_comment): Likewise.
   14870 
   14871 2000-03-17  Akim Demaille  <akim (a] epita.fr>
   14872 
   14873 	* src/reader.c (packsymbols): Formatting changes.
   14874 
   14875 2000-03-17  Akim Demaille  <akim (a] epita.fr>
   14876 
   14877 	* src/reader.c (copy_comment): New function, factored out from:
   14878 	(copy_action): Use it.  Removed now unused `match', `ended',
   14879 	`cplus_comment'.
   14880 	(copy_guard): Likewise.
   14881 
   14882 2000-03-17  Akim Demaille  <akim (a] epita.fr>
   14883 
   14884 	* src/reader.c (copy_string): New function, factored out from:
   14885 	(copy_action): Use it.
   14886 	(copy_guard): Likewise.
   14887 
   14888 2000-03-17  Akim Demaille  <akim (a] epita.fr>
   14889 
   14890 	Change the handling of @s so that they behave exactly like $s.
   14891 	There is now a pseudo variable @$ (readble and writable), location
   14892 	of the lhs of the rule (by default ranging from the location of
   14893 	the first symbol of the rhs, to the location of the last symbol,
   14894 	or, if the rhs is empty, YYLLOC).
   14895 
   14896 	* src/bison.s1 [YYLSP_NEEDED] (yyloc): New variable, twin of
   14897 	yyval.
   14898 	(yyparse): When providing a default semantic action, provide a
   14899 	default location action.
   14900 	(after the $): No longer change `*YYLSP', just stack YYLOC the
   14901 	same way you stack YYVAL.
   14902 	* src/reader.c (read_declarations): Use warns.
   14903 	(copy_guard, case '@'): Also recognize `@$', expanded as `YYLOC'.
   14904 	(copy_action, case '@'): Likewise.
   14905 	Use a standard error message, to save useless work from
   14906 	translators.
   14907 
   14908 2000-03-17  Akim Demaille  <akim (a] epita.fr>
   14909 
   14910 	* src/bison.s1: Formatting and cosmetics changes.
   14911 	* src/reader.c: Likewise.
   14912 	Update the Copyright notice.
   14913 
   14914 2000-03-17  Akim Demaille  <akim (a] epita.fr>
   14915 
   14916 	* src/bison.s1 (#line): All set to `#line' only, since the
   14917 	Makefile now handles them.
   14918 
   14919 2000-03-16  Akim Demaille  <akim (a] epita.fr>
   14920 
   14921 	* src/output.c (output_rule_data): Output the documentation of
   14922 	some of the tables.
   14923 	(Copyright notice): Update.
   14924 	Formatting changes.
   14925 
   14926 2000-03-16  Akim Demaille  <akim (a] epita.fr>
   14927 
   14928 	* src/bison.s1 [!YYDEBUG]: Define yydebug to 0.  This allows to
   14929 	remove most `#if YYDEBUG != 0', since `if (yydebug)' is enough.
   14930 	One `#if YYDEBUG' remains, since it uses variables which are
   14931 	defined only if `YYDEBUG != 0'.
   14932 
   14933 2000-03-16  Akim Demaille  <akim (a] epita.fr>
   14934 
   14935 	* src/bison.s1 (yyparse): Reorganize the definitions of the stacks
   14936 	and related variables so that the similarities are highlighted.
   14937 
   14938 2000-03-16  Akim Demaille  <akim (a] epita.fr>
   14939 
   14940 	* src/bison.s1: Properly indent CPP directives.
   14941 
   14942 2000-03-16  Akim Demaille  <akim (a] epita.fr>
   14943 
   14944 	* src/bison.s1: Properly indent the `alloca' CPP section.
   14945 
   14946 2000-03-16  Akim Demaille  <akim (a] epita.fr>
   14947 
   14948 	Do not hard code values of directories in `configure.in'.
   14949 	Update the `configure' tool chain.
   14950 
   14951 	* configure.in (XPFILE, XPFILE1, LOCALEDIR): Remove, handled by
   14952 	src/makefile.am.
   14953 	(VERSION_STRING): Use the third arg of AC_DEFINE_UNQUOTED.
   14954 	(AC_OUTPUT): Add m4/Makefile.
   14955 	Bump to bison 1.28a, 1.29 has never been released.
   14956 	* acconfig.h (XPFILE, XPFILE1, LOCALEDIR): Remove, since they are
   14957 	handled via src/Makefile.am.
   14958 	(VERSION_STRING, PROTOTYPES, ENABLE_NLS, HAVE_CATGETS,
   14959 	HAVE_GETTEXT, HAVE_LC_MESSAGES, HAVE_STPCPY): Remove, handled by
   14960 	autoheader.
   14961 	* Makefile.am (SUBDIRS): Add m4.
   14962 	(ACLOCAL_AM_FLAGS): New variable.
   14963 	(AUTOMAKE_OPTIONS): Add check-news.
   14964 	* src/Makefile.am (bison.simple): Use awk to replace #line lines with
   14965 	the proper line number and file name.
   14966 	(DEFS): Propagate the location of bison library files and of the
   14967 	locale files.
   14968 	(INCLUDES): Added `-I ..' so that one can compile with srcdir !=
   14969 	builddir.
   14970 	* acinclude.m4: Remove, replaced by the directory m4.
   14971 	* m4/Makefile.am (EXTRA_DIST): New variable.
   14972 	* m4/gettext.m4: New file, from the fileutils.
   14973 	* m4/lcmessage.m4: Likewise
   14974 	* m4/progtest.m4: Likewise.
   14975 	* m4/bison-decl.m4: New file, extracted from former acinclude.m4.
   14976 
   14977 2000-03-10  Akim Demaille  <akim (a] epita.fr>
   14978 
   14979 	* src/closure.c:
   14980 	Formatting changes of various comments.
   14981 	Respect the GNU coding standards at various places.
   14982 	Don't use `_()' when no translation is needed.
   14983 
   14984 1999-12-13  Jesse Thilo  <jthilo (a] gnu.org>
   14985 
   14986 	* src/files.c:
   14987 	OS/2 honors TMPDIR environment variable.
   14988 
   14989 1999-12-13  Jesse Thilo  <jthilo (a] gnu.org>
   14990 
   14991 	* doc/bison.texinfo: Tweaked spelling and grammar.
   14992 	Updated ISBN.
   14993 	Removed reference to price of printed copy.
   14994 	Mention BISON_SIMPLE and BISON_HAIRY.
   14995 
   14996 1999-12-13  Jesse Thilo  <jthilo (a] gnu.org>
   14997 
   14998 	* configure.in, NEWS:
   14999 	Bison 1.29 released.
   15000 
   15001 1999-10-27  Jesse Thilo  <jthilo (a] gnu.org>
   15002 
   15003 	* doc/.cvsignore, doc/Makefile.am, doc/refcard.tex:
   15004 	Added reference card.
   15005 
   15006 1999-07-26  Jesse Thilo  <jthilo (a] gnu.org>
   15007 
   15008 	* po/ru.po: Added Russian translation.
   15009 
   15010 1999-07-26  Jesse Thilo  <jthilo (a] gnu.org>
   15011 
   15012 	* configure.in: Added Russian translation.
   15013 
   15014 1999-07-06  Jesse Thilo  <jthilo (a] gnu.org>
   15015 
   15016 	* configure.in, NEWS, README:
   15017 	Released version 1.28.
   15018 
   15019 1999-06-14  Jesse Thilo  <jthilo (a] gnu.org>
   15020 
   15021 	* src/system.h:
   15022 	Squashed redefinition warning on some systems.
   15023 
   15024 	* src/getargs.c, src/Makefile.am, src/reader.c, src/version.c:
   15025 	Have configure build version string instead of relying on ANSI string
   15026 	concatentation.
   15027 
   15028 1999-06-14  Jesse Thilo  <jthilo (a] gnu.org>
   15029 
   15030 	* po/POTFILES.in: Got rid of version.c.
   15031 
   15032 1999-06-14  Jesse Thilo  <jthilo (a] gnu.org>
   15033 
   15034 	* acconfig.h, configure.in:
   15035 	Have configure build version string instead of relying on ANSI string
   15036 	concatentation.
   15037 
   15038 1999-06-08  Jesse Thilo  <jthilo (a] gnu.org>
   15039 
   15040 	* doc/bison.1:
   15041 	Dropped mention of `+' for long-named options.
   15042 
   15043 1999-05-30  Jesse Thilo  <jthilo (a] gnu.org>
   15044 
   15045 	* src/files.c: Added <unistd.h> for unlink().
   15046 
   15047 	* src/Makefile.am, src/system.h:
   15048 	I18n fixes.
   15049 
   15050 1999-05-30  Jesse Thilo  <jthilo (a] gnu.org>
   15051 
   15052 	* README: Added a FAQ list.
   15053 
   15054 	* configure.in, acconfig.h:
   15055 	I18n fixes.
   15056 
   15057 1999-05-30  Jesse Thilo  <jthilo (a] gnu.org>
   15058 
   15059 	* doc/FAQ, doc/Makefile.am:
   15060 	Added a FAQ list.
   15061 
   15062 1999-05-19  Jesse Thilo  <jthilo (a] gnu.org>
   15063 
   15064 	* src/alloc.h, src/symtab.h, src/version.c:
   15065 	Protected inclusion of "config.h" with HAVE_CONFIG_H.
   15066 
   15067 1999-04-18  Jesse Thilo  <jthilo (a] gnu.org>
   15068 
   15069 	* src/.cvsignore, src/Makefile.am:
   15070 	Reorganized: sources in `src', documentation in `doc'.
   15071 
   15072 	* src/lex.c (literalchar):
   15073 	fixed the code for escaping double quotes (thanks
   15074 	Jonathan Czisny.)
   15075 
   15076 1999-04-18  Jesse Thilo  <jthilo (a] gnu.org>
   15077 
   15078 	* po/de.po, po/es.po, po/fr.po, po/nl.po, po/POTFILES.in:
   15079 	Adjusted paths to reflect directory reorganization.
   15080 
   15081 1999-04-18  Jesse Thilo  <jthilo (a] gnu.org>
   15082 
   15083 	* doc/.cvsignore, doc/Makefile.am:
   15084 	Reorganized: sources in `src', documentation in `doc'.
   15085 
   15086 1999-04-18  Jesse Thilo  <jthilo (a] gnu.org>
   15087 
   15088 	* configure.in:
   15089 	Updated AC_INIT file to reflect directory reorganization.
   15090 
   15091 	* configure.in, .cvsignore, Makefile.am, POTFILES.in:
   15092 	Reorganized: sources in `src', documentation in `doc'.
   15093 
   15094 1999-04-13  Jesse Thilo  <jthilo (a] gnu.org>
   15095 
   15096 	* src/allocate.c:
   15097 	Don't declare calloc() and realloc() if not necessary.
   15098 
   15099 1999-04-13  Jesse Thilo  <jthilo (a] gnu.org>
   15100 
   15101 	* configure.in, acconfig.h, acinclude.m4:
   15102 	Don't declare calloc() and realloc() if not necessary.
   15103 
   15104 1999-03-23  Jesse Thilo  <jthilo (a] gnu.org>
   15105 
   15106 	* po/.cvsignore: Added i18n support.
   15107 
   15108 1999-03-23  Jesse Thilo  <jthilo (a] gnu.org>
   15109 
   15110 	* acconfig.h, configure.in, Makefile.am:
   15111 	Added i18n support.
   15112 
   15113 1999-03-22  Jesse Thilo  <jthilo (a] gnu.org>
   15114 
   15115 	* src/bison.s1: Fixed #line numbers.
   15116 
   15117 1999-03-15  Jesse Thilo  <jthilo (a] gnu.org>
   15118 
   15119 	* po/es.po, po/fr.po, po/nl.po, po/de.po:
   15120 	Added PO files from Translation Project.
   15121 
   15122 1999-03-03  Jesse Thilo  <jthilo (a] gnu.org>
   15123 
   15124 	* Makefile.am:
   15125 	Added support for non-ANSI compilers (ansi2knr).
   15126 
   15127 1999-02-16  Jesse Thilo  <jthilo (a] gnu.org>
   15128 
   15129 	* configure.in: Bumped version number to 1.27.
   15130 
   15131 	* Makefile.am:
   15132 	Added `bison.simple' to list of files removed by `make distclean'.
   15133 
   15134 1999-02-12  Jesse Thilo  <jthilo (a] gnu.org>
   15135 
   15136 	* src/files.c, src/files.h:
   15137 	Defined locations of parser files in config.h instead of Makefile.
   15138 
   15139 1999-02-12  Jesse Thilo  <jthilo (a] gnu.org>
   15140 
   15141 	* acconfig.h, acinclude.m4, configure.in, Makefile.am:
   15142 	Defined locations of parser files in config.h instead of Makefile.
   15143 
   15144 1999-02-09  Jesse Thilo  <jthilo (a] gnu.org>
   15145 
   15146 	* Makefile.am:
   15147 	Removed inappropriate use of $< macro.
   15148 
   15149 1999-02-05  Jesse Thilo  <jthilo (a] gnu.org>
   15150 
   15151 	* po/Makefile.in.in, po/POTFILES.in:
   15152 	Add `po' directory skeleton.
   15153 
   15154 1999-01-27  Jesse Thilo  <jthilo (a] gnu.org>
   15155 
   15156 	* README: Document help-bison list.
   15157 
   15158 	* configure.in: Add check for mkstemp().
   15159 
   15160 1999-01-20  Jesse Thilo  <jthilo (a] gnu.org>
   15161 
   15162 	* src/conflicts.c, src/LR0.c, src/output.c, src/reader.c:
   15163 	Hush a few compiler warnings.
   15164 
   15165 	* src/files.c:
   15166 	Add tryclose(), which verifies that fclose was successful.
   15167 	Hush a couple of compiler warnings.
   15168 
   15169 1999-01-20  Jesse Thilo  <jthilo (a] gnu.org>
   15170 
   15171 	* Makefile.am, OChangeLog:
   15172 	ChangeLog is now automatically generated.  Include the old version as
   15173 	OChangeLog.
   15174 
   15175 1999-01-14  Jesse Thilo  <jthilo (a] gnu.org>
   15176 
   15177 	* src/gram.h, src/lalr.c, src/lex.c, src/lex.h, src/machine.h, src/main.c, src/nullable.c, src/output.c, src/print.c, src/reader.c, src/reduce.c, src/state.h, src/symtab.c, src/symtab.h, src/types.h, src/vmsgetargs.c, src/warshall.c, src/allocate.c, src/alloc.h, src/bison.s1, src/closure.c, src/conflicts.c, src/derives.c, src/files.c, src/files.h, src/getargs.c, src/gram.c, src/LR0.c:
   15178 	Update FSF address.
   15179 
   15180 1999-01-14  Jesse Thilo  <jthilo (a] gnu.org>
   15181 
   15182 	* doc/bison.texinfo: Fix formatting glitch.
   15183 
   15184 	* doc/bison.texinfo: Update FSF address.
   15185 
   15186 1999-01-14  Jesse Thilo  <jthilo (a] gnu.org>
   15187 
   15188 	* acconfig.h: Update FSF address.
   15189 
   15190 1999-01-08  Jesse Thilo  <jthilo (a] gnu.org>
   15191 
   15192 	* src/system.h:
   15193 	Don't define PACKAGE here, since config.h defines it.
   15194 
   15195 1998-12-30  Jesse Thilo  <jthilo (a] gnu.org>
   15196 
   15197 	* src/reader.c: Update copyright date.
   15198 
   15199 	* src/main.c:
   15200 	Ditch sprintf to statically-sized buffers in fatal/warn functions in
   15201 	favor of output directly to stderr (avoids buffer overruns).
   15202 
   15203 	* src/reader.c: Some checks for premature EOF.
   15204 
   15205 	* src/allocate.c, src/alloc.h, src/closure.c, src/conflicts.c, src/derives.c, src/getargs.c, src/gram.c, src/lalr.c, src/lex.c, src/LR0.c, src/main.c, src/nullable.c, src/output.c, src/print.c, src/reduce.c, src/symtab.c, src/symtab.h, src/warshall.c:
   15206 	Use prototypes if the compiler understands them.
   15207 
   15208 	* src/files.c: Honor TMPDIR on Unix hosts.
   15209 	Use prototypes if the compiler understands them.
   15210 
   15211 	* src/reader.c:
   15212 	Fix a couple of buffer overrun bugs.
   15213 	Use prototypes if the compiler understands them.
   15214 
   15215 	* src/system.h: Include unistd.h and ctype.h.
   15216 	Use #ifdef instead of #if for NLS symbols.
   15217 
   15218 1998-12-30  Jesse Thilo  <jthilo (a] gnu.org>
   15219 
   15220 	* doc/bison.texinfo:
   15221 	Delete comment "consider using @set for edition number, etc..." since
   15222 	we now are doing so.
   15223 
   15224 1998-12-30  Jesse Thilo  <jthilo (a] gnu.org>
   15225 
   15226 	* configure.in:
   15227 	Use prototypes if the compiler understands them.
   15228 
   15229 	* NEWS: Document 1.26 highlights.
   15230 
   15231 	* Makefile.am: Require Automake 1.3 or later.
   15232 
   15233 	* acconfig.h:
   15234 	Use prototypes if the compiler understands them.
   15235 
   15236 1998-12-29  Jesse Thilo  <jthilo (a] gnu.org>
   15237 
   15238 	* src/version.c:
   15239 	Use VERSION symbol from automake for version number.
   15240 
   15241 1998-12-29  Jesse Thilo  <jthilo (a] gnu.org>
   15242 
   15243 	* acconfig.h, configure.in, version.cin:
   15244 	Use VERSION symbol from automake for version number.
   15245 
   15246 1998-11-28  Jesse Thilo  <jthilo (a] gnu.org>
   15247 
   15248 	* Makefile.am:
   15249 	Distribute original version of simple parser (bison.s1), not built
   15250 	version (bison.simple).
   15251 
   15252 1998-11-28  Jesse Thilo  <jthilo (a] gnu.org>
   15253 
   15254 	* doc/bison.texinfo: Add info dir entry.
   15255 
   15256 	* doc/bison.texinfo:
   15257 	Let automake put version number into documentation.
   15258 
   15259 1998-11-26  Jesse Thilo  <jthilo (a] gnu.org>
   15260 
   15261 	* src/bison.cld, src/build.com, src/vmshlp.mar:
   15262 	Add non-RCS files from /gd/gnu/bison.
   15263 
   15264 1998-11-26  Jesse Thilo  <jthilo (a] gnu.org>
   15265 
   15266 	* doc/bison.1:
   15267 	Document the BISON_HAIRY and BISON_SIMPLE variables.
   15268 
   15269 1998-11-25  Jesse Thilo  <jthilo (a] gnu.org>
   15270 
   15271 	* src/version.c: Build version.c automatically.
   15272 
   15273 	* src/reader.c:
   15274 	Fix token numbering (used to start at 258, not 257).
   15275 
   15276 	* src/system.h: Include config.h.
   15277 
   15278 	* src/getargs.c: Update bug report address.
   15279 
   15280 	* src/alloca.c, src/getopt1.c, src/getopt.c, src/getopt.h:
   15281 	Get latest copies of alloca.c, getopt.c, getopt.h, getopt1.c from gnu.org.
   15282 
   15283 1998-11-25  Jesse Thilo  <jthilo (a] gnu.org>
   15284 
   15285 	* Makefile.am:
   15286 	Rename bison.simple to bison.s1 (bison.simple is then built from bison.s1).
   15287 
   15288 	* configure.in, version.cin:
   15289 	Build version.c automatically.
   15290 
   15291 	* AUTHORS: Add AUTHORS file.
   15292 
   15293 	* README: Update bug report address.
   15294 
   15295 	* bison.simple:
   15296 	Rename bison.simple to bison.s1 (bison.simple is then built from bison.s1).
   15297 
   15298 	* configure.in, Makefile.am, Makefile.in, stamp-h.in:
   15299 	Add automake stuff.
   15300 
   15301 1998-11-25  Jesse Thilo  <jthilo (a] gnu.org>
   15302 
   15303 	* doc/bison.texinfo: Clean up some formatting.
   15304 
   15305 1998-05-05  Richard Stallman  <rms (a] gnu.org>
   15306 
   15307 	* doc/bison.texinfo:
   15308 	Explain better why to make a pure parser.
   15309 
   15310 1998-01-05  Richard Stallman  <rms (a] gnu.org>
   15311 
   15312 	* src/files.c (openfiles):
   15313 	[_WIN32 && !__CYGWIN32__] Use TEMP or Temp to
   15314 	find a temporary directory, if possible.  Do not unlink files while
   15315 	they are open.
   15316 
   15317 1997-08-25  Richard Stallman  <rms (a] gnu.org>
   15318 
   15319 	* src/reader.c (stack_offset;):
   15320 	Change some warni to warns.
   15321 
   15322 	* src/lex.c (literalchar): Use warns, not warni.
   15323 
   15324 1997-06-28  Richard Stallman  <rms (a] gnu.org>
   15325 
   15326 	* src/bison.s1: Add a Bison version comment.
   15327 
   15328 	* src/main.c (fatal, warn, berror):
   15329 	Use program_name.
   15330 
   15331 1997-06-28  Richard Stallman  <rms (a] gnu.org>
   15332 
   15333 	* Makefile.in (bison_version): New variable.
   15334 	(dist): Use that variable.
   15335 	(bison.s1): Substitute the Bison version into bison.simple.
   15336 
   15337 	* bison.simple: Add a Bison version comment.
   15338 
   15339 1997-06-18  Richard Stallman  <rms (a] gnu.org>
   15340 
   15341 	* src/main.c (fatal, warn, berror):
   15342 	Make error messages standard.
   15343 	(toomany): Improve error message text.
   15344 
   15345 	* src/LR0.c, src/closure.c, src/conflicts.c, src/derives.c, src/files.c, src/lalr.c, src/lex.c, src/nullable.c, src/output.c, src/print.c, src/reader.c, src/reduce.c, src/symtab.c:
   15346 	new.h renamed to alloc.h.
   15347 
   15348 1997-06-18  Richard Stallman  <rms (a] gnu.org>
   15349 
   15350 	* Makefile.in: new.h renamed to alloc.h.
   15351 
   15352 1997-05-24  Richard Stallman  <rms (a] gnu.org>
   15353 
   15354 	* src/lex.c (literalchar):
   15355 	Fix the code for escaping \, " and '.
   15356 
   15357 	(lex): Avoid trouble when there are many chars
   15358 	to discard in a char literal with just several chars in it.
   15359 
   15360 1997-05-17  Richard Stallman  <rms (a] gnu.org>
   15361 
   15362 	* src/bison.s1:
   15363 	Use malloc, if using alloca is troublesome.
   15364 	(YYSTACK_USE_ALLOCA): New flag macro.
   15365 	Define it for some systems and compilers.
   15366 	(YYSTACK_ALLOC): New macro.
   15367 	(yyparse): Use YYSTACK_ALLOC to allocate stack.
   15368 	If it was malloc'd, free it.
   15369 
   15370 1997-05-17  Richard Stallman  <rms (a] gnu.org>
   15371 
   15372 	* bison.simple:
   15373 	Use malloc, if using alloca is troublesome.
   15374 	(YYSTACK_USE_ALLOCA): New flag macro.
   15375 	Define it for some systems and compilers.
   15376 	(YYSTACK_ALLOC): New macro.
   15377 	(yyparse): Use YYSTACK_ALLOC to allocate stack.
   15378 	If it was malloc'd, free it.
   15379 
   15380 1997-04-23  Richard Stallman  <rms (a] gnu.org>
   15381 
   15382 	* src/bison.s1:
   15383 	(alloca) [__hpux]: Always define as __builtin_alloca.
   15384 
   15385 1997-04-23  Richard Stallman  <rms (a] gnu.org>
   15386 
   15387 	* bison.simple:
   15388 	(alloca) [__hpux]: Always define as __builtin_alloca.
   15389 
   15390 1997-04-22  Richard Stallman  <rms (a] gnu.org>
   15391 
   15392 	* src/bison.s1:
   15393 	[__hpux]: Include alloca.h (right for HPUX 10)
   15394 	instead of declaring alloca (right for HPUX 9).
   15395 
   15396 	* src/bison.s1 (__yy_memcpy):
   15397 	Declare arg `count' as unsigned int.
   15398 	(yyparse): Cast third arg to __yy_memcpy to unsigned int.
   15399 
   15400 1997-04-22  Richard Stallman  <rms (a] gnu.org>
   15401 
   15402 	* bison.simple:
   15403 	[__hpux]: Include alloca.h (right for HPUX 10)
   15404 	instead of declaring alloca (right for HPUX 9).
   15405 
   15406 	* bison.simple (__yy_memcpy):
   15407 	Declare arg `count' as unsigned int.
   15408 	(yyparse): Cast third arg to __yy_memcpy to unsigned int.
   15409 
   15410 1997-01-03  Richard Stallman  <rms (a] gnu.org>
   15411 
   15412 	* src/allocate.c: [__STDC__ or _MSC_VER]:
   15413 	Declare calloc and realloc to return void *.
   15414 
   15415 1997-01-02  Richard Stallman  <rms (a] gnu.org>
   15416 
   15417 	* src/system.h:
   15418 	[_MSC_VER]: Include stdlib.h and process.h.
   15419 	[_MSC_VER] (getpid): Define as macro--translate it to _getpid.
   15420 
   15421 	* src/main.c (main): Return FAILURE as a value.
   15422 	(printable_version): Declare arg as int, not char.
   15423 
   15424 1997-01-02  Richard Stallman  <rms (a] gnu.org>
   15425 
   15426 	* Makefile.in (dist):
   15427 	Explicitly check for symlinks, and copy them.
   15428 
   15429 1996-12-19  Richard Stallman  <rms (a] gnu.org>
   15430 
   15431 	* src/files.c:
   15432 	[_MSC_VER] (XPFILE, XPFILE1): Define, if not already defined.
   15433 
   15434 1996-12-18  Paul Eggert  <eggert (a] gnu.org>
   15435 
   15436 	* src/bison.s1 (yyparse):
   15437 	If __GNUC__ and YYPARSE_PARAM are both defined,
   15438 	declare yyparse to have a void * argument.
   15439 
   15440 1996-12-18  Paul Eggert  <eggert (a] gnu.org>
   15441 
   15442 	* bison.simple (yyparse):
   15443 	If __GNUC__ and YYPARSE_PARAM are both defined,
   15444 	declare yyparse to have a void * argument.
   15445 
   15446 1996-12-17  Richard Stallman  <rms (a] gnu.org>
   15447 
   15448 	* src/reduce.c (nbits): Add some casts.
   15449 
   15450 1996-08-12  Richard Stallman  <rms (a] gnu.org>
   15451 
   15452 	* src/bison.s1: Test _MSDOS as well as _MSDOS_.
   15453 
   15454 1996-08-12  Richard Stallman  <rms (a] gnu.org>
   15455 
   15456 	* bison.simple: Test _MSDOS as well as _MSDOS_.
   15457 
   15458 1996-07-31  Richard Stallman  <rms (a] gnu.org>
   15459 
   15460 	* src/bison.s1:
   15461 	[__sun && __i386]: Include alloca.h.
   15462 
   15463 1996-07-31  Richard Stallman  <rms (a] gnu.org>
   15464 
   15465 	* bison.simple:
   15466 	[__sun && __i386]: Include alloca.h.
   15467 
   15468 1996-07-30  Richard Stallman  <rms (a] gnu.org>
   15469 
   15470 	* src/bison.s1: Comment change.
   15471 
   15472 	* src/bison.s1: Test _MSDOS_, not MSDOS.
   15473 
   15474 1996-07-30  Richard Stallman  <rms (a] gnu.org>
   15475 
   15476 	* bison.simple: Comment change.
   15477 
   15478 	* bison.simple: Test _MSDOS_, not MSDOS.
   15479 
   15480 1996-06-01  Richard Stallman  <rms (a] gnu.org>
   15481 
   15482 	* src/reduce.c, src/reader.c, src/print.c, src/output.c, src/nullable.c, src/lex.c, src/lalr.c, src/getargs.c, src/derives.c, src/conflicts.c, src/closure.c, src/allocate.c:
   15483 	Insert `_' macro around many string constants.
   15484 
   15485 	* src/main.c:
   15486 	Insert `_' macro around many string constants.
   15487 
   15488 	(main): Call setlocale, bindtextdomain and textdomain.
   15489 
   15490 	* src/system.h: [HAVE_LOCALE_H]: Include locale.h.
   15491 	[! HAVE_LOCALE_H] (setlocale): Define as no-op.
   15492 	[ENABLE_NLS]: Include libintl.h.
   15493 	[ENABLE_NLS] (gettext): Define.
   15494 	[! ENABLE_NLS] (bintextdomain, textdomain, _): Consolation definitions.
   15495 	(N_, PACKAGE, LOCALEDIR): New macros.
   15496 
   15497 1996-06-01  Richard Stallman  <rms (a] gnu.org>
   15498 
   15499 	* POTFILES.in: New file.
   15500 
   15501 	* Makefile.in (allocate.o):
   15502 	Define target explicitly.
   15503 
   15504 	* Makefile.in (CFLAGS): Set to @CFLAGS@.
   15505 	(LDFLAGS): Set to @LDFLAGS@.
   15506 	(configure): Run autoconf only if preceding `cd' succeeds.
   15507 	(bison.s1): Redirect output to temporary file then move the
   15508 	temporary to the target, rather than redirecting directly to bison.s1.
   15509 	(clean): Remove config.status and config.log.
   15510 	(distclean): Don't remove config.status here.
   15511 
   15512 1996-05-12  Richard Stallman  <rms (a] gnu.org>
   15513 
   15514 	* src/bison.s1:
   15515 	(__yy_memcpy) [__cplusplus]: Reorder declarations of variables f and t.
   15516 
   15517 1996-05-12  Richard Stallman  <rms (a] gnu.org>
   15518 
   15519 	* bison.simple:
   15520 	(__yy_memcpy) [__cplusplus]: Reorder declarations of variables f and t.
   15521 
   15522 1996-05-11  Richard Stallman  <rms (a] gnu.org>
   15523 
   15524 	* src/bison.s1 (__yy_memcpy):
   15525 	Really reorder the args, as was supposedly done on Feb 14 1995.
   15526 	(yyparse): Calls changed accordingly.
   15527 
   15528 1996-05-11  Richard Stallman  <rms (a] gnu.org>
   15529 
   15530 	* Makefile.in (dist): Don't use $(srcdir).
   15531 
   15532 	* bison.simple (__yy_memcpy):
   15533 	Really reorder the args, as was supposedly done on Feb 14 1995.
   15534 	(yyparse): Calls changed accordingly.
   15535 
   15536 1996-01-27  Richard Stallman  <rms (a] gnu.org>
   15537 
   15538 	* src/output.c (output_rule_data):
   15539 	Test YYERROR_VERBOSE in the conditional
   15540 	around the definition of ttyname.
   15541 
   15542 1995-12-29  Richard Stallman  <rms (a] gnu.org>
   15543 
   15544 	* src/bison.s1:
   15545 	Fix line numbers in #line commands.
   15546 
   15547 1995-12-29  Richard Stallman  <rms (a] gnu.org>
   15548 
   15549 	* bison.simple:
   15550 	Fix line numbers in #line commands.
   15551 
   15552 1995-12-27  Richard Stallman  <rms (a] gnu.org>
   15553 
   15554 	* src/bison.s1 (YYPARSE_PARAM_DECL):
   15555 	In C++, make it always null.
   15556 	(YYPARSE_PARAM_ARG): New macro.
   15557 	(yyparse): Use YYPARSE_PARAM_ARG.
   15558 
   15559 1995-12-27  Richard Stallman  <rms (a] gnu.org>
   15560 
   15561 	* bison.simple (YYPARSE_PARAM_DECL):
   15562 	In C++, make it always null.
   15563 	(YYPARSE_PARAM_ARG): New macro.
   15564 	(yyparse): Use YYPARSE_PARAM_ARG.
   15565 
   15566 1995-11-29  Richard Stallman  <rms (a] gnu.org>
   15567 
   15568 	* doc/bison.texinfo:
   15569 	Describe literal string tokens, %raw, %no_lines, %token_table.
   15570 
   15571 1995-11-29  Daniel Hagerty  <hag (a] gnu.org>
   15572 
   15573 	* doc/bison.texinfo: Fixed update date
   15574 
   15575 1995-10-16  Richard Stallman  <rms (a] gnu.org>
   15576 
   15577 	* src/version.c: Version 1.25.
   15578 
   15579 1995-10-16  Richard Stallman  <rms (a] gnu.org>
   15580 
   15581 	* NEWS: *** empty log message ***
   15582 
   15583 1995-10-16  Richard Stallman  <rms (a] gnu.org>
   15584 
   15585 	* doc/bison.1, doc/bison.rnh:
   15586 	Add new options.
   15587 
   15588 1995-10-15  Richard Stallman  <rms (a] gnu.org>
   15589 
   15590 	* src/vmsgetargs.c, src/getargs.c:
   15591 	Added -n, -k, and -raw switches.
   15592 	(noparserflag, toknumflag, rawtoknumflag): New variables.
   15593 
   15594 	* src/symtab.h (SALIAS):
   15595 	New #define for adding aliases to %token.
   15596 	(struct bucket): Added `alias' field.
   15597 
   15598 	* src/reduce.c (reduce_grammar):
   15599 	Revise error message.
   15600 	(print_notices): Remove final `.' from error message.
   15601 
   15602 	* src/reader.c (reader_output_yylsp):
   15603 	New function.
   15604 	(readgram): Use `#if 0' around code that accepted %command
   15605 	inside grammar rules:  The documentation doesn't allow it,
   15606 	and it will fail since the %command processors scan for the next %.
   15607 	(parse_token_decl):  Extended the %token
   15608 	declaration to allow a multi-character symbol as an alias.
   15609 	(parse_thong_decl): New function.
   15610 	(read_declarations): Added %thong declarations.
   15611 	(read_declarations): Handle NOOP to deal with allowing
   15612 	% declarations as another means to specify the flags.
   15613 	(readgram): Allow %prec prior to semantics embedded in a rule.
   15614 	(skip_to_char, read_declarations, copy_definition)
   15615 	(parse_token_decl, parse_start_decl, parse_type_decl)
   15616 	(parse_assoc_decl, parse_union_decl, parse_expect_decl)
   15617 	(get_type_name, copy_guard, copy_action, readgram)
   15618 	(get_type, packsymbols):  Revised most error messages.
   15619 	Changed `fatal' to `warnxxx' to avoid aborting for error.
   15620 	Revised and use multiple warnxxx functions to avoid using VARARGS1.
   15621 	(read_declarations): Improve the error message for
   15622 	an invalid character.  Do not abort.
   15623 	(read_declarations, copy_guard, copy_action): Use
   15624 	printable_version to avoid unprintable characters in printed output.
   15625 	(parse_expect_decl): Error if argument to %expect exceeds 10 digits.
   15626 	(parse_token_decl, parse_assoc_decl, parse_type_decl, get_type):
   15627 	Allow the type of a non-terminal can be given
   15628 	more than once, as long as all specifications give the same type.
   15629 
   15630 	* src/output.c:
   15631 	(output_headers, output_trailers, output, output_gram)
   15632 	(output_rule_data): Implement noparserflag variable.
   15633 	Implement toknumflag variable.
   15634 	(output): Call reader_output_yylsp to output LTYPESTR.
   15635 
   15636 	* src/main.c (main):
   15637 	 If reader sees an error, don't process the grammar.
   15638 	(fatals): Updated to not use VARARGS1.
   15639 	(printable_version, int_to_string, warn, warni, warns, warnss)
   15640 	(warnsss): New error reporting functions.  Avoid abort for error.
   15641 
   15642 	* src/lex.h:
   15643 	Added THONG and NOOP for alias processing.
   15644 	Added SETOPT for the new code that allows setting options with %flags.
   15645 
   15646 	* src/lex.c:
   15647 	Include getopt.h.  Add some extern decls.
   15648 	(safegetc): New function to deal with EOF gracefully.
   15649 	(literalchar); new function to deal with reading \ escapes.
   15650 	(lex): Use literalchar.
   15651 	(lex): Implemented "..." tokens.
   15652 	(literalchar, lex, parse_percent_token): Made tokenbuffer
   15653 	always contain the token.  This includes growing the token
   15654 	buffer while reading an integer.
   15655 	(parse_percent_token): Replaced if-else statement with percent_table.
   15656 	(parse_percent_token): Added % declarations as another
   15657 	way to specify the flags -n, -l, and -r.  Also added hooks for
   15658 	-d, -k, -y, -v, -t, -p, -b, -o, but implementation requires
   15659 	major changes to files.c.
   15660 	(lex) Retain in the incoming stream a character following
   15661 	an incorrect '/'.
   15662 	(skip_white_space, lex):  Revised most error messages
   15663 	and changed fatal to warn to avoid aborting.
   15664 	(percent_table):  Added %thong declarations.
   15665 
   15666 	* src/gram.h: Comment changes.
   15667 
   15668 	* src/files.c (openfiles, open_extra_files, done):
   15669 	 Add faction flag
   15670 	and actfile file.  Handle noparserflag.  Both for -n switch.
   15671 
   15672 	* src/conflicts.c (resolve_sr_conflict):
   15673 	Remove use of alloca.
   15674 
   15675 1995-06-01  Jim Meyering  <meyering (a] gnu.org>
   15676 
   15677 	* doc/bison.texinfo: *** empty log message ***
   15678 
   15679 1995-05-06  Richard Stallman  <rms (a] gnu.org>
   15680 
   15681 	* src/bison.s1: Comment change.
   15682 
   15683 1995-05-06  Richard Stallman  <rms (a] gnu.org>
   15684 
   15685 	* bison.simple: Comment change.
   15686 
   15687 1995-05-03  Richard Stallman  <rms (a] gnu.org>
   15688 
   15689 	* src/version.c: Version now 1.24.
   15690 
   15691 	* src/bison.s1: Change distribution terms.
   15692 
   15693 	* src/version.c: Version now 1.23.
   15694 
   15695 1995-05-03  Richard Stallman  <rms (a] gnu.org>
   15696 
   15697 	* doc/bison.texinfo:
   15698 	Rewrite "Conditions for Using Bison".
   15699 	Update version to 1.24.
   15700 
   15701 1995-05-03  Richard Stallman  <rms (a] gnu.org>
   15702 
   15703 	* bison.simple: Change distribution terms.
   15704 
   15705 1995-02-23  Richard Stallman  <rms (a] gnu.org>
   15706 
   15707 	* src/files.c: Test __VMS_POSIX as well as VMS.
   15708 
   15709 1995-02-14  Jim Meyering  <meyering (a] gnu.org>
   15710 
   15711 	* src/bison.s1 (__yy_memcpy):
   15712 	Renamed from __yy_bcopy to avoid
   15713 	confusion.  Reverse FROM and TO arguments to be consistent with
   15714 	those of memcpy.
   15715 
   15716 1995-02-14  Jim Meyering  <meyering (a] gnu.org>
   15717 
   15718 	* bison.simple (__yy_memcpy):
   15719 	Renamed from __yy_bcopy to avoid
   15720 	confusion.  Reverse FROM and TO arguments to be consistent with
   15721 	those of memcpy.
   15722 
   15723 1994-11-10  David J. MacKenzie  <djm (a] gnu.org>
   15724 
   15725 	* NEWS: reformat
   15726 
   15727 	* NEWS: New file.
   15728 
   15729 	* Makefile.in (DISTFILES): Include NEWS.
   15730 
   15731 	* Makefile.in (DISTFILES):
   15732 	Include install-sh, not install.sh.
   15733 
   15734 	* configure.in: Update to Autoconf v2 macro names.
   15735 
   15736 1994-10-05  David J. MacKenzie  <djm (a] gnu.org>
   15737 
   15738 	* Makefile.in: fix typo
   15739 
   15740 	* Makefile.in (prefix, exec_prefix):
   15741 	Let configure set them.
   15742 
   15743 1994-09-28  David J. MacKenzie  <djm (a] gnu.org>
   15744 
   15745 	* Makefile.in: Set datadir to $(prefix)/share.
   15746 
   15747 1994-09-15  Richard Stallman  <rms (a] gnu.org>
   15748 
   15749 	* src/bison.s1:
   15750 	Update copyright notice and GPL version.
   15751 
   15752 1994-09-15  Richard Stallman  <rms (a] gnu.org>
   15753 
   15754 	* bison.simple:
   15755 	Update copyright notice and GPL version.
   15756 
   15757 1994-07-12  Richard Stallman  <rms (a] gnu.org>
   15758 
   15759 	* src/reduce.c, src/reader.c:
   15760 	entered into RCS
   15761 
   15762 1994-05-05  David J. MacKenzie  <djm (a] gnu.org>
   15763 
   15764 	* Makefile.in: entered into RCS
   15765 
   15766 1994-03-26  Richard Stallman  <rms (a] gnu.org>
   15767 
   15768 	* src/bison.s1: entered into RCS
   15769 
   15770 1994-03-26  Richard Stallman  <rms (a] gnu.org>
   15771 
   15772 	* bison.simple: entered into RCS
   15773 
   15774 1994-03-25  Richard Stallman  <rms (a] gnu.org>
   15775 
   15776 	* src/main.c: entered into RCS
   15777 
   15778 1994-03-24  Richard Stallman  <rms (a] gnu.org>
   15779 
   15780 	* src/conflicts.c: entered into RCS
   15781 
   15782 1994-01-02  Richard Stallman  <rms (a] gnu.org>
   15783 
   15784 	* Makefile.in: *** empty log message ***
   15785 
   15786 1993-11-21  Richard Stallman  <rms (a] gnu.org>
   15787 
   15788 	* src/bison.s1: *** empty log message ***
   15789 
   15790 1993-11-21  Richard Stallman  <rms (a] gnu.org>
   15791 
   15792 	* doc/bison.texinfo: entered into RCS
   15793 
   15794 	* doc/bison.texinfo: *** empty log message ***
   15795 
   15796 1993-11-21  Richard Stallman  <rms (a] gnu.org>
   15797 
   15798 	* bison.simple: *** empty log message ***
   15799 
   15800 1993-10-25  David J. MacKenzie  <djm (a] gnu.org>
   15801 
   15802 	* doc/bison.texinfo: *** empty log message ***
   15803 
   15804 1993-10-19  Richard Stallman  <rms (a] gnu.org>
   15805 
   15806 	* src/bison.s1: *** empty log message ***
   15807 
   15808 1993-10-19  Richard Stallman  <rms (a] gnu.org>
   15809 
   15810 	* bison.simple: *** empty log message ***
   15811 
   15812 1993-10-14  Richard Stallman  <rms (a] gnu.org>
   15813 
   15814 	* src/bison.s1: *** empty log message ***
   15815 
   15816 1993-10-14  Richard Stallman  <rms (a] gnu.org>
   15817 
   15818 	* bison.simple: *** empty log message ***
   15819 
   15820 1993-09-14  David J. MacKenzie  <djm (a] gnu.org>
   15821 
   15822 	* doc/bison.texinfo: *** empty log message ***
   15823 
   15824 1993-09-13  Noah Friedman  <friedman (a] gnu.org>
   15825 
   15826 	* Makefile.in: *** empty log message ***
   15827 
   15828 1993-09-10  Richard Stallman  <rms (a] gnu.org>
   15829 
   15830 	* src/conflicts.c: *** empty log message ***
   15831 
   15832 	* src/system.h: entered into RCS
   15833 
   15834 1993-09-10  Richard Stallman  <rms (a] gnu.org>
   15835 
   15836 	* doc/bison.1: entered into RCS
   15837 
   15838 1993-09-06  Noah Friedman  <friedman (a] gnu.org>
   15839 
   15840 	* src/version.c: entered into RCS
   15841 
   15842 1993-09-06  Noah Friedman  <friedman (a] gnu.org>
   15843 
   15844 	* Makefile.in: *** empty log message ***
   15845 
   15846 1993-07-30  David J. MacKenzie  <djm (a] gnu.org>
   15847 
   15848 	* Makefile.in: *** empty log message ***
   15849 
   15850 1993-07-24  Richard Stallman  <rms (a] gnu.org>
   15851 
   15852 	* src/bison.s1: *** empty log message ***
   15853 
   15854 1993-07-24  Richard Stallman  <rms (a] gnu.org>
   15855 
   15856 	* bison.simple: *** empty log message ***
   15857 
   15858 1993-07-08  David J. MacKenzie  <djm (a] gnu.org>
   15859 
   15860 	* Makefile.in: *** empty log message ***
   15861 
   15862 1993-07-04  Richard Stallman  <rms (a] gnu.org>
   15863 
   15864 	* src/bison.s1: *** empty log message ***
   15865 
   15866 1993-07-04  Richard Stallman  <rms (a] gnu.org>
   15867 
   15868 	* bison.simple: *** empty log message ***
   15869 
   15870 1993-06-26  David J. MacKenzie  <djm (a] gnu.org>
   15871 
   15872 	* src/getargs.c: entered into RCS
   15873 
   15874 1993-06-26  David J. MacKenzie  <djm (a] gnu.org>
   15875 
   15876 	* doc/bison.texinfo: *** empty log message ***
   15877 
   15878 	* doc/bison.1: New file.
   15879 
   15880 1993-06-25  Richard Stallman  <rms (a] gnu.org>
   15881 
   15882 	* src/getargs.c: New file.
   15883 
   15884 1993-06-16  Richard Stallman  <rms (a] gnu.org>
   15885 
   15886 	* src/bison.s1: *** empty log message ***
   15887 
   15888 1993-06-16  Richard Stallman  <rms (a] gnu.org>
   15889 
   15890 	* bison.simple: *** empty log message ***
   15891 
   15892 1993-06-03  Richard Stallman  <rms (a] gnu.org>
   15893 
   15894 	* src/bison.s1: New file.
   15895 
   15896 1993-06-03  Richard Stallman  <rms (a] gnu.org>
   15897 
   15898 	* doc/bison.texinfo: *** empty log message ***
   15899 
   15900 1993-06-03  Richard Stallman  <rms (a] gnu.org>
   15901 
   15902 	* bison.simple: New file.
   15903 
   15904 1993-05-19  Richard Stallman  <rms (a] gnu.org>
   15905 
   15906 	* doc/bison.texinfo: New file.
   15907 
   15908 1993-05-07  Noah Friedman  <friedman (a] gnu.org>
   15909 
   15910 	* Makefile.in: *** empty log message ***
   15911 
   15912 1993-04-28  Noah Friedman  <friedman (a] gnu.org>
   15913 
   15914 	* src/reader.c: *** empty log message ***
   15915 
   15916 1993-04-23  Noah Friedman  <friedman (a] gnu.org>
   15917 
   15918 	* src/alloc.h: entered into RCS
   15919 
   15920 1993-04-20  David J. MacKenzie  <djm (a] gnu.org>
   15921 
   15922 	* src/version.c: *** empty log message ***
   15923 
   15924 	* src/files.c, src/allocate.c:
   15925 	entered into RCS
   15926 
   15927 	* src/reader.c: *** empty log message ***
   15928 
   15929 	* src/lex.c: entered into RCS
   15930 
   15931 	* src/conflicts.c: New file.
   15932 
   15933 	* src/symtab.c: entered into RCS
   15934 
   15935 	* src/alloc.h: New file.
   15936 
   15937 	* src/LR0.c: entered into RCS
   15938 
   15939 1993-04-18  Noah Friedman  <friedman (a] gnu.org>
   15940 
   15941 	* src/reader.c: New file.
   15942 
   15943 	* src/version.c: *** empty log message ***
   15944 
   15945 1993-04-18  Noah Friedman  <friedman (a] gnu.org>
   15946 
   15947 	* Makefile.in: *** empty log message ***
   15948 
   15949 1993-04-17  Noah Friedman  <friedman (a] gnu.org>
   15950 
   15951 	* Makefile.in: *** empty log message ***
   15952 
   15953 1993-04-15  Richard Stallman  <rms (a] gnu.org>
   15954 
   15955 	* src/main.c, src/files.c:
   15956 	New file.
   15957 
   15958 1993-04-15  Noah Friedman  <friedman (a] gnu.org>
   15959 
   15960 	* configure.in: entered into RCS
   15961 
   15962 	* configure.in: *** empty log message ***
   15963 
   15964 	* configure.in: New file.
   15965 
   15966 1993-04-14  Richard Stallman  <rms (a] gnu.org>
   15967 
   15968 	* Makefile.in: New file.
   15969 
   15970 1993-04-13  Richard Stallman  <rms (a] gnu.org>
   15971 
   15972 	* src/version.c: New file.
   15973 
   15974 1993-03-25  Richard Stallman  <rms (a] gnu.org>
   15975 
   15976 	* src/output.c: entered into RCS
   15977 
   15978 1992-09-25  Richard Stallman  <rms (a] gnu.org>
   15979 
   15980 	* configure.bat: entered into RCS
   15981 
   15982 1992-06-22  Richard Stallman  <rms (a] gnu.org>
   15983 
   15984 	* src/vmsgetargs.c: entered into RCS
   15985 
   15986 1992-06-22  Richard Stallman  <rms (a] gnu.org>
   15987 
   15988 	* doc/bison.rnh: entered into RCS
   15989 
   15990 1992-04-20  David J. MacKenzie  <djm (a] gnu.org>
   15991 
   15992 	* README: entered into RCS
   15993 
   15994 1992-01-22  Richard Stallman  <rms (a] gnu.org>
   15995 
   15996 	* src/machine.h: entered into RCS
   15997 
   15998 1991-12-21  Richard Stallman  <rms (a] gnu.org>
   15999 
   16000 	* src/lalr.c, src/closure.c:
   16001 	entered into RCS
   16002 
   16003 1991-12-20  Richard Stallman  <rms (a] gnu.org>
   16004 
   16005 	* src/state.h: entered into RCS
   16006 
   16007 1991-12-18  Richard Stallman  <rms (a] gnu.org>
   16008 
   16009 	* src/print.c, src/nullable.c, src/derives.c:
   16010 	entered into RCS
   16011 
   16012 1991-11-03  David J. MacKenzie  <djm (a] gnu.org>
   16013 
   16014 	* src/warshall.c, src/types.h, src/symtab.h, src/lex.h, src/gram.c, src/gram.h, src/files.h:
   16015 	entered into RCS
   16016 
   16017 1988-09-09  Richard Stallman  <rms (a] gnu.org>
   16018 
   16019 	* src/bison.hairy: entered into RCS
   16020 
   16021 1987-12-16  Richard Stallman  <rms (a] gnu.org>
   16022 
   16023 	* REFERENCES: entered into RCS
   16024 
   16025 
   16026 	-----
   16027 
   16028 	Copyright (C) 1987, 1988, 1991, 1992, 1993, 1994, 1995, 1996,
   16029 	1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free
   16030 	Software Foundation, Inc.
   16031 
   16032 	Copying and distribution of this file, with or without
   16033 	modification, are permitted provided the copyright notice and this
   16034 	notice are preserved.
   16035