1 2001-08-01 Marc Autret <autret_m@epita.fr>
3 * doc/bison.texinfo: Update.
4 * doc/bison.1 (mandoc): Update.
5 * src/system.h (EXT_GUARD_C, EXT_STYPE_H): Remove .c and .h.
6 * src/files.c: Support output files extensions computing.
7 (src_extension): New static variable.
8 (header_extension): New static variable.
10 (get_extension_index): New function, gets the index of an extension
12 (compute_exts_from_gf): New function, computes extensions from the
13 grammar file extension.
14 (compute_exts_from_src): New functions, computes extensions from the
15 C source file extension, file given by ``-o'' option.
16 (compute_base_names): Update.
17 (output_files): Update.
19 2001-08-01 Robert Anisko <anisko_r@epita.fr>
21 * doc/bison.texi: Document @$.
22 (Locations): New section.
24 2001-07-18 Akim Demaille <akim@epita.fr>
26 * Makefile.maint, GNUmakefile: New, from Autoconf 2.52.
27 * config/prev-version.txt, config/move-if-change: New.
28 * Makefile.am: Adjust.
30 2001-07-08 Pascal Bart <pascal.bart@epita.fr>
32 * src/bison.simple (yyparse): Suppress warning `comparaison
33 between signed and unsigned'.
35 2001-07-05 Pascal Bart <pascal.bart@epita.fr>
37 * src/getargs.h (raw_flag): Remove.
38 * src/getargs.c: Die on `-r'/`--raw'.
39 * src/lex.c (parse_percent_token): Die on `%raw'.
40 * src/reader.c (output_token_defines): Suppress call to `raw_flag'.
41 * tests/calc.at: Suppress test with option `--raw'.
43 2001-07-14 Akim Demaille <akim@epita.fr>
46 * configure.in: Require Autoconf 2.50.
47 Update to gettext 0.10.38.
49 2001-03-16 Akim Demaille <akim@epita.fr>
51 * doc/bison.texinfo: ANSIfy the examples.
53 2001-03-16 Akim Demaille <akim@epita.fr>
55 * getargs.c (skeleton): New variable.
56 (longopts): --skeleton is a new option.
57 (shortopts, getargs): -S is a new option.
58 * getargs.h: Declare skeleton.
59 * output.c (output_parser): Use it.
61 2001-03-16 Akim Demaille <akim@epita.fr>
63 * m4/strerror_r.m4: New.
64 * m4/error.m4: Run AC_FUNC_STRERROR_R.
65 * lib/error.h, lib/error.c: Update.
67 2001-03-16 Akim Demaille <akim@epita.fr>
69 * src/getargs.c (longopts): Clean up.
71 2001-02-21 Akim Demaille <akim@epita.fr>
73 * src/reader.c (gensym): `gensym_count' is your own.
74 Use a static buf to create the symbol name, as token_buffer is no
77 2001-02-08 Akim Demaille <akim@epita.fr>
79 * src/conflicts.c (conflict_report): Be sure not to append to res
80 between two calls, which could happen if both first sprintf were
81 skipped, but not the first cp += strlen.
83 2001-02-08 Akim Demaille <akim@epita.fr>
85 * lib/memchr.c, lib/stpcpy.c, lib/strndup.c, lib/strnlen.c:
86 New, from fileutils 4.0.37.
87 * configure.in: Require Autoconf 2.49c. I took some time before
88 making this decision. This is the only way out for portability
89 issues in Bison, it would mean way too much duplicate effort to
90 import in Bison features implemented in 2.49c since 2.13.
91 AC_REPLACE_FUNCS and AC_CHECK_DECLS the functions above.
93 2001-02-02 Akim Demaille <akim@epita.fr>
95 * lib/malloc.c, lib/realloc.c: New, from the fileutils 4.0.37.
96 * lib/xalloc.h, lib/xmalloc.c: Update.
98 2001-01-19 Akim Demaille <akim@epita.fr>
100 Get rid of the ad hoc handling of token_buffer in the scanner: use
103 * src/lex.c (token_obstack): New.
104 (init_lex): Initialize it. No longer call...
105 (grow_token_buffer): this. Remove it.
106 Adjust all the places which used it to use the obstack.
108 2001-01-19 Akim Demaille <akim@epita.fr>
110 * src/lex.h: Rename all the tokens:
111 s/\bENDFILE\b/tok_eof/g;
112 s/\bIDENTIFIER\b/tok_identifier/g;
114 Let them be enums, not #define, to ease debugging.
117 2001-01-18 Akim Demaille <akim@epita.fr>
119 * src/lex.h (MAXTOKEN, maxtoken, grow_token_buffer): Remove, private.
120 * src/lex.c (maxtoken, grow_token_buffer): Static.
122 2001-01-18 Akim Demaille <akim@epita.fr>
124 Since we now use obstacks, more % directives can be enabled.
126 * src/lex.c (percent_table): Also accept `%yacc',
127 `%fixed_output_files', `%defines', `%no_parser', `%verbose', and
129 Handle the actions for `%semantic_parser' and `%pure_parser' here,
130 instead of returning a token.
131 * src/lex.h (SEMANTIC_PARSER, PURE_PARSER): Remove, unused.
132 * src/reader.c (read_declarations): Adjust.
133 * src/files.c (open_files): Don't call `compute_base_names', don't
134 compute `attrsfile' since they depend upon data which might be
135 *in* the input file now.
136 (output_files): Do it here.
137 * src/output.c (output_headers): Document the fact that this patch
138 introduces a guaranteed SEGV for semantic parsers.
139 * doc/bison.texinfo: Document them.
140 * tests/suite.at: Exercise these %options.
142 2000-12-20 Akim Demaille <akim@epita.fr>
144 Also handle the output file (--verbose) with obstacks.
146 * files.c (foutput): Remove.
147 (output_obstack): New.
148 Adjust all dependencies.
149 * src/conflicts.c: Return a string.
150 * src/system.h (obstack_grow_string): Rename as...
151 (obstack_sgrow): this. Be ready to work with non literals.
152 (obstack_fgrow4): New.
154 2000-12-20 Akim Demaille <akim@epita.fr>
156 * src/files.c (open_files): Fix the computation of short_base_name
157 in the case of `-o foo.tab.c'.
159 2000-12-20 Akim Demaille <akim@epita.fr>
161 * src/reader.c (copy_string, copy_comment, copy_comment2, copy_at)
162 (copy_dollar): Now that everything uses obstacks, get rid of the
165 2000-12-20 Akim Demaille <akim@epita.fr>
167 * src/files.c (open_files): Actually the `.output' file is based
168 on the short_base_name, not base_name.
169 * tests/suite.at (Checking output file names): Adjust.
171 2000-12-20 Akim Demaille <akim@epita.fr>
173 * src/bison.s1: Remove, we now use directly...
174 * src/bison.simple: this.
175 * src/Makefile.am: Use pkgdata instead of data.
177 2000-12-20 Akim Demaille <akim@epita.fr>
179 * src/files.c (guard_obstack): New.
180 (open_files): Initialize it.
181 (output_files): Dump it...
182 * src/files.h: Export it.
183 * src/reader.c (copy_guard): Use it.
185 2000-12-19 Akim Demaille <akim@epita.fr>
187 * src/files.c (outfile, defsfile, actfile): Removed as global
189 (open_files): Don't compute them.
190 (output_files): Adjust.
191 (base_name, short_base_name): Be global.
194 2000-12-19 Akim Demaille <akim@epita.fr>
196 * src/files.c (strsuffix): New.
197 (stringappend): Be just like strcat but allocate.
198 (base_names): Eve out from open_files.
199 Try to simplify the rather hairy computation of base_name and
201 (open_files): Use it.
202 * tests/suite.at (Checking output file names): New test.
204 2000-12-19 Akim Demaille <akim@epita.fr>
206 * src/system.h (obstack_grow_literal_string): Rename as...
207 (obstack_grow_string): this.
208 * src/output.c (output_parser): Recognize `%% actions' instead of
210 * src/bison.s1: s/$/%% actions/.
211 * src/bison.hairy: Likewise.
213 2000-12-19 Akim Demaille <akim@epita.fr>
215 * src/output.c (output_parser): Compute the `#line' lines when
217 * src/Makefile.am (bison.simple): Be a simple copy of bison.s1.
218 Suggested by Hans Aberg.
220 2000-12-19 Akim Demaille <akim@epita.fr>
222 Let the handling of the skeleton files be local to the procedures
225 * src/files.c (xfopen, xfclose, skeleton_find, guardfile): No
227 (fparser, open_extra_files): Remove.
228 (open_files, output_files): Don't take care of fparser.
229 * src/files.h: Adjust.
230 * src/output.c (output_parser): Open and close the file to the
232 * src/reader.c (read_declarations): When %semantic_parser, open
235 2000-12-19 Akim Demaille <akim@epita.fr>
237 * src/file.h (BISON_SIMPLE, BISON_HAIRY): Move from here...
238 * src/system.h (BISON_SIMPLE, BISON_HAIRY): ... to here.
240 2000-12-19 Akim Demaille <akim@epita.fr>
242 * src/files.c (open_files): Yipee! We no longer need all the code
243 looking for `/tmp' since we have no tmp file.
245 2000-12-19 Akim Demaille <akim@epita.fr>
247 * src/system.h (EXT_TAB, EXT_OUTPUT, EXT_STYPE_H, EXT_GUARD_C):
249 * src/files.c (open_files): Less dependency on MSDOS etc.
251 2000-12-14 Akim Demaille <akim@epita.fr>
253 * src/bison.s1 (YYLLOC_DEFAULT): New macro.
254 Provide a default definition.
255 Use it when executing the default @ action.
256 * src/reader.c (reader_output_yylsp): No longer include
257 `timestamp' and `text' in the default YYLTYPE.
259 2000-12-12 Akim Demaille <akim@epita.fr>
261 * src/reader.c (copy_definition, parse_union_decl, copy_action)
262 (copy_guard): Quote the file names.
263 Reported by Laurent Mascherpa.
265 2000-12-12 Akim Demaille <akim@epita.fr>
267 * src/output.c (output_headers, output_program, output): Be sure
268 to escape special characters when outputting filenames.
269 (ACTSTR_PROLOGUE, ACTSTR_EPILOGUE): Remove.
270 (output_headers): Don't depend on them, Use ACTSTR.
272 2000-11-17 Akim Demaille <akim@epita.fr>
274 * lib/obstack.h: Formatting changes.
275 (obstack_grow, obstack_grow0): Don't cast WHERE at all: it
276 prevents type checking.
277 (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
278 cast the value to (void *): assigning a `foo *' to a `void *'
280 (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
281 * src/reader.c (parse_union_decl): Typo: use obstack_1grow to
284 2000-11-17 Akim Demaille <akim@epita.fr>
286 * tests/Makefile.am (suite.m4, regression.m4, calc.m4): Rename
288 (suite.m4, regression.m4, calc.m4): these.
289 * tests/atgeneral.m4: Update from CVS Autoconf.
291 2000-11-17 Akim Demaille <akim@epita.fr>
293 * tests/regression.m4 (%union and --defines): New test,
294 demonstrating a current bug in the obstack implementation.
296 2000-11-17 Akim Demaille <akim@epita.fr>
298 * src/bison.s1 (_YY_DECL_VARIABLES, YY_DECL_VARIABLES): New
300 Use them to declare the variables which are global or local to
303 2000-11-17 Akim Demaille <akim@epita.fr>
305 * acconfig.h: Remove, no longer used.
307 2000-11-07 Akim Demaille <akim@epita.fr>
309 * src: s/Copyright (C)/Copyright/g.
311 2000-11-07 Akim Demaille <akim@epita.fr>
313 * src/reader.c (reader): #define YYLSP_NEEDED to 1 instead of just
315 * src/bison.s1: s/#ifdef YYLSP_NEEDED/#if YYLSP_NEEDED/.
317 2000-11-07 Akim Demaille <akim@epita.fr>
319 * src/bison.s1 (YYLEX): Use #if instead of #ifdef.
320 Merge in a single CPP if/else.
322 2000-11-07 Akim Demaille <akim@epita.fr>
324 * src/output.c (output): Remove useless variables.
325 * lib/obstack.c (obstack_grow, obstack_grow0): Rename the second
326 argument `data' for consistency with the prototypes.
328 (obstack_copy, obstack_copy0): Rename the second argument as
329 `address' for consistency. Qualify it `const'.
330 * lib/obstack.h (obstack_copy, obstack_copy0, obstack_grow)
331 (obstack_grow0, obstack_ptr_grow, obstack_ptr_grow_fast): Qualify
332 `const' their input argument (`data' or `address').
333 Adjust the corresponding macros to include `const' in casts.
335 2000-11-03 Akim Demaille <akim@epita.fr>
337 * src/Makefile.am (INCLUDES): s/PFILE/BISON_SIMPLE/.
338 s/PFILE1/BISON_HAIRY/.
341 2000-11-03 Akim Demaille <akim@epita.fr>
343 For some reason, this was not applied.
345 * src/files.c [VMS]: No longer include `ssdef.h', no longer define
346 `unlink': it's no longer used.
348 2000-11-03 Akim Demaille <akim@epita.fr>
350 * src/files.c (skeleton_find): New function, eved out of...
351 (open_files, open_extra_files): here.
353 2000-11-03 Akim Demaille <akim@epita.fr>
357 * src/files.c (obstack_save): New function.
359 (output_files): this.
361 * src/main.c (main): Don't use `atexit' to register `done', since
362 it no longer has to remove tmp files, just call `output_files'
363 when there are no errors.
365 2000-11-02 Akim Demaille <akim@epita.fr>
367 * src/files.c [VMS]: No longer include `ssdef.h', no longer define
368 `unlink': it's no longer used.
369 * src/files.h: Formatting changes.
371 2000-11-02 Akim Demaille <akim@epita.fr>
373 Remove the last uses of mktemp and unlink/delete.
375 * src/files.c (fdefines, ftable): Removed.
376 (defines_ostack, table_obstack): New.
377 Adjust dependencies of the former into uses of the latter.
378 * src/output.c (output_short_or_char_table, output_short_table):
379 Convert to using obstacks.
380 * src/reader.c (copy_comment2): Accept one FILE * and two
382 (output_token_defines, reader_output_yylsp): Use obstacks.
383 * src/system.h (obstack_fgrow3): New.
385 2000-11-01 Akim Demaille <akim@epita.fr>
387 Change each use of `fattrs' into a use of `attrs_obstack'.
389 * src/reader.c (copy_at): Typo: s/yylloc/yyloc/.
390 * src/files.c (fattrs): Remove.
391 (attrs_obstack): New.
392 Adjust all dependencies.
393 (done): If SEMANTIC_PARSER, dump attrs_obstack into attrsfile.
395 2000-11-01 Akim Demaille <akim@epita.fr>
398 Change each use of `faction' into a use of `action_obstack'.
400 * lib/obstack.h, lib/obstack.c: New files.
401 * src/files.c (faction): Remove.
402 (action_obstack): New.
403 Adjust all dependencies.
405 2000-10-20 Akim Demaille <akim@epita.fr>
407 * lib/quote.h (PARAMS): New macro. Use it.
409 2000-10-16 Akim Demaille <akim@epita.fr>
411 * src/output.c (output_short_or_char_table): New function.
412 (output_short_table, output_token_translations): Use it.
413 (goto_actions): Use output_short_table.
415 2000-10-16 Akim Demaille <akim@epita.fr>
417 * src/symtab.c (bucket_new): New function.
420 * src/output.c (output_short_table): New argument to display the
421 comment associated with the table.
423 (output_gram): Use it.
424 (output_rule_data): Nicer output layout for YYTNAME.
426 2000-10-16 Akim Demaille <akim@epita.fr>
428 * src/lex.c (read_typename): New function.
430 * src/reader.c (copy_dollar): Likewise.
432 2000-10-16 Akim Demaille <akim@epita.fr>
434 * src/reader.c (copy_comment2): Expect the input stream to be on
435 the `/' which is suspected to open a comment, instead of being
436 called after `//' or `/*' was read.
437 (copy_comment, copy_definition, parse_union_decl, copy_action)
438 (copy_guard): Adjust.
440 2000-10-16 Akim Demaille <akim@epita.fr>
442 * src/reader.c (parse_expect_decl): Use `skip_white_space' and
443 `read_signed_integer'.
445 2000-10-16 Akim Demaille <akim@epita.fr>
447 * src/reader.c (copy_dollar): New function.
448 (copy_guard, copy_action): Use it.
450 2000-10-16 Akim Demaille <akim@epita.fr>
452 * lib/quote.h, lib/quote.c, lib/quotearg.h, lib/quotearg.c:
453 * m4/prereq.m4, m4/c-bs-a.m4, m4/mbstate.m4:
454 New files, from Fileutils 4.0.27.
455 * src/main.c (printable_version): Remove.
456 * src/lex.c, src/reader.c: Use `quote'.
458 2000-10-04 Akim Demaille <akim@epita.fr>
460 * lib/error.c, lib/error.h: New files, needed by xmalloc.c.
462 2000-10-04 Akim Demaille <akim@epita.fr>
464 * doc/bison.texinfo: Various typos spotted by Neil Booth.
466 2000-10-04 Akim Demaille <akim@epita.fr>
468 When a literal string is used to define two different tokens,
469 `bison -v' segfaults.
470 Reported by Piotr Gackiewicz, and fixed by Neil Booth.
472 * tests/regression.m4: New file.
473 Include the core of the sample provided by Piotr Gackiewicz.
474 * src/reader.c (parse_token_decl): Diagnose bad cases, and proceed
477 2000-10-04 Akim Demaille <akim@epita.fr>
479 * src/reader.c (parse_expect_decl): Keep `count' within the size
483 2000-10-02 Paul Eggert <eggert@twinsun.com>
485 * bison.s1 (yyparse): Assign the default value
486 unconditionally, to avoid a GCC warning and make the parser a
489 2000-10-02 Akim Demaille <akim@epita.fr>
491 * src/getargs.c (getargs): Don't dump `--help' on unrecognized
494 2000-10-02 Akim Demaille <akim@epita.fr>
496 * src/derives.c, src/print.c, src/reduce.c: To ease the
497 translation, move some `\n' out of the translated strings.
499 2000-10-02 Akim Demaille <akim@epita.fr>
501 The location tracking mechanism is precious for parse error
502 messages. Nevertheless, it is enabled only when `@n' is used in
503 the grammar, which is a different issue (you can use it in error
504 message, but not in the grammar per se). Therefore, there should
505 be another means to enable it.
507 * src/getargs.c (getargs): Support `--locations'.
509 * src/getargs.h (locationsflag): Export it.
510 * src/lex.c (percent_table): Support `%locations'.
511 * src/reader.c (yylsp_needed): Remove this variable, now replaced
512 with `locationsflag'.
513 * doc/bison.texinfo: Document `--locations' and `%locations'.
515 * tests/calc.m4: Test it.
517 For regularity of the names, replace each
518 (nolineflag, toknumflag, rawtokenumflag, noparserflag): with...
519 (no_lineflag, token_tableflag, rawflag, no_parserflag): this.
520 In addition replace each `flag' with `_flag'.
522 2000-10-02 Akim Demaille <akim@epita.fr>
524 Also test parse error messages, including with YYERROR_VERBOSE.
526 * tests/calc.m4 (calc.y): Add support for `exp = exp' (non
528 Use it to check the computations.
529 Use it to check `nonassoc' is honored.
530 (AT_DATA_CALC_Y): Equip `calc.y' with YYERROR_VERBOSE when passed
532 (_AT_CHECK_CALC): Adjust to this option.
533 (_AT_CHECK_CALC_ERROR): New macro to check parse error messages.
535 2000-10-02 Akim Demaille <akim@epita.fr>
537 Test also `--verbose', `--defines' and `--name-prefix'. Testing
538 the latter demonstrates a flaw in the handling of non debugging
539 parsers introduced by myself on 2000-03-16: `#define yydebug 0'
540 was used in order to simplify:
556 unfortunately this leads to a CPP conflict when
557 `--name-prefix=foo' is used since it produces `#define yydebug
560 * src/bison.s1 [!YYDEBUG]: Do not define yydebug.
561 (YYDPRINTF): New macro.
563 * tests/calc.m4 (AT_CHECK_CALC): Do require a title, build it from
565 Also test `--verbose', `--defines' and `--name-prefix'.
567 2000-10-02 Akim Demaille <akim@epita.fr>
569 Improve the readability of the produced parsers.
571 * src/bison.s1: Formatting changes.
572 Improve the comment related to the `$' mark.
573 (yydefault): Don't fall through to `yyresume': `goto' there.
574 * src/output.c (output_parser): When the `$' is met, skip the end
576 New variable, `number_of_dollar_signs', to check there's exactly
577 one `$' in the parser skeleton.
579 2000-10-02 Akim Demaille <akim@epita.fr>
581 * lib/xstrdup.c: New file, from the fileutils.
582 * src/reader.c (parse_token_decl, get_type_name, parse_type_decl)
583 (parse_assoc_decl, parse_thong_decl, get_type): Use `xstrdup'
584 instead of strlen + xmalloc + strcpy.
585 * src/symtab.c (copys): Remove, use xstrdup instead.
587 2000-10-02 Akim Demaille <akim@epita.fr>
589 * src/gram.h (associativity): New enum type which replaces the
590 former CPP macros `RIGHT_ASSOC', `LEFT_ASSOC' and `NON_ASSOC' with
591 `right_assoc', `left_assoc' and `non_assoc'.
592 Adjust all dependencies.
593 * src/reader.c: Formatting changes.
594 (LTYPESTR): Don't define it, use it as a literal in
595 `reader_output_yylsp'.
596 * src/symtab.h (symbol_class): New enum type which replaces the
597 former CPP macros `SUNKNOWN', `STOKEN and `SNTERM' with
598 `sunknown', `stoken and `snterm'.
600 2000-10-02 Akim Demaille <akim@epita.fr>
602 * src/getargs.c (fixed_outfiles): Rename as...
603 (yaccflag): for consistency and accuracy.
606 2000-10-02 Akim Demaille <akim@epita.fr>
608 Use the more standard files `xalloc.h' and `xmalloc.c' instead of
609 Bison's `allocate.c' and `alloc.h'. This patch was surprisingly
610 difficult and introduced a lot of core dump. It turns out that
611 Bison used an implementation of `xmalloc' based on `calloc', and
612 at various places it does depend upon the initialization to 0. I
613 have not tried to isolate the pertinent places, and all the former
614 calls to Bison's `xmalloc' are now using `XCALLOC'. Someday,
615 someone should address this issue.
617 * src/allocate.c, src/alloc.h, m4/bison-decl.m4: Remove.
618 * lib/xmalloc.c, lib/xalloc.h, m4/malloc.m4, m4/realloc.m4: New
621 * src/warshall.h: New file.
624 2000-10-02 Akim Demaille <akim@epita.fr>
626 Various anti-`extern in *.c' changes.
628 * src/system.h: Include `assert.h'.
630 2000-10-02 Akim Demaille <akim@epita.fr>
632 * src/state.h (nstates, final_state, first_state, first_shift)
633 (first_reduction): Move their exportation from here...
634 * src/LR0.h: to here.
636 * src/getargs.c (statisticsflag): New variable.
637 Add support for `--statistics'.
640 Remove a lot of now useless `extern' statements in most files.
642 2000-10-02 Akim Demaille <akim@epita.fr>
644 * src/LR0.h: New file.
647 2000-10-02 Akim Demaille <akim@epita.fr>
649 * src/print.h: New file.
651 * src/print.c: Formatting and ordering changes.
652 (verbose, terse): Replace with...
653 (print_results): this new function.
656 2000-10-02 Akim Demaille <akim@epita.fr>
658 * src/conflicts.c (conflict_report): New function.
659 (conflict_log, verbose_conflict_log): Replace with...
660 (print_conflicts): this function.
662 * src/conflicts.h: New file.
663 Propagate its inclusion.
665 2000-10-02 Akim Demaille <akim@epita.fr>
667 * src/nullable.h: New file.
668 Propagate its inclusion.
669 * src/nullable.c: Formatting changes.
671 2000-10-02 Akim Demaille <akim@epita.fr>
673 * src/reduce.h: New file.
674 Propagate its inclusion.
675 * src/reduce.c: Topological sort and other formatting changes.
676 (bool, TRUE, FALSE): Move their definition to...
677 * src/system.h: here.
679 2000-10-02 Akim Demaille <akim@epita.fr>
681 * src/files.c: Formatting changes.
682 (tryopen, tryclose, openfiles): Rename as...
683 (xfopen, xfclose, open_files): this.
684 (stringappend): static.
685 * src/files.h: Complete the list of exported symbols.
688 2000-10-02 Akim Demaille <akim@epita.fr>
690 * src/reader.h: New file.
691 Propagate its use instead of tedious list of `extern' and
693 * src/reader.c: Formatting changes, topological sort,
696 2000-10-02 Akim Demaille <akim@epita.fr>
698 * src/lex.h: Prototype `lex.c' exported functions.
699 * src/reader.c: Adjust.
700 * src/lex.c: Formatting changes.
701 (safegetc): Rename as...
704 2000-10-02 Akim Demaille <akim@epita.fr>
706 * src/lalr.h: New file.
707 Propagate its inclusion instead of prototypes and `extern'.
708 * src/lalr.c: Formatting changes, topological sorting etc.
710 2000-10-02 Akim Demaille <akim@epita.fr>
712 * src/output.c (token_actions): Introduce a temporary array,
713 YYDEFACT, that makes it possible for this function to use
716 2000-10-02 Akim Demaille <akim@epita.fr>
718 `user_toknums' is output as a `short[]' in `output.c', while it is
719 defined as a `int[]' in `reader.c'. For consistency with the
720 other output tables, `user_toknums' is now defined as a table of
723 * src/reader.c (user_toknums): Be a short table instead of an int
727 Factor the short table outputs.
729 * src/output.c (output_short_table): New function.
730 * src/output.c (output_gram, output_stos, output_rule_data)
731 (output_base, output_table, output_check): Use it.
733 2000-10-02 Akim Demaille <akim@epita.fr>
735 * src/output.c (output): Topological sort of the functions, in
736 order to get rid of the `static' prototypes.
737 No longer use `register'.
738 * src/output.h: New file.
739 Propagate its inclusion in files explicitly prototyping functions
742 2000-09-21 Akim Demaille <akim@epita.fr>
744 * src/atgeneral.m4: Update from Autoconf.
746 2000-09-21 Akim Demaille <akim@epita.fr>
748 * src/closure.h: New file.
749 * src/closure.c: Formatting changes, topological sort over the
750 functions, use of closure.h.
751 (initialize_closure, finalize_closure): Rename as...
752 (new_closure, free_closure): these. Adjust dependencies.
753 * src/LR0.c: Formatting changes, topological sort, use of
755 (initialize_states): Rename as...
757 * src/Makefile.am (noinst_HEADERS): Adjust.
759 2000-09-20 Akim Demaille <akim@epita.fr>
761 * src/acconfig.h: Don't protect config.h against multiple
764 * src/system.h: Define PARAMS.
765 Remove some of the ad-hoc CPP magic for DOS, VMS etc.: this is the
766 purpose of config.h. system.h must not try to fix wrong
767 definitions in config.h.
769 2000-09-20 Akim Demaille <akim@epita.fr>
771 * src/derives.h: New file.
772 * src/main.c, src/derives.h: Use it.
774 * src/Makefile.am (noinst_HEADERS): Adjust.
776 2000-09-20 Akim Demaille <akim@epita.fr>
778 * tests/atgeneral.m4: Update from Autoconf.
779 * tests/calc.m4 (_AT_DATA_CALC_Y, AT_DATA_CALC_Y, _AT_CHECK_CALC)
780 (AT_CHECK_CALC): New macros.
781 Use these macros to test bison with options `', `--raw',
782 `--debug', `--yacc', `--yacc --debug'.
784 2000-09-19 Akim Demaille <akim@epita.fr>
786 * src/output.c: Formatting changes.
787 * src/machine.h: Remove, leaving its contents in...
788 * src/system.h: here.
790 Adjust all dependencies on stdio.h and machine.h.
791 * src/getargs.h: New file.
792 Let all `extern' declarations about getargs.c be replaced with
793 inclusion of `getargs.h'.
794 * src/Makefile.am (noinst_HEADERS): Adjust.
796 * tests/calc.m4 (yyin): Be initialized in main, not on the global
798 (yyerror): Returns void, not int.
799 * doc/bison.texinfo: Formatting changes.
801 2000-09-19 Akim Demaille <akim@epita.fr>
803 * tests/calc.m4 (calc.y): Do not assign to stdin, as it's not
806 2000-09-18 Akim Demaille <akim@epita.fr>
808 * configure.in: Append WARNING_CFLAGS to CFLAGS.
809 * src/Makefile.am (INCLUDES): Don't.
810 Be ready to fetch headers in lib/.
812 2000-09-18 Akim Demaille <akim@epita.fr>
814 * doc/bison.texinfo: Update the copyright.
815 ANSIfy and GNUify the examples.
818 2000-09-18 Akim Demaille <akim@epita.fr>
820 First set of tests: use the `calc' example from the documentation.
822 * src/bison.s1 (yyparse): Condition the code using `yytname' which
823 is defined only when YYDEBUG is.
824 * m4/atconfig.m4 (AT_CONFIG): Adjust to Autoconf 2.13.
825 * src/files.c (tryopen, tryclose): Formatting changes.
826 Move to the top and be static.
827 * src/reader.c (read_signed_integer): Likewise.
828 * tests/calc.m4: New file.
829 * Makefile.am, suite.m4: Adjust.
830 * m4/atconfig.m4: Set BISON_SIMPLE and BISON_HAIRY.
832 2000-09-18 Akim Demaille <akim@epita.fr>
834 Add support for an Autotest test suite for Bison.
836 * m4/m4.m4, m4/atconfig.m4: New files.
837 * m4/Makefile.am (EXTRA_DIST): Adjust.
838 * tests/suite.m4, tests/Makefile.am, tests/atgeneral.m4: New
840 * src/getargs.c: Display a more standard --version message.
841 * src/reader.c (reader): Formatting changes.
842 No longer depend upon VERSION_STRING.
843 * configure.in: No longer use `dnl'.
844 Set up the test suite and the new directory `tests/.
845 (VERSION_STRING): Remove.
847 2000-04-14 Akim Demaille <akim@epita.fr>
849 * src/reader.c (copy_comment2): New function, same as former
850 `copy_comment', but outputs into two FILE *.
851 (copy_comment): Use it.
852 (parse_union_decl): Use it.
853 (get_type, parse_start_decl): Use the same `invalid' message.
854 (parse_start_decl, parse_union_decl): Use the same `multiple'
856 (parse_union_decl, copy_guard, copy_action): Use the same
858 * m4/Makefile.am (EXTRA_DIST): Add `warning.m4'.
860 2000-03-31 Akim Demaille <akim@epita.fr>
862 * src/files.c (tryopen, tryclose): Move to the top.
865 2000-03-31 Akim Demaille <akim@epita.fr>
867 * src/main.c (main): Don't call `done', exit does it.
869 2000-03-31 Akim Demaille <akim@epita.fr>
871 * allocate.c: s/return (foo)/return foo/.
874 * output.c: Likewise.
875 * reader.c: Likewise.
876 * symtab.c: Likewise.
877 * vmsgetargs.c: Likewise.
879 2000-03-31 Akim Demaille <akim@epita.fr>
881 Clean up the error reporting functions.
883 * src/report.c: New file.
884 * src/report.h: Likewise.
885 * src/Makefile.am: Adjust.
886 * m4/error.m4: New file.
887 * m4/Makefile.am: Adjust.
888 * configure.in (jm_PREREQ_ERROR): Call it.
889 * src/main.c (int_to_string, banner, fatal_banner, warn_banner):
891 (fatal, fatals): Remove. All callers use complain.c::fatal.
892 (warn, warni, warns, warnss, warnss): Remove. All callers use
893 complain.c::complain.
894 (toomany): Remove, use fatal instead.
895 * src/files.c (done): No argument, use complain_message_count.
896 * src/main.c (main): Register `done' to `atexit'.
898 * src/getargs.c (usage): More `fputs', less `fprintf'.
900 2000-03-28 Akim Demaille <akim@epita.fr>
902 * lib/: New directory.
903 * Makefile.am (SUBDIRS): Adjust.
904 * configure.in: Adjust.
905 (LIBOBJS): Although not used yet, AC_SUBST it, otherwise it's
907 * src/alloca.c: Moved to lib/.
908 * src/getopt.c: Likewise.
909 * src/getopt1.c: Likewise.
910 * src/getopt.h: Likewise.
911 * src/ansi2knr.c: Likewise.
912 * src/ansi2knr.1: Likewise.
913 * src/Makefile.am: Adjust.
914 * lib/Makefile.am: New file.
916 2000-03-28 Akim Demaille <akim@epita.fr>
918 * src/getargs.c (usage): Refresh the help message.
920 2000-03-17 Akim Demaille <akim@epita.fr>
922 * src/getopt1.c: Updated from textutils 2.0e
923 * src/getopt.c: Likewise.
924 * src/getopt.h: Likewise.
926 2000-03-17 Akim Demaille <akim@epita.fr>
928 * src/Makefile.am (bison.simple): Fix the awk program: quote only
929 the file name, not the whole `#line LINE FILE'.
931 2000-03-17 Akim Demaille <akim@epita.fr>
933 On syntax errors, report the token on which we choked.
935 * src/bison.s1 (yyparse): In the label yyerrlab, when
936 YYERROR_VERBOSE, add yychar in msg.
938 2000-03-17 Akim Demaille <akim@epita.fr>
940 * src/reader.c (copy_at): New function.
941 (copy_guard): Use it.
942 (copy_action): Use it.
944 2000-03-17 Akim Demaille <akim@epita.fr>
946 Be kind to translators, save some useless translations.
948 * src/main.c (banner): New function.
949 (fatal_banner): Use it.
950 (warn_banner): Use it.
952 2000-03-17 Akim Demaille <akim@epita.fr>
954 * src/reader.c (copy_definition): Use copy_string and
955 copy_comment. Removed now unused `match', `ended',
957 (copy_comment, copy_string): Moved, to be visible from
960 2000-03-17 Akim Demaille <akim@epita.fr>
962 * src/reader.c (copy_string): Declare `static inline'. No
963 problems with inline, since it is checked by configure.
964 (copy_comment): Likewise.
966 2000-03-17 Akim Demaille <akim@epita.fr>
968 * src/reader.c (packsymbols): Formatting changes.
970 2000-03-17 Akim Demaille <akim@epita.fr>
972 * src/reader.c (copy_comment): New function, factored out from:
973 (copy_action): Use it. Removed now unused `match', `ended',
975 (copy_guard): Likewise.
977 2000-03-17 Akim Demaille <akim@epita.fr>
979 * src/reader.c (copy_string): New function, factored out from:
980 (copy_action): Use it.
981 (copy_guard): Likewise.
983 2000-03-17 Akim Demaille <akim@epita.fr>
985 Change the handling of @s so that they behave exactly like $s.
986 There is now a pseudo variable @$ (readble and writable), location
987 of the lhs of the rule (by default ranging from the location of
988 the first symbol of the rhs, to the location of the last symbol,
989 or, if the rhs is empty, YYLLOC).
991 * src/bison.s1 [YYLSP_NEEDED] (yyloc): New variable, twin of
993 (yyparse): When providing a default semantic action, provide a
994 default location action.
995 (after the $): No longer change `*YYLSP', just stack YYLOC the
996 same way you stack YYVAL.
997 * src/reader.c (read_declarations): Use warns.
998 (copy_guard, case '@'): Also recognize `@$', expanded as `YYLOC'.
999 (copy_action, case '@'): Likewise.
1000 Use a standard error message, to save useless work from
1003 2000-03-17 Akim Demaille <akim@epita.fr>
1005 * src/bison.s1: Formatting and cosmetics changes.
1006 * src/reader.c: Likewise.
1007 Update the Copyright notice.
1009 2000-03-17 Akim Demaille <akim@epita.fr>
1011 * src/bison.s1 (#line): All set to `#line' only, since the
1012 Makefile now handles them.
1014 2000-03-16 Akim Demaille <akim@epita.fr>
1016 * src/output.c (output_rule_data): Output the documentation of
1018 (Copyright notice): Update.
1021 2000-03-16 Akim Demaille <akim@epita.fr>
1023 * src/bison.s1 [!YYDEBUG]: Define yydebug to 0. This allows to
1024 remove most `#if YYDEBUG != 0', since `if (yydebug)' is enough.
1025 One `#if YYDEBUG' remains, since it uses variables which are
1026 defined only if `YYDEBUG != 0'.
1028 2000-03-16 Akim Demaille <akim@epita.fr>
1030 * src/bison.s1 (yyparse): Reorganize the definitions of the stacks
1031 and related variables so that the similarities are highlighted.
1033 2000-03-16 Akim Demaille <akim@epita.fr>
1035 * src/bison.s1: Properly indent CPP directives.
1037 2000-03-16 Akim Demaille <akim@epita.fr>
1039 * src/bison.s1: Properly indent the `alloca' CPP section.
1041 2000-03-16 Akim Demaille <akim@epita.fr>
1043 Do not hard code values of directories in `configure.in'.
1044 Update the `configure' tool chain.
1046 * configure.in (XPFILE, XPFILE1, LOCALEDIR): Remove, handled by
1048 (VERSION_STRING): Use the third arg of AC_DEFINE_UNQUOTED.
1049 (AC_OUTPUT): Add m4/Makefile.
1050 Bump to bison 1.28a, 1.29 has never been released.
1051 * acconfig.h (XPFILE, XPFILE1, LOCALEDIR): Remove, since they are
1052 handled via src/Makefile.am.
1053 (VERSION_STRING, PROTOTYPES, ENABLE_NLS, HAVE_CATGETS,
1054 HAVE_GETTEXT, HAVE_LC_MESSAGES, HAVE_STPCPY): Remove, handled by
1056 * Makefile.am (SUBDIRS): Add m4.
1057 (ACLOCAL_AM_FLAGS): New variable.
1058 (AUTOMAKE_OPTIONS): Add check-news.
1059 * src/Makefile.am (bison.simple): Use awk to replace #line lines with
1060 the proper line number and file name.
1061 (DEFS): Propagate the location of bison library files and of the
1063 (INCLUDES): Added `-I ..' so that one can compile with srcdir !=
1065 * acinclude.m4: Remove, replaced by the directory m4.
1066 * m4/Makefile.am (EXTRA_DIST): New variable.
1067 * m4/gettext.m4: New file, from the fileutils.
1068 * m4/lcmessage.m4: Likewise
1069 * m4/progtest.m4: Likewise.
1070 * m4/bison-decl.m4: New file, extracted from former acinclude.m4.
1072 2000-03-10 Akim Demaille <akim@epita.fr>
1075 Formatting changes of various comments.
1076 Respect the GNU coding standards at various places.
1077 Don't use `_()' when no translation is needed.
1079 1999-12-13 Jesse Thilo <jthilo@gnu.org>
1082 OS/2 honors TMPDIR environment variable.
1084 1999-12-13 Jesse Thilo <jthilo@gnu.org>
1086 * doc/bison.texinfo: Tweaked spelling and grammar.
1088 Removed reference to price of printed copy.
1089 Mention BISON_SIMPLE and BISON_HAIRY.
1091 1999-12-13 Jesse Thilo <jthilo@gnu.org>
1093 * configure.in, NEWS:
1094 Bison 1.29 released.
1096 1999-10-27 Jesse Thilo <jthilo@gnu.org>
1098 * doc/.cvsignore, doc/Makefile.am, doc/refcard.tex:
1099 Added reference card.
1101 1999-07-26 Jesse Thilo <jthilo@gnu.org>
1103 * po/ru.po: Added Russian translation.
1105 1999-07-26 Jesse Thilo <jthilo@gnu.org>
1107 * configure.in: Added Russian translation.
1109 1999-07-06 Jesse Thilo <jthilo@gnu.org>
1111 * configure.in, NEWS, README:
1112 Released version 1.28.
1114 1999-06-14 Jesse Thilo <jthilo@gnu.org>
1117 Squashed redefinition warning on some systems.
1119 * src/getargs.c, src/Makefile.am, src/reader.c, src/version.c:
1120 Have configure build version string instead of relying on ANSI string
1123 1999-06-14 Jesse Thilo <jthilo@gnu.org>
1125 * po/POTFILES.in: Got rid of version.c.
1127 1999-06-14 Jesse Thilo <jthilo@gnu.org>
1129 * acconfig.h, configure.in:
1130 Have configure build version string instead of relying on ANSI string
1133 1999-06-08 Jesse Thilo <jthilo@gnu.org>
1136 Dropped mention of `+' for long-named options.
1138 1999-05-30 Jesse Thilo <jthilo@gnu.org>
1140 * src/files.c: Added <unistd.h> for unlink().
1142 * src/Makefile.am, src/system.h:
1145 1999-05-30 Jesse Thilo <jthilo@gnu.org>
1147 * README: Added a FAQ list.
1149 * configure.in, acconfig.h:
1152 1999-05-30 Jesse Thilo <jthilo@gnu.org>
1154 * doc/FAQ, doc/Makefile.am:
1157 1999-05-19 Jesse Thilo <jthilo@gnu.org>
1159 * src/alloc.h, src/symtab.h, src/version.c:
1160 Protected inclusion of "config.h" with HAVE_CONFIG_H.
1162 1999-04-18 Jesse Thilo <jthilo@gnu.org>
1164 * src/.cvsignore, src/Makefile.am:
1165 Reorganized: sources in `src', documentation in `doc'.
1167 * src/lex.c (literalchar):
1168 fixed the code for escaping double quotes (thanks
1171 1999-04-18 Jesse Thilo <jthilo@gnu.org>
1173 * po/de.po, po/es.po, po/fr.po, po/nl.po, po/POTFILES.in:
1174 Adjusted paths to reflect directory reorganization.
1176 1999-04-18 Jesse Thilo <jthilo@gnu.org>
1178 * doc/.cvsignore, doc/Makefile.am:
1179 Reorganized: sources in `src', documentation in `doc'.
1181 1999-04-18 Jesse Thilo <jthilo@gnu.org>
1184 Updated AC_INIT file to reflect directory reorganization.
1186 * configure.in, .cvsignore, Makefile.am, POTFILES.in:
1187 Reorganized: sources in `src', documentation in `doc'.
1189 1999-04-13 Jesse Thilo <jthilo@gnu.org>
1192 Don't declare calloc() and realloc() if not necessary.
1194 1999-04-13 Jesse Thilo <jthilo@gnu.org>
1196 * configure.in, acconfig.h, acinclude.m4:
1197 Don't declare calloc() and realloc() if not necessary.
1199 1999-03-23 Jesse Thilo <jthilo@gnu.org>
1201 * po/.cvsignore: Added i18n support.
1203 1999-03-23 Jesse Thilo <jthilo@gnu.org>
1205 * acconfig.h, configure.in, Makefile.am:
1208 1999-03-22 Jesse Thilo <jthilo@gnu.org>
1210 * src/bison.s1: Fixed #line numbers.
1212 1999-03-15 Jesse Thilo <jthilo@gnu.org>
1214 * po/es.po, po/fr.po, po/nl.po, po/de.po:
1215 Added PO files from Translation Project.
1217 1999-03-03 Jesse Thilo <jthilo@gnu.org>
1220 Added support for non-ANSI compilers (ansi2knr).
1222 1999-02-16 Jesse Thilo <jthilo@gnu.org>
1224 * configure.in: Bumped version number to 1.27.
1227 Added `bison.simple' to list of files removed by `make distclean'.
1229 1999-02-12 Jesse Thilo <jthilo@gnu.org>
1231 * src/files.c, src/files.h:
1232 Defined locations of parser files in config.h instead of Makefile.
1234 1999-02-12 Jesse Thilo <jthilo@gnu.org>
1236 * acconfig.h, acinclude.m4, configure.in, Makefile.am:
1237 Defined locations of parser files in config.h instead of Makefile.
1239 1999-02-09 Jesse Thilo <jthilo@gnu.org>
1242 Removed inappropriate use of $< macro.
1244 1999-02-05 Jesse Thilo <jthilo@gnu.org>
1246 * po/Makefile.in.in, po/POTFILES.in:
1247 Add `po' directory skeleton.
1249 1999-01-27 Jesse Thilo <jthilo@gnu.org>
1251 * README: Document help-bison list.
1253 * configure.in: Add check for mkstemp().
1255 1999-01-20 Jesse Thilo <jthilo@gnu.org>
1257 * src/conflicts.c, src/LR0.c, src/output.c, src/reader.c:
1258 Hush a few compiler warnings.
1261 Add tryclose(), which verifies that fclose was successful.
1262 Hush a couple of compiler warnings.
1264 1999-01-20 Jesse Thilo <jthilo@gnu.org>
1266 * Makefile.am, OChangeLog:
1267 ChangeLog is now automatically generated. Include the old version as
1270 1999-01-14 Jesse Thilo <jthilo@gnu.org>
1272 * 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:
1275 1999-01-14 Jesse Thilo <jthilo@gnu.org>
1277 * doc/bison.texinfo: Fix formatting glitch.
1279 * doc/bison.texinfo: Update FSF address.
1281 1999-01-14 Jesse Thilo <jthilo@gnu.org>
1283 * acconfig.h: Update FSF address.
1285 1999-01-08 Jesse Thilo <jthilo@gnu.org>
1288 Don't define PACKAGE here, since config.h defines it.
1290 1998-12-30 Jesse Thilo <jthilo@gnu.org>
1292 * src/reader.c: Update copyright date.
1295 Ditch sprintf to statically-sized buffers in fatal/warn functions in
1296 favor of output directly to stderr (avoids buffer overruns).
1298 * src/reader.c: Some checks for premature EOF.
1300 * 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:
1301 Use prototypes if the compiler understands them.
1303 * src/files.c: Honor TMPDIR on Unix hosts.
1304 Use prototypes if the compiler understands them.
1307 Fix a couple of buffer overrun bugs.
1308 Use prototypes if the compiler understands them.
1310 * src/system.h: Include unistd.h and ctype.h.
1311 Use #ifdef instead of #if for NLS symbols.
1313 1998-12-30 Jesse Thilo <jthilo@gnu.org>
1315 * doc/bison.texinfo:
1316 Delete comment "consider using @set for edition number, etc..." since
1317 we now are doing so.
1319 1998-12-30 Jesse Thilo <jthilo@gnu.org>
1322 Use prototypes if the compiler understands them.
1324 * NEWS: Document 1.26 highlights.
1326 * Makefile.am: Require Automake 1.3 or later.
1329 Use prototypes if the compiler understands them.
1331 1998-12-29 Jesse Thilo <jthilo@gnu.org>
1334 Use VERSION symbol from automake for version number.
1336 1998-12-29 Jesse Thilo <jthilo@gnu.org>
1338 * acconfig.h, configure.in, version.cin:
1339 Use VERSION symbol from automake for version number.
1341 1998-11-28 Jesse Thilo <jthilo@gnu.org>
1344 Distribute original version of simple parser (bison.s1), not built
1345 version (bison.simple).
1347 1998-11-28 Jesse Thilo <jthilo@gnu.org>
1349 * doc/bison.texinfo: Add info dir entry.
1351 * doc/bison.texinfo:
1352 Let automake put version number into documentation.
1354 1998-11-26 Jesse Thilo <jthilo@gnu.org>
1356 * src/bison.cld, src/build.com, src/vmshlp.mar:
1357 Add non-RCS files from /gd/gnu/bison.
1359 1998-11-26 Jesse Thilo <jthilo@gnu.org>
1362 Document the BISON_HAIRY and BISON_SIMPLE variables.
1364 1998-11-25 Jesse Thilo <jthilo@gnu.org>
1366 * src/version.c: Build version.c automatically.
1369 Fix token numbering (used to start at 258, not 257).
1371 * src/system.h: Include config.h.
1373 * src/getargs.c: Update bug report address.
1375 * src/alloca.c, src/getopt1.c, src/getopt.c, src/getopt.h:
1376 Get latest copies of alloca.c, getopt.c, getopt.h, getopt1.c from gnu.org.
1378 1998-11-25 Jesse Thilo <jthilo@gnu.org>
1381 Rename bison.simple to bison.s1 (bison.simple is then built from bison.s1).
1383 * configure.in, version.cin:
1384 Build version.c automatically.
1386 * AUTHORS: Add AUTHORS file.
1388 * README: Update bug report address.
1391 Rename bison.simple to bison.s1 (bison.simple is then built from bison.s1).
1393 * configure.in, Makefile.am, Makefile.in, stamp-h.in:
1396 1998-11-25 Jesse Thilo <jthilo@gnu.org>
1398 * doc/bison.texinfo: Clean up some formatting.
1400 1998-05-05 Richard Stallman <rms@gnu.org>
1402 * doc/bison.texinfo:
1403 Explain better why to make a pure parser.
1405 1998-01-05 Richard Stallman <rms@gnu.org>
1407 * src/files.c (openfiles):
1408 [_WIN32 && !__CYGWIN32__] Use TEMP or Temp to
1409 find a temporary directory, if possible. Do not unlink files while
1412 1997-08-25 Richard Stallman <rms@gnu.org>
1414 * src/reader.c (stack_offset;):
1415 Change some warni to warns.
1417 * src/lex.c (literalchar): Use warns, not warni.
1419 1997-06-28 Richard Stallman <rms@gnu.org>
1421 * src/bison.s1: Add a Bison version comment.
1423 * src/main.c (fatal, warn, berror):
1426 1997-06-28 Richard Stallman <rms@gnu.org>
1428 * Makefile.in (bison_version): New variable.
1429 (dist): Use that variable.
1430 (bison.s1): Substitute the Bison version into bison.simple.
1432 * bison.simple: Add a Bison version comment.
1434 1997-06-18 Richard Stallman <rms@gnu.org>
1436 * src/main.c (fatal, warn, berror):
1437 Make error messages standard.
1438 (toomany): Improve error message text.
1440 * 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:
1441 new.h renamed to alloc.h.
1443 1997-06-18 Richard Stallman <rms@gnu.org>
1445 * Makefile.in: new.h renamed to alloc.h.
1447 1997-05-24 Richard Stallman <rms@gnu.org>
1449 * src/lex.c (literalchar):
1450 Fix the code for escaping \, " and '.
1452 (lex): Avoid trouble when there are many chars
1453 to discard in a char literal with just several chars in it.
1455 1997-05-17 Richard Stallman <rms@gnu.org>
1458 Use malloc, if using alloca is troublesome.
1459 (YYSTACK_USE_ALLOCA): New flag macro.
1460 Define it for some systems and compilers.
1461 (YYSTACK_ALLOC): New macro.
1462 (yyparse): Use YYSTACK_ALLOC to allocate stack.
1463 If it was malloc'd, free it.
1465 1997-05-17 Richard Stallman <rms@gnu.org>
1468 Use malloc, if using alloca is troublesome.
1469 (YYSTACK_USE_ALLOCA): New flag macro.
1470 Define it for some systems and compilers.
1471 (YYSTACK_ALLOC): New macro.
1472 (yyparse): Use YYSTACK_ALLOC to allocate stack.
1473 If it was malloc'd, free it.
1475 1997-04-23 Richard Stallman <rms@gnu.org>
1478 (alloca) [__hpux]: Always define as __builtin_alloca.
1480 1997-04-23 Richard Stallman <rms@gnu.org>
1483 (alloca) [__hpux]: Always define as __builtin_alloca.
1485 1997-04-22 Richard Stallman <rms@gnu.org>
1488 [__hpux]: Include alloca.h (right for HPUX 10)
1489 instead of declaring alloca (right for HPUX 9).
1491 * src/bison.s1 (__yy_memcpy):
1492 Declare arg `count' as unsigned int.
1493 (yyparse): Cast third arg to __yy_memcpy to unsigned int.
1495 1997-04-22 Richard Stallman <rms@gnu.org>
1498 [__hpux]: Include alloca.h (right for HPUX 10)
1499 instead of declaring alloca (right for HPUX 9).
1501 * bison.simple (__yy_memcpy):
1502 Declare arg `count' as unsigned int.
1503 (yyparse): Cast third arg to __yy_memcpy to unsigned int.
1505 1997-01-03 Richard Stallman <rms@gnu.org>
1507 * src/allocate.c: [__STDC__ or _MSC_VER]:
1508 Declare calloc and realloc to return void *.
1510 1997-01-02 Richard Stallman <rms@gnu.org>
1513 [_MSC_VER]: Include stdlib.h and process.h.
1514 [_MSC_VER] (getpid): Define as macro--translate it to _getpid.
1516 * src/main.c (main): Return FAILURE as a value.
1517 (printable_version): Declare arg as int, not char.
1519 1997-01-02 Richard Stallman <rms@gnu.org>
1521 * Makefile.in (dist):
1522 Explicitly check for symlinks, and copy them.
1524 1996-12-19 Richard Stallman <rms@gnu.org>
1527 [_MSC_VER] (XPFILE, XPFILE1): Define, if not already defined.
1529 1996-12-18 Paul Eggert <eggert@gnu.org>
1531 * src/bison.s1 (yyparse):
1532 If __GNUC__ and YYPARSE_PARAM are both defined,
1533 declare yyparse to have a void * argument.
1535 1996-12-18 Paul Eggert <eggert@gnu.org>
1537 * bison.simple (yyparse):
1538 If __GNUC__ and YYPARSE_PARAM are both defined,
1539 declare yyparse to have a void * argument.
1541 1996-12-17 Richard Stallman <rms@gnu.org>
1543 * src/reduce.c (nbits): Add some casts.
1545 1996-08-12 Richard Stallman <rms@gnu.org>
1547 * src/bison.s1: Test _MSDOS as well as _MSDOS_.
1549 1996-08-12 Richard Stallman <rms@gnu.org>
1551 * bison.simple: Test _MSDOS as well as _MSDOS_.
1553 1996-07-31 Richard Stallman <rms@gnu.org>
1556 [__sun && __i386]: Include alloca.h.
1558 1996-07-31 Richard Stallman <rms@gnu.org>
1561 [__sun && __i386]: Include alloca.h.
1563 1996-07-30 Richard Stallman <rms@gnu.org>
1565 * src/bison.s1: Comment change.
1567 * src/bison.s1: Test _MSDOS_, not MSDOS.
1569 1996-07-30 Richard Stallman <rms@gnu.org>
1571 * bison.simple: Comment change.
1573 * bison.simple: Test _MSDOS_, not MSDOS.
1575 1996-06-01 Richard Stallman <rms@gnu.org>
1577 * 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:
1578 Insert `_' macro around many string constants.
1581 Insert `_' macro around many string constants.
1583 (main): Call setlocale, bindtextdomain and textdomain.
1585 * src/system.h: [HAVE_LOCALE_H]: Include locale.h.
1586 [! HAVE_LOCALE_H] (setlocale): Define as no-op.
1587 [ENABLE_NLS]: Include libintl.h.
1588 [ENABLE_NLS] (gettext): Define.
1589 [! ENABLE_NLS] (bintextdomain, textdomain, _): Consolation definitions.
1590 (N_, PACKAGE, LOCALEDIR): New macros.
1592 1996-06-01 Richard Stallman <rms@gnu.org>
1594 * POTFILES.in: New file.
1596 * Makefile.in (allocate.o):
1597 Define target explicitly.
1599 * Makefile.in (CFLAGS): Set to @CFLAGS@.
1600 (LDFLAGS): Set to @LDFLAGS@.
1601 (configure): Run autoconf only if preceding `cd' succeeds.
1602 (bison.s1): Redirect output to temporary file then move the
1603 temporary to the target, rather than redirecting directly to bison.s1.
1604 (clean): Remove config.status and config.log.
1605 (distclean): Don't remove config.status here.
1607 1996-05-12 Richard Stallman <rms@gnu.org>
1610 (__yy_memcpy) [__cplusplus]: Reorder declarations of variables f and t.
1612 1996-05-12 Richard Stallman <rms@gnu.org>
1615 (__yy_memcpy) [__cplusplus]: Reorder declarations of variables f and t.
1617 1996-05-11 Richard Stallman <rms@gnu.org>
1619 * src/bison.s1 (__yy_memcpy):
1620 Really reorder the args, as was supposedly done on Feb 14 1995.
1621 (yyparse): Calls changed accordingly.
1623 1996-05-11 Richard Stallman <rms@gnu.org>
1625 * Makefile.in (dist): Don't use $(srcdir).
1627 * bison.simple (__yy_memcpy):
1628 Really reorder the args, as was supposedly done on Feb 14 1995.
1629 (yyparse): Calls changed accordingly.
1631 1996-01-27 Richard Stallman <rms@gnu.org>
1633 * src/output.c (output_rule_data):
1634 Test YYERROR_VERBOSE in the conditional
1635 around the definition of ttyname.
1637 1995-12-29 Richard Stallman <rms@gnu.org>
1640 Fix line numbers in #line commands.
1642 1995-12-29 Richard Stallman <rms@gnu.org>
1645 Fix line numbers in #line commands.
1647 1995-12-27 Richard Stallman <rms@gnu.org>
1649 * src/bison.s1 (YYPARSE_PARAM_DECL):
1650 In C++, make it always null.
1651 (YYPARSE_PARAM_ARG): New macro.
1652 (yyparse): Use YYPARSE_PARAM_ARG.
1654 1995-12-27 Richard Stallman <rms@gnu.org>
1656 * bison.simple (YYPARSE_PARAM_DECL):
1657 In C++, make it always null.
1658 (YYPARSE_PARAM_ARG): New macro.
1659 (yyparse): Use YYPARSE_PARAM_ARG.
1661 1995-11-29 Richard Stallman <rms@gnu.org>
1663 * doc/bison.texinfo:
1664 Describe literal string tokens, %raw, %no_lines, %token_table.
1666 1995-11-29 Daniel Hagerty <hag@gnu.org>
1668 * doc/bison.texinfo: Fixed update date
1670 1995-10-16 Richard Stallman <rms@gnu.org>
1672 * src/version.c: Version 1.25.
1674 1995-10-16 Richard Stallman <rms@gnu.org>
1676 * NEWS: *** empty log message ***
1678 1995-10-16 Richard Stallman <rms@gnu.org>
1680 * doc/bison.1, doc/bison.rnh:
1683 1995-10-15 Richard Stallman <rms@gnu.org>
1685 * src/vmsgetargs.c, src/getargs.c:
1686 Added -n, -k, and -raw switches.
1687 (noparserflag, toknumflag, rawtoknumflag): New variables.
1689 * src/symtab.h (SALIAS):
1690 New #define for adding aliases to %token.
1691 (struct bucket): Added `alias' field.
1693 * src/reduce.c (reduce_grammar):
1694 Revise error message.
1695 (print_notices): Remove final `.' from error message.
1697 * src/reader.c (reader_output_yylsp):
1699 (readgram): Use `#if 0' around code that accepted %command
1700 inside grammar rules: The documentation doesn't allow it,
1701 and it will fail since the %command processors scan for the next %.
1702 (parse_token_decl): Extended the %token
1703 declaration to allow a multi-character symbol as an alias.
1704 (parse_thong_decl): New function.
1705 (read_declarations): Added %thong declarations.
1706 (read_declarations): Handle NOOP to deal with allowing
1707 % declarations as another means to specify the flags.
1708 (readgram): Allow %prec prior to semantics embedded in a rule.
1709 (skip_to_char, read_declarations, copy_definition)
1710 (parse_token_decl, parse_start_decl, parse_type_decl)
1711 (parse_assoc_decl, parse_union_decl, parse_expect_decl)
1712 (get_type_name, copy_guard, copy_action, readgram)
1713 (get_type, packsymbols): Revised most error messages.
1714 Changed `fatal' to `warnxxx' to avoid aborting for error.
1715 Revised and use multiple warnxxx functions to avoid using VARARGS1.
1716 (read_declarations): Improve the error message for
1717 an invalid character. Do not abort.
1718 (read_declarations, copy_guard, copy_action): Use
1719 printable_version to avoid unprintable characters in printed output.
1720 (parse_expect_decl): Error if argument to %expect exceeds 10 digits.
1721 (parse_token_decl, parse_assoc_decl, parse_type_decl, get_type):
1722 Allow the type of a non-terminal can be given
1723 more than once, as long as all specifications give the same type.
1726 (output_headers, output_trailers, output, output_gram)
1727 (output_rule_data): Implement noparserflag variable.
1728 Implement toknumflag variable.
1729 (output): Call reader_output_yylsp to output LTYPESTR.
1731 * src/main.c (main):
1732 If reader sees an error, don't process the grammar.
1733 (fatals): Updated to not use VARARGS1.
1734 (printable_version, int_to_string, warn, warni, warns, warnss)
1735 (warnsss): New error reporting functions. Avoid abort for error.
1738 Added THONG and NOOP for alias processing.
1739 Added SETOPT for the new code that allows setting options with %flags.
1742 Include getopt.h. Add some extern decls.
1743 (safegetc): New function to deal with EOF gracefully.
1744 (literalchar); new function to deal with reading \ escapes.
1745 (lex): Use literalchar.
1746 (lex): Implemented "..." tokens.
1747 (literalchar, lex, parse_percent_token): Made tokenbuffer
1748 always contain the token. This includes growing the token
1749 buffer while reading an integer.
1750 (parse_percent_token): Replaced if-else statement with percent_table.
1751 (parse_percent_token): Added % declarations as another
1752 way to specify the flags -n, -l, and -r. Also added hooks for
1753 -d, -k, -y, -v, -t, -p, -b, -o, but implementation requires
1754 major changes to files.c.
1755 (lex) Retain in the incoming stream a character following
1757 (skip_white_space, lex): Revised most error messages
1758 and changed fatal to warn to avoid aborting.
1759 (percent_table): Added %thong declarations.
1761 * src/gram.h: Comment changes.
1763 * src/files.c (openfiles, open_extra_files, done):
1765 and actfile file. Handle noparserflag. Both for -n switch.
1767 * src/conflicts.c (resolve_sr_conflict):
1768 Remove use of alloca.
1770 1995-06-01 Jim Meyering <meyering@gnu.org>
1772 * doc/bison.texinfo: *** empty log message ***
1774 1995-05-06 Richard Stallman <rms@gnu.org>
1776 * src/bison.s1: Comment change.
1778 1995-05-06 Richard Stallman <rms@gnu.org>
1780 * bison.simple: Comment change.
1782 1995-05-03 Richard Stallman <rms@gnu.org>
1784 * src/version.c: Version now 1.24.
1786 * src/bison.s1: Change distribution terms.
1788 * src/version.c: Version now 1.23.
1790 1995-05-03 Richard Stallman <rms@gnu.org>
1792 * doc/bison.texinfo:
1793 Rewrite "Conditions for Using Bison".
1794 Update version to 1.24.
1796 1995-05-03 Richard Stallman <rms@gnu.org>
1798 * bison.simple: Change distribution terms.
1800 1995-02-23 Richard Stallman <rms@gnu.org>
1802 * src/files.c: Test __VMS_POSIX as well as VMS.
1804 1995-02-14 Jim Meyering <meyering@gnu.org>
1806 * src/bison.s1 (__yy_memcpy):
1807 Renamed from __yy_bcopy to avoid
1808 confusion. Reverse FROM and TO arguments to be consistent with
1811 1995-02-14 Jim Meyering <meyering@gnu.org>
1813 * bison.simple (__yy_memcpy):
1814 Renamed from __yy_bcopy to avoid
1815 confusion. Reverse FROM and TO arguments to be consistent with
1818 1994-11-10 David J. MacKenzie <djm@gnu.org>
1824 * Makefile.in (DISTFILES): Include NEWS.
1826 * Makefile.in (DISTFILES):
1827 Include install-sh, not install.sh.
1829 * configure.in: Update to Autoconf v2 macro names.
1831 1994-10-05 David J. MacKenzie <djm@gnu.org>
1833 * Makefile.in: fix typo
1835 * Makefile.in (prefix, exec_prefix):
1836 Let configure set them.
1838 1994-09-28 David J. MacKenzie <djm@gnu.org>
1840 * Makefile.in: Set datadir to $(prefix)/share.
1842 1994-09-15 Richard Stallman <rms@gnu.org>
1845 Update copyright notice and GPL version.
1847 1994-09-15 Richard Stallman <rms@gnu.org>
1850 Update copyright notice and GPL version.
1852 1994-07-12 Richard Stallman <rms@gnu.org>
1854 * src/reduce.c, src/reader.c:
1857 1994-05-05 David J. MacKenzie <djm@gnu.org>
1859 * Makefile.in: entered into RCS
1861 1994-03-26 Richard Stallman <rms@gnu.org>
1863 * src/bison.s1: entered into RCS
1865 1994-03-26 Richard Stallman <rms@gnu.org>
1867 * bison.simple: entered into RCS
1869 1994-03-25 Richard Stallman <rms@gnu.org>
1871 * src/main.c: entered into RCS
1873 1994-03-24 Richard Stallman <rms@gnu.org>
1875 * src/conflicts.c: entered into RCS
1877 1994-01-02 Richard Stallman <rms@gnu.org>
1879 * Makefile.in: *** empty log message ***
1881 1993-11-21 Richard Stallman <rms@gnu.org>
1883 * src/bison.s1: *** empty log message ***
1885 1993-11-21 Richard Stallman <rms@gnu.org>
1887 * doc/bison.texinfo: entered into RCS
1889 * doc/bison.texinfo: *** empty log message ***
1891 1993-11-21 Richard Stallman <rms@gnu.org>
1893 * bison.simple: *** empty log message ***
1895 1993-10-25 David J. MacKenzie <djm@gnu.org>
1897 * doc/bison.texinfo: *** empty log message ***
1899 1993-10-19 Richard Stallman <rms@gnu.org>
1901 * src/bison.s1: *** empty log message ***
1903 1993-10-19 Richard Stallman <rms@gnu.org>
1905 * bison.simple: *** empty log message ***
1907 1993-10-14 Richard Stallman <rms@gnu.org>
1909 * src/bison.s1: *** empty log message ***
1911 1993-10-14 Richard Stallman <rms@gnu.org>
1913 * bison.simple: *** empty log message ***
1915 1993-09-14 David J. MacKenzie <djm@gnu.org>
1917 * doc/bison.texinfo: *** empty log message ***
1919 1993-09-13 Noah Friedman <friedman@gnu.org>
1921 * Makefile.in: *** empty log message ***
1923 1993-09-10 Richard Stallman <rms@gnu.org>
1925 * src/conflicts.c: *** empty log message ***
1927 * src/system.h: entered into RCS
1929 1993-09-10 Richard Stallman <rms@gnu.org>
1931 * doc/bison.1: entered into RCS
1933 1993-09-06 Noah Friedman <friedman@gnu.org>
1935 * src/version.c: entered into RCS
1937 1993-09-06 Noah Friedman <friedman@gnu.org>
1939 * Makefile.in: *** empty log message ***
1941 1993-07-30 David J. MacKenzie <djm@gnu.org>
1943 * Makefile.in: *** empty log message ***
1945 1993-07-24 Richard Stallman <rms@gnu.org>
1947 * src/bison.s1: *** empty log message ***
1949 1993-07-24 Richard Stallman <rms@gnu.org>
1951 * bison.simple: *** empty log message ***
1953 1993-07-08 David J. MacKenzie <djm@gnu.org>
1955 * Makefile.in: *** empty log message ***
1957 1993-07-04 Richard Stallman <rms@gnu.org>
1959 * src/bison.s1: *** empty log message ***
1961 1993-07-04 Richard Stallman <rms@gnu.org>
1963 * bison.simple: *** empty log message ***
1965 1993-06-26 David J. MacKenzie <djm@gnu.org>
1967 * src/getargs.c: entered into RCS
1969 1993-06-26 David J. MacKenzie <djm@gnu.org>
1971 * doc/bison.texinfo: *** empty log message ***
1973 * doc/bison.1: New file.
1975 1993-06-25 Richard Stallman <rms@gnu.org>
1977 * src/getargs.c: New file.
1979 1993-06-16 Richard Stallman <rms@gnu.org>
1981 * src/bison.s1: *** empty log message ***
1983 1993-06-16 Richard Stallman <rms@gnu.org>
1985 * bison.simple: *** empty log message ***
1987 1993-06-03 Richard Stallman <rms@gnu.org>
1989 * src/bison.s1: New file.
1991 1993-06-03 Richard Stallman <rms@gnu.org>
1993 * doc/bison.texinfo: *** empty log message ***
1995 1993-06-03 Richard Stallman <rms@gnu.org>
1997 * bison.simple: New file.
1999 1993-05-19 Richard Stallman <rms@gnu.org>
2001 * doc/bison.texinfo: New file.
2003 1993-05-07 Noah Friedman <friedman@gnu.org>
2005 * Makefile.in: *** empty log message ***
2007 1993-04-28 Noah Friedman <friedman@gnu.org>
2009 * src/reader.c: *** empty log message ***
2011 1993-04-23 Noah Friedman <friedman@gnu.org>
2013 * src/alloc.h: entered into RCS
2015 1993-04-20 David J. MacKenzie <djm@gnu.org>
2017 * src/version.c: *** empty log message ***
2019 * src/files.c, src/allocate.c:
2022 * src/reader.c: *** empty log message ***
2024 * src/lex.c: entered into RCS
2026 * src/conflicts.c: New file.
2028 * src/symtab.c: entered into RCS
2030 * src/alloc.h: New file.
2032 * src/LR0.c: entered into RCS
2034 1993-04-18 Noah Friedman <friedman@gnu.org>
2036 * src/reader.c: New file.
2038 * src/version.c: *** empty log message ***
2040 1993-04-18 Noah Friedman <friedman@gnu.org>
2042 * Makefile.in: *** empty log message ***
2044 1993-04-17 Noah Friedman <friedman@gnu.org>
2046 * Makefile.in: *** empty log message ***
2048 1993-04-15 Richard Stallman <rms@gnu.org>
2050 * src/main.c, src/files.c:
2053 1993-04-15 Noah Friedman <friedman@gnu.org>
2055 * configure.in: entered into RCS
2057 * configure.in: *** empty log message ***
2059 * configure.in: New file.
2061 1993-04-14 Richard Stallman <rms@gnu.org>
2063 * Makefile.in: New file.
2065 1993-04-13 Richard Stallman <rms@gnu.org>
2067 * src/version.c: New file.
2069 1993-03-25 Richard Stallman <rms@gnu.org>
2071 * src/output.c: entered into RCS
2073 1992-09-25 Richard Stallman <rms@gnu.org>
2075 * configure.bat: entered into RCS
2077 1992-06-22 Richard Stallman <rms@gnu.org>
2079 * src/vmsgetargs.c: entered into RCS
2081 1992-06-22 Richard Stallman <rms@gnu.org>
2083 * doc/bison.rnh: entered into RCS
2085 1992-04-20 David J. MacKenzie <djm@gnu.org>
2087 * README: entered into RCS
2089 1992-01-22 Richard Stallman <rms@gnu.org>
2091 * src/machine.h: entered into RCS
2093 1991-12-21 Richard Stallman <rms@gnu.org>
2095 * src/lalr.c, src/closure.c:
2098 1991-12-20 Richard Stallman <rms@gnu.org>
2100 * src/state.h: entered into RCS
2102 1991-12-18 Richard Stallman <rms@gnu.org>
2104 * src/print.c, src/nullable.c, src/derives.c:
2107 1991-11-03 David J. MacKenzie <djm@gnu.org>
2109 * src/warshall.c, src/types.h, src/symtab.h, src/lex.h, src/gram.c, src/gram.h, src/files.h:
2112 1988-09-09 Richard Stallman <rms@gnu.org>
2114 * src/bison.hairy: entered into RCS
2116 1987-12-16 Richard Stallman <rms@gnu.org>
2118 * REFERENCES: entered into RCS