1 2001-11-26 Akim Demaille <akim@epita.fr>
3 * src/conflicts.c (conflicts_print): Don't complain at all when
4 there are no reduce/reduce conflicts, and as many shift/reduce
6 * tests/regression.at (%expect right): Adjust.
8 2001-11-25 Marc Autret <autret_m@epita.fr>
10 * doc/bison.texinfo (Mystery Conflicts): Hint '-v' use.
13 2001-11-23 Akim Demaille <akim@epita.fr>
15 * lib/alloca.c: Update, from fileutils.
17 2001-11-23 Akim Demaille <akim@epita.fr>
19 * lib/Makefile.am (libbison_a_LIBADD): Add @ALLOCA@.
21 2001-11-23 Akim Demaille <akim@epita.fr>
23 * src/system.h: Include alloca.h.
24 * src/main.c (main) [C_ALLOCA]: Call alloca (0).
26 2001-11-23 Akim Demaille <akim@epita.fr>
28 * src/print_graph.c (print_actions): Remove `rule', unused.
29 * src/LR0.c (kernel_size): Contain `int' instead of `size_t' to
30 pacify GCC's signed < unsigned warnings.
31 * src/closure.c (itemsetsize): Likewise.
32 * src/reader.c (symbol_list_new): Static.
34 2001-11-23 Akim Demaille <akim@epita.fr>
36 Attaching lineno to buckets is stupid, since only one copy of each
37 symbol is kept, only the line of the first occurrence is kept too.
39 * src/symtab.h, src/symtab.c (bucket): Remove the line member.
40 * src/reader.c (rline_allocated): Remove, unused.
41 (symbol_list): Have a `line' member.
42 (symbol_list_new): New.
44 * src/print.c (print_grammar): Output the rule line numbers.
45 * tests/regression.at (Solved SR Conflicts)
46 (Unresolved SR Conflicts): Adjust.
47 Reported by Hans Aberg.
49 2001-11-20 Akim Demaille <akim@epita.fr>
53 2001-11-20 Akim Demaille <akim@epita.fr>
56 * configure.in (ALL_LINGUAS): Adjust.
57 * po/POTFILE.in: Remove `nullable.c' and `derives.c' which no
58 longer contains strings to translate.
60 2001-11-19 Akim Demaille <akim@epita.fr>
62 * src/conflicts.c (conflicts_print): Add a missing \n.
64 2001-11-19 Akim Demaille <akim@epita.fr>
66 * src/nullable.c (nullable_print): New.
67 (set_nullable): Call it when tracing.
68 Better locality of variables.
70 2001-11-19 Akim Demaille <akim@epita.fr>
72 * src/print.c (print_actions): Better locality of variables.
74 2001-11-19 Akim Demaille <akim@epita.fr>
76 * src/derives.c (print_derives): Fix and enrich.
77 * src/closure.c (print_fderives): Likewise.
79 2001-11-19 Akim Demaille <akim@epita.fr>
81 * src/closure.c (itemsetend): Remove, replaced with...
84 2001-11-19 Akim Demaille <akim@epita.fr>
86 * src/LR0.c (kernel_end): Remove, replaced with...
89 2001-11-19 Akim Demaille <akim@epita.fr>
91 * src/conflicts.c (set_conflicts): Use arrays instead of pointers
94 2001-11-19 Akim Demaille <akim@epita.fr>
96 * src/closure.c (closure): Use arrays instead of pointers to clarify.
98 2001-11-19 Akim Demaille <akim@epita.fr>
100 * src/closure.c, src/derives.c, src/nullable.c: Adjust various
102 * src/LR0.c: Likewise.
103 (allocate_itemsets): Use arrays instead of pointers to clarify.
105 2001-11-19 Akim Demaille <akim@epita.fr>
107 * src/getargs.c (statistics_flag): Replace with...
109 (longopts): Accept --trace instead of --statistics.
110 * src/getargs.h: Adjust.
111 * src/LR0.c, src/closure.c, src/derives.c, src/nullable.c,
112 * src/reduce.c: Use trace_flags instead of the CPP conditional TRACE.
114 2001-11-19 Akim Demaille <akim@epita.fr>
116 * src/LR0.c (new_itemsets, get_state): Use more arrays and fewer
117 pointers to clarify the code.
118 (save_reductions, save_shifts): Factor common parts of alternatives.
120 2001-11-19 Akim Demaille <akim@epita.fr>
122 * src/LR0.c (new_state, get_state): Complete TRACE code.
123 * src/closure.c: Include `reader.h' to get `tags', needed by the
125 Rename the conditional DEBUG as TRACE.
126 Output consistently TRACEs to stderr, not stdout.
127 * src/derives.c: Likewise.
128 * src/reduce.c: (inaccessable_symbols): Using if is better style
130 Use `#if TRACE' instead of `#if 0' for tracing code.
132 2001-11-19 Akim Demaille <akim@epita.fr>
134 * src/system.h (LIST_FREE, shortcpy): New.
135 * src/LR0.c: Use them.
136 * src/output.c (free_itemsets, free_reductions, free_shifts):
137 Remove, replaced by LIST_FREE.
139 2001-11-19 Akim Demaille <akim@epita.fr>
141 * src/state.h (CORE_ALLOC, SHIFTS_ALLOC, ERRS_ALLOC)
142 (REDUCTIONS_ALLOC): New.
143 * src/LR0.c, src/conflicts.c: Use them to de-obfuscate memory
146 2001-11-19 Akim Demaille <akim@epita.fr>
148 * src/LR0.c (new_state): Complete trace code.
149 * src/nullable.c (set_nullable): Don't translate traces.
151 2001-11-19 Akim Demaille <akim@epita.fr>
153 * src/print_graph.c (print_core): Better locality of variables.
154 * src/print.c (print_core): Likewise.
156 2001-11-19 Akim Demaille <akim@epita.fr>
158 * src/vcg.c: You do the output, so you are responsible of the
159 handling of VCG syntax, in particular: use quotearg.
160 * src/print_graph.c: Don't.
161 (print_actions): Don't output the actions as part of the nodes,
162 since that's the job of the edges.
163 (print_state): Don't output by hand: fill the node description,
164 and ask for its output.
166 2001-11-19 Akim Demaille <akim@epita.fr>
168 * src/bison.simple (yyparse): When verbosely reporting an error,
169 no longer put additional quotes around token names.
170 * tests/calc.at: Adjust.
172 2001-11-19 Akim Demaille <akim@epita.fr>
174 * src/symtab.h, src/symtab.c: `line' is a new member of `bucket'.
175 * src/reader.c (record_rule_lines, rline, rline_allocated): Remove.
176 * src/output.c: Adjust.
178 2001-11-19 Akim Demaille <akim@epita.fr>
180 * src/gram.h (rprec, rprecsym, rassoc): Remove, now part of...
182 * src/conflicts.c, src/reader.c, src/reduce.c: Adjust.
184 2001-11-19 Akim Demaille <akim@epita.fr>
186 * src/gram.h (rule_t): New.
188 (rrhs, rlhs): Remove, part of state_t.
189 * src/print_graph.c, src/closure.c, src/conflicts.c, src/derives.c,
190 * src/lalr.c, src/nullable.c, src/output.c, src/print.c,
191 * src/reader.c, src/reduce.c: Adjust.
193 2001-11-19 Akim Demaille <akim@epita.fr>
195 * src/reader.c (symbols_output): New, extracted from...
199 2001-11-19 Akim Demaille <akim@epita.fr>
201 * src/lalr.c (set_maxrhs, maxrhs): Remove, replaced with...
202 (maxrhs): this new function.
204 2001-11-19 Akim Demaille <akim@epita.fr>
206 * src/lalr.c (F): New macro to access the variable F.
209 2001-11-19 Akim Demaille <akim@epita.fr>
211 * src/lalr.h (LA): New macro to access the variable LA.
212 * src/output.c, src/lalr.c, src/print_graph.c, src/conflicts.c:
213 * src/lalr.c: Adjust.
215 2001-11-19 Akim Demaille <akim@epita.fr>
217 * src/lalr.c (initialize_LA): Only initialize LA. Let...
218 (set_state_table): handle the `lookaheads' members.
220 2001-11-19 Akim Demaille <akim@epita.fr>
222 * src/lalr.h (lookaheads): Removed array, whose contents is now
224 (state_t): this structure.
225 * src/output.c, src/lalr.c, src/print_graph.c, src/conflicts.c:
228 2001-11-19 Akim Demaille <akim@epita.fr>
230 * src/lalr.h (consistent): Removed array, whose contents is now
232 (state_t): this structure.
233 * src/output.c, src/lalr.c, src/print_graph.c, src/conflicts.c:
236 2001-11-19 Akim Demaille <akim@epita.fr>
238 * src/lalr.h (reduction_table, shift_table): Removed arrays, whose
239 contents are now members of...
240 (state_t): this structure.
241 * src/output.c, src/lalr.c, src/print_graph.c, src/conflicts.c:
244 2001-11-19 Akim Demaille <akim@epita.fr>
246 * src/lalr.h (state_t): New.
247 (state_table): Be a state_t * instead of a core **.
248 (accessing_symbol): Remove, part of state_t.
249 * src/lalr.c: Adjust.
250 (set_accessing_symbol): Merge into...
251 (set_state_table): this.
252 * src/print_graph.c, src/conflicts.c: Adjust.
254 2001-11-14 Akim Demaille <akim@epita.fr>
258 2001-11-14 Akim Demaille <akim@epita.fr>
260 * tests/calc.at, tests/output.at, tests/regression.at,
261 * tests/testsuite.at, tests/torture.at: Rely on Autotest 2.52g:
262 now the tests are run in private dirs, therefore AC_CLEANUP and
263 family can be simplified to 0-ary.
264 * tests/atlocal.in: Now that we run `elsewhere' than in tests/,
265 use abs. path to find config.h.
267 2001-11-14 Akim Demaille <akim@epita.fr>
269 * tests/calc.at (AT_CHECK_CALC): Don't try to check the compiler's
270 stderr, there can be way too much random noise.
271 Instead pass -Werror to GCC and rely on the exit status.
272 Reported by Wolfram Wagner.
274 2001-11-14 Akim Demaille <akim@epita.fr>
276 * src/bison.simple (yyparse): Let yyls1, yyss1 and yyvs1 be
277 defined only if yyoverflow is defined, to avoid `warning: unused
279 Reported by The Test Suite.
281 2001-11-14 Akim Demaille <akim@epita.fr>
283 * src/print.c: Include reduce.h.
284 Reported by Hans Aberg.
286 2001-11-14 Akim Demaille <akim@epita.fr>
288 * src/lex.c, src/lex.h (token_buffer, unlexed_token_buffer):
289 Revert a previous patch: these are really const.
290 * src/conflicts.c (conflict_report): Additional useless pair of
291 braces to pacify GCC's warnings for `if () if () {} else {}'.
292 * src/lex.c (parse_percent_token): Replace equal_offset with
295 Be sure to strdup `arg' when used, since there is no reason for
296 token_buffer not to change.
298 2001-11-14 Akim Demaille <akim@epita.fr>
300 * src/system.h (EXIT_SUCCESS, EXIT_FAILURE): Ensure a proper
302 * src/main.c (main): Use them.
303 Suggested by Hans Aberg.
305 2001-11-12 Akim Demaille <akim@epita.fr>
309 * src/system.h (ngettext): Now that we use ngettext, be sure to
310 provide a default definition when NLS are not used that takes care
313 2001-11-12 Akim Demaille <akim@epita.fr>
315 * doc/bison.texinfo: Use `$' as shell prompt, not `%'.
316 Use @kbd to denote user input.
317 (Language and Grammar): ANSIfy the example.
318 Adjust its layout for info/notinfo.
319 (Location Tracking Calc): Output error messages to stderr.
320 Output locations in a more GNUtically correct way.
321 Fix a couple of Englishos.
322 Adjust @group/@end group pairs.
324 2001-11-12 Akim Demaille <akim@epita.fr>
326 %expext was not functioning at all.
328 * src/conflicts.c (expected_conflicts): Set to -1.
329 (conflict_report): Use ngettext.
330 (conflicts_print): Check %expect and make its violation an error.
331 * doc/bison.texinfo (Expect Decl): Adjust.
332 * configure.in (AM_GNU_GETTEXT): Ask for ngettext.
333 * tests/regression.at (%expect not enough, %expect right)
334 (%expect too much): New.
336 2001-11-12 Akim Demaille <akim@epita.fr>
338 * tests/regression.at (Conflicts): Rename as...
339 (Unresolved SR Conflicts): this.
340 (Solved SR Conflicts): New.
342 2001-11-12 Akim Demaille <akim@epita.fr>
344 * src/reduce.c (print_results): Rename as...
345 (reduce_output): This.
346 Output to OUT, passed as argument, instead of output_obstack.
347 (dump_grammar): Likewise.
350 (reduce_grammar): No longer call reduce_output, since...
351 * src/print.c (print_results): do it.
352 * src/main.c (main): Call reduce_free;
354 2001-11-12 Akim Demaille <akim@epita.fr>
356 * src/conflicts.c (print_reductions): Accept OUT as argument.
357 Output to it, not to output_obstack.
358 * src/print.c (print_actions): Adjust.
360 2001-11-12 Akim Demaille <akim@epita.fr>
362 * src/conflicts.c (count_sr_conflicts, count_rr_conflicts): Return
363 the result instead of using...
364 (src_total, rrc_total, src_count, rrc_count): Remove.
365 (any_conflicts): Remove.
366 (print_conflicts): Split into...
367 (conflicts_print, conflicts_output): New.
368 * src/conflicts.h: Adjust.
369 * src/main.c (main): Invoke both conflicts_output and conflicts_print.
370 * src/print.c (print_grammar): Issue `\n' between to rule outputs.
371 * tests/regression.at (Conflicts): New.
372 Reported by Tom Lane.
374 2001-11-12 Akim Demaille <akim@epita.fr>
376 * tests/regression.at (Invalid input): Remove, duplicate with
377 ``Invalid input: 1''.
379 2001-11-12 Akim Demaille <akim@epita.fr>
381 * tests/torture.at (AT_DATA_STACK_TORTURE)
382 (Exploding the Stack Size with Alloca)
383 (Exploding the Stack Size with Malloc): New.
385 2001-11-12 Akim Demaille <akim@epita.fr>
387 * src/bison.simple (YYSTACK_REALLOC): New.
388 (yyparse) [!yyoverflow]: Use it and free the old stack.
389 Reported by Per Allansson.
391 2001-11-05 Akim Demaille <akim@epita.fr>
394 * src/lex.c (parse_percent_token): s/quotearg/quote/.
396 2001-11-05 Akim Demaille <akim@epita.fr>
398 * tests/regression.at (AT_TEST_CPP_GUARD_H): Adjust the clean up
401 2001-11-05 Akim Demaille <akim@epita.fr>
403 * src/reader.c (parse_union_decl): Output yystype/YYSTYPE as we do
404 with yyltype/YYLTYPE. This allows inclusion of the generated
405 header within the parser if the compiler, such as GGC, accepts
406 multiple equivalent #defines.
408 2001-11-04 Akim Demaille <akim@epita.fr>
410 * src/getargs.c (longopts): Support `--output'. getopt is now
411 able to understand that `--out' is OK: the two racing long options
414 * src/lex.h (tok_setopt): Remove, replaced with...
415 (tok_intopt, tok_stropt): these new guys.
416 * src/lex.c (getopt.h): Not needed.
417 (token_buffer, unlexed_token_buffer): Not const.
418 (percent_table): Promote `-' over `_' in directive names.
419 Active `%name-prefix', `file-prefix', and `output'.
420 (parse_percent_token): Accept possible arguments to directives.
421 Promote `-' over `_' in directive names.
422 * doc/bison.texinfo (Decl Summary): Split the list into
423 `directives for grammars' and `directives for bison'.
425 Add description of `%name-prefix', `file-prefix', and `output'.
426 Promote `-' over `_' in directive names.
427 (Bison Options): s/%locactions/%locations/. Nice Freudian slip.
428 Simplify the description of `--name-prefix'.
429 Promote `-' over `_' in directive names.
430 Promote `--output' over `--output-file'.
431 Fix the description of `--defines'.
432 * tests/output.at: Exercise %file-prefix and %output.
434 2001-11-02 Akim Demaille <akim@epita.fr>
436 * doc/refcard.tex: Update.
438 2001-11-02 Akim Demaille <akim@epita.fr>
440 * src/symtab.h (SUNDEF): New.
441 * src/symtab.c (bucket_new): Init user_token_number to SUNDEF to
442 stand for `uninitialized', instead of 0.
443 * src/reader.c (packsymbols, parse_thong_decl): Adjust.
444 * src/lex.c (lex): Adjust.
446 * tests/calc.at (_AT_DATA_CALC_Y): Declare a token for EOF.
448 Let yylex return it instead of a plain 0.
449 Reported by Dick Streefland.
451 2001-11-02 Akim Demaille <akim@epita.fr>
453 * tests/regression.at (Mixing %token styles): New test.
455 2001-11-02 Akim Demaille <akim@epita.fr>
457 * src/reader.c (parse_thong_decl): Formatting changes.
458 (token_translations_init): New, extracted from...
462 2001-11-01 Akim Demaille <akim@epita.fr>
464 * tests/regression.at (AT_TEST_CPP_GUARD_H): New.
465 Check that `9foo.y' produces correct cpp guards.
466 * src/files.c (compute_header_macro): Prepend `BISON_' to CPP
470 2001-11-01 Akim Demaille <akim@epita.fr>
472 * tests/regression.at (Invalid input: 2): New.
473 * src/lex.c (unlexed_token_buffer): New.
474 (lex, unlex): Adjust: when unlexing, be sure to save token_buffer
478 2001-11-01 Akim Demaille <akim@epita.fr>
480 * configure.in: Bump to 1.30a.
481 Adjust to newer Autotest.
483 2001-10-26 Akim Demaille <akim@epita.fr>
487 2001-10-26 Paul Eggert <eggert@twinsun.com>
489 * lib/error.c, lib/error.h, lib/getopt.c, lib/getopt.h,
490 lib/getopt1.c, lib/obstack.c, lib/obstack.h, lib/quote.c,
491 lib/strnlen.c, lib/xmalloc.c, m4/c-bs-a.m4, m4/error.m4,
492 m4/gettext.m4, m4/lcmessage.m4, m4/malloc.m4, m4/mbstate_t.m4,
493 m4/progtest.m4, m4/realloc.m4, m4/strerror_r.m4:
494 Sync with fileutils 4.1.1.
496 2001-10-18 Akim Demaille <akim@epita.fr>
499 * tests/calc.at (_AT_CHECK_CALC_ERROR): Don't use `foo && bar', to
500 avoid spurious failures.
502 2001-10-18 Akim Demaille <akim@epita.fr>
506 2001-10-18 Akim Demaille <akim@epita.fr>
508 * tests/atlocal.in (GCC): Add.
509 * tests/calc.at: s/m4_match/m4_bmatch/.
510 s/m4_patsubst/m4_bpatsubst/.
511 (AT_CHECK_CALC): Check the compiler's stderr only if it's GCC.
512 * configure.in: AC_SUBST(GCC).
514 2001-10-10 Akim Demaille <akim@epita.fr>
517 * configure.in: M4 is no longer needed, but autom4te is.
518 * tests/Makefile.am (AUTOTEST): Don't define AUTOM4TE, let
521 2001-10-10 Akim Demaille <akim@epita.fr>
525 2001-10-10 Akim Demaille <akim@epita.fr>
528 * src/bison.simple: Be sure to set YYSTACK_USE_ALLOCA.
529 Use `#if !YYSTACK_USE_ALLOCA', not `#ifndef'.
530 Reported by Airy Andre.
532 2001-10-10 Akim Demaille <akim@epita.fr>
534 * INSTALL, config/config.guess, config/config.sub, config/mdate-sh
535 * config/mkinstalldirs, lib/ansi2knr.c: Update.
537 2001-10-02 Akim Demaille <akim@epita.fr>
541 2001-10-02 Akim Demaille <akim@epita.fr>
545 2001-10-02 Akim Demaille <akim@epita.fr>
547 * tests/regression.at (Invalid CPP headers): New.
548 From Alexander Belopolsky.
549 * src/files.c (compute_header_macro): Map non alnum chars to `_'.
551 2001-10-02 Akim Demaille <akim@epita.fr>
553 * tests/regression.at (Invalid input): New.
554 * src/lex.c (lex): Be sure to set `token_buffer' in any case.
557 2001-10-02 Akim Demaille <akim@epita.fr>
559 * tests/calc.at: Now that --debug works, the tests must be adjusted.
561 2001-10-02 Akim Demaille <akim@epita.fr>
563 * src/output.c (output_parser): Assert `skeleton'.
564 * src/files.c (skeleton_find): Look harder for skeletons on DOSish
568 2001-10-01 Marc Autret <autret_m@epita.fr>
570 * src/lex.h: Echo modifications.
571 * src/lex.c (unlex): Parameter is now token_t.
574 2001-10-01 Marc Autret <autret_m@epita.fr>
576 * src/main.c: Include lex.h.
579 2001-09-29 Akim Demaille <akim@epita.fr>
581 * src/getargs.c (longopts): `--debug' is `-t', not `-d'.
583 2001-09-28 Akim Demaille <akim@epita.fr>
585 * tests/testsuite.at: Update to newer Autotest.
586 * tests/Makefile.am (EXTRA_DIST): bison is not to be shipped.
588 2001-09-27 Akim Demaille <akim@epita.fr>
590 Position independent wrapper.
592 * tests/bison: Remove.
593 * tests/bison.in: New.
594 * configure.in: Adjust.
596 2001-09-27 Paul Eggert <eggert@twinsun.com>
598 Port quotearg fixes from tar 1.13.24.
600 * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
602 (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
603 (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
605 * m4/Makefile.am (EXTRA_DIST): Add mbrtowc.m4.
606 * m4/mbrtowc.m4: New file.
607 * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for mbsinit and stddef.h.
608 Use jm_FUNC_MBRTOWC instead of AC_CHECK_FUNCS(mbrtowc).
610 2001-09-27 Akim Demaille <akim@epita.fr>
614 2001-09-27 Akim Demaille <akim@epita.fr>
618 2001-09-25 Akim Demaille <akim@epita.fr>
620 * src/system.h: Include `xalloc.h'.
621 Remove it from the C files.
622 * src/files.c (output_files): Free the obstacks.
623 * src/lex.c (init_lex): Rename as...
626 * src/main.c (main): Use it.
628 2001-09-24 Marc Autret <autret_m@epita.fr>
630 * src/vcg.c (open_edge, close_edge, open_node, close_node): Change
631 to output informations in fout (FILE*).
632 (open_graph, close_graph): Likewise.
633 (output_graph, output_edge, output_node): Likewise.
634 * src/vcg.h: Update function prototypes.
635 * src/print_graph.c (print_graph): Open output graph file.
636 (print_actions): Adjust.
637 * src/files.h: Remove extern declaration.
638 * src/files.c: Remove graph_obstack declaration.
639 (open_files): Remove graph_obstack initialization.
640 (output_files): Remove graph_obstack saving.
642 2001-09-24 Marc Autret <autret_m@epita.fr>
644 * src/files.c (compute_output_file_names): Fix.
646 2001-09-24 Marc Autret <autret_m@epita.fr>, Akim Demaille <akim@epita.fr>
648 * src/reader.c (reader): Remove call to free_symtab ().
649 * src/main.c (main): Call it here.
651 * src/conflicts.c (initialize_conflicts): Rename as...
652 (solve_conflicts): this.
653 * src/print.c (print_core, print_actions, print_state)
654 (print_grammar): Dump to a file instead a `output_obstack'.
655 (print_results): Dump `output_obstack', and then proceed with the
657 * src/files.c (compute_output_file_names, close_files): New.
658 (output_files): Adjust.
659 * src/main.c (main): Adjust.
661 2001-09-23 Marc Autret <autret_m@epita.fr>
663 * src/files.c (compute_header_macro): Computes header macro name
664 from spec_defines_file when given.
666 2001-09-23 Marc Autret <autret_m@epita.fr>
668 * src/files.c (output_files): Add default extensions.
670 2001-09-22 Akim Demaille <akim@epita.fr>
672 * src/conflicts.c (finalize_conflicts): Rename as...
673 (free_conflicts): this.
675 2001-09-22 Akim Demaille <akim@epita.fr>
677 * src/gram.c (gram_free): Rename back as...
679 (output_token_translations): Free `token_translations'.
680 * src/symtab.c (free_symtab): Free the tag field.
682 2001-09-22 Akim Demaille <akim@epita.fr>
684 Remove `translations' as it is always set to true.
686 * src/gram.h: Adjust.
687 * src/reader.c (packsymbols, parse_token_decl): Adjust
688 * src/print.c (print_grammar): Adjust.
689 * src/output.c (output_token_translations): Adjust.
690 * src/lex.c (lex): Adjust.
691 * src/gram.c: Be sure the set pointers to NULL.
692 (dummy): Rename as...
695 2001-09-22 Akim Demaille <akim@epita.fr>
697 * configure.in: Invoke AM_LIB_DMALLOC.
698 * src/system.h: Use dmalloc.
699 * src/LR0.c: Be sure to have pointers initialized to NULL.
700 (allocate_itemsets): Allocate kernel_items only if needed.
702 2001-09-22 Akim Demaille <akim@epita.fr>
704 * configure.in: Bump to 1.29b.
705 * tests/Makefile.am (DISTCLEANFILES): Add package.m4.
706 * tests/calc.at (_AT_DATA_CALC_Y): #undef malloc so that we don't
707 need xmalloc.c in calc.y.
710 2001-09-21 Akim Demaille <akim@epita.fr>
713 * Makefile.maint, config/config.guess, config/config.sub,
714 * config/missing: Update from masters.
715 * tests/Makefile.am ($(srcdir)/$(TESTSUITE)): No longer depend
717 * configure.in (ALL_LINGUAS): Add `tr'.
719 2001-09-21 Akim Demaille <akim@epita.fr>
721 * tests/Makefile.am (package.m4): Move to...
722 ($(srcdir)/$(TESTSUITE)): here.
724 2001-09-20 Akim Demaille <akim@epita.fr>
726 * src/complain.c: No longer try to be standalone: use system.h.
727 Don't assume __STDC__ is defined to 1. Just test if it is defined.
728 * src/complain.h: Likewise.
729 * src/reduce.c (useless_nonterminals, inaccessable_symbols):
730 Remove the unused variable `n'.
731 From Albert Chin-A-Young.
733 2001-09-18 Marc Autret <autret_m@epita.fr>
735 * doc/bison.1: Update.
736 * doc/bison.texinfo (Bison Options): Update --defines and --graph
738 (Option Cross Key): Update.
741 2001-09-18 Marc Autret <autret_m@epita.fr>
743 * tests/regression.at: New test (comment in %union).
745 2001-09-18 Marc Autret <autret_m@epita.fr>
747 * src/reader.c (parse_union_decl): Do not output '/'. Let copy_comment
749 Reported by Keith Browne.
751 2001-09-18 Marc Autret <autret_m@epita.fr>
753 * tests/output.at: Add tests for --defines and --graph.
755 2001-09-18 Marc Autret <autret_m@epita.fr>
757 * tests/output.at: Removes tests of %{header,src}_extension features.
759 2001-09-18 Akim Demaille <akim@epita.fr>
761 * tests/Makefile.am (package.m4): New.
762 * tests/calc.at (_AT_CHECK_CALC): Just run `calc input'.
763 (_AT_CHECK_CALC_ERROR): Likewise.
764 Factor the `, ' part of verbose error messages.
766 2001-09-18 Marc Autret <autret_m@epita.fr>
768 * src/getargs.c (longopts): Declare --defines and --graph as options
769 with optional arguments.
770 * src/files.h: Add extern declarations.
771 * src/files.c (spec_graph_file, spec_defines_file): New.
772 (output_files): Update.
773 Remove CPP-outed code.
775 2001-09-18 Marc Autret <autret_m@epita.fr>
777 Turn off %{source,header}_extension feature.
779 * src/files.c (compute_exts_from_gf): Update.
780 (compute_exts_from_src): Update.
781 (output_files): CPP-out useless code.
782 * src/files.h: Remove {header,source}_extension extern declarations.
783 * src/reader.c (parse_dquoted_param): CPP-out.
784 (parse_header_extension_decl): Remove.
785 (parse_source_extension_decl): Remove.
786 (read_declarations): Remove cases tok_{hdrext,srcext}.
787 * src/lex.c (percent_table): Remove {header,source}_extension entries.
788 * src/lex.h (token_t): Remove tok_hdrext and tok_srcext.
790 2001-09-10 Akim Demaille <akim@epita.fr>
792 * tests/output.at (AT_CHECK_BISON_FLAGS, AT_CHECK_BISON_PERCENT):
793 (AT_CHECK_BISON_PERCENT_FLAGS): Merge into...
794 (AT_CHECK_OUTPUT): this.
795 Merely check ls' exit status, its output is useless.
797 2001-09-10 Akim Demaille <akim@epita.fr>
799 * tests/calc.at: Use m4_match.
800 (_AT_DATA_CALC_Y): Check `yyin != NULL', not `stdin != NULL'.
802 2001-09-10 Marc Autret <autret_m@epita.fr>, Akim Demaille <akim@epita.fr>
804 * src/vcg.h (graph_s): color, textcolor, bordercolor are now
806 * src/print_graph.c (print_graph): Initalize graph.layoutalgorithm
808 * src/reader.c (parse_token_decl): Initialize token with tok_eof.
809 * src/lex.h: Adjust prototype.
810 (token_t): Add `tok_undef'.
811 * src/lex.c (struct percent_table_struct): Retval is now a token_t.
812 (parse_percent_token): Now returns token_t.
813 Add default statement in switch.
814 (lex): Separate `c' as an input variable, from the token_t result
816 (unlexed): Is a token_t.
818 2001-09-10 Akim Demaille <akim@epita.fr>
820 * configure.in: Bump to 1.29a.
822 2001-09-07 Akim Demaille <akim@epita.fr>
826 2001-08-30 Akim Demaille <akim@epita.fr>
828 * tests/atgeneral.m4, tests/atconfig.in, tests/suite.at: Remove.
829 * m4/atconfig.m4: Remove.
830 * tests/testsuite.at, tests/atlocal.in, tests/output.at,
832 * tests/regression.at, tests/calc.at: Use m4_define, AT_BANNER,
833 m4_if, m4_patsubst, and m4_regexp.
834 * tests/calc.at (_AT_CHECK_CALC, _AT_CHECK_CALC_ERROR): Use an
835 `input' file instead of echo.
837 2001-08-29 Akim Demaille <akim@epita.fr>
841 2001-08-29 Akim Demaille <akim@epita.fr>
845 2001-08-29 Paul Eggert <eggert@twinsun.com>
847 * src/bison.simple (yyparse): Don't take the address of an
848 item before the start of an array, as that doesn't conform to
851 2001-08-29 Robert Anisko <anisko_r@epita.fr>
853 * doc/bison.texinfo (Location Tracking Calc): New node.
855 2001-08-29 Paul Eggert <eggert@twinsun.com>
857 * src/output.c (output): Do not define const, as this now
858 causes more problems than it cures.
860 2001-08-29 Akim Demaille <akim@epita.fr>
862 * doc/bison.texinfo: Modernize `@node' and `@top' use: just name
864 Be sure to tag the `detailmenu'.
866 2001-08-29 Akim Demaille <akim@epita.fr>
868 * Makefile.maint (do-po-update): Wget refuses to overwrite files:
869 download in a tmp dir.
871 2001-08-28 Marc Autret <autret_m@epita.fr>
873 * config/depcomp: New file.
875 2001-08-28 Marc Autret <autret_m@epita.fr>
877 * doc/bison.1 (mandoc): Adjust.
878 From Juan Manuel Guerrero.
880 2001-08-28 Marc Autret <autret_m@epita.fr>
882 * src/print_graph.c (print_state): Fix.
884 2001-08-27 Marc Autret <autret_m@epita.fr>
886 * src/vcg.h (classname_s, infoname_s, node_s): Constify the
888 Echo modifications to the functions prototypes.
889 * src/vcg.c (add_classname, add_infoname): Adjust arguments.
891 2001-08-27 Marc Autret <autret_m@epita.fr>
893 * src/vcg.c: Include `xalloc.h'.
894 (add_colorentry): New.
895 (add_classname): New.
897 * src/vcg.h: Add new prototypes.
899 2001-08-27 Akim Demaille <akim@epita.fr>
901 * Makefile.maint: Sync. again with CVS Autoconf.
903 2001-08-27 Akim Demaille <akim@epita.fr>
905 * Makefile.maint: Formatting changes.
906 (po-update, cvs-update, update): New targets.
909 2001-08-27 Akim Demaille <akim@epita.fr>
911 * Makefile.am (AUTOMAKE_OPTIONS): 1.5.
912 * Makefile.maint: Sync. with CVS Autoconf.
914 2001-08-27 Marc Autret <autret_m@epita.fr>
916 * src/vcg.h (struct infoname_s): New.
917 (struct colorentry_s): New.
918 (graph_s): New fields {vertical,horizontal}_order in structure.
919 Add `infoname' field.
920 Add `colorentry' field;
921 * src/vcg_defaults.h (G_VERTICAL_ORDER): New.
922 (G_HORIZONTAL_ORDER): New.
925 * src/vcg.c (output_graph): Add output of {vertical,horizontal}_order.
926 Add output of `infoname'.
927 Add output of `colorentry'.
929 2001-08-27 Marc Autret <autret_m@epita.fr>
931 * src/reader.c (parse_dquoted_param): Rename variable `index' to `i'.
932 This one shadowed a global parameter.
934 2001-08-24 Marc Autret <autret_m@epita.fr>
936 * src/print_graph.c (node_output_size): Declared POSIX `size_t' type,
937 instead of `unsigned'.
938 (print_state): Do not call obstack_object_size () in obstack_grow ()
939 to avoid macro variables shadowing.
941 2001-08-23 Marc Autret <autret_m@epita.fr>
943 * src/lex.c (percent_table): Typo: s/naem/name/.
945 Normalize new options declarations.
947 2001-08-20 Pascal Bart <pascal.bart@epita.fr>
949 * tests/suite.at: Exercise %header_extension and %source_extension.
951 2001-08-16 Marc Autret <autret_m@epita.fr>
953 * src/reader.c (parse_dquoted_param): New.
954 (parse_header_extension_decl): Use it.
955 (parse_source_extension_decl): Likewise.
957 2001-08-16 Marc Autret <autret_m@epita.fr>
959 * src/vcg.c: Remove includes of `complain.h' and `xalloc.h'.
960 (get_xxxx_str): Use assert () instead of complain ().
961 Remove return invokations in default cases.
962 (get_decision_str): Modify default behaviour. Remove second argument.
963 Echo modifications on calls.
966 2001-08-16 Marc Autret <autret_m@epita.fr>
968 * src/getargs.c (usage): Update with ``-g, --graph''.
970 2001-08-16 Marc Autret <autret_m@epita.fr>
972 * doc/bison.texinfo (Bison Options): Add items `-g', `--graph'.
973 (Option Cross Key): Likewise.
974 * doc/bison.1: Update.
976 2001-08-15 Akim Demaille <akim@epita.fr>
980 2001-08-15 Marc Autret <autret_m@epita.fr>
982 * src/reader.c (readgram): Indent output macro YYSTYPE.
983 (packsymbols): Likewise.
984 (output_token_defines): Likewise.
985 * src/files.c: Standardize.
986 (compute_header_macro): New.
987 (defines_obstack_save): New. Use compute_header_macro.
988 (output_files): Update. Use defines_obstack_save.
990 2001-08-15 Akim Demaille <akim@epita.fr>
992 * doc/bison.texinfo (Table of Symbols): Document
995 2001-08-15 Akim Demaille <akim@epita.fr>
997 * missing: Update from CVS Automake.
998 * config/config.guess, config/config.sub, config/texinfo.tex:
1001 2001-08-15 Akim Demaille <akim@epita.fr>
1003 * Makefile.maint: Sync with CVS Autoconf.
1005 2001-08-14 Pascal Bart <pascal.bart@epita.fr>
1007 * doc/bison.texinfo: Include GNU Free Documentation License from
1009 * doc/fdl.texi: Add to package.
1011 2001-08-14 Marc Autret <autret_m@epita.fr>
1013 Turn on %{source,header}_extension features.
1015 * src/lex.c (percent_table): Un-CPP out header_extension and
1017 * src/files.c (compute_exts_from_gf): Compare pointers with NULL.
1018 (compute_exts_from_src): Remove conditions. It restores priorities
1021 2001-08-14 Marc Autret <autret_m@epita.fr>
1023 * src/files.c (compute_base_names): Add extensions computing when
1024 `--file-prefix' used.
1025 Standardize function calls.
1027 2001-08-13 Marc Autret <autret_m@epita.fr>
1029 * src/bison.simple (YYSTACK_USE_ALLOCA): Changed to allow users
1030 defining it (defined but null disables alloca).
1032 2001-08-13 Marc Autret <autret_m@epita.fr>
1034 * src/bison.simple (_yy_memcpy): CPP reformat.
1036 2001-08-13 Pascal Bart <pascal.bart@epita.fr>
1038 * tests/atconfig.in (CPPFLAGS): Fix.
1040 2001-08-10 Pascal Bart <pascal.bart@epita.fr>
1042 * doc/bison.texinfo: Include GNU General Public License from
1044 * doc/gpl.texi: Add to package.
1046 2001-08-10 Marc Autret <autret_m@epita.fr>
1048 * src/print_graph.h: Fix.
1049 * src/reader.c (read_declarations): Use parse_header_extension_decl ().
1051 2001-08-10 Akim Demaille <akim@epita.fr>
1053 * src/system.h: Provide default declarations for stpcpy, strndup,
1056 2001-08-10 Robert Anisko <anisko_r@epita.fr>
1058 * doc/bison.texinfo (Locations): Update @$ stuff.
1060 2001-08-09 Robert Anisko <anisko_r@epita.fr>
1062 * src/bison.simple (YYLLOC_DEFAULT): Update.
1065 2001-08-08 Marc Autret <autret_m@epita.fr>
1067 * doc/bison.texinfo: Change @samp{$<@dots{}>} to
1068 @samp{$<@dots{}>@var{n}} in Section Actions in Mid-Rule.
1069 Reported by Fabrice Bauzac.
1071 2001-08-08 Marc Autret <autret_m@epita.fr>
1073 * src/vcg_default.h: Use NULL instead of 0 to initialize pointers.
1074 * src/vcg.c (output_node): Fix.
1075 * src/vcg.h: Cleanup.
1076 * src/print_graph.c: Add comments.
1077 (node_output_size): New global variable. Simplify the formatting of
1078 the VCG graph output.
1079 (print_actions): Unused code is now used. It notifies the final state
1080 and no action states in the VCG graph. It also give the reduce actions.
1081 The `shift and goto' edges are red and the `go to state' edges are
1083 Get the current node name and node_obstack by argument.
1084 (node_obstack): New variable.
1085 (print_state): Manage node_obstack.
1086 (print_core): Use node_obstack given by argument.
1087 A node is not only computed here but in print_actions also.
1088 (print_graph): CPP out useless code instead of commenting it.
1090 2001-08-07 Pascal Bart <pascal.bart@epita.fr>
1092 * tests/atconfig.in (CPPFLAGS): Fix.
1094 2001-08-07 Akim Demaille <akim@epita.fr>
1096 * src/print_graph.c (quote): New.
1097 (print_core): Use it.
1099 2001-08-06 Akim Demaille <akim@epita.fr>, Marc Autret <autret_m@epita.fr>
1101 * src/vcg.c (complain.h): Include it.
1102 Unepitaize `return' invocations.
1103 [NDEBUG] (main): Remove.
1104 * src/vcg.h (node_t, edge_t, graph_t): Constify the char * members.
1105 * src/files.c (open_files): Initialize graph_obstack.
1106 * src/print_graph.c (print_actions): CPP out useless code.
1107 (print_core): Don't output the last `\n' in labels.
1109 * src/files.c (output_files): Output the VCG file.
1110 * src/main.c (main): Invoke print_graph ();
1112 2001-08-06 Marc Autret <autret_m@epita.fr>
1114 Automaton VCG graph output.
1115 Using option ``-g'' or long option ``--graph'', you can generate
1116 a gram_filename.vcg file containing a VCG description of the LALR (1)
1117 automaton of your grammar.
1119 * src/main.c: Call to print_graph() function.
1120 * src/getargs.h: Update.
1121 * src/getargs.c (options): Update to catch `-g' and `--graph' options.
1122 (graph_flag): New flag.
1124 (getargs): Add case `g'.
1125 * src/files.c (graph_obstack): New obstack struct.
1126 (open_files): Initialize new obstack.
1127 (output_files): Saves graph_obstack if required.
1128 * src/files.h (graph_obstack): New extern declaration.
1129 * src/Makefile.am: Add new source files.
1131 2001-08-06 Marc Autret <autret_m@epita.fr>
1133 * src/print_graph.c, src/print_graph.h (graph): New.
1134 * src/vcg.h: New file.
1135 * src/vcg.c: New file, VCG graph handling.
1137 2001-08-06 Marc Autret <autret_m@epita.fr>
1139 Add of %source_extension and %header_extension which specify
1140 the source or/and the header output file extension.
1142 * src/files.c (compute_base_names): Remove initialisation of
1143 src_extension and header_extension.
1144 (compute_exts_from_gf): Update.
1145 (compute_exts_from_src): Update.
1146 (output_files): Update.
1147 * src/reader.c (parse_header_extension_decl): New.
1148 (parse_source_extension_decl): New.
1149 (read_declarations): New case statements for the new tokens.
1150 * src/lex.c (percent_table): Add entries for %source_extension
1151 and %header_extension.
1152 * src/lex.h (token_e): New tokens tok_hdrext and tok_srcext.
1154 2001-08-06 Marc Autret <autret_m@epita.fr>
1156 * configure.in: Bump to 1.28c.
1157 * doc/bison.texinfo: Texinfo thingies.
1159 2001-08-04 Pascal Bart <pascal.bart@epita.fr>
1161 * tests/atconfig.in (CPPFLAGS): Add.
1162 * tests/calc.at (AT_CHECK): Use CPPFLAGS.
1164 2001-08-03 Akim Demaille <akim@epita.fr>
1168 2001-08-03 Akim Demaille <akim@epita.fr>
1170 * tests/Makefile.am (check-local): Ship testsuite.
1171 * tests/calc.at (_AT_DATA_CALC_Y): Prototype all the functions.
1174 2001-08-03 Akim Demaille <akim@epita.fr>
1176 * configure.in: Try using -Wformat when compiling.
1178 2001-08-03 Akim Demaille <akim@epita.fr>
1180 * configure.in: Bump to 1.28b.
1182 2001-08-03 Akim Demaille <akim@epita.fr>
1184 * src/complain.c: Adjust strerror_r portability issues.
1186 2001-08-03 Akim Demaille <akim@epita.fr>
1190 2001-08-03 Akim Demaille <akim@epita.fr>
1192 * src/getargs.c, src/getarg.h (skeleton)): Constify.
1193 * src/lex.c (literalchar): Avoid name clashes on `buf'.
1194 * src/getargs.c: Include complain.h.
1195 * src/files.c, src/files.h (skeleton_find): Avoid name clashes.
1196 * lib/quotearg.c, lib/quotearg.h: Update from fileutils 4.1.
1198 2001-08-03 Akim Demaille <akim@epita.fr>
1200 * src/reader.c (readgram): Display hidden chars in error messages.
1202 2001-08-03 Akim Demaille <akim@epita.fr>
1204 Update to gettext 0.10.39.
1206 2001-08-03 Akim Demaille <akim@epita.fr>
1208 * lib/strspn.c: New.
1210 2001-08-01 Marc Autret <autret_m@epita.fr>
1212 * doc/bison.texinfo: Update.
1213 * doc/bison.1 (mandoc): Update.
1214 * src/system.h (EXT_GUARD_C, EXT_STYPE_H): Remove .c and .h.
1215 * src/files.c: Support output files extensions computing.
1216 (src_extension): New static variable.
1217 (header_extension): New static variable.
1219 (get_extension_index): New function, gets the index of an extension
1220 filename in a string.
1221 (compute_exts_from_gf): New function, computes extensions from the
1222 grammar file extension.
1223 (compute_exts_from_src): New functions, computes extensions from the
1224 C source file extension, file given by ``-o'' option.
1225 (compute_base_names): Update.
1226 (output_files): Update.
1228 2001-08-01 Robert Anisko <anisko_r@epita.fr>
1230 * doc/bison.texi: Document @$.
1231 (Locations): New section.
1233 2001-07-18 Akim Demaille <akim@epita.fr>
1235 * Makefile.maint, GNUmakefile: New, from Autoconf 2.52.
1236 * config/prev-version.txt, config/move-if-change: New.
1237 * Makefile.am: Adjust.
1239 2001-07-08 Pascal Bart <pascal.bart@epita.fr>
1241 * src/bison.simple (yyparse): Suppress warning `comparaison
1242 between signed and unsigned'.
1244 2001-07-05 Pascal Bart <pascal.bart@epita.fr>
1246 * src/getargs.h (raw_flag): Remove.
1247 * src/getargs.c: Die on `-r'/`--raw'.
1248 * src/lex.c (parse_percent_token): Die on `%raw'.
1249 * src/reader.c (output_token_defines): Suppress call to `raw_flag'.
1250 * tests/calc.at: Suppress test with option `--raw'.
1252 2001-07-14 Akim Demaille <akim@epita.fr>
1255 * configure.in: Require Autoconf 2.50.
1256 Update to gettext 0.10.38.
1258 2001-03-16 Akim Demaille <akim@epita.fr>
1260 * doc/bison.texinfo: ANSIfy the examples.
1262 2001-03-16 Akim Demaille <akim@epita.fr>
1264 * getargs.c (skeleton): New variable.
1265 (longopts): --skeleton is a new option.
1266 (shortopts, getargs): -S is a new option.
1267 * getargs.h: Declare skeleton.
1268 * output.c (output_parser): Use it.
1270 2001-03-16 Akim Demaille <akim@epita.fr>
1272 * m4/strerror_r.m4: New.
1273 * m4/error.m4: Run AC_FUNC_STRERROR_R.
1274 * lib/error.h, lib/error.c: Update.
1276 2001-03-16 Akim Demaille <akim@epita.fr>
1278 * src/getargs.c (longopts): Clean up.
1280 2001-02-21 Akim Demaille <akim@epita.fr>
1282 * src/reader.c (gensym): `gensym_count' is your own.
1283 Use a static buf to create the symbol name, as token_buffer is no
1286 2001-02-08 Akim Demaille <akim@epita.fr>
1288 * src/conflicts.c (conflict_report): Be sure not to append to res
1289 between two calls, which could happen if both first sprintf were
1290 skipped, but not the first cp += strlen.
1292 2001-02-08 Akim Demaille <akim@epita.fr>
1294 * lib/memchr.c, lib/stpcpy.c, lib/strndup.c, lib/strnlen.c:
1295 New, from fileutils 4.0.37.
1296 * configure.in: Require Autoconf 2.49c. I took some time before
1297 making this decision. This is the only way out for portability
1298 issues in Bison, it would mean way too much duplicate effort to
1299 import in Bison features implemented in 2.49c since 2.13.
1300 AC_REPLACE_FUNCS and AC_CHECK_DECLS the functions above.
1302 2001-02-02 Akim Demaille <akim@epita.fr>
1304 * lib/malloc.c, lib/realloc.c: New, from the fileutils 4.0.37.
1305 * lib/xalloc.h, lib/xmalloc.c: Update.
1307 2001-01-19 Akim Demaille <akim@epita.fr>
1309 Get rid of the ad hoc handling of token_buffer in the scanner: use
1312 * src/lex.c (token_obstack): New.
1313 (init_lex): Initialize it. No longer call...
1314 (grow_token_buffer): this. Remove it.
1315 Adjust all the places which used it to use the obstack.
1317 2001-01-19 Akim Demaille <akim@epita.fr>
1319 * src/lex.h: Rename all the tokens:
1320 s/\bENDFILE\b/tok_eof/g;
1321 s/\bIDENTIFIER\b/tok_identifier/g;
1323 Let them be enums, not #define, to ease debugging.
1324 Adjust all the code.
1326 2001-01-18 Akim Demaille <akim@epita.fr>
1328 * src/lex.h (MAXTOKEN, maxtoken, grow_token_buffer): Remove, private.
1329 * src/lex.c (maxtoken, grow_token_buffer): Static.
1331 2001-01-18 Akim Demaille <akim@epita.fr>
1333 Since we now use obstacks, more % directives can be enabled.
1335 * src/lex.c (percent_table): Also accept `%yacc',
1336 `%fixed_output_files', `%defines', `%no_parser', `%verbose', and
1338 Handle the actions for `%semantic_parser' and `%pure_parser' here,
1339 instead of returning a token.
1340 * src/lex.h (SEMANTIC_PARSER, PURE_PARSER): Remove, unused.
1341 * src/reader.c (read_declarations): Adjust.
1342 * src/files.c (open_files): Don't call `compute_base_names', don't
1343 compute `attrsfile' since they depend upon data which might be
1344 *in* the input file now.
1345 (output_files): Do it here.
1346 * src/output.c (output_headers): Document the fact that this patch
1347 introduces a guaranteed SEGV for semantic parsers.
1348 * doc/bison.texinfo: Document them.
1349 * tests/suite.at: Exercise these %options.
1351 2000-12-20 Akim Demaille <akim@epita.fr>
1353 Also handle the output file (--verbose) with obstacks.
1355 * files.c (foutput): Remove.
1356 (output_obstack): New.
1357 Adjust all dependencies.
1358 * src/conflicts.c: Return a string.
1359 * src/system.h (obstack_grow_string): Rename as...
1360 (obstack_sgrow): this. Be ready to work with non literals.
1361 (obstack_fgrow4): New.
1363 2000-12-20 Akim Demaille <akim@epita.fr>
1365 * src/files.c (open_files): Fix the computation of short_base_name
1366 in the case of `-o foo.tab.c'.
1368 2000-12-20 Akim Demaille <akim@epita.fr>
1370 * src/reader.c (copy_string, copy_comment, copy_comment2, copy_at)
1371 (copy_dollar): Now that everything uses obstacks, get rid of the
1374 2000-12-20 Akim Demaille <akim@epita.fr>
1376 * src/files.c (open_files): Actually the `.output' file is based
1377 on the short_base_name, not base_name.
1378 * tests/suite.at (Checking output file names): Adjust.
1380 2000-12-20 Akim Demaille <akim@epita.fr>
1382 * src/bison.s1: Remove, we now use directly...
1383 * src/bison.simple: this.
1384 * src/Makefile.am: Use pkgdata instead of data.
1386 2000-12-20 Akim Demaille <akim@epita.fr>
1388 * src/files.c (guard_obstack): New.
1389 (open_files): Initialize it.
1390 (output_files): Dump it...
1391 * src/files.h: Export it.
1392 * src/reader.c (copy_guard): Use it.
1394 2000-12-19 Akim Demaille <akim@epita.fr>
1396 * src/files.c (outfile, defsfile, actfile): Removed as global
1398 (open_files): Don't compute them.
1399 (output_files): Adjust.
1400 (base_name, short_base_name): Be global.
1401 Adjust dependencies.
1403 2000-12-19 Akim Demaille <akim@epita.fr>
1405 * src/files.c (strsuffix): New.
1406 (stringappend): Be just like strcat but allocate.
1407 (base_names): Eve out from open_files.
1408 Try to simplify the rather hairy computation of base_name and
1410 (open_files): Use it.
1411 * tests/suite.at (Checking output file names): New test.
1413 2000-12-19 Akim Demaille <akim@epita.fr>
1415 * src/system.h (obstack_grow_literal_string): Rename as...
1416 (obstack_grow_string): this.
1417 * src/output.c (output_parser): Recognize `%% actions' instead of
1419 * src/bison.s1: s/$/%% actions/.
1420 * src/bison.hairy: Likewise.
1422 2000-12-19 Akim Demaille <akim@epita.fr>
1424 * src/output.c (output_parser): Compute the `#line' lines when
1426 * src/Makefile.am (bison.simple): Be a simple copy of bison.s1.
1427 Suggested by Hans Aberg.
1429 2000-12-19 Akim Demaille <akim@epita.fr>
1431 Let the handling of the skeleton files be local to the procedures
1434 * src/files.c (xfopen, xfclose, skeleton_find, guardfile): No
1436 (fparser, open_extra_files): Remove.
1437 (open_files, output_files): Don't take care of fparser.
1438 * src/files.h: Adjust.
1439 * src/output.c (output_parser): Open and close the file to the
1441 * src/reader.c (read_declarations): When %semantic_parser, open
1444 2000-12-19 Akim Demaille <akim@epita.fr>
1446 * src/file.h (BISON_SIMPLE, BISON_HAIRY): Move from here...
1447 * src/system.h (BISON_SIMPLE, BISON_HAIRY): ... to here.
1449 2000-12-19 Akim Demaille <akim@epita.fr>
1451 * src/files.c (open_files): Yipee! We no longer need all the code
1452 looking for `/tmp' since we have no tmp file.
1454 2000-12-19 Akim Demaille <akim@epita.fr>
1456 * src/system.h (EXT_TAB, EXT_OUTPUT, EXT_STYPE_H, EXT_GUARD_C):
1458 * src/files.c (open_files): Less dependency on MSDOS etc.
1460 2000-12-14 Akim Demaille <akim@epita.fr>
1462 * src/bison.s1 (YYLLOC_DEFAULT): New macro.
1463 Provide a default definition.
1464 Use it when executing the default @ action.
1465 * src/reader.c (reader_output_yylsp): No longer include
1466 `timestamp' and `text' in the default YYLTYPE.
1468 2000-12-12 Akim Demaille <akim@epita.fr>
1470 * src/reader.c (copy_definition, parse_union_decl, copy_action)
1471 (copy_guard): Quote the file names.
1472 Reported by Laurent Mascherpa.
1474 2000-12-12 Akim Demaille <akim@epita.fr>
1476 * src/output.c (output_headers, output_program, output): Be sure
1477 to escape special characters when outputting filenames.
1478 (ACTSTR_PROLOGUE, ACTSTR_EPILOGUE): Remove.
1479 (output_headers): Don't depend on them, Use ACTSTR.
1481 2000-11-17 Akim Demaille <akim@epita.fr>
1483 * lib/obstack.h: Formatting changes.
1484 (obstack_grow, obstack_grow0): Don't cast WHERE at all: it
1485 prevents type checking.
1486 (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
1487 cast the value to (void *): assigning a `foo *' to a `void *'
1489 (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
1490 * src/reader.c (parse_union_decl): Typo: use obstack_1grow to
1493 2000-11-17 Akim Demaille <akim@epita.fr>
1495 * tests/Makefile.am (suite.m4, regression.m4, calc.m4): Rename
1497 (suite.m4, regression.m4, calc.m4): these.
1498 * tests/atgeneral.m4: Update from CVS Autoconf.
1500 2000-11-17 Akim Demaille <akim@epita.fr>
1502 * tests/regression.m4 (%union and --defines): New test,
1503 demonstrating a current bug in the obstack implementation.
1505 2000-11-17 Akim Demaille <akim@epita.fr>
1507 * src/bison.s1 (_YY_DECL_VARIABLES, YY_DECL_VARIABLES): New
1509 Use them to declare the variables which are global or local to
1512 2000-11-17 Akim Demaille <akim@epita.fr>
1514 * acconfig.h: Remove, no longer used.
1516 2000-11-07 Akim Demaille <akim@epita.fr>
1518 * src: s/Copyright (C)/Copyright/g.
1520 2000-11-07 Akim Demaille <akim@epita.fr>
1522 * src/reader.c (reader): #define YYLSP_NEEDED to 1 instead of just
1524 * src/bison.s1: s/#ifdef YYLSP_NEEDED/#if YYLSP_NEEDED/.
1526 2000-11-07 Akim Demaille <akim@epita.fr>
1528 * src/bison.s1 (YYLEX): Use #if instead of #ifdef.
1529 Merge in a single CPP if/else.
1531 2000-11-07 Akim Demaille <akim@epita.fr>
1533 * src/output.c (output): Remove useless variables.
1534 * lib/obstack.c (obstack_grow, obstack_grow0): Rename the second
1535 argument `data' for consistency with the prototypes.
1537 (obstack_copy, obstack_copy0): Rename the second argument as
1538 `address' for consistency. Qualify it `const'.
1539 * lib/obstack.h (obstack_copy, obstack_copy0, obstack_grow)
1540 (obstack_grow0, obstack_ptr_grow, obstack_ptr_grow_fast): Qualify
1541 `const' their input argument (`data' or `address').
1542 Adjust the corresponding macros to include `const' in casts.
1544 2000-11-03 Akim Demaille <akim@epita.fr>
1546 * src/Makefile.am (INCLUDES): s/PFILE/BISON_SIMPLE/.
1547 s/PFILE1/BISON_HAIRY/.
1548 Adjust dependencies.
1550 2000-11-03 Akim Demaille <akim@epita.fr>
1552 For some reason, this was not applied.
1554 * src/files.c [VMS]: No longer include `ssdef.h', no longer define
1555 `unlink': it's no longer used.
1557 2000-11-03 Akim Demaille <akim@epita.fr>
1559 * src/files.c (skeleton_find): New function, eved out of...
1560 (open_files, open_extra_files): here.
1562 2000-11-03 Akim Demaille <akim@epita.fr>
1566 * src/files.c (obstack_save): New function.
1567 (done): Rename as...
1568 (output_files): this.
1570 * src/main.c (main): Don't use `atexit' to register `done', since
1571 it no longer has to remove tmp files, just call `output_files'
1572 when there are no errors.
1574 2000-11-02 Akim Demaille <akim@epita.fr>
1576 * src/files.c [VMS]: No longer include `ssdef.h', no longer define
1577 `unlink': it's no longer used.
1578 * src/files.h: Formatting changes.
1580 2000-11-02 Akim Demaille <akim@epita.fr>
1582 Remove the last uses of mktemp and unlink/delete.
1584 * src/files.c (fdefines, ftable): Removed.
1585 (defines_ostack, table_obstack): New.
1586 Adjust dependencies of the former into uses of the latter.
1587 * src/output.c (output_short_or_char_table, output_short_table):
1588 Convert to using obstacks.
1589 * src/reader.c (copy_comment2): Accept one FILE * and two
1591 (output_token_defines, reader_output_yylsp): Use obstacks.
1592 * src/system.h (obstack_fgrow3): New.
1594 2000-11-01 Akim Demaille <akim@epita.fr>
1596 Change each use of `fattrs' into a use of `attrs_obstack'.
1598 * src/reader.c (copy_at): Typo: s/yylloc/yyloc/.
1599 * src/files.c (fattrs): Remove.
1600 (attrs_obstack): New.
1601 Adjust all dependencies.
1602 (done): If SEMANTIC_PARSER, dump attrs_obstack into attrsfile.
1604 2000-11-01 Akim Demaille <akim@epita.fr>
1607 Change each use of `faction' into a use of `action_obstack'.
1609 * lib/obstack.h, lib/obstack.c: New files.
1610 * src/files.c (faction): Remove.
1611 (action_obstack): New.
1612 Adjust all dependencies.
1614 2000-10-20 Akim Demaille <akim@epita.fr>
1616 * lib/quote.h (PARAMS): New macro. Use it.
1618 2000-10-16 Akim Demaille <akim@epita.fr>
1620 * src/output.c (output_short_or_char_table): New function.
1621 (output_short_table, output_token_translations): Use it.
1622 (goto_actions): Use output_short_table.
1624 2000-10-16 Akim Demaille <akim@epita.fr>
1626 * src/symtab.c (bucket_new): New function.
1629 * src/output.c (output_short_table): New argument to display the
1630 comment associated with the table.
1631 Adjust dependencies.
1632 (output_gram): Use it.
1633 (output_rule_data): Nicer output layout for YYTNAME.
1635 2000-10-16 Akim Demaille <akim@epita.fr>
1637 * src/lex.c (read_typename): New function.
1639 * src/reader.c (copy_dollar): Likewise.
1641 2000-10-16 Akim Demaille <akim@epita.fr>
1643 * src/reader.c (copy_comment2): Expect the input stream to be on
1644 the `/' which is suspected to open a comment, instead of being
1645 called after `//' or `/*' was read.
1646 (copy_comment, copy_definition, parse_union_decl, copy_action)
1647 (copy_guard): Adjust.
1649 2000-10-16 Akim Demaille <akim@epita.fr>
1651 * src/reader.c (parse_expect_decl): Use `skip_white_space' and
1652 `read_signed_integer'.
1654 2000-10-16 Akim Demaille <akim@epita.fr>
1656 * src/reader.c (copy_dollar): New function.
1657 (copy_guard, copy_action): Use it.
1659 2000-10-16 Akim Demaille <akim@epita.fr>
1661 * lib/quote.h, lib/quote.c, lib/quotearg.h, lib/quotearg.c:
1662 * m4/prereq.m4, m4/c-bs-a.m4, m4/mbstate.m4:
1663 New files, from Fileutils 4.0.27.
1664 * src/main.c (printable_version): Remove.
1665 * src/lex.c, src/reader.c: Use `quote'.
1667 2000-10-04 Akim Demaille <akim@epita.fr>
1669 * lib/error.c, lib/error.h: New files, needed by xmalloc.c.
1671 2000-10-04 Akim Demaille <akim@epita.fr>
1673 * doc/bison.texinfo: Various typos spotted by Neil Booth.
1675 2000-10-04 Akim Demaille <akim@epita.fr>
1677 When a literal string is used to define two different tokens,
1678 `bison -v' segfaults.
1679 Reported by Piotr Gackiewicz, and fixed by Neil Booth.
1681 * tests/regression.m4: New file.
1682 Include the core of the sample provided by Piotr Gackiewicz.
1683 * src/reader.c (parse_token_decl): Diagnose bad cases, and proceed
1686 2000-10-04 Akim Demaille <akim@epita.fr>
1688 * src/reader.c (parse_expect_decl): Keep `count' within the size
1692 2000-10-02 Paul Eggert <eggert@twinsun.com>
1694 * bison.s1 (yyparse): Assign the default value
1695 unconditionally, to avoid a GCC warning and make the parser a
1698 2000-10-02 Akim Demaille <akim@epita.fr>
1700 * src/getargs.c (getargs): Don't dump `--help' on unrecognized
1703 2000-10-02 Akim Demaille <akim@epita.fr>
1705 * src/derives.c, src/print.c, src/reduce.c: To ease the
1706 translation, move some `\n' out of the translated strings.
1708 2000-10-02 Akim Demaille <akim@epita.fr>
1710 The location tracking mechanism is precious for parse error
1711 messages. Nevertheless, it is enabled only when `@n' is used in
1712 the grammar, which is a different issue (you can use it in error
1713 message, but not in the grammar per se). Therefore, there should
1714 be another means to enable it.
1716 * src/getargs.c (getargs): Support `--locations'.
1718 * src/getargs.h (locationsflag): Export it.
1719 * src/lex.c (percent_table): Support `%locations'.
1720 * src/reader.c (yylsp_needed): Remove this variable, now replaced
1721 with `locationsflag'.
1722 * doc/bison.texinfo: Document `--locations' and `%locations'.
1724 * tests/calc.m4: Test it.
1726 For regularity of the names, replace each
1727 (nolineflag, toknumflag, rawtokenumflag, noparserflag): with...
1728 (no_lineflag, token_tableflag, rawflag, no_parserflag): this.
1729 In addition replace each `flag' with `_flag'.
1731 2000-10-02 Akim Demaille <akim@epita.fr>
1733 Also test parse error messages, including with YYERROR_VERBOSE.
1735 * tests/calc.m4 (calc.y): Add support for `exp = exp' (non
1737 Use it to check the computations.
1738 Use it to check `nonassoc' is honored.
1739 (AT_DATA_CALC_Y): Equip `calc.y' with YYERROR_VERBOSE when passed
1740 `--yyerror-verbose'.
1741 (_AT_CHECK_CALC): Adjust to this option.
1742 (_AT_CHECK_CALC_ERROR): New macro to check parse error messages.
1744 2000-10-02 Akim Demaille <akim@epita.fr>
1746 Test also `--verbose', `--defines' and `--name-prefix'. Testing
1747 the latter demonstrates a flaw in the handling of non debugging
1748 parsers introduced by myself on 2000-03-16: `#define yydebug 0'
1749 was used in order to simplify:
1765 unfortunately this leads to a CPP conflict when
1766 `--name-prefix=foo' is used since it produces `#define yydebug
1769 * src/bison.s1 [!YYDEBUG]: Do not define yydebug.
1770 (YYDPRINTF): New macro.
1772 * tests/calc.m4 (AT_CHECK_CALC): Do require a title, build it from
1774 Also test `--verbose', `--defines' and `--name-prefix'.
1776 2000-10-02 Akim Demaille <akim@epita.fr>
1778 Improve the readability of the produced parsers.
1780 * src/bison.s1: Formatting changes.
1781 Improve the comment related to the `$' mark.
1782 (yydefault): Don't fall through to `yyresume': `goto' there.
1783 * src/output.c (output_parser): When the `$' is met, skip the end
1785 New variable, `number_of_dollar_signs', to check there's exactly
1786 one `$' in the parser skeleton.
1788 2000-10-02 Akim Demaille <akim@epita.fr>
1790 * lib/xstrdup.c: New file, from the fileutils.
1791 * src/reader.c (parse_token_decl, get_type_name, parse_type_decl)
1792 (parse_assoc_decl, parse_thong_decl, get_type): Use `xstrdup'
1793 instead of strlen + xmalloc + strcpy.
1794 * src/symtab.c (copys): Remove, use xstrdup instead.
1796 2000-10-02 Akim Demaille <akim@epita.fr>
1798 * src/gram.h (associativity): New enum type which replaces the
1799 former CPP macros `RIGHT_ASSOC', `LEFT_ASSOC' and `NON_ASSOC' with
1800 `right_assoc', `left_assoc' and `non_assoc'.
1801 Adjust all dependencies.
1802 * src/reader.c: Formatting changes.
1803 (LTYPESTR): Don't define it, use it as a literal in
1804 `reader_output_yylsp'.
1805 * src/symtab.h (symbol_class): New enum type which replaces the
1806 former CPP macros `SUNKNOWN', `STOKEN and `SNTERM' with
1807 `sunknown', `stoken and `snterm'.
1809 2000-10-02 Akim Demaille <akim@epita.fr>
1811 * src/getargs.c (fixed_outfiles): Rename as...
1812 (yaccflag): for consistency and accuracy.
1813 Adjust dependencies.
1815 2000-10-02 Akim Demaille <akim@epita.fr>
1817 Use the more standard files `xalloc.h' and `xmalloc.c' instead of
1818 Bison's `allocate.c' and `alloc.h'. This patch was surprisingly
1819 difficult and introduced a lot of core dump. It turns out that
1820 Bison used an implementation of `xmalloc' based on `calloc', and
1821 at various places it does depend upon the initialization to 0. I
1822 have not tried to isolate the pertinent places, and all the former
1823 calls to Bison's `xmalloc' are now using `XCALLOC'. Someday,
1824 someone should address this issue.
1826 * src/allocate.c, src/alloc.h, m4/bison-decl.m4: Remove.
1827 * lib/xmalloc.c, lib/xalloc.h, m4/malloc.m4, m4/realloc.m4: New
1829 Adjust dependencies.
1830 * src/warshall.h: New file.
1833 2000-10-02 Akim Demaille <akim@epita.fr>
1835 Various anti-`extern in *.c' changes.
1837 * src/system.h: Include `assert.h'.
1839 2000-10-02 Akim Demaille <akim@epita.fr>
1841 * src/state.h (nstates, final_state, first_state, first_shift)
1842 (first_reduction): Move their exportation from here...
1843 * src/LR0.h: to here.
1844 Adjust dependencies.
1845 * src/getargs.c (statisticsflag): New variable.
1846 Add support for `--statistics'.
1847 Adjust dependencies.
1849 Remove a lot of now useless `extern' statements in most files.
1851 2000-10-02 Akim Demaille <akim@epita.fr>
1853 * src/LR0.h: New file.
1856 2000-10-02 Akim Demaille <akim@epita.fr>
1858 * src/print.h: New file.
1860 * src/print.c: Formatting and ordering changes.
1861 (verbose, terse): Replace with...
1862 (print_results): this new function.
1863 Adjust dependencies.
1865 2000-10-02 Akim Demaille <akim@epita.fr>
1867 * src/conflicts.c (conflict_report): New function.
1868 (conflict_log, verbose_conflict_log): Replace with...
1869 (print_conflicts): this function.
1870 Adjust dependencies.
1871 * src/conflicts.h: New file.
1872 Propagate its inclusion.
1874 2000-10-02 Akim Demaille <akim@epita.fr>
1876 * src/nullable.h: New file.
1877 Propagate its inclusion.
1878 * src/nullable.c: Formatting changes.
1880 2000-10-02 Akim Demaille <akim@epita.fr>
1882 * src/reduce.h: New file.
1883 Propagate its inclusion.
1884 * src/reduce.c: Topological sort and other formatting changes.
1885 (bool, TRUE, FALSE): Move their definition to...
1886 * src/system.h: here.
1888 2000-10-02 Akim Demaille <akim@epita.fr>
1890 * src/files.c: Formatting changes.
1891 (tryopen, tryclose, openfiles): Rename as...
1892 (xfopen, xfclose, open_files): this.
1893 (stringappend): static.
1894 * src/files.h: Complete the list of exported symbols.
1897 2000-10-02 Akim Demaille <akim@epita.fr>
1899 * src/reader.h: New file.
1900 Propagate its use instead of tedious list of `extern' and
1902 * src/reader.c: Formatting changes, topological sort,
1905 2000-10-02 Akim Demaille <akim@epita.fr>
1907 * src/lex.h: Prototype `lex.c' exported functions.
1908 * src/reader.c: Adjust.
1909 * src/lex.c: Formatting changes.
1910 (safegetc): Rename as...
1913 2000-10-02 Akim Demaille <akim@epita.fr>
1915 * src/lalr.h: New file.
1916 Propagate its inclusion instead of prototypes and `extern'.
1917 * src/lalr.c: Formatting changes, topological sorting etc.
1919 2000-10-02 Akim Demaille <akim@epita.fr>
1921 * src/output.c (token_actions): Introduce a temporary array,
1922 YYDEFACT, that makes it possible for this function to use
1925 2000-10-02 Akim Demaille <akim@epita.fr>
1927 `user_toknums' is output as a `short[]' in `output.c', while it is
1928 defined as a `int[]' in `reader.c'. For consistency with the
1929 other output tables, `user_toknums' is now defined as a table of
1932 * src/reader.c (user_toknums): Be a short table instead of an int
1934 Adjust dependencies.
1936 Factor the short table outputs.
1938 * src/output.c (output_short_table): New function.
1939 * src/output.c (output_gram, output_stos, output_rule_data)
1940 (output_base, output_table, output_check): Use it.
1942 2000-10-02 Akim Demaille <akim@epita.fr>
1944 * src/output.c (output): Topological sort of the functions, in
1945 order to get rid of the `static' prototypes.
1946 No longer use `register'.
1947 * src/output.h: New file.
1948 Propagate its inclusion in files explicitly prototyping functions
1951 2000-09-21 Akim Demaille <akim@epita.fr>
1953 * src/atgeneral.m4: Update from Autoconf.
1955 2000-09-21 Akim Demaille <akim@epita.fr>
1957 * src/closure.h: New file.
1958 * src/closure.c: Formatting changes, topological sort over the
1959 functions, use of closure.h.
1960 (initialize_closure, finalize_closure): Rename as...
1961 (new_closure, free_closure): these. Adjust dependencies.
1962 * src/LR0.c: Formatting changes, topological sort, use of
1964 (initialize_states): Rename as...
1966 * src/Makefile.am (noinst_HEADERS): Adjust.
1968 2000-09-20 Akim Demaille <akim@epita.fr>
1970 * src/acconfig.h: Don't protect config.h against multiple
1972 Don't define PARAMS.
1973 * src/system.h: Define PARAMS.
1974 Remove some of the ad-hoc CPP magic for DOS, VMS etc.: this is the
1975 purpose of config.h. system.h must not try to fix wrong
1976 definitions in config.h.
1978 2000-09-20 Akim Demaille <akim@epita.fr>
1980 * src/derives.h: New file.
1981 * src/main.c, src/derives.h: Use it.
1983 * src/Makefile.am (noinst_HEADERS): Adjust.
1985 2000-09-20 Akim Demaille <akim@epita.fr>
1987 * tests/atgeneral.m4: Update from Autoconf.
1988 * tests/calc.m4 (_AT_DATA_CALC_Y, AT_DATA_CALC_Y, _AT_CHECK_CALC)
1989 (AT_CHECK_CALC): New macros.
1990 Use these macros to test bison with options `', `--raw',
1991 `--debug', `--yacc', `--yacc --debug'.
1993 2000-09-19 Akim Demaille <akim@epita.fr>
1995 * src/output.c: Formatting changes.
1996 * src/machine.h: Remove, leaving its contents in...
1997 * src/system.h: here.
1999 Adjust all dependencies on stdio.h and machine.h.
2000 * src/getargs.h: New file.
2001 Let all `extern' declarations about getargs.c be replaced with
2002 inclusion of `getargs.h'.
2003 * src/Makefile.am (noinst_HEADERS): Adjust.
2005 * tests/calc.m4 (yyin): Be initialized in main, not on the global
2007 (yyerror): Returns void, not int.
2008 * doc/bison.texinfo: Formatting changes.
2010 2000-09-19 Akim Demaille <akim@epita.fr>
2012 * tests/calc.m4 (calc.y): Do not assign to stdin, as it's not
2015 2000-09-18 Akim Demaille <akim@epita.fr>
2017 * configure.in: Append WARNING_CFLAGS to CFLAGS.
2018 * src/Makefile.am (INCLUDES): Don't.
2019 Be ready to fetch headers in lib/.
2021 2000-09-18 Akim Demaille <akim@epita.fr>
2023 * doc/bison.texinfo: Update the copyright.
2024 ANSIfy and GNUify the examples.
2025 Remove the old menu.
2027 2000-09-18 Akim Demaille <akim@epita.fr>
2029 First set of tests: use the `calc' example from the documentation.
2031 * src/bison.s1 (yyparse): Condition the code using `yytname' which
2032 is defined only when YYDEBUG is.
2033 * m4/atconfig.m4 (AT_CONFIG): Adjust to Autoconf 2.13.
2034 * src/files.c (tryopen, tryclose): Formatting changes.
2035 Move to the top and be static.
2036 * src/reader.c (read_signed_integer): Likewise.
2037 * tests/calc.m4: New file.
2038 * Makefile.am, suite.m4: Adjust.
2039 * m4/atconfig.m4: Set BISON_SIMPLE and BISON_HAIRY.
2041 2000-09-18 Akim Demaille <akim@epita.fr>
2043 Add support for an Autotest test suite for Bison.
2045 * m4/m4.m4, m4/atconfig.m4: New files.
2046 * m4/Makefile.am (EXTRA_DIST): Adjust.
2047 * tests/suite.m4, tests/Makefile.am, tests/atgeneral.m4: New
2049 * src/getargs.c: Display a more standard --version message.
2050 * src/reader.c (reader): Formatting changes.
2051 No longer depend upon VERSION_STRING.
2052 * configure.in: No longer use `dnl'.
2053 Set up the test suite and the new directory `tests/.
2054 (VERSION_STRING): Remove.
2056 2000-04-14 Akim Demaille <akim@epita.fr>
2058 * src/reader.c (copy_comment2): New function, same as former
2059 `copy_comment', but outputs into two FILE *.
2060 (copy_comment): Use it.
2061 (parse_union_decl): Use it.
2062 (get_type, parse_start_decl): Use the same `invalid' message.
2063 (parse_start_decl, parse_union_decl): Use the same `multiple'
2065 (parse_union_decl, copy_guard, copy_action): Use the same
2066 `unmatched' message.
2067 * m4/Makefile.am (EXTRA_DIST): Add `warning.m4'.
2069 2000-03-31 Akim Demaille <akim@epita.fr>
2071 * src/files.c (tryopen, tryclose): Move to the top.
2074 2000-03-31 Akim Demaille <akim@epita.fr>
2076 * src/main.c (main): Don't call `done', exit does it.
2078 2000-03-31 Akim Demaille <akim@epita.fr>
2080 * allocate.c: s/return (foo)/return foo/.
2083 * output.c: Likewise.
2084 * reader.c: Likewise.
2085 * symtab.c: Likewise.
2086 * vmsgetargs.c: Likewise.
2088 2000-03-31 Akim Demaille <akim@epita.fr>
2090 Clean up the error reporting functions.
2092 * src/report.c: New file.
2093 * src/report.h: Likewise.
2094 * src/Makefile.am: Adjust.
2095 * m4/error.m4: New file.
2096 * m4/Makefile.am: Adjust.
2097 * configure.in (jm_PREREQ_ERROR): Call it.
2098 * src/main.c (int_to_string, banner, fatal_banner, warn_banner):
2100 (fatal, fatals): Remove. All callers use complain.c::fatal.
2101 (warn, warni, warns, warnss, warnss): Remove. All callers use
2102 complain.c::complain.
2103 (toomany): Remove, use fatal instead.
2104 * src/files.c (done): No argument, use complain_message_count.
2105 * src/main.c (main): Register `done' to `atexit'.
2107 * src/getargs.c (usage): More `fputs', less `fprintf'.
2109 2000-03-28 Akim Demaille <akim@epita.fr>
2111 * lib/: New directory.
2112 * Makefile.am (SUBDIRS): Adjust.
2113 * configure.in: Adjust.
2114 (LIBOBJS): Although not used yet, AC_SUBST it, otherwise it's
2116 * src/alloca.c: Moved to lib/.
2117 * src/getopt.c: Likewise.
2118 * src/getopt1.c: Likewise.
2119 * src/getopt.h: Likewise.
2120 * src/ansi2knr.c: Likewise.
2121 * src/ansi2knr.1: Likewise.
2122 * src/Makefile.am: Adjust.
2123 * lib/Makefile.am: New file.
2125 2000-03-28 Akim Demaille <akim@epita.fr>
2127 * src/getargs.c (usage): Refresh the help message.
2129 2000-03-17 Akim Demaille <akim@epita.fr>
2131 * src/getopt1.c: Updated from textutils 2.0e
2132 * src/getopt.c: Likewise.
2133 * src/getopt.h: Likewise.
2135 2000-03-17 Akim Demaille <akim@epita.fr>
2137 * src/Makefile.am (bison.simple): Fix the awk program: quote only
2138 the file name, not the whole `#line LINE FILE'.
2140 2000-03-17 Akim Demaille <akim@epita.fr>
2142 On syntax errors, report the token on which we choked.
2144 * src/bison.s1 (yyparse): In the label yyerrlab, when
2145 YYERROR_VERBOSE, add yychar in msg.
2147 2000-03-17 Akim Demaille <akim@epita.fr>
2149 * src/reader.c (copy_at): New function.
2150 (copy_guard): Use it.
2151 (copy_action): Use it.
2153 2000-03-17 Akim Demaille <akim@epita.fr>
2155 Be kind to translators, save some useless translations.
2157 * src/main.c (banner): New function.
2158 (fatal_banner): Use it.
2159 (warn_banner): Use it.
2161 2000-03-17 Akim Demaille <akim@epita.fr>
2163 * src/reader.c (copy_definition): Use copy_string and
2164 copy_comment. Removed now unused `match', `ended',
2166 (copy_comment, copy_string): Moved, to be visible from
2169 2000-03-17 Akim Demaille <akim@epita.fr>
2171 * src/reader.c (copy_string): Declare `static inline'. No
2172 problems with inline, since it is checked by configure.
2173 (copy_comment): Likewise.
2175 2000-03-17 Akim Demaille <akim@epita.fr>
2177 * src/reader.c (packsymbols): Formatting changes.
2179 2000-03-17 Akim Demaille <akim@epita.fr>
2181 * src/reader.c (copy_comment): New function, factored out from:
2182 (copy_action): Use it. Removed now unused `match', `ended',
2184 (copy_guard): Likewise.
2186 2000-03-17 Akim Demaille <akim@epita.fr>
2188 * src/reader.c (copy_string): New function, factored out from:
2189 (copy_action): Use it.
2190 (copy_guard): Likewise.
2192 2000-03-17 Akim Demaille <akim@epita.fr>
2194 Change the handling of @s so that they behave exactly like $s.
2195 There is now a pseudo variable @$ (readble and writable), location
2196 of the lhs of the rule (by default ranging from the location of
2197 the first symbol of the rhs, to the location of the last symbol,
2198 or, if the rhs is empty, YYLLOC).
2200 * src/bison.s1 [YYLSP_NEEDED] (yyloc): New variable, twin of
2202 (yyparse): When providing a default semantic action, provide a
2203 default location action.
2204 (after the $): No longer change `*YYLSP', just stack YYLOC the
2205 same way you stack YYVAL.
2206 * src/reader.c (read_declarations): Use warns.
2207 (copy_guard, case '@'): Also recognize `@$', expanded as `YYLOC'.
2208 (copy_action, case '@'): Likewise.
2209 Use a standard error message, to save useless work from
2212 2000-03-17 Akim Demaille <akim@epita.fr>
2214 * src/bison.s1: Formatting and cosmetics changes.
2215 * src/reader.c: Likewise.
2216 Update the Copyright notice.
2218 2000-03-17 Akim Demaille <akim@epita.fr>
2220 * src/bison.s1 (#line): All set to `#line' only, since the
2221 Makefile now handles them.
2223 2000-03-16 Akim Demaille <akim@epita.fr>
2225 * src/output.c (output_rule_data): Output the documentation of
2227 (Copyright notice): Update.
2230 2000-03-16 Akim Demaille <akim@epita.fr>
2232 * src/bison.s1 [!YYDEBUG]: Define yydebug to 0. This allows to
2233 remove most `#if YYDEBUG != 0', since `if (yydebug)' is enough.
2234 One `#if YYDEBUG' remains, since it uses variables which are
2235 defined only if `YYDEBUG != 0'.
2237 2000-03-16 Akim Demaille <akim@epita.fr>
2239 * src/bison.s1 (yyparse): Reorganize the definitions of the stacks
2240 and related variables so that the similarities are highlighted.
2242 2000-03-16 Akim Demaille <akim@epita.fr>
2244 * src/bison.s1: Properly indent CPP directives.
2246 2000-03-16 Akim Demaille <akim@epita.fr>
2248 * src/bison.s1: Properly indent the `alloca' CPP section.
2250 2000-03-16 Akim Demaille <akim@epita.fr>
2252 Do not hard code values of directories in `configure.in'.
2253 Update the `configure' tool chain.
2255 * configure.in (XPFILE, XPFILE1, LOCALEDIR): Remove, handled by
2257 (VERSION_STRING): Use the third arg of AC_DEFINE_UNQUOTED.
2258 (AC_OUTPUT): Add m4/Makefile.
2259 Bump to bison 1.28a, 1.29 has never been released.
2260 * acconfig.h (XPFILE, XPFILE1, LOCALEDIR): Remove, since they are
2261 handled via src/Makefile.am.
2262 (VERSION_STRING, PROTOTYPES, ENABLE_NLS, HAVE_CATGETS,
2263 HAVE_GETTEXT, HAVE_LC_MESSAGES, HAVE_STPCPY): Remove, handled by
2265 * Makefile.am (SUBDIRS): Add m4.
2266 (ACLOCAL_AM_FLAGS): New variable.
2267 (AUTOMAKE_OPTIONS): Add check-news.
2268 * src/Makefile.am (bison.simple): Use awk to replace #line lines with
2269 the proper line number and file name.
2270 (DEFS): Propagate the location of bison library files and of the
2272 (INCLUDES): Added `-I ..' so that one can compile with srcdir !=
2274 * acinclude.m4: Remove, replaced by the directory m4.
2275 * m4/Makefile.am (EXTRA_DIST): New variable.
2276 * m4/gettext.m4: New file, from the fileutils.
2277 * m4/lcmessage.m4: Likewise
2278 * m4/progtest.m4: Likewise.
2279 * m4/bison-decl.m4: New file, extracted from former acinclude.m4.
2281 2000-03-10 Akim Demaille <akim@epita.fr>
2284 Formatting changes of various comments.
2285 Respect the GNU coding standards at various places.
2286 Don't use `_()' when no translation is needed.
2288 1999-12-13 Jesse Thilo <jthilo@gnu.org>
2291 OS/2 honors TMPDIR environment variable.
2293 1999-12-13 Jesse Thilo <jthilo@gnu.org>
2295 * doc/bison.texinfo: Tweaked spelling and grammar.
2297 Removed reference to price of printed copy.
2298 Mention BISON_SIMPLE and BISON_HAIRY.
2300 1999-12-13 Jesse Thilo <jthilo@gnu.org>
2302 * configure.in, NEWS:
2303 Bison 1.29 released.
2305 1999-10-27 Jesse Thilo <jthilo@gnu.org>
2307 * doc/.cvsignore, doc/Makefile.am, doc/refcard.tex:
2308 Added reference card.
2310 1999-07-26 Jesse Thilo <jthilo@gnu.org>
2312 * po/ru.po: Added Russian translation.
2314 1999-07-26 Jesse Thilo <jthilo@gnu.org>
2316 * configure.in: Added Russian translation.
2318 1999-07-06 Jesse Thilo <jthilo@gnu.org>
2320 * configure.in, NEWS, README:
2321 Released version 1.28.
2323 1999-06-14 Jesse Thilo <jthilo@gnu.org>
2326 Squashed redefinition warning on some systems.
2328 * src/getargs.c, src/Makefile.am, src/reader.c, src/version.c:
2329 Have configure build version string instead of relying on ANSI string
2332 1999-06-14 Jesse Thilo <jthilo@gnu.org>
2334 * po/POTFILES.in: Got rid of version.c.
2336 1999-06-14 Jesse Thilo <jthilo@gnu.org>
2338 * acconfig.h, configure.in:
2339 Have configure build version string instead of relying on ANSI string
2342 1999-06-08 Jesse Thilo <jthilo@gnu.org>
2345 Dropped mention of `+' for long-named options.
2347 1999-05-30 Jesse Thilo <jthilo@gnu.org>
2349 * src/files.c: Added <unistd.h> for unlink().
2351 * src/Makefile.am, src/system.h:
2354 1999-05-30 Jesse Thilo <jthilo@gnu.org>
2356 * README: Added a FAQ list.
2358 * configure.in, acconfig.h:
2361 1999-05-30 Jesse Thilo <jthilo@gnu.org>
2363 * doc/FAQ, doc/Makefile.am:
2366 1999-05-19 Jesse Thilo <jthilo@gnu.org>
2368 * src/alloc.h, src/symtab.h, src/version.c:
2369 Protected inclusion of "config.h" with HAVE_CONFIG_H.
2371 1999-04-18 Jesse Thilo <jthilo@gnu.org>
2373 * src/.cvsignore, src/Makefile.am:
2374 Reorganized: sources in `src', documentation in `doc'.
2376 * src/lex.c (literalchar):
2377 fixed the code for escaping double quotes (thanks
2380 1999-04-18 Jesse Thilo <jthilo@gnu.org>
2382 * po/de.po, po/es.po, po/fr.po, po/nl.po, po/POTFILES.in:
2383 Adjusted paths to reflect directory reorganization.
2385 1999-04-18 Jesse Thilo <jthilo@gnu.org>
2387 * doc/.cvsignore, doc/Makefile.am:
2388 Reorganized: sources in `src', documentation in `doc'.
2390 1999-04-18 Jesse Thilo <jthilo@gnu.org>
2393 Updated AC_INIT file to reflect directory reorganization.
2395 * configure.in, .cvsignore, Makefile.am, POTFILES.in:
2396 Reorganized: sources in `src', documentation in `doc'.
2398 1999-04-13 Jesse Thilo <jthilo@gnu.org>
2401 Don't declare calloc() and realloc() if not necessary.
2403 1999-04-13 Jesse Thilo <jthilo@gnu.org>
2405 * configure.in, acconfig.h, acinclude.m4:
2406 Don't declare calloc() and realloc() if not necessary.
2408 1999-03-23 Jesse Thilo <jthilo@gnu.org>
2410 * po/.cvsignore: Added i18n support.
2412 1999-03-23 Jesse Thilo <jthilo@gnu.org>
2414 * acconfig.h, configure.in, Makefile.am:
2417 1999-03-22 Jesse Thilo <jthilo@gnu.org>
2419 * src/bison.s1: Fixed #line numbers.
2421 1999-03-15 Jesse Thilo <jthilo@gnu.org>
2423 * po/es.po, po/fr.po, po/nl.po, po/de.po:
2424 Added PO files from Translation Project.
2426 1999-03-03 Jesse Thilo <jthilo@gnu.org>
2429 Added support for non-ANSI compilers (ansi2knr).
2431 1999-02-16 Jesse Thilo <jthilo@gnu.org>
2433 * configure.in: Bumped version number to 1.27.
2436 Added `bison.simple' to list of files removed by `make distclean'.
2438 1999-02-12 Jesse Thilo <jthilo@gnu.org>
2440 * src/files.c, src/files.h:
2441 Defined locations of parser files in config.h instead of Makefile.
2443 1999-02-12 Jesse Thilo <jthilo@gnu.org>
2445 * acconfig.h, acinclude.m4, configure.in, Makefile.am:
2446 Defined locations of parser files in config.h instead of Makefile.
2448 1999-02-09 Jesse Thilo <jthilo@gnu.org>
2451 Removed inappropriate use of $< macro.
2453 1999-02-05 Jesse Thilo <jthilo@gnu.org>
2455 * po/Makefile.in.in, po/POTFILES.in:
2456 Add `po' directory skeleton.
2458 1999-01-27 Jesse Thilo <jthilo@gnu.org>
2460 * README: Document help-bison list.
2462 * configure.in: Add check for mkstemp().
2464 1999-01-20 Jesse Thilo <jthilo@gnu.org>
2466 * src/conflicts.c, src/LR0.c, src/output.c, src/reader.c:
2467 Hush a few compiler warnings.
2470 Add tryclose(), which verifies that fclose was successful.
2471 Hush a couple of compiler warnings.
2473 1999-01-20 Jesse Thilo <jthilo@gnu.org>
2475 * Makefile.am, OChangeLog:
2476 ChangeLog is now automatically generated. Include the old version as
2479 1999-01-14 Jesse Thilo <jthilo@gnu.org>
2481 * 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:
2484 1999-01-14 Jesse Thilo <jthilo@gnu.org>
2486 * doc/bison.texinfo: Fix formatting glitch.
2488 * doc/bison.texinfo: Update FSF address.
2490 1999-01-14 Jesse Thilo <jthilo@gnu.org>
2492 * acconfig.h: Update FSF address.
2494 1999-01-08 Jesse Thilo <jthilo@gnu.org>
2497 Don't define PACKAGE here, since config.h defines it.
2499 1998-12-30 Jesse Thilo <jthilo@gnu.org>
2501 * src/reader.c: Update copyright date.
2504 Ditch sprintf to statically-sized buffers in fatal/warn functions in
2505 favor of output directly to stderr (avoids buffer overruns).
2507 * src/reader.c: Some checks for premature EOF.
2509 * 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:
2510 Use prototypes if the compiler understands them.
2512 * src/files.c: Honor TMPDIR on Unix hosts.
2513 Use prototypes if the compiler understands them.
2516 Fix a couple of buffer overrun bugs.
2517 Use prototypes if the compiler understands them.
2519 * src/system.h: Include unistd.h and ctype.h.
2520 Use #ifdef instead of #if for NLS symbols.
2522 1998-12-30 Jesse Thilo <jthilo@gnu.org>
2524 * doc/bison.texinfo:
2525 Delete comment "consider using @set for edition number, etc..." since
2526 we now are doing so.
2528 1998-12-30 Jesse Thilo <jthilo@gnu.org>
2531 Use prototypes if the compiler understands them.
2533 * NEWS: Document 1.26 highlights.
2535 * Makefile.am: Require Automake 1.3 or later.
2538 Use prototypes if the compiler understands them.
2540 1998-12-29 Jesse Thilo <jthilo@gnu.org>
2543 Use VERSION symbol from automake for version number.
2545 1998-12-29 Jesse Thilo <jthilo@gnu.org>
2547 * acconfig.h, configure.in, version.cin:
2548 Use VERSION symbol from automake for version number.
2550 1998-11-28 Jesse Thilo <jthilo@gnu.org>
2553 Distribute original version of simple parser (bison.s1), not built
2554 version (bison.simple).
2556 1998-11-28 Jesse Thilo <jthilo@gnu.org>
2558 * doc/bison.texinfo: Add info dir entry.
2560 * doc/bison.texinfo:
2561 Let automake put version number into documentation.
2563 1998-11-26 Jesse Thilo <jthilo@gnu.org>
2565 * src/bison.cld, src/build.com, src/vmshlp.mar:
2566 Add non-RCS files from /gd/gnu/bison.
2568 1998-11-26 Jesse Thilo <jthilo@gnu.org>
2571 Document the BISON_HAIRY and BISON_SIMPLE variables.
2573 1998-11-25 Jesse Thilo <jthilo@gnu.org>
2575 * src/version.c: Build version.c automatically.
2578 Fix token numbering (used to start at 258, not 257).
2580 * src/system.h: Include config.h.
2582 * src/getargs.c: Update bug report address.
2584 * src/alloca.c, src/getopt1.c, src/getopt.c, src/getopt.h:
2585 Get latest copies of alloca.c, getopt.c, getopt.h, getopt1.c from gnu.org.
2587 1998-11-25 Jesse Thilo <jthilo@gnu.org>
2590 Rename bison.simple to bison.s1 (bison.simple is then built from bison.s1).
2592 * configure.in, version.cin:
2593 Build version.c automatically.
2595 * AUTHORS: Add AUTHORS file.
2597 * README: Update bug report address.
2600 Rename bison.simple to bison.s1 (bison.simple is then built from bison.s1).
2602 * configure.in, Makefile.am, Makefile.in, stamp-h.in:
2605 1998-11-25 Jesse Thilo <jthilo@gnu.org>
2607 * doc/bison.texinfo: Clean up some formatting.
2609 1998-05-05 Richard Stallman <rms@gnu.org>
2611 * doc/bison.texinfo:
2612 Explain better why to make a pure parser.
2614 1998-01-05 Richard Stallman <rms@gnu.org>
2616 * src/files.c (openfiles):
2617 [_WIN32 && !__CYGWIN32__] Use TEMP or Temp to
2618 find a temporary directory, if possible. Do not unlink files while
2621 1997-08-25 Richard Stallman <rms@gnu.org>
2623 * src/reader.c (stack_offset;):
2624 Change some warni to warns.
2626 * src/lex.c (literalchar): Use warns, not warni.
2628 1997-06-28 Richard Stallman <rms@gnu.org>
2630 * src/bison.s1: Add a Bison version comment.
2632 * src/main.c (fatal, warn, berror):
2635 1997-06-28 Richard Stallman <rms@gnu.org>
2637 * Makefile.in (bison_version): New variable.
2638 (dist): Use that variable.
2639 (bison.s1): Substitute the Bison version into bison.simple.
2641 * bison.simple: Add a Bison version comment.
2643 1997-06-18 Richard Stallman <rms@gnu.org>
2645 * src/main.c (fatal, warn, berror):
2646 Make error messages standard.
2647 (toomany): Improve error message text.
2649 * 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:
2650 new.h renamed to alloc.h.
2652 1997-06-18 Richard Stallman <rms@gnu.org>
2654 * Makefile.in: new.h renamed to alloc.h.
2656 1997-05-24 Richard Stallman <rms@gnu.org>
2658 * src/lex.c (literalchar):
2659 Fix the code for escaping \, " and '.
2661 (lex): Avoid trouble when there are many chars
2662 to discard in a char literal with just several chars in it.
2664 1997-05-17 Richard Stallman <rms@gnu.org>
2667 Use malloc, if using alloca is troublesome.
2668 (YYSTACK_USE_ALLOCA): New flag macro.
2669 Define it for some systems and compilers.
2670 (YYSTACK_ALLOC): New macro.
2671 (yyparse): Use YYSTACK_ALLOC to allocate stack.
2672 If it was malloc'd, free it.
2674 1997-05-17 Richard Stallman <rms@gnu.org>
2677 Use malloc, if using alloca is troublesome.
2678 (YYSTACK_USE_ALLOCA): New flag macro.
2679 Define it for some systems and compilers.
2680 (YYSTACK_ALLOC): New macro.
2681 (yyparse): Use YYSTACK_ALLOC to allocate stack.
2682 If it was malloc'd, free it.
2684 1997-04-23 Richard Stallman <rms@gnu.org>
2687 (alloca) [__hpux]: Always define as __builtin_alloca.
2689 1997-04-23 Richard Stallman <rms@gnu.org>
2692 (alloca) [__hpux]: Always define as __builtin_alloca.
2694 1997-04-22 Richard Stallman <rms@gnu.org>
2697 [__hpux]: Include alloca.h (right for HPUX 10)
2698 instead of declaring alloca (right for HPUX 9).
2700 * src/bison.s1 (__yy_memcpy):
2701 Declare arg `count' as unsigned int.
2702 (yyparse): Cast third arg to __yy_memcpy to unsigned int.
2704 1997-04-22 Richard Stallman <rms@gnu.org>
2707 [__hpux]: Include alloca.h (right for HPUX 10)
2708 instead of declaring alloca (right for HPUX 9).
2710 * bison.simple (__yy_memcpy):
2711 Declare arg `count' as unsigned int.
2712 (yyparse): Cast third arg to __yy_memcpy to unsigned int.
2714 1997-01-03 Richard Stallman <rms@gnu.org>
2716 * src/allocate.c: [__STDC__ or _MSC_VER]:
2717 Declare calloc and realloc to return void *.
2719 1997-01-02 Richard Stallman <rms@gnu.org>
2722 [_MSC_VER]: Include stdlib.h and process.h.
2723 [_MSC_VER] (getpid): Define as macro--translate it to _getpid.
2725 * src/main.c (main): Return FAILURE as a value.
2726 (printable_version): Declare arg as int, not char.
2728 1997-01-02 Richard Stallman <rms@gnu.org>
2730 * Makefile.in (dist):
2731 Explicitly check for symlinks, and copy them.
2733 1996-12-19 Richard Stallman <rms@gnu.org>
2736 [_MSC_VER] (XPFILE, XPFILE1): Define, if not already defined.
2738 1996-12-18 Paul Eggert <eggert@gnu.org>
2740 * src/bison.s1 (yyparse):
2741 If __GNUC__ and YYPARSE_PARAM are both defined,
2742 declare yyparse to have a void * argument.
2744 1996-12-18 Paul Eggert <eggert@gnu.org>
2746 * bison.simple (yyparse):
2747 If __GNUC__ and YYPARSE_PARAM are both defined,
2748 declare yyparse to have a void * argument.
2750 1996-12-17 Richard Stallman <rms@gnu.org>
2752 * src/reduce.c (nbits): Add some casts.
2754 1996-08-12 Richard Stallman <rms@gnu.org>
2756 * src/bison.s1: Test _MSDOS as well as _MSDOS_.
2758 1996-08-12 Richard Stallman <rms@gnu.org>
2760 * bison.simple: Test _MSDOS as well as _MSDOS_.
2762 1996-07-31 Richard Stallman <rms@gnu.org>
2765 [__sun && __i386]: Include alloca.h.
2767 1996-07-31 Richard Stallman <rms@gnu.org>
2770 [__sun && __i386]: Include alloca.h.
2772 1996-07-30 Richard Stallman <rms@gnu.org>
2774 * src/bison.s1: Comment change.
2776 * src/bison.s1: Test _MSDOS_, not MSDOS.
2778 1996-07-30 Richard Stallman <rms@gnu.org>
2780 * bison.simple: Comment change.
2782 * bison.simple: Test _MSDOS_, not MSDOS.
2784 1996-06-01 Richard Stallman <rms@gnu.org>
2786 * 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:
2787 Insert `_' macro around many string constants.
2790 Insert `_' macro around many string constants.
2792 (main): Call setlocale, bindtextdomain and textdomain.
2794 * src/system.h: [HAVE_LOCALE_H]: Include locale.h.
2795 [! HAVE_LOCALE_H] (setlocale): Define as no-op.
2796 [ENABLE_NLS]: Include libintl.h.
2797 [ENABLE_NLS] (gettext): Define.
2798 [! ENABLE_NLS] (bintextdomain, textdomain, _): Consolation definitions.
2799 (N_, PACKAGE, LOCALEDIR): New macros.
2801 1996-06-01 Richard Stallman <rms@gnu.org>
2803 * POTFILES.in: New file.
2805 * Makefile.in (allocate.o):
2806 Define target explicitly.
2808 * Makefile.in (CFLAGS): Set to @CFLAGS@.
2809 (LDFLAGS): Set to @LDFLAGS@.
2810 (configure): Run autoconf only if preceding `cd' succeeds.
2811 (bison.s1): Redirect output to temporary file then move the
2812 temporary to the target, rather than redirecting directly to bison.s1.
2813 (clean): Remove config.status and config.log.
2814 (distclean): Don't remove config.status here.
2816 1996-05-12 Richard Stallman <rms@gnu.org>
2819 (__yy_memcpy) [__cplusplus]: Reorder declarations of variables f and t.
2821 1996-05-12 Richard Stallman <rms@gnu.org>
2824 (__yy_memcpy) [__cplusplus]: Reorder declarations of variables f and t.
2826 1996-05-11 Richard Stallman <rms@gnu.org>
2828 * src/bison.s1 (__yy_memcpy):
2829 Really reorder the args, as was supposedly done on Feb 14 1995.
2830 (yyparse): Calls changed accordingly.
2832 1996-05-11 Richard Stallman <rms@gnu.org>
2834 * Makefile.in (dist): Don't use $(srcdir).
2836 * bison.simple (__yy_memcpy):
2837 Really reorder the args, as was supposedly done on Feb 14 1995.
2838 (yyparse): Calls changed accordingly.
2840 1996-01-27 Richard Stallman <rms@gnu.org>
2842 * src/output.c (output_rule_data):
2843 Test YYERROR_VERBOSE in the conditional
2844 around the definition of ttyname.
2846 1995-12-29 Richard Stallman <rms@gnu.org>
2849 Fix line numbers in #line commands.
2851 1995-12-29 Richard Stallman <rms@gnu.org>
2854 Fix line numbers in #line commands.
2856 1995-12-27 Richard Stallman <rms@gnu.org>
2858 * src/bison.s1 (YYPARSE_PARAM_DECL):
2859 In C++, make it always null.
2860 (YYPARSE_PARAM_ARG): New macro.
2861 (yyparse): Use YYPARSE_PARAM_ARG.
2863 1995-12-27 Richard Stallman <rms@gnu.org>
2865 * bison.simple (YYPARSE_PARAM_DECL):
2866 In C++, make it always null.
2867 (YYPARSE_PARAM_ARG): New macro.
2868 (yyparse): Use YYPARSE_PARAM_ARG.
2870 1995-11-29 Richard Stallman <rms@gnu.org>
2872 * doc/bison.texinfo:
2873 Describe literal string tokens, %raw, %no_lines, %token_table.
2875 1995-11-29 Daniel Hagerty <hag@gnu.org>
2877 * doc/bison.texinfo: Fixed update date
2879 1995-10-16 Richard Stallman <rms@gnu.org>
2881 * src/version.c: Version 1.25.
2883 1995-10-16 Richard Stallman <rms@gnu.org>
2885 * NEWS: *** empty log message ***
2887 1995-10-16 Richard Stallman <rms@gnu.org>
2889 * doc/bison.1, doc/bison.rnh:
2892 1995-10-15 Richard Stallman <rms@gnu.org>
2894 * src/vmsgetargs.c, src/getargs.c:
2895 Added -n, -k, and -raw switches.
2896 (noparserflag, toknumflag, rawtoknumflag): New variables.
2898 * src/symtab.h (SALIAS):
2899 New #define for adding aliases to %token.
2900 (struct bucket): Added `alias' field.
2902 * src/reduce.c (reduce_grammar):
2903 Revise error message.
2904 (print_notices): Remove final `.' from error message.
2906 * src/reader.c (reader_output_yylsp):
2908 (readgram): Use `#if 0' around code that accepted %command
2909 inside grammar rules: The documentation doesn't allow it,
2910 and it will fail since the %command processors scan for the next %.
2911 (parse_token_decl): Extended the %token
2912 declaration to allow a multi-character symbol as an alias.
2913 (parse_thong_decl): New function.
2914 (read_declarations): Added %thong declarations.
2915 (read_declarations): Handle NOOP to deal with allowing
2916 % declarations as another means to specify the flags.
2917 (readgram): Allow %prec prior to semantics embedded in a rule.
2918 (skip_to_char, read_declarations, copy_definition)
2919 (parse_token_decl, parse_start_decl, parse_type_decl)
2920 (parse_assoc_decl, parse_union_decl, parse_expect_decl)
2921 (get_type_name, copy_guard, copy_action, readgram)
2922 (get_type, packsymbols): Revised most error messages.
2923 Changed `fatal' to `warnxxx' to avoid aborting for error.
2924 Revised and use multiple warnxxx functions to avoid using VARARGS1.
2925 (read_declarations): Improve the error message for
2926 an invalid character. Do not abort.
2927 (read_declarations, copy_guard, copy_action): Use
2928 printable_version to avoid unprintable characters in printed output.
2929 (parse_expect_decl): Error if argument to %expect exceeds 10 digits.
2930 (parse_token_decl, parse_assoc_decl, parse_type_decl, get_type):
2931 Allow the type of a non-terminal can be given
2932 more than once, as long as all specifications give the same type.
2935 (output_headers, output_trailers, output, output_gram)
2936 (output_rule_data): Implement noparserflag variable.
2937 Implement toknumflag variable.
2938 (output): Call reader_output_yylsp to output LTYPESTR.
2940 * src/main.c (main):
2941 If reader sees an error, don't process the grammar.
2942 (fatals): Updated to not use VARARGS1.
2943 (printable_version, int_to_string, warn, warni, warns, warnss)
2944 (warnsss): New error reporting functions. Avoid abort for error.
2947 Added THONG and NOOP for alias processing.
2948 Added SETOPT for the new code that allows setting options with %flags.
2951 Include getopt.h. Add some extern decls.
2952 (safegetc): New function to deal with EOF gracefully.
2953 (literalchar); new function to deal with reading \ escapes.
2954 (lex): Use literalchar.
2955 (lex): Implemented "..." tokens.
2956 (literalchar, lex, parse_percent_token): Made tokenbuffer
2957 always contain the token. This includes growing the token
2958 buffer while reading an integer.
2959 (parse_percent_token): Replaced if-else statement with percent_table.
2960 (parse_percent_token): Added % declarations as another
2961 way to specify the flags -n, -l, and -r. Also added hooks for
2962 -d, -k, -y, -v, -t, -p, -b, -o, but implementation requires
2963 major changes to files.c.
2964 (lex) Retain in the incoming stream a character following
2966 (skip_white_space, lex): Revised most error messages
2967 and changed fatal to warn to avoid aborting.
2968 (percent_table): Added %thong declarations.
2970 * src/gram.h: Comment changes.
2972 * src/files.c (openfiles, open_extra_files, done):
2974 and actfile file. Handle noparserflag. Both for -n switch.
2976 * src/conflicts.c (resolve_sr_conflict):
2977 Remove use of alloca.
2979 1995-06-01 Jim Meyering <meyering@gnu.org>
2981 * doc/bison.texinfo: *** empty log message ***
2983 1995-05-06 Richard Stallman <rms@gnu.org>
2985 * src/bison.s1: Comment change.
2987 1995-05-06 Richard Stallman <rms@gnu.org>
2989 * bison.simple: Comment change.
2991 1995-05-03 Richard Stallman <rms@gnu.org>
2993 * src/version.c: Version now 1.24.
2995 * src/bison.s1: Change distribution terms.
2997 * src/version.c: Version now 1.23.
2999 1995-05-03 Richard Stallman <rms@gnu.org>
3001 * doc/bison.texinfo:
3002 Rewrite "Conditions for Using Bison".
3003 Update version to 1.24.
3005 1995-05-03 Richard Stallman <rms@gnu.org>
3007 * bison.simple: Change distribution terms.
3009 1995-02-23 Richard Stallman <rms@gnu.org>
3011 * src/files.c: Test __VMS_POSIX as well as VMS.
3013 1995-02-14 Jim Meyering <meyering@gnu.org>
3015 * src/bison.s1 (__yy_memcpy):
3016 Renamed from __yy_bcopy to avoid
3017 confusion. Reverse FROM and TO arguments to be consistent with
3020 1995-02-14 Jim Meyering <meyering@gnu.org>
3022 * bison.simple (__yy_memcpy):
3023 Renamed from __yy_bcopy to avoid
3024 confusion. Reverse FROM and TO arguments to be consistent with
3027 1994-11-10 David J. MacKenzie <djm@gnu.org>
3033 * Makefile.in (DISTFILES): Include NEWS.
3035 * Makefile.in (DISTFILES):
3036 Include install-sh, not install.sh.
3038 * configure.in: Update to Autoconf v2 macro names.
3040 1994-10-05 David J. MacKenzie <djm@gnu.org>
3042 * Makefile.in: fix typo
3044 * Makefile.in (prefix, exec_prefix):
3045 Let configure set them.
3047 1994-09-28 David J. MacKenzie <djm@gnu.org>
3049 * Makefile.in: Set datadir to $(prefix)/share.
3051 1994-09-15 Richard Stallman <rms@gnu.org>
3054 Update copyright notice and GPL version.
3056 1994-09-15 Richard Stallman <rms@gnu.org>
3059 Update copyright notice and GPL version.
3061 1994-07-12 Richard Stallman <rms@gnu.org>
3063 * src/reduce.c, src/reader.c:
3066 1994-05-05 David J. MacKenzie <djm@gnu.org>
3068 * Makefile.in: entered into RCS
3070 1994-03-26 Richard Stallman <rms@gnu.org>
3072 * src/bison.s1: entered into RCS
3074 1994-03-26 Richard Stallman <rms@gnu.org>
3076 * bison.simple: entered into RCS
3078 1994-03-25 Richard Stallman <rms@gnu.org>
3080 * src/main.c: entered into RCS
3082 1994-03-24 Richard Stallman <rms@gnu.org>
3084 * src/conflicts.c: entered into RCS
3086 1994-01-02 Richard Stallman <rms@gnu.org>
3088 * Makefile.in: *** empty log message ***
3090 1993-11-21 Richard Stallman <rms@gnu.org>
3092 * src/bison.s1: *** empty log message ***
3094 1993-11-21 Richard Stallman <rms@gnu.org>
3096 * doc/bison.texinfo: entered into RCS
3098 * doc/bison.texinfo: *** empty log message ***
3100 1993-11-21 Richard Stallman <rms@gnu.org>
3102 * bison.simple: *** empty log message ***
3104 1993-10-25 David J. MacKenzie <djm@gnu.org>
3106 * doc/bison.texinfo: *** empty log message ***
3108 1993-10-19 Richard Stallman <rms@gnu.org>
3110 * src/bison.s1: *** empty log message ***
3112 1993-10-19 Richard Stallman <rms@gnu.org>
3114 * bison.simple: *** empty log message ***
3116 1993-10-14 Richard Stallman <rms@gnu.org>
3118 * src/bison.s1: *** empty log message ***
3120 1993-10-14 Richard Stallman <rms@gnu.org>
3122 * bison.simple: *** empty log message ***
3124 1993-09-14 David J. MacKenzie <djm@gnu.org>
3126 * doc/bison.texinfo: *** empty log message ***
3128 1993-09-13 Noah Friedman <friedman@gnu.org>
3130 * Makefile.in: *** empty log message ***
3132 1993-09-10 Richard Stallman <rms@gnu.org>
3134 * src/conflicts.c: *** empty log message ***
3136 * src/system.h: entered into RCS
3138 1993-09-10 Richard Stallman <rms@gnu.org>
3140 * doc/bison.1: entered into RCS
3142 1993-09-06 Noah Friedman <friedman@gnu.org>
3144 * src/version.c: entered into RCS
3146 1993-09-06 Noah Friedman <friedman@gnu.org>
3148 * Makefile.in: *** empty log message ***
3150 1993-07-30 David J. MacKenzie <djm@gnu.org>
3152 * Makefile.in: *** empty log message ***
3154 1993-07-24 Richard Stallman <rms@gnu.org>
3156 * src/bison.s1: *** empty log message ***
3158 1993-07-24 Richard Stallman <rms@gnu.org>
3160 * bison.simple: *** empty log message ***
3162 1993-07-08 David J. MacKenzie <djm@gnu.org>
3164 * Makefile.in: *** empty log message ***
3166 1993-07-04 Richard Stallman <rms@gnu.org>
3168 * src/bison.s1: *** empty log message ***
3170 1993-07-04 Richard Stallman <rms@gnu.org>
3172 * bison.simple: *** empty log message ***
3174 1993-06-26 David J. MacKenzie <djm@gnu.org>
3176 * src/getargs.c: entered into RCS
3178 1993-06-26 David J. MacKenzie <djm@gnu.org>
3180 * doc/bison.texinfo: *** empty log message ***
3182 * doc/bison.1: New file.
3184 1993-06-25 Richard Stallman <rms@gnu.org>
3186 * src/getargs.c: New file.
3188 1993-06-16 Richard Stallman <rms@gnu.org>
3190 * src/bison.s1: *** empty log message ***
3192 1993-06-16 Richard Stallman <rms@gnu.org>
3194 * bison.simple: *** empty log message ***
3196 1993-06-03 Richard Stallman <rms@gnu.org>
3198 * src/bison.s1: New file.
3200 1993-06-03 Richard Stallman <rms@gnu.org>
3202 * doc/bison.texinfo: *** empty log message ***
3204 1993-06-03 Richard Stallman <rms@gnu.org>
3206 * bison.simple: New file.
3208 1993-05-19 Richard Stallman <rms@gnu.org>
3210 * doc/bison.texinfo: New file.
3212 1993-05-07 Noah Friedman <friedman@gnu.org>
3214 * Makefile.in: *** empty log message ***
3216 1993-04-28 Noah Friedman <friedman@gnu.org>
3218 * src/reader.c: *** empty log message ***
3220 1993-04-23 Noah Friedman <friedman@gnu.org>
3222 * src/alloc.h: entered into RCS
3224 1993-04-20 David J. MacKenzie <djm@gnu.org>
3226 * src/version.c: *** empty log message ***
3228 * src/files.c, src/allocate.c:
3231 * src/reader.c: *** empty log message ***
3233 * src/lex.c: entered into RCS
3235 * src/conflicts.c: New file.
3237 * src/symtab.c: entered into RCS
3239 * src/alloc.h: New file.
3241 * src/LR0.c: entered into RCS
3243 1993-04-18 Noah Friedman <friedman@gnu.org>
3245 * src/reader.c: New file.
3247 * src/version.c: *** empty log message ***
3249 1993-04-18 Noah Friedman <friedman@gnu.org>
3251 * Makefile.in: *** empty log message ***
3253 1993-04-17 Noah Friedman <friedman@gnu.org>
3255 * Makefile.in: *** empty log message ***
3257 1993-04-15 Richard Stallman <rms@gnu.org>
3259 * src/main.c, src/files.c:
3262 1993-04-15 Noah Friedman <friedman@gnu.org>
3264 * configure.in: entered into RCS
3266 * configure.in: *** empty log message ***
3268 * configure.in: New file.
3270 1993-04-14 Richard Stallman <rms@gnu.org>
3272 * Makefile.in: New file.
3274 1993-04-13 Richard Stallman <rms@gnu.org>
3276 * src/version.c: New file.
3278 1993-03-25 Richard Stallman <rms@gnu.org>
3280 * src/output.c: entered into RCS
3282 1992-09-25 Richard Stallman <rms@gnu.org>
3284 * configure.bat: entered into RCS
3286 1992-06-22 Richard Stallman <rms@gnu.org>
3288 * src/vmsgetargs.c: entered into RCS
3290 1992-06-22 Richard Stallman <rms@gnu.org>
3292 * doc/bison.rnh: entered into RCS
3294 1992-04-20 David J. MacKenzie <djm@gnu.org>
3296 * README: entered into RCS
3298 1992-01-22 Richard Stallman <rms@gnu.org>
3300 * src/machine.h: entered into RCS
3302 1991-12-21 Richard Stallman <rms@gnu.org>
3304 * src/lalr.c, src/closure.c:
3307 1991-12-20 Richard Stallman <rms@gnu.org>
3309 * src/state.h: entered into RCS
3311 1991-12-18 Richard Stallman <rms@gnu.org>
3313 * src/print.c, src/nullable.c, src/derives.c:
3316 1991-11-03 David J. MacKenzie <djm@gnu.org>
3318 * src/warshall.c, src/types.h, src/symtab.h, src/lex.h, src/gram.c, src/gram.h, src/files.h:
3321 1988-09-09 Richard Stallman <rms@gnu.org>
3323 * src/bison.hairy: entered into RCS
3325 1987-12-16 Richard Stallman <rms@gnu.org>
3327 * REFERENCES: entered into RCS