1 2001-11-12 Akim Demaille <akim@epita.fr>
3 * src/system.h (ngettext): Now that we use ngettext, be sure to
4 provide a default definition when NLS are not used.
6 2001-11-12 Akim Demaille <akim@epita.fr>
8 * doc/bison.texinfo: Use `$' as shell prompt, not `%'.
9 Use @kbd to denote user input.
10 (Language and Grammar): ANSIfy the example.
11 Adjust its layout for info/notinfo.
12 (Location Tracking Calc): Output error messages to stderr.
13 Output locations in a more GNUtically correct way.
14 Fix a couple of Englishos.
15 Adjust @group/@end group pairs.
17 2001-11-12 Akim Demaille <akim@epita.fr>
19 %expext was not functioning at all.
21 * src/conflicts.c (expected_conflicts): Set to -1.
22 (conflict_report): Use ngettext.
23 (conflicts_print): Check %expect and make its violation an error.
24 * doc/bison.texinfo (Expect Decl): Adjust.
25 * configure.in (AM_GNU_GETTEXT): Ask for ngettext.
26 * tests/regression.at (%expect not enough, %expect right)
27 (%expect too much): New.
29 2001-11-12 Akim Demaille <akim@epita.fr>
31 * tests/regression.at (Conflicts): Rename as...
32 (Unresolved SR Conflicts): this.
33 (Solved SR Conflicts): New.
35 2001-11-12 Akim Demaille <akim@epita.fr>
37 * src/reduce.c (print_results): Rename as...
38 (reduce_output): This.
39 Output to OUT, passed as argument, instead of output_obstack.
40 (dump_grammar): Likewise.
43 (reduce_grammar): No longer call reduce_output, since...
44 * src/print.c (print_results): do it.
45 * src/main.c (main): Call reduce_free;
47 2001-11-12 Akim Demaille <akim@epita.fr>
49 * src/conflicts.c (print_reductions): Accept OUT as argument.
50 Output to it, not to output_obstack.
51 * src/print.c (print_actions): Adjust.
53 2001-11-12 Akim Demaille <akim@epita.fr>
55 * src/conflicts.c (count_sr_conflicts, count_rr_conflicts): Return
56 the result instead of using...
57 (src_total, rrc_total, src_count, rrc_count): Remove.
58 (any_conflicts): Remove.
59 (print_conflicts): Split into...
60 (conflicts_print, conflicts_output): New.
61 * src/conflicts.h: Adjust.
62 * src/main.c (main): Invoke both conflicts_output and conflicts_print.
63 * src/print.c (print_grammar): Issue `\n' between to rule outputs.
64 * tests/regression.at (Conflicts): New.
67 2001-11-12 Akim Demaille <akim@epita.fr>
69 * tests/regression.at (Invalid input): Remove, duplicate with
72 2001-11-12 Akim Demaille <akim@epita.fr>
74 * tests/torture.at (AT_DATA_STACK_TORTURE)
75 (Exploding the Stack Size with Alloca)
76 (Exploding the Stack Size with Malloc): New.
78 2001-11-12 Akim Demaille <akim@epita.fr>
80 * src/bison.simple (YYSTACK_REALLOC): New.
81 (yyparse) [!yyoverflow]: Use it and free the old stack.
82 Reported by FIXME: Who.
84 2001-11-12 Pascal Bart <pascal.bart@epita.fr>
86 * src/bison.simple: Define type yystype instead of YYSTYPE, and
87 define CPP macro, which substitute YYSTYPE by yystype.
88 * src/reader.c (parse_union_decl): Output yystype/YYSTYPE as we do
89 with yyltype/YYLTYPE. This allows inclusion of the generated
90 header within the parser if the compiler, such as GGC, accepts
91 multiple equivalent #defines.
94 2001-11-05 Akim Demaille <akim@epita.fr>
96 * src/reader.c (symbols_output): New, extracted from...
100 2001-11-05 Akim Demaille <akim@epita.fr>
102 * src/lex.c (parse_percent_token): s/quotearg/quote/.
104 2001-11-05 Akim Demaille <akim@epita.fr>
106 * tests/regression.at (AT_TEST_CPP_GUARD_H): Adjust the clean up
109 2001-11-05 Akim Demaille <akim@epita.fr>
111 * src/options.h (struct option_table_struct): set_flags is void*.
112 * src/options.c (longopts): Support `--output' and `%output'.
114 * src/lex.h (tok_setopt): Remove, replaced with...
115 (tok_intopt, tok_stropt): these new guys.
116 * src/lex.c (getopt.h): Not needed.
117 (token_buffer, unlexed_token_buffer): Not const.
118 (percent_table): Promote `-' over `_' in directive names.
119 Active `%name-prefix', `file-prefix', and `output'.
120 (parse_percent_token): Accept possible arguments to directives.
121 Promote `-' over `_' in directive names.
123 2001-11-04 Akim Demaille <akim@epita.fr>
125 * doc/bison.texinfo (Decl Summary): Split the list into
126 `directives for grammars' and `directives for bison'.
128 Add description of `%name-prefix', `file-prefix', and `output'.
129 Promote `-' over `_' in directive names.
130 (Bison Options): s/%locactions/%locations/. Nice Freudian slip.
131 Simplify the description of `--name-prefix'.
132 Promote `-' over `_' in directive names.
133 Promote `--output' over `--output-file'.
134 Fix the description of `--defines'.
135 * tests/output.at: Exercise %file-prefix and %output.
137 2001-11-02 Akim Demaille <akim@epita.fr>
139 * doc/refcard.tex: Update.
141 2001-11-02 Akim Demaille <akim@epita.fr>
143 * src/symtab.h (SUNDEF): New.
144 * src/symtab.c (bucket_new): Init user_token_number to SUNDEF to
145 stand for `uninitialized', instead of 0.
146 * src/reader.c (packsymbols, parse_thong_decl): Adjust.
147 * src/lex.c (lex): Adjust.
149 * tests/calc.at (_AT_DATA_CALC_Y): Declare a token for EOF.
151 Let yylex return it instead of a plain 0.
152 Reported by Dick Streefland.
154 2001-11-02 Akim Demaille <akim@epita.fr>
156 * tests/regression.at (Mixing %token styles): New test.
158 2001-11-02 Akim Demaille <akim@epita.fr>
160 * src/reader.c (parse_thong_decl): Formatting changes.
161 (token_translations_init): New, extracted from...
165 2001-11-01 Akim Demaille <akim@epita.fr>
167 * tests/regression.at (AT_TEST_CPP_GUARD_H): New.
168 Check that `9foo.y' produces correct cpp guards.
169 * src/files.c (compute_header_macro): Prepend `BISON_' to CPP
173 2001-11-01 Akim Demaille <akim@epita.fr>
175 * tests/regression.at (Invalid input: 2): New.
176 * src/lex.c (unlexed_token_buffer): New.
177 (lex, unlex): Adjust: when unlexing, be sure to save token_buffer
181 2001-11-01 Akim Demaille <akim@epita.fr>
183 * tests/calc.at: Catch up with 1.30.
184 * configure.in: Bump to 1.49a.
185 Adjust to newer Autotest.
187 2001-10-19 Pascal Bart <pascal.bart@epita.fr>
189 * src/conflicts.c: Move global variables rrc_total and src_total ...
190 (print_conflicts): here.
191 * src/output.c (output): Free global variable user_toknums.
192 * src/lex.c (token_obstack): Become static.
194 2001-10-18 Akim Demaille <akim@epita.fr>
196 * tests/atlocal.in (GCC): Add.
197 * tests/calc.at: s/m4_match/m4_bmatch/.
198 s/m4_patsubst/m4_bpatsubst/.
199 (AT_CHECK_CALC): Check the compiler's stderr only if it's GCC.
200 * configure.in: AC_SUBST(GCC).
202 2001-10-14 Marc Autret <autret_m@epita.fr>
204 * src/options.c (create_long_option_table): Fix.
206 2001-10-10 Akim Demaille <akim@epita.fr>
208 * src/bison.simple: Be sure to set YYSTACK_USE_ALLOCA.
210 2001-10-04 Akim Demaille <akim@epita.fr>
212 * src/reader.c (parse_union_decl): Push the caracters in
213 union_obstack, not attrs_obstack.
215 2001-10-04 Akim Demaille <akim@epita.fr>
217 Merge in the branch 1.29.
219 * src/reader.c (packsymbols): Use a temporary obstack for
220 `%%tokendef', since output_stack is already used elsewhere.
222 2001-10-02 Akim Demaille <akim@epita.fr>
226 2001-10-02 Akim Demaille <akim@epita.fr>
230 2001-10-02 Akim Demaille <akim@epita.fr>
232 * tests/regression.at (Invalid CPP headers): New.
233 From Alexander Belopolsky.
234 * src/files.c (compute_header_macro): Map non alnum chars to `_'.
236 2001-10-02 Akim Demaille <akim@epita.fr>
238 * tests/regression.at (Invalid input): New.
239 * src/lex.c (lex): Be sure to set `token_buffer' in any case.
242 2001-10-02 Akim Demaille <akim@epita.fr>
244 * tests/calc.at: Now that --debug works, the tests must be adjusted.
246 2001-10-02 Akim Demaille <akim@epita.fr>
248 * src/output.c (output_parser): Assert `skeleton'.
249 * src/files.c (skeleton_find): Look harder for skeletons on DOSish
253 2001-10-01 Marc Autret <autret_m@epita.fr>
255 * src/lex.h: Echo modifications.
256 * src/lex.c (unlex): Parameter is now token_t.
259 2001-10-01 Marc Autret <autret_m@epita.fr>
261 * src/main.c: Include lex.h.
264 2001-09-29 Akim Demaille <akim@epita.fr>
266 * src/getargs.c (longopts): `--debug' is `-t', not `-d'.
268 2001-09-28 Akim Demaille <akim@epita.fr>
270 * tests/testsuite.at: Update to newer Autotest.
271 * tests/Makefile.am (EXTRA_DIST): bison is not to be shipped.
273 2001-09-27 Akim Demaille <akim@epita.fr>
275 Position independent wrapper.
277 * tests/bison: Remove.
278 * tests/bison.in: New.
279 * configure.in: Adjust.
281 2001-09-27 Paul Eggert <eggert@twinsun.com>
283 Port quotearg fixes from tar 1.13.24.
285 * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
287 (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
288 (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
290 * m4/Makefile.am (EXTRA_DIST): Add mbrtowc.m4.
291 * m4/mbrtowc.m4: New file.
292 * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for mbsinit and stddef.h.
293 Use jm_FUNC_MBRTOWC instead of AC_CHECK_FUNCS(mbrtowc).
295 2001-09-27 Akim Demaille <akim@epita.fr>
299 2001-09-27 Akim Demaille <akim@epita.fr>
303 2001-09-25 Akim Demaille <akim@epita.fr>
305 * src/system.h: Include `xalloc.h'.
306 Remove it from the C files.
307 * src/files.c (output_files): Free the obstacks.
308 * src/lex.c (init_lex): Rename as...
311 * src/main.c (main): Use it.
313 2001-09-24 Marc Autret <autret_m@epita.fr>
315 * src/vcg.c (open_edge, close_edge, open_node, close_node): Change
316 to output informations in fout (FILE*).
317 (open_graph, close_graph): Likewise.
318 (output_graph, output_edge, output_node): Likewise.
319 * src/vcg.h: Update function prototypes.
320 * src/print_graph.c (print_graph): Open output graph file.
321 (print_actions): Adjust.
322 * src/files.h: Remove extern declaration.
323 * src/files.c: Remove graph_obstack declaration.
324 (open_files): Remove graph_obstack initialization.
325 (output_files): Remove graph_obstack saving.
327 2001-09-24 Marc Autret <autret_m@epita.fr>
329 * src/files.c (compute_output_file_names): Fix.
331 2001-09-24 Marc Autret <autret_m@epita.fr>,
332 Akim Demaille <akim@epita.fr>
334 * src/reader.c (reader): Remove call to free_symtab ().
335 * src/main.c (main): Call it here.
337 * src/conflicts.c (initialize_conflicts): Rename as...
338 (solve_conflicts): this.
339 * src/print.c (print_core, print_actions, print_state)
340 (print_grammar): Dump to a file instead a `output_obstack'.
341 (print_results): Dump `output_obstack', and then proceed with the
343 * src/files.c (compute_output_file_names, close_files): New.
344 (output_files): Adjust.
345 * src/main.c (main): Adjust.
347 2001-09-23 Marc Autret <autret_m@epita.fr>
349 * src/files.c (compute_header_macro): Computes header macro name
350 from spec_defines_file when given.
352 2001-09-23 Marc Autret <autret_m@epita.fr>
354 * src/files.c (output_files): Add default extensions.
356 2001-09-22 Akim Demaille <akim@epita.fr>
358 * src/conflicts.c (finalize_conflicts): Rename as...
359 (free_conflicts): this.
361 2001-09-22 Akim Demaille <akim@epita.fr>
363 * src/gram.c (gram_free): Rename back as...
365 (output_token_translations): Free `token_translations'.
366 * src/symtab.c (free_symtab): Free the tag field.
368 2001-09-22 Akim Demaille <akim@epita.fr>
370 Remove `translations' as it is always set to true.
372 * src/gram.h: Adjust.
373 * src/reader.c (packsymbols, parse_token_decl): Adjust
374 * src/print.c (print_grammar): Adjust.
375 * src/output.c (output_token_translations): Adjust.
376 * src/lex.c (lex): Adjust.
377 * src/gram.c: Be sure the set pointers to NULL.
378 (dummy): Rename as...
381 2001-09-22 Akim Demaille <akim@epita.fr>
383 * configure.in: Invoke AM_LIB_DMALLOC.
384 * src/system.h: Use dmalloc.
385 * src/LR0.c: Be sure to have pointers initialized to NULL.
386 (allocate_itemsets): Allocate kernel_items only if needed.
388 2001-09-22 Akim Demaille <akim@epita.fr>
390 * configure.in: Bump to 1.29b.
391 * tests/Makefile.am (DISTCLEANFILES): Add package.m4.
392 * tests/calc.at (_AT_DATA_CALC_Y): #undef malloc so that we don't
393 need xmalloc.c in calc.y.
396 2001-09-21 Akim Demaille <akim@epita.fr>
399 * Makefile.maint, config/config.guess, config/config.sub,
400 * config/missing: Update from masters.
401 * tests/Makefile.am ($(srcdir)/$(TESTSUITE)): No longer depend
403 * configure.in (ALL_LINGUAS): Add `tr'.
405 2001-09-21 Akim Demaille <akim@epita.fr>
407 * tests/Makefile.am (package.m4): Move to...
408 ($(srcdir)/$(TESTSUITE)): here.
410 2001-09-20 Akim Demaille <akim@epita.fr>
412 * src/complain.c: No longer try to be standalone: use system.h.
413 Don't assume __STDC__ is defined to 1. Just test if it is defined.
414 * src/complain.h: Likewise.
415 * src/reduce.c (useless_nonterminals, inaccessable_symbols):
416 Remove the unused variable `n'.
417 From Albert Chin-A-Young.
419 2001-09-18 Marc Autret <autret_m@epita.fr>
421 * doc/bison.1: Update.
422 * doc/bison.texinfo (Bison Options): Update --defines and --graph
424 (Option Cross Key): Update.
427 2001-09-18 Marc Autret <autret_m@epita.fr>
429 * tests/regression.at: New test (comment in %union).
431 2001-09-18 Marc Autret <autret_m@epita.fr>
433 * src/reader.c (parse_union_decl): Do not output '/'. Let copy_comment
435 Reported by Keith Browne.
437 2001-09-18 Marc Autret <autret_m@epita.fr>
439 * tests/output.at: Add tests for --defines and --graph.
441 2001-09-18 Marc Autret <autret_m@epita.fr>
443 * tests/output.at: Removes tests of %{header,src}_extension features.
445 2001-09-18 Akim Demaille <akim@epita.fr>
447 * tests/Makefile.am (package.m4): New.
448 * tests/calc.at (_AT_CHECK_CALC): Just run `calc input'.
449 (_AT_CHECK_CALC_ERROR): Likewise.
450 Factor the `, ' part of verbose error messages.
452 2001-09-18 Marc Autret <autret_m@epita.fr>
454 * src/getargs.c (longopts): Declare --defines and --graph as options
455 with optional arguments.
456 * src/files.h: Add extern declarations.
457 * src/files.c (spec_graph_file, spec_defines_file): New.
458 (output_files): Update.
459 Remove CPP-outed code.
461 2001-09-18 Marc Autret <autret_m@epita.fr>
463 Turn off %{source,header}_extension feature.
465 * src/files.c (compute_exts_from_gf): Update.
466 (compute_exts_from_src): Update.
467 (output_files): CPP-out useless code.
468 * src/files.h: Remove {header,source}_extension extern declarations.
469 * src/reader.c (parse_dquoted_param): CPP-out.
470 (parse_header_extension_decl): Remove.
471 (parse_source_extension_decl): Remove.
472 (read_declarations): Remove cases tok_{hdrext,srcext}.
473 * src/lex.c (percent_table): Remove {header,source}_extension entries.
474 * src/lex.h (token_t): Remove tok_hdrext and tok_srcext.
476 2001-09-10 Akim Demaille <akim@epita.fr>
478 * tests/output.at (AT_CHECK_BISON_FLAGS, AT_CHECK_BISON_PERCENT):
479 (AT_CHECK_BISON_PERCENT_FLAGS): Merge into...
480 (AT_CHECK_OUTPUT): this.
481 Merely check ls' exit status, its output is useless.
483 2001-09-10 Akim Demaille <akim@epita.fr>
485 * tests/calc.at: Use m4_match.
486 (_AT_DATA_CALC_Y): Check `yyin != NULL', not `stdin != NULL'.
488 2001-09-10 Marc Autret <autret_m@epita.fr>,
489 Akim Demaille <akim@epita.fr>
491 * src/vcg.h (graph_s): color, textcolor, bordercolor are now
493 * src/print_graph.c (print_graph): Initalize graph.layoutalgorithm
495 * src/reader.c (parse_token_decl): Initialize token with tok_eof.
496 * src/lex.h: Adjust prototype.
497 (token_t): Add `tok_undef'.
498 * src/lex.c (struct percent_table_struct): Retval is now a token_t.
499 (parse_percent_token): Now returns token_t.
500 Add default statement in switch.
501 (lex): Separate `c' as an input variable, from the token_t result
503 (unlexed): Is a token_t.
505 2001-09-10 Akim Demaille <akim@epita.fr>
507 * configure.in: Bump to 1.29a.
509 2001-09-07 Akim Demaille <akim@epita.fr>
513 2001-08-30 Akim Demaille <akim@epita.fr>
515 * tests/atgeneral.m4, tests/atconfig.in, tests/suite.at: Remove.
516 * m4/atconfig.m4: Remove.
517 * tests/testsuite.at, tests/atlocal.in, tests/output.at,
519 * tests/regression.at, tests/calc.at: Use m4_define, AT_BANNER,
520 m4_if, m4_patsubst, and m4_regexp.
521 * tests/calc.at (_AT_CHECK_CALC, _AT_CHECK_CALC_ERROR): Use an
522 `input' file instead of echo.
524 2001-08-29 Akim Demaille <akim@epita.fr>
528 2001-08-29 Akim Demaille <akim@epita.fr>
532 2001-08-29 Paul Eggert <eggert@twinsun.com>
534 * src/bison.simple (yyparse): Don't take the address of an
535 item before the start of an array, as that doesn't conform to
538 2001-08-29 Robert Anisko <anisko_r@epita.fr>
540 * doc/bison.texinfo (Location Tracking Calc): New node.
542 2001-08-29 Paul Eggert <eggert@twinsun.com>
544 * src/output.c (output): Do not define const, as this now
545 causes more problems than it cures.
547 2001-08-29 Akim Demaille <akim@epita.fr>
549 * doc/bison.texinfo: Modernize `@node' and `@top' use: just name
551 Be sure to tag the `detailmenu'.
553 2001-08-29 Akim Demaille <akim@epita.fr>
555 * Makefile.maint (do-po-update): Wget refuses to overwrite files:
556 download in a tmp dir.
558 2001-08-28 Marc Autret <autret_m@epita.fr>
560 * config/depcomp: New file.
562 2001-08-28 Marc Autret <autret_m@epita.fr>
564 * doc/bison.1 (mandoc): Adjust.
565 From Juan Manuel Guerrero.
567 2001-08-28 Marc Autret <autret_m@epita.fr>
569 * src/print_graph.c (print_state): Fix.
571 2001-08-27 Marc Autret <autret_m@epita.fr>
573 * src/vcg.h (classname_s, infoname_s, node_s): Constify the
575 Echo modifications to the functions prototypes.
576 * src/vcg.c (add_classname, add_infoname): Adjust arguments.
578 2001-08-27 Marc Autret <autret_m@epita.fr>
580 * src/vcg.c: Include `xalloc.h'.
581 (add_colorentry): New.
582 (add_classname): New.
584 * src/vcg.h: Add new prototypes.
586 2001-08-27 Akim Demaille <akim@epita.fr>
588 * Makefile.maint: Sync. again with CVS Autoconf.
590 2001-08-27 Akim Demaille <akim@epita.fr>
592 * Makefile.maint: Formatting changes.
593 (po-update, cvs-update, update): New targets.
596 2001-08-27 Akim Demaille <akim@epita.fr>
598 * Makefile.am (AUTOMAKE_OPTIONS): 1.5.
599 * Makefile.maint: Sync. with CVS Autoconf.
601 2001-08-27 Marc Autret <autret_m@epita.fr>
603 * src/vcg.h (struct infoname_s): New.
604 (struct colorentry_s): New.
605 (graph_s): New fields {vertical,horizontal}_order in structure.
606 Add `infoname' field.
607 Add `colorentry' field;
608 * src/vcg_defaults.h (G_VERTICAL_ORDER): New.
609 (G_HORIZONTAL_ORDER): New.
612 * src/vcg.c (output_graph): Add output of {vertical,horizontal}_order.
613 Add output of `infoname'.
614 Add output of `colorentry'.
616 2001-08-27 Marc Autret <autret_m@epita.fr>
618 * src/reader.c (parse_dquoted_param): Rename variable `index' to `i'.
619 This one shadowed a global parameter.
621 2001-08-24 Marc Autret <autret_m@epita.fr>
623 * src/print_graph.c (node_output_size): Declared POSIX `size_t' type,
624 instead of `unsigned'.
625 (print_state): Do not call obstack_object_size () in obstack_grow ()
626 to avoid macro variables shadowing.
628 2001-08-23 Marc Autret <autret_m@epita.fr>
630 * src/lex.c (percent_table): Typo: s/naem/name/.
632 Normalize new options declarations.
634 2001-08-20 Pascal Bart <pascal.bart@epita.fr>
636 * tests/suite.at: Exercise %header_extension and %source_extension.
638 2001-08-16 Marc Autret <autret_m@epita.fr>
640 * src/reader.c (parse_dquoted_param): New.
641 (parse_header_extension_decl): Use it.
642 (parse_source_extension_decl): Likewise.
644 2001-08-16 Marc Autret <autret_m@epita.fr>
646 * src/vcg.c: Remove includes of `complain.h' and `xalloc.h'.
647 (get_xxxx_str): Use assert () instead of complain ().
648 Remove return invokations in default cases.
649 (get_decision_str): Modify default behaviour. Remove second argument.
650 Echo modifications on calls.
653 2001-08-16 Marc Autret <autret_m@epita.fr>
655 * src/getargs.c (usage): Update with ``-g, --graph''.
657 2001-08-16 Marc Autret <autret_m@epita.fr>
659 * doc/bison.texinfo (Bison Options): Add items `-g', `--graph'.
660 (Option Cross Key): Likewise.
661 * doc/bison.1: Update.
663 2001-09-25 Pascal Bart <pascal.bart@epita.fr>
665 * src/output.c (output_master_parser): Don't finish action_obstack.
666 (output_parser): Don't care about the muscle action, here.
667 (prepare): Copy the action_obstack in the action muscle.
668 (output): Free action_obstack.
670 2001-09-23 Pascal Bart <pascal.bart@epita.fr>
672 * src/reader.c (parse_union_decl): Add new obstack union_obstack. Which
673 will contain `%union' declaration.
674 (parse_union_decl): Delete #line directive output.
675 (parse_union_decl): Substitute /attrs_obstack/union_obstack for all
676 informations about %union.
677 (parse_union_decl): Copy the union_obstack in the muscle stype.
678 * src/bison.simple: Add new #line directive.
679 Add typdef %%stype YYSTYPE.
681 2001-09-23 Pascal Bart <pascal.bart@epita.fr>
683 * src/bison.simple: Add new `#line' directive.
685 2001-09-22 Pascal Bart <pascal.bart@epita.fr>
687 * src/bison.simple: New `#line' directive.
688 * src/output.c (output_parser): Support new dynamic muscle input_line.
690 2001-09-22 Marc Autret <autret_m@epita.fr>
692 * src/output.c (output_master_parser): New.
693 (output_parser): Be more re-entrant.
695 2001-09-21 Marc Autret <autret_m@epita.fr>
697 * src/reader.c (copy_definition, parse_union_decl): Update and use
699 (copy_action): Likewise.
700 Use obstack_1grow ().
701 * src/muscle_tab.c (muscle_init): Add muscle `linef'.
703 2001-09-21 Marc Autret <autret_m@epita.fr>
705 * src/options.c (option_table): Adjust.
706 * src/lex.c (parse_percent_token): Fix.
708 2001-09-20 Pascal Bart <pascal.bart@epita.fr>
710 * src/options.c (symtab.h): Include it, need by lex.h.
712 2001-09-20 Pascal Bart <pascal.bart@epita.fr>
714 * src/lex.c (parse_percent_token): Change type of variable `tx', which
715 is now an option_table_struct*.
716 (option_strcmp): New function option_strcmp.
717 (parse_percent_token): Call option_strcmp.
718 * src/getargs.c (xalloc.h, options.h): Include it.
719 (getargs): Call create_long_option_table.
720 (getargs): Free longopts at the end of the function.
721 (shortopts): Move in options.c.
722 * src/options.c (create_long_option_table): New function. Convert
723 information from option_table to option structure.
724 * src/reader.c (options.h): Include it.
726 * src/Makefile.am: Adjust.
727 * src/options.c (option_table): Create from longopts and percent_table.
728 * src/getargs.c (longopts): Delete.
729 * src/lex.c (struct percent_table_struct): Delete.
730 (percent_table): Delete.
731 (options.h): Include it.
732 * src/options.c: Create.
733 * src/options.h: Create.
734 Declare enum opt_access_e.
735 Define struct option_table_struct.
737 2001-09-20 Marc Autret <autret_m@epita.fr>
739 * doc/bison.texinfo: Adjust terminologies about prologue and epilogue
742 2001-09-19 Pascal Bart <pascal.bart@epita.fr>
744 * src/bison.simple: s/%%filename/%%skeleton.
745 * src/muscle_tab.c (getargs.h): Include it.
746 (muscle_init): Insert new muscle skeleton.
748 2001-09-18 Pascal Bart <pascal.bart@epita.fr>
750 * src/output.c (output_parser): Delete unused variable actions_dumped.
752 2001-09-07 Pascal Bart <pascal.bart@epita.fr>
754 * src/output.c (output): Delete call to reader_output_yylsp.
755 * src/reader.c (reader): Likewise.
756 * src/reader.h: Delete declaration of reader_output_yylsp.
758 2001-09-02 Marc Autret <autret_m@epita.fr>
760 * src/reader.c: Include muscle_tab.h.
761 (parse_union_decl): Update.
762 (parse_macro_decl): Rename parse_muscle_decl.
763 Update to use renamed functions and variable.
764 (read_declarations, copy_action, read_additionnal_code, : Updated
765 with correct variables and functions names.
766 (packsymbols, reader): Likewise.
768 * src/reader.h (muscle_obstack): Extern declaration update.
770 * src/output.c: Include muscle_tab.h
771 In all functions using macro_insert, change by using muscle_insert ().
772 (macro_obstack): Rename muscle_obstack.
773 Echo modifications in the whole file.
774 (MACRO_INSERT_INT): Rename MUSCLE_INSERT_INT.
775 (MACRO_INSERT_STRING): Rename MUSCLE_INSERT_STRING.
776 (MACRO_INSERT_PREFIX): Rename MUSCLE_INSERT_PREFIX.
778 * src/muscle_tab.h: Update double inclusion macros.
779 (macro_entry_s): Rename muscle_entry_s.
782 * src/muscle_tab.c: Include muscle_tab.h.
783 Rename macro_tabble to muscle_table.
784 (mhash1, mhash2, mcmp): Use muscle_entry.
785 (macro_init): Rename muscle_init. Update.
786 (macro_insert): Rename muscle_insert. Update.
787 (macro_find): Rename muscle_find. Update.
789 * src/main.c: Include muscle_tab.h.
790 (main): Call muscle_init ().
791 * src/Makefile.am (bison_SOURCES): Echo modifications.
793 2001-09-02 Marc Autret <autret_m@epita.fr>
795 Now the files macro_tab.[ch] are named muscle_tab.[ch].
797 * src/muscle_tab.c, src/muscle_tab.h: Add files.
799 2001-09-02 Marc Autret <autret_m@epita.fr>
801 * src/macrotab.c, src/macrotab.h: Remove.
803 2001-09-01 Pascal Bart <pascal.bart@epita.fr>
805 * src/reader.c (copy_guard): Use muscle to specify the `#line'
808 2001-09-01 Marc Autret <autret_m@epita.fr>
810 * tests/calc.at (exp): Now, YYERROR_VERBOSE need to be set
811 to an explicit value to activate the feature. We do it here.
813 2001-08-31 Pascal Bart <pascal.bart@epita.fr>
815 * src/output.c (prepare): Delete the `filename' muscule insertion.
816 * src/reader.c (copy_action): Use `filename' muscule with `#line'.
817 (parse_union_decl): Likewise.
818 * src/macrotab.c (macro_init): Initialize filename by infile.
820 2001-08-31 Marc Autret <autret_m@epita.fr>
822 * src/bison.simple (YYLSP_NEEDED): New definition.
823 * src/output.c (prepare): Add macro insertion of `locations_flag'
825 2001-08-31 Pascal Bart <pascal.bart@epita.fr>
827 * src/output.c (prepare): Delete insertion of previous muscles,
828 and insert the `prefix' muscles.
829 * src/macrotab.c (macro_init): Likewise.
830 (macro_init): Initialization prefix directive by `yy'.
831 * src/bison.simple: Substitute all %%yylex, %%yychar, %%yylval,
832 %%yydebug, %%yyerror, %%yynerrs and %%yyparse by yylex, yychar,
833 yylval, yydebug, yyerror, yynerrs and yyparse.
834 New directive `#define' to substitute yydebug, ... with option
837 2001-08-31 Pascal Bart <pascal.bart@epita.fr>
839 * src/main.c (main): Standardize.
840 * src/output.c (output_table_data, output_parser): Likewise.
841 * src/macrotab.h, src/macrotab.c, src/bison.simple: Likewise.
843 2001-08-31 Pascal Bart <pascal.bart@epita.fr>, Marc Autret <autret_m@epita.fr>
845 * src/reader.c (read_additionnal_code): Rename %%user_code to
847 * src/output.c (output): Rename %%declarations to %%prologue.
848 * src/bison.simple: Echo modifications.
850 2001-08-31 Marc Autret <autret_m@epita.fr>
852 * src/reader.c (readgram): CleanUp.
853 (output_token_defines): Likewise.
854 (packsymbols): Likewise.
856 * src/output.c (output): CPP-out useless code.
858 2001-08-31 Pascal Bart <pascal.bart@epita.fr>
860 * src/reader.c (reader): Delete obsolete call to function
861 output_trailers and output_headers.
862 * src/output.h: Remove obsolete functions prototypes of output_headers
865 2001-08-30 Pascal Bart <pascal.bart@epita.fr>
867 * src/main.c: Include macrotab.h.
868 * src/macrotab.h (macro_entry_s): Constify fields.
869 Adjust functions prototypes.
870 * src/macrotab.c (macro_insert): Constify key and value.
871 (macro_find): Constify key.
872 (macro_insert): Include 'xalloc.h'
873 (macro_insert): Use XMALLOC.
874 (macro_find): Constify return value.
875 * src/output.c (output_table_data): Rename table to table_data.
876 (output_parser): Constify macro_key, macro_value.
878 2001-08-30 Marc Autret <autret_m@epita.fr>
880 * src/reader.c (parse_skel_decl): New.
881 (read_declarations): Add case `tok_skel', call parse_skel_decl ().
882 * src/lex.h (token_t): New token `tok_skel'.
883 * src/lex.c (percent_table): Add skeleton option entry.
886 2001-08-29 Marc Autret <autret_m@epita.fr>
888 * src/bison.simple: Add %%user_code directive at the end.
889 * src/reader.c (read_additionnal_code): New.
891 * src/output.c (output_program): Remove.
894 2001-08-28 Marc Autret <autret_m@epita.fr>
896 * src/output.c (output_actions): Clean up.
897 (output_gram): CPP-out useless code.
898 * src/reader.c (reader): Clean up, CPP-out useless code.
900 2001-08-28 Pascal Bart <pascal.bart@epita.fr>
902 * src/output.c (output): Copy attrs_obstack in the '%%definitions'
904 * src/bison.simple: Add `%%definitions'.
906 2001-08-28 Marc Autret <autret_m@epita.fr>
908 * config/depcomp: New file.
910 2001-08-27 Paul Eggert <eggert@twinsun.com>
912 * src/bison.simple (yyparse): Don't take the address of an
913 item before the start of an array, as that doesn't conform to
916 2001-08-27 Robert Anisko <robert.anisko@epita.fr>
918 * src/output.c (output): Remove the initialization of the macro
919 obstack. It was done too late here.
921 * src/reader.c (parse_macro_decl): Fix. Use of the macro obstack was
923 (reader): Initialize the macro obstack here, since we need it to grow
924 '%define' directives.
926 * src/reader.h: Declare the macro obstack as extern.
928 2001-08-27 Robert Anisko <robert.anisko@epita.fr>
930 * src/output.c (output_parser): Fix. Store single '%' characters in
931 the output obstack instead of throwing them away.
933 2001-08-27 Akim Demaille <akim@epita.fr>
935 * Makefile.am (AUTOMAKE_OPTIONS): 1.5.
937 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
939 * lib/Makefile.am: Adjust.
941 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
943 * src/bison.simple: Update and add '%%' directives.
945 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
947 * src/reader.c (reader): Remove calls to 'output_headers' and
948 'output_trailers'. Remove some C output.
949 (readgram): Disable a piece of code that was writing a default
950 definition for 'YYSTYPE'.
951 (reader_output_yylsp): Remove.
952 (packsymbols): Output token defintions to a macro.
953 (copy_definition): Disable C output.
955 * src/reader.c (parse_macro_decl): New function used to parse macro
957 (copy_string2): Put the body of copy_string into this new function.
958 Add a parameter to let the caller choose whether he wants to copy the
959 string delimiters or not.
960 (copy_string): Be a simple call to copy_string2 with the last argument
962 (read_declarations): Add case for macro definition.
963 (copy_identifier): New.
964 (parse_macro_decl): Read macro identifiers using copy_identifier
967 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
969 * src/output.c (prepare): Add prefixed names.
970 (output_parser): Output semantic actions.
971 (output_parser): Fix bug on '%%line' directives.
973 * src/output.c (output_headers): Remove. The C code printed by this
974 function should now be in the skeletons.
975 (output_trailers): Remove.
976 (output): Disable call to 'reader_output_yylsp'.
977 (output_rule_data): Do not output tables to the table obstack.
979 * src/output.c: Remove some C dedicated output.
980 Improve the use of macro and output obstacks.
981 (output_defines): Remove.
983 * src/output.c (output_token_translations): Associate 'translate'
984 table with a macro. No output to the table obstack.
985 (output_gram): Same for 'rhs' and 'prhs'.
986 (output_stos): Same for 'stos'.
987 (output_rule_data): Same for 'r1' and 'r2'.
988 (token_actions): Same for 'defact'.
989 (goto_actions): Same for 'defgoto'.
990 (output_base): Same for 'pact' and 'pgoto'.
991 (output_table): Same for 'table'.
992 (output_check): Same for 'check'.
994 * src/output.c (output_table_data): New function.
995 (output_short_table): Remove.
996 (output_short_or_char_table): Remove.
998 * src/output.c (output_parser): Replace most of the skeleton copy code
999 with something new. Skeletons are now processed character by character
1000 rather than line by line, and Bison looks for '%%' macros. This is the
1001 first step in making Bison's output process (a lot) more flexible.
1002 (output_parser): Use the macro table.
1004 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
1006 * src/main.c (main): Initialize the macro table.
1008 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
1010 * src/lex.c (percent_table): Add tok_define.
1011 * src/lex.h: Add tok_define.
1013 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
1015 * src/macrotab.c: New file.
1016 * src/macrotab.h: New file.
1017 * src/Makefile.am: Update.
1019 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
1021 * lib/hash.c: New file.
1022 * lib/hash.h: New file.
1023 * lib/Makefile.am: Update.
1025 2001-08-15 Akim Demaille <akim@epita.fr>
1029 2001-08-15 Marc Autret <autret_m@epita.fr>
1031 * src/reader.c (readgram): Indent output macro YYSTYPE.
1032 (packsymbols): Likewise.
1033 (output_token_defines): Likewise.
1034 * src/files.c: Standardize.
1035 (compute_header_macro): New.
1036 (defines_obstack_save): New. Use compute_header_macro.
1037 (output_files): Update. Use defines_obstack_save.
1039 2001-08-15 Akim Demaille <akim@epita.fr>
1041 * doc/bison.texinfo (Table of Symbols): Document
1044 2001-08-15 Akim Demaille <akim@epita.fr>
1046 * missing: Update from CVS Automake.
1047 * config/config.guess, config/config.sub, config/texinfo.tex:
1048 Update from gnu.org.
1050 2001-08-15 Akim Demaille <akim@epita.fr>
1052 * Makefile.maint: Sync with CVS Autoconf.
1054 2001-08-14 Pascal Bart <pascal.bart@epita.fr>
1056 * doc/bison.texinfo: Include GNU Free Documentation License from
1058 * doc/fdl.texi: Add to package.
1060 2001-08-14 Marc Autret <autret_m@epita.fr>
1062 Turn on %{source,header}_extension features.
1064 * src/lex.c (percent_table): Un-CPP out header_extension and
1066 * src/files.c (compute_exts_from_gf): Compare pointers with NULL.
1067 (compute_exts_from_src): Remove conditions. It restores priorities
1070 2001-08-14 Marc Autret <autret_m@epita.fr>
1072 * src/files.c (compute_base_names): Add extensions computing when
1073 `--file-prefix' used.
1074 Standardize function calls.
1076 2001-08-13 Marc Autret <autret_m@epita.fr>
1078 * src/bison.simple (YYSTACK_USE_ALLOCA): Changed to allow users
1079 defining it (defined but null disables alloca).
1081 2001-08-13 Marc Autret <autret_m@epita.fr>
1083 * src/bison.simple (_yy_memcpy): CPP reformat.
1085 2001-08-13 Pascal Bart <pascal.bart@epita.fr>
1087 * tests/atconfig.in (CPPFLAGS): Fix.
1089 2001-08-10 Pascal Bart <pascal.bart@epita.fr>
1091 * doc/bison.texinfo: Include GNU General Public License from
1093 * doc/gpl.texi: Add to package.
1095 2001-08-10 Marc Autret <autret_m@epita.fr>
1097 * src/print_graph.h: Fix.
1098 * src/reader.c (read_declarations): Use parse_header_extension_decl ().
1100 2001-08-10 Akim Demaille <akim@epita.fr>
1102 * src/system.h: Provide default declarations for stpcpy, strndup,
1105 2001-08-10 Robert Anisko <anisko_r@epita.fr>
1107 * doc/bison.texinfo (Locations): Update @$ stuff.
1109 2001-08-09 Robert Anisko <anisko_r@epita.fr>
1111 * src/bison.simple (YYLLOC_DEFAULT): Update.
1114 2001-08-08 Marc Autret <autret_m@epita.fr>
1116 * doc/bison.texinfo: Change @samp{$<@dots{}>} to
1117 @samp{$<@dots{}>@var{n}} in Section Actions in Mid-Rule.
1118 Reported by Fabrice Bauzac.
1120 2001-08-08 Marc Autret <autret_m@epita.fr>
1122 * src/vcg_default.h: Use NULL instead of 0 to initialize pointers.
1123 * src/vcg.c (output_node): Fix.
1124 * src/vcg.h: Cleanup.
1125 * src/print_graph.c: Add comments.
1126 (node_output_size): New global variable. Simplify the formatting of
1127 the VCG graph output.
1128 (print_actions): Unused code is now used. It notifies the final state
1129 and no action states in the VCG graph. It also give the reduce actions.
1130 The `shift and goto' edges are red and the `go to state' edges are
1132 Get the current node name and node_obstack by argument.
1133 (node_obstack): New variable.
1134 (print_state): Manage node_obstack.
1135 (print_core): Use node_obstack given by argument.
1136 A node is not only computed here but in print_actions also.
1137 (print_graph): CPP out useless code instead of commenting it.
1139 2001-08-07 Pascal Bart <pascal.bart@epita.fr>
1141 * tests/atconfig.in (CPPFLAGS): Fix.
1143 2001-08-07 Akim Demaille <akim@epita.fr>
1145 * src/print_graph.c (quote): New.
1146 (print_core): Use it.
1148 2001-08-06 Akim Demaille <akim@epita.fr>, Marc Autret <autret_m@epita.fr>
1150 * src/vcg.c (complain.h): Include it.
1151 Unepitaize `return' invocations.
1152 [NDEBUG] (main): Remove.
1153 * src/vcg.h (node_t, edge_t, graph_t): Constify the char * members.
1154 * src/files.c (open_files): Initialize graph_obstack.
1155 * src/print_graph.c (print_actions): CPP out useless code.
1156 (print_core): Don't output the last `\n' in labels.
1158 * src/files.c (output_files): Output the VCG file.
1159 * src/main.c (main): Invoke print_graph ();
1161 2001-08-06 Marc Autret <autret_m@epita.fr>
1163 Automaton VCG graph output.
1164 Using option ``-g'' or long option ``--graph'', you can generate
1165 a gram_filename.vcg file containing a VCG description of the LALR (1)
1166 automaton of your grammar.
1168 * src/main.c: Call to print_graph() function.
1169 * src/getargs.h: Update.
1170 * src/getargs.c (options): Update to catch `-g' and `--graph' options.
1171 (graph_flag): New flag.
1173 (getargs): Add case `g'.
1174 * src/files.c (graph_obstack): New obstack struct.
1175 (open_files): Initialize new obstack.
1176 (output_files): Saves graph_obstack if required.
1177 * src/files.h (graph_obstack): New extern declaration.
1178 * src/Makefile.am: Add new source files.
1180 2001-08-06 Marc Autret <autret_m@epita.fr>
1182 * src/print_graph.c, src/print_graph.h (graph): New.
1183 * src/vcg.h: New file.
1184 * src/vcg.c: New file, VCG graph handling.
1186 2001-08-06 Marc Autret <autret_m@epita.fr>
1188 Add of %source_extension and %header_extension which specify
1189 the source or/and the header output file extension.
1191 * src/files.c (compute_base_names): Remove initialisation of
1192 src_extension and header_extension.
1193 (compute_exts_from_gf): Update.
1194 (compute_exts_from_src): Update.
1195 (output_files): Update.
1196 * src/reader.c (parse_header_extension_decl): New.
1197 (parse_source_extension_decl): New.
1198 (read_declarations): New case statements for the new tokens.
1199 * src/lex.c (percent_table): Add entries for %source_extension
1200 and %header_extension.
1201 * src/lex.h (token_e): New tokens tok_hdrext and tok_srcext.
1203 2001-08-06 Marc Autret <autret_m@epita.fr>
1205 * configure.in: Bump to 1.28c.
1206 * doc/bison.texinfo: Texinfo thingies.
1208 2001-08-04 Pascal Bart <pascal.bart@epita.fr>
1210 * tests/atconfig.in (CPPFLAGS): Add.
1211 * tests/calc.at (AT_CHECK): Use CPPFLAGS.
1213 2001-08-03 Akim Demaille <akim@epita.fr>
1217 2001-08-03 Akim Demaille <akim@epita.fr>
1219 * tests/Makefile.am (check-local): Ship testsuite.
1220 * tests/calc.at (_AT_DATA_CALC_Y): Prototype all the functions.
1223 2001-08-03 Akim Demaille <akim@epita.fr>
1225 * configure.in: Try using -Wformat when compiling.
1227 2001-08-03 Akim Demaille <akim@epita.fr>
1229 * configure.in: Bump to 1.28b.
1231 2001-08-03 Akim Demaille <akim@epita.fr>
1233 * src/complain.c: Adjust strerror_r portability issues.
1235 2001-08-03 Akim Demaille <akim@epita.fr>
1239 2001-08-03 Akim Demaille <akim@epita.fr>
1241 * src/getargs.c, src/getarg.h (skeleton)): Constify.
1242 * src/lex.c (literalchar): Avoid name clashes on `buf'.
1243 * src/getargs.c: Include complain.h.
1244 * src/files.c, src/files.h (skeleton_find): Avoid name clashes.
1245 * lib/quotearg.c, lib/quotearg.h: Update from fileutils 4.1.
1247 2001-08-03 Akim Demaille <akim@epita.fr>
1249 * src/reader.c (readgram): Display hidden chars in error messages.
1251 2001-08-03 Akim Demaille <akim@epita.fr>
1253 Update to gettext 0.10.39.
1255 2001-08-03 Akim Demaille <akim@epita.fr>
1257 * lib/strspn.c: New.
1259 2001-08-01 Marc Autret <autret_m@epita.fr>
1261 * doc/bison.texinfo: Update.
1262 * doc/bison.1 (mandoc): Update.
1263 * src/system.h (EXT_GUARD_C, EXT_STYPE_H): Remove .c and .h.
1264 * src/files.c: Support output files extensions computing.
1265 (src_extension): New static variable.
1266 (header_extension): New static variable.
1268 (get_extension_index): New function, gets the index of an extension
1269 filename in a string.
1270 (compute_exts_from_gf): New function, computes extensions from the
1271 grammar file extension.
1272 (compute_exts_from_src): New functions, computes extensions from the
1273 C source file extension, file given by ``-o'' option.
1274 (compute_base_names): Update.
1275 (output_files): Update.
1277 2001-08-01 Robert Anisko <anisko_r@epita.fr>
1279 * doc/bison.texi: Document @$.
1280 (Locations): New section.
1282 2001-07-18 Akim Demaille <akim@epita.fr>
1284 * Makefile.maint, GNUmakefile: New, from Autoconf 2.52.
1285 * config/prev-version.txt, config/move-if-change: New.
1286 * Makefile.am: Adjust.
1288 2001-07-08 Pascal Bart <pascal.bart@epita.fr>
1290 * src/bison.simple (yyparse): Suppress warning `comparaison
1291 between signed and unsigned'.
1293 2001-07-05 Pascal Bart <pascal.bart@epita.fr>
1295 * src/getargs.h (raw_flag): Remove.
1296 * src/getargs.c: Die on `-r'/`--raw'.
1297 * src/lex.c (parse_percent_token): Die on `%raw'.
1298 * src/reader.c (output_token_defines): Suppress call to `raw_flag'.
1299 * tests/calc.at: Suppress test with option `--raw'.
1301 2001-07-14 Akim Demaille <akim@epita.fr>
1304 * configure.in: Require Autoconf 2.50.
1305 Update to gettext 0.10.38.
1307 2001-03-16 Akim Demaille <akim@epita.fr>
1309 * doc/bison.texinfo: ANSIfy the examples.
1311 2001-03-16 Akim Demaille <akim@epita.fr>
1313 * getargs.c (skeleton): New variable.
1314 (longopts): --skeleton is a new option.
1315 (shortopts, getargs): -S is a new option.
1316 * getargs.h: Declare skeleton.
1317 * output.c (output_parser): Use it.
1319 2001-03-16 Akim Demaille <akim@epita.fr>
1321 * m4/strerror_r.m4: New.
1322 * m4/error.m4: Run AC_FUNC_STRERROR_R.
1323 * lib/error.h, lib/error.c: Update.
1325 2001-03-16 Akim Demaille <akim@epita.fr>
1327 * src/getargs.c (longopts): Clean up.
1329 2001-02-21 Akim Demaille <akim@epita.fr>
1331 * src/reader.c (gensym): `gensym_count' is your own.
1332 Use a static buf to create the symbol name, as token_buffer is no
1335 2001-02-08 Akim Demaille <akim@epita.fr>
1337 * src/conflicts.c (conflict_report): Be sure not to append to res
1338 between two calls, which could happen if both first sprintf were
1339 skipped, but not the first cp += strlen.
1341 2001-02-08 Akim Demaille <akim@epita.fr>
1343 * lib/memchr.c, lib/stpcpy.c, lib/strndup.c, lib/strnlen.c:
1344 New, from fileutils 4.0.37.
1345 * configure.in: Require Autoconf 2.49c. I took some time before
1346 making this decision. This is the only way out for portability
1347 issues in Bison, it would mean way too much duplicate effort to
1348 import in Bison features implemented in 2.49c since 2.13.
1349 AC_REPLACE_FUNCS and AC_CHECK_DECLS the functions above.
1351 2001-02-02 Akim Demaille <akim@epita.fr>
1353 * lib/malloc.c, lib/realloc.c: New, from the fileutils 4.0.37.
1354 * lib/xalloc.h, lib/xmalloc.c: Update.
1356 2001-01-19 Akim Demaille <akim@epita.fr>
1358 Get rid of the ad hoc handling of token_buffer in the scanner: use
1361 * src/lex.c (token_obstack): New.
1362 (init_lex): Initialize it. No longer call...
1363 (grow_token_buffer): this. Remove it.
1364 Adjust all the places which used it to use the obstack.
1366 2001-01-19 Akim Demaille <akim@epita.fr>
1368 * src/lex.h: Rename all the tokens:
1369 s/\bENDFILE\b/tok_eof/g;
1370 s/\bIDENTIFIER\b/tok_identifier/g;
1372 Let them be enums, not #define, to ease debugging.
1373 Adjust all the code.
1375 2001-01-18 Akim Demaille <akim@epita.fr>
1377 * src/lex.h (MAXTOKEN, maxtoken, grow_token_buffer): Remove, private.
1378 * src/lex.c (maxtoken, grow_token_buffer): Static.
1380 2001-01-18 Akim Demaille <akim@epita.fr>
1382 Since we now use obstacks, more % directives can be enabled.
1384 * src/lex.c (percent_table): Also accept `%yacc',
1385 `%fixed_output_files', `%defines', `%no_parser', `%verbose', and
1387 Handle the actions for `%semantic_parser' and `%pure_parser' here,
1388 instead of returning a token.
1389 * src/lex.h (SEMANTIC_PARSER, PURE_PARSER): Remove, unused.
1390 * src/reader.c (read_declarations): Adjust.
1391 * src/files.c (open_files): Don't call `compute_base_names', don't
1392 compute `attrsfile' since they depend upon data which might be
1393 *in* the input file now.
1394 (output_files): Do it here.
1395 * src/output.c (output_headers): Document the fact that this patch
1396 introduces a guaranteed SEGV for semantic parsers.
1397 * doc/bison.texinfo: Document them.
1398 * tests/suite.at: Exercise these %options.
1400 2000-12-20 Akim Demaille <akim@epita.fr>
1402 Also handle the output file (--verbose) with obstacks.
1404 * files.c (foutput): Remove.
1405 (output_obstack): New.
1406 Adjust all dependencies.
1407 * src/conflicts.c: Return a string.
1408 * src/system.h (obstack_grow_string): Rename as...
1409 (obstack_sgrow): this. Be ready to work with non literals.
1410 (obstack_fgrow4): New.
1412 2000-12-20 Akim Demaille <akim@epita.fr>
1414 * src/files.c (open_files): Fix the computation of short_base_name
1415 in the case of `-o foo.tab.c'.
1417 2000-12-20 Akim Demaille <akim@epita.fr>
1419 * src/reader.c (copy_string, copy_comment, copy_comment2, copy_at)
1420 (copy_dollar): Now that everything uses obstacks, get rid of the
1423 2000-12-20 Akim Demaille <akim@epita.fr>
1425 * src/files.c (open_files): Actually the `.output' file is based
1426 on the short_base_name, not base_name.
1427 * tests/suite.at (Checking output file names): Adjust.
1429 2000-12-20 Akim Demaille <akim@epita.fr>
1431 * src/bison.s1: Remove, we now use directly...
1432 * src/bison.simple: this.
1433 * src/Makefile.am: Use pkgdata instead of data.
1435 2000-12-20 Akim Demaille <akim@epita.fr>
1437 * src/files.c (guard_obstack): New.
1438 (open_files): Initialize it.
1439 (output_files): Dump it...
1440 * src/files.h: Export it.
1441 * src/reader.c (copy_guard): Use it.
1443 2000-12-19 Akim Demaille <akim@epita.fr>
1445 * src/files.c (outfile, defsfile, actfile): Removed as global
1447 (open_files): Don't compute them.
1448 (output_files): Adjust.
1449 (base_name, short_base_name): Be global.
1450 Adjust dependencies.
1452 2000-12-19 Akim Demaille <akim@epita.fr>
1454 * src/files.c (strsuffix): New.
1455 (stringappend): Be just like strcat but allocate.
1456 (base_names): Eve out from open_files.
1457 Try to simplify the rather hairy computation of base_name and
1459 (open_files): Use it.
1460 * tests/suite.at (Checking output file names): New test.
1462 2000-12-19 Akim Demaille <akim@epita.fr>
1464 * src/system.h (obstack_grow_literal_string): Rename as...
1465 (obstack_grow_string): this.
1466 * src/output.c (output_parser): Recognize `%% actions' instead of
1468 * src/bison.s1: s/$/%% actions/.
1469 * src/bison.hairy: Likewise.
1471 2000-12-19 Akim Demaille <akim@epita.fr>
1473 * src/output.c (output_parser): Compute the `#line' lines when
1475 * src/Makefile.am (bison.simple): Be a simple copy of bison.s1.
1476 Suggested by Hans Aberg.
1478 2000-12-19 Akim Demaille <akim@epita.fr>
1480 Let the handling of the skeleton files be local to the procedures
1483 * src/files.c (xfopen, xfclose, skeleton_find, guardfile): No
1485 (fparser, open_extra_files): Remove.
1486 (open_files, output_files): Don't take care of fparser.
1487 * src/files.h: Adjust.
1488 * src/output.c (output_parser): Open and close the file to the
1490 * src/reader.c (read_declarations): When %semantic_parser, open
1493 2000-12-19 Akim Demaille <akim@epita.fr>
1495 * src/file.h (BISON_SIMPLE, BISON_HAIRY): Move from here...
1496 * src/system.h (BISON_SIMPLE, BISON_HAIRY): ... to here.
1498 2000-12-19 Akim Demaille <akim@epita.fr>
1500 * src/files.c (open_files): Yipee! We no longer need all the code
1501 looking for `/tmp' since we have no tmp file.
1503 2000-12-19 Akim Demaille <akim@epita.fr>
1505 * src/system.h (EXT_TAB, EXT_OUTPUT, EXT_STYPE_H, EXT_GUARD_C):
1507 * src/files.c (open_files): Less dependency on MSDOS etc.
1509 2000-12-14 Akim Demaille <akim@epita.fr>
1511 * src/bison.s1 (YYLLOC_DEFAULT): New macro.
1512 Provide a default definition.
1513 Use it when executing the default @ action.
1514 * src/reader.c (reader_output_yylsp): No longer include
1515 `timestamp' and `text' in the default YYLTYPE.
1517 2000-12-12 Akim Demaille <akim@epita.fr>
1519 * src/reader.c (copy_definition, parse_union_decl, copy_action)
1520 (copy_guard): Quote the file names.
1521 Reported by Laurent Mascherpa.
1523 2000-12-12 Akim Demaille <akim@epita.fr>
1525 * src/output.c (output_headers, output_program, output): Be sure
1526 to escape special characters when outputting filenames.
1527 (ACTSTR_PROLOGUE, ACTSTR_EPILOGUE): Remove.
1528 (output_headers): Don't depend on them, Use ACTSTR.
1530 2000-11-17 Akim Demaille <akim@epita.fr>
1532 * lib/obstack.h: Formatting changes.
1533 (obstack_grow, obstack_grow0): Don't cast WHERE at all: it
1534 prevents type checking.
1535 (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
1536 cast the value to (void *): assigning a `foo *' to a `void *'
1538 (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
1539 * src/reader.c (parse_union_decl): Typo: use obstack_1grow to
1542 2000-11-17 Akim Demaille <akim@epita.fr>
1544 * tests/Makefile.am (suite.m4, regression.m4, calc.m4): Rename
1546 (suite.m4, regression.m4, calc.m4): these.
1547 * tests/atgeneral.m4: Update from CVS Autoconf.
1549 2000-11-17 Akim Demaille <akim@epita.fr>
1551 * tests/regression.m4 (%union and --defines): New test,
1552 demonstrating a current bug in the obstack implementation.
1554 2000-11-17 Akim Demaille <akim@epita.fr>
1556 * src/bison.s1 (_YY_DECL_VARIABLES, YY_DECL_VARIABLES): New
1558 Use them to declare the variables which are global or local to
1561 2000-11-17 Akim Demaille <akim@epita.fr>
1563 * acconfig.h: Remove, no longer used.
1565 2000-11-07 Akim Demaille <akim@epita.fr>
1567 * src: s/Copyright (C)/Copyright/g.
1569 2000-11-07 Akim Demaille <akim@epita.fr>
1571 * src/reader.c (reader): #define YYLSP_NEEDED to 1 instead of just
1573 * src/bison.s1: s/#ifdef YYLSP_NEEDED/#if YYLSP_NEEDED/.
1575 2000-11-07 Akim Demaille <akim@epita.fr>
1577 * src/bison.s1 (YYLEX): Use #if instead of #ifdef.
1578 Merge in a single CPP if/else.
1580 2000-11-07 Akim Demaille <akim@epita.fr>
1582 * src/output.c (output): Remove useless variables.
1583 * lib/obstack.c (obstack_grow, obstack_grow0): Rename the second
1584 argument `data' for consistency with the prototypes.
1586 (obstack_copy, obstack_copy0): Rename the second argument as
1587 `address' for consistency. Qualify it `const'.
1588 * lib/obstack.h (obstack_copy, obstack_copy0, obstack_grow)
1589 (obstack_grow0, obstack_ptr_grow, obstack_ptr_grow_fast): Qualify
1590 `const' their input argument (`data' or `address').
1591 Adjust the corresponding macros to include `const' in casts.
1593 2000-11-03 Akim Demaille <akim@epita.fr>
1595 * src/Makefile.am (INCLUDES): s/PFILE/BISON_SIMPLE/.
1596 s/PFILE1/BISON_HAIRY/.
1597 Adjust dependencies.
1599 2000-11-03 Akim Demaille <akim@epita.fr>
1601 For some reason, this was not applied.
1603 * src/files.c [VMS]: No longer include `ssdef.h', no longer define
1604 `unlink': it's no longer used.
1606 2000-11-03 Akim Demaille <akim@epita.fr>
1608 * src/files.c (skeleton_find): New function, eved out of...
1609 (open_files, open_extra_files): here.
1611 2000-11-03 Akim Demaille <akim@epita.fr>
1615 * src/files.c (obstack_save): New function.
1616 (done): Rename as...
1617 (output_files): this.
1619 * src/main.c (main): Don't use `atexit' to register `done', since
1620 it no longer has to remove tmp files, just call `output_files'
1621 when there are no errors.
1623 2000-11-02 Akim Demaille <akim@epita.fr>
1625 * src/files.c [VMS]: No longer include `ssdef.h', no longer define
1626 `unlink': it's no longer used.
1627 * src/files.h: Formatting changes.
1629 2000-11-02 Akim Demaille <akim@epita.fr>
1631 Remove the last uses of mktemp and unlink/delete.
1633 * src/files.c (fdefines, ftable): Removed.
1634 (defines_ostack, table_obstack): New.
1635 Adjust dependencies of the former into uses of the latter.
1636 * src/output.c (output_short_or_char_table, output_short_table):
1637 Convert to using obstacks.
1638 * src/reader.c (copy_comment2): Accept one FILE * and two
1640 (output_token_defines, reader_output_yylsp): Use obstacks.
1641 * src/system.h (obstack_fgrow3): New.
1643 2000-11-01 Akim Demaille <akim@epita.fr>
1645 Change each use of `fattrs' into a use of `attrs_obstack'.
1647 * src/reader.c (copy_at): Typo: s/yylloc/yyloc/.
1648 * src/files.c (fattrs): Remove.
1649 (attrs_obstack): New.
1650 Adjust all dependencies.
1651 (done): If SEMANTIC_PARSER, dump attrs_obstack into attrsfile.
1653 2000-11-01 Akim Demaille <akim@epita.fr>
1656 Change each use of `faction' into a use of `action_obstack'.
1658 * lib/obstack.h, lib/obstack.c: New files.
1659 * src/files.c (faction): Remove.
1660 (action_obstack): New.
1661 Adjust all dependencies.
1663 2000-10-20 Akim Demaille <akim@epita.fr>
1665 * lib/quote.h (PARAMS): New macro. Use it.
1667 2000-10-16 Akim Demaille <akim@epita.fr>
1669 * src/output.c (output_short_or_char_table): New function.
1670 (output_short_table, output_token_translations): Use it.
1671 (goto_actions): Use output_short_table.
1673 2000-10-16 Akim Demaille <akim@epita.fr>
1675 * src/symtab.c (bucket_new): New function.
1678 * src/output.c (output_short_table): New argument to display the
1679 comment associated with the table.
1680 Adjust dependencies.
1681 (output_gram): Use it.
1682 (output_rule_data): Nicer output layout for YYTNAME.
1684 2000-10-16 Akim Demaille <akim@epita.fr>
1686 * src/lex.c (read_typename): New function.
1688 * src/reader.c (copy_dollar): Likewise.
1690 2000-10-16 Akim Demaille <akim@epita.fr>
1692 * src/reader.c (copy_comment2): Expect the input stream to be on
1693 the `/' which is suspected to open a comment, instead of being
1694 called after `//' or `/*' was read.
1695 (copy_comment, copy_definition, parse_union_decl, copy_action)
1696 (copy_guard): Adjust.
1698 2000-10-16 Akim Demaille <akim@epita.fr>
1700 * src/reader.c (parse_expect_decl): Use `skip_white_space' and
1701 `read_signed_integer'.
1703 2000-10-16 Akim Demaille <akim@epita.fr>
1705 * src/reader.c (copy_dollar): New function.
1706 (copy_guard, copy_action): Use it.
1708 2000-10-16 Akim Demaille <akim@epita.fr>
1710 * lib/quote.h, lib/quote.c, lib/quotearg.h, lib/quotearg.c:
1711 * m4/prereq.m4, m4/c-bs-a.m4, m4/mbstate.m4:
1712 New files, from Fileutils 4.0.27.
1713 * src/main.c (printable_version): Remove.
1714 * src/lex.c, src/reader.c: Use `quote'.
1716 2000-10-04 Akim Demaille <akim@epita.fr>
1718 * lib/error.c, lib/error.h: New files, needed by xmalloc.c.
1720 2000-10-04 Akim Demaille <akim@epita.fr>
1722 * doc/bison.texinfo: Various typos spotted by Neil Booth.
1724 2000-10-04 Akim Demaille <akim@epita.fr>
1726 When a literal string is used to define two different tokens,
1727 `bison -v' segfaults.
1728 Reported by Piotr Gackiewicz, and fixed by Neil Booth.
1730 * tests/regression.m4: New file.
1731 Include the core of the sample provided by Piotr Gackiewicz.
1732 * src/reader.c (parse_token_decl): Diagnose bad cases, and proceed
1735 2000-10-04 Akim Demaille <akim@epita.fr>
1737 * src/reader.c (parse_expect_decl): Keep `count' within the size
1741 2000-10-02 Paul Eggert <eggert@twinsun.com>
1743 * bison.s1 (yyparse): Assign the default value
1744 unconditionally, to avoid a GCC warning and make the parser a
1747 2000-10-02 Akim Demaille <akim@epita.fr>
1749 * src/getargs.c (getargs): Don't dump `--help' on unrecognized
1752 2000-10-02 Akim Demaille <akim@epita.fr>
1754 * src/derives.c, src/print.c, src/reduce.c: To ease the
1755 translation, move some `\n' out of the translated strings.
1757 2000-10-02 Akim Demaille <akim@epita.fr>
1759 The location tracking mechanism is precious for parse error
1760 messages. Nevertheless, it is enabled only when `@n' is used in
1761 the grammar, which is a different issue (you can use it in error
1762 message, but not in the grammar per se). Therefore, there should
1763 be another means to enable it.
1765 * src/getargs.c (getargs): Support `--locations'.
1767 * src/getargs.h (locationsflag): Export it.
1768 * src/lex.c (percent_table): Support `%locations'.
1769 * src/reader.c (yylsp_needed): Remove this variable, now replaced
1770 with `locationsflag'.
1771 * doc/bison.texinfo: Document `--locations' and `%locations'.
1773 * tests/calc.m4: Test it.
1775 For regularity of the names, replace each
1776 (nolineflag, toknumflag, rawtokenumflag, noparserflag): with...
1777 (no_lineflag, token_tableflag, rawflag, no_parserflag): this.
1778 In addition replace each `flag' with `_flag'.
1780 2000-10-02 Akim Demaille <akim@epita.fr>
1782 Also test parse error messages, including with YYERROR_VERBOSE.
1784 * tests/calc.m4 (calc.y): Add support for `exp = exp' (non
1786 Use it to check the computations.
1787 Use it to check `nonassoc' is honored.
1788 (AT_DATA_CALC_Y): Equip `calc.y' with YYERROR_VERBOSE when passed
1789 `--yyerror-verbose'.
1790 (_AT_CHECK_CALC): Adjust to this option.
1791 (_AT_CHECK_CALC_ERROR): New macro to check parse error messages.
1793 2000-10-02 Akim Demaille <akim@epita.fr>
1795 Test also `--verbose', `--defines' and `--name-prefix'. Testing
1796 the latter demonstrates a flaw in the handling of non debugging
1797 parsers introduced by myself on 2000-03-16: `#define yydebug 0'
1798 was used in order to simplify:
1814 unfortunately this leads to a CPP conflict when
1815 `--name-prefix=foo' is used since it produces `#define yydebug
1818 * src/bison.s1 [!YYDEBUG]: Do not define yydebug.
1819 (YYDPRINTF): New macro.
1821 * tests/calc.m4 (AT_CHECK_CALC): Do require a title, build it from
1823 Also test `--verbose', `--defines' and `--name-prefix'.
1825 2000-10-02 Akim Demaille <akim@epita.fr>
1827 Improve the readability of the produced parsers.
1829 * src/bison.s1: Formatting changes.
1830 Improve the comment related to the `$' mark.
1831 (yydefault): Don't fall through to `yyresume': `goto' there.
1832 * src/output.c (output_parser): When the `$' is met, skip the end
1834 New variable, `number_of_dollar_signs', to check there's exactly
1835 one `$' in the parser skeleton.
1837 2000-10-02 Akim Demaille <akim@epita.fr>
1839 * lib/xstrdup.c: New file, from the fileutils.
1840 * src/reader.c (parse_token_decl, get_type_name, parse_type_decl)
1841 (parse_assoc_decl, parse_thong_decl, get_type): Use `xstrdup'
1842 instead of strlen + xmalloc + strcpy.
1843 * src/symtab.c (copys): Remove, use xstrdup instead.
1845 2000-10-02 Akim Demaille <akim@epita.fr>
1847 * src/gram.h (associativity): New enum type which replaces the
1848 former CPP macros `RIGHT_ASSOC', `LEFT_ASSOC' and `NON_ASSOC' with
1849 `right_assoc', `left_assoc' and `non_assoc'.
1850 Adjust all dependencies.
1851 * src/reader.c: Formatting changes.
1852 (LTYPESTR): Don't define it, use it as a literal in
1853 `reader_output_yylsp'.
1854 * src/symtab.h (symbol_class): New enum type which replaces the
1855 former CPP macros `SUNKNOWN', `STOKEN and `SNTERM' with
1856 `sunknown', `stoken and `snterm'.
1858 2000-10-02 Akim Demaille <akim@epita.fr>
1860 * src/getargs.c (fixed_outfiles): Rename as...
1861 (yaccflag): for consistency and accuracy.
1862 Adjust dependencies.
1864 2000-10-02 Akim Demaille <akim@epita.fr>
1866 Use the more standard files `xalloc.h' and `xmalloc.c' instead of
1867 Bison's `allocate.c' and `alloc.h'. This patch was surprisingly
1868 difficult and introduced a lot of core dump. It turns out that
1869 Bison used an implementation of `xmalloc' based on `calloc', and
1870 at various places it does depend upon the initialization to 0. I
1871 have not tried to isolate the pertinent places, and all the former
1872 calls to Bison's `xmalloc' are now using `XCALLOC'. Someday,
1873 someone should address this issue.
1875 * src/allocate.c, src/alloc.h, m4/bison-decl.m4: Remove.
1876 * lib/xmalloc.c, lib/xalloc.h, m4/malloc.m4, m4/realloc.m4: New
1878 Adjust dependencies.
1879 * src/warshall.h: New file.
1882 2000-10-02 Akim Demaille <akim@epita.fr>
1884 Various anti-`extern in *.c' changes.
1886 * src/system.h: Include `assert.h'.
1888 2000-10-02 Akim Demaille <akim@epita.fr>
1890 * src/state.h (nstates, final_state, first_state, first_shift)
1891 (first_reduction): Move their exportation from here...
1892 * src/LR0.h: to here.
1893 Adjust dependencies.
1894 * src/getargs.c (statisticsflag): New variable.
1895 Add support for `--statistics'.
1896 Adjust dependencies.
1898 Remove a lot of now useless `extern' statements in most files.
1900 2000-10-02 Akim Demaille <akim@epita.fr>
1902 * src/LR0.h: New file.
1905 2000-10-02 Akim Demaille <akim@epita.fr>
1907 * src/print.h: New file.
1909 * src/print.c: Formatting and ordering changes.
1910 (verbose, terse): Replace with...
1911 (print_results): this new function.
1912 Adjust dependencies.
1914 2000-10-02 Akim Demaille <akim@epita.fr>
1916 * src/conflicts.c (conflict_report): New function.
1917 (conflict_log, verbose_conflict_log): Replace with...
1918 (print_conflicts): this function.
1919 Adjust dependencies.
1920 * src/conflicts.h: New file.
1921 Propagate its inclusion.
1923 2000-10-02 Akim Demaille <akim@epita.fr>
1925 * src/nullable.h: New file.
1926 Propagate its inclusion.
1927 * src/nullable.c: Formatting changes.
1929 2000-10-02 Akim Demaille <akim@epita.fr>
1931 * src/reduce.h: New file.
1932 Propagate its inclusion.
1933 * src/reduce.c: Topological sort and other formatting changes.
1934 (bool, TRUE, FALSE): Move their definition to...
1935 * src/system.h: here.
1937 2000-10-02 Akim Demaille <akim@epita.fr>
1939 * src/files.c: Formatting changes.
1940 (tryopen, tryclose, openfiles): Rename as...
1941 (xfopen, xfclose, open_files): this.
1942 (stringappend): static.
1943 * src/files.h: Complete the list of exported symbols.
1946 2000-10-02 Akim Demaille <akim@epita.fr>
1948 * src/reader.h: New file.
1949 Propagate its use instead of tedious list of `extern' and
1951 * src/reader.c: Formatting changes, topological sort,
1954 2000-10-02 Akim Demaille <akim@epita.fr>
1956 * src/lex.h: Prototype `lex.c' exported functions.
1957 * src/reader.c: Adjust.
1958 * src/lex.c: Formatting changes.
1959 (safegetc): Rename as...
1962 2000-10-02 Akim Demaille <akim@epita.fr>
1964 * src/lalr.h: New file.
1965 Propagate its inclusion instead of prototypes and `extern'.
1966 * src/lalr.c: Formatting changes, topological sorting etc.
1968 2000-10-02 Akim Demaille <akim@epita.fr>
1970 * src/output.c (token_actions): Introduce a temporary array,
1971 YYDEFACT, that makes it possible for this function to use
1974 2000-10-02 Akim Demaille <akim@epita.fr>
1976 `user_toknums' is output as a `short[]' in `output.c', while it is
1977 defined as a `int[]' in `reader.c'. For consistency with the
1978 other output tables, `user_toknums' is now defined as a table of
1981 * src/reader.c (user_toknums): Be a short table instead of an int
1983 Adjust dependencies.
1985 Factor the short table outputs.
1987 * src/output.c (output_short_table): New function.
1988 * src/output.c (output_gram, output_stos, output_rule_data)
1989 (output_base, output_table, output_check): Use it.
1991 2000-10-02 Akim Demaille <akim@epita.fr>
1993 * src/output.c (output): Topological sort of the functions, in
1994 order to get rid of the `static' prototypes.
1995 No longer use `register'.
1996 * src/output.h: New file.
1997 Propagate its inclusion in files explicitly prototyping functions
2000 2000-09-21 Akim Demaille <akim@epita.fr>
2002 * src/atgeneral.m4: Update from Autoconf.
2004 2000-09-21 Akim Demaille <akim@epita.fr>
2006 * src/closure.h: New file.
2007 * src/closure.c: Formatting changes, topological sort over the
2008 functions, use of closure.h.
2009 (initialize_closure, finalize_closure): Rename as...
2010 (new_closure, free_closure): these. Adjust dependencies.
2011 * src/LR0.c: Formatting changes, topological sort, use of
2013 (initialize_states): Rename as...
2015 * src/Makefile.am (noinst_HEADERS): Adjust.
2017 2000-09-20 Akim Demaille <akim@epita.fr>
2019 * src/acconfig.h: Don't protect config.h against multiple
2021 Don't define PARAMS.
2022 * src/system.h: Define PARAMS.
2023 Remove some of the ad-hoc CPP magic for DOS, VMS etc.: this is the
2024 purpose of config.h. system.h must not try to fix wrong
2025 definitions in config.h.
2027 2000-09-20 Akim Demaille <akim@epita.fr>
2029 * src/derives.h: New file.
2030 * src/main.c, src/derives.h: Use it.
2032 * src/Makefile.am (noinst_HEADERS): Adjust.
2034 2000-09-20 Akim Demaille <akim@epita.fr>
2036 * tests/atgeneral.m4: Update from Autoconf.
2037 * tests/calc.m4 (_AT_DATA_CALC_Y, AT_DATA_CALC_Y, _AT_CHECK_CALC)
2038 (AT_CHECK_CALC): New macros.
2039 Use these macros to test bison with options `', `--raw',
2040 `--debug', `--yacc', `--yacc --debug'.
2042 2000-09-19 Akim Demaille <akim@epita.fr>
2044 * src/output.c: Formatting changes.
2045 * src/machine.h: Remove, leaving its contents in...
2046 * src/system.h: here.
2048 Adjust all dependencies on stdio.h and machine.h.
2049 * src/getargs.h: New file.
2050 Let all `extern' declarations about getargs.c be replaced with
2051 inclusion of `getargs.h'.
2052 * src/Makefile.am (noinst_HEADERS): Adjust.
2054 * tests/calc.m4 (yyin): Be initialized in main, not on the global
2056 (yyerror): Returns void, not int.
2057 * doc/bison.texinfo: Formatting changes.
2059 2000-09-19 Akim Demaille <akim@epita.fr>
2061 * tests/calc.m4 (calc.y): Do not assign to stdin, as it's not
2064 2000-09-18 Akim Demaille <akim@epita.fr>
2066 * configure.in: Append WARNING_CFLAGS to CFLAGS.
2067 * src/Makefile.am (INCLUDES): Don't.
2068 Be ready to fetch headers in lib/.
2070 2000-09-18 Akim Demaille <akim@epita.fr>
2072 * doc/bison.texinfo: Update the copyright.
2073 ANSIfy and GNUify the examples.
2074 Remove the old menu.
2076 2000-09-18 Akim Demaille <akim@epita.fr>
2078 First set of tests: use the `calc' example from the documentation.
2080 * src/bison.s1 (yyparse): Condition the code using `yytname' which
2081 is defined only when YYDEBUG is.
2082 * m4/atconfig.m4 (AT_CONFIG): Adjust to Autoconf 2.13.
2083 * src/files.c (tryopen, tryclose): Formatting changes.
2084 Move to the top and be static.
2085 * src/reader.c (read_signed_integer): Likewise.
2086 * tests/calc.m4: New file.
2087 * Makefile.am, suite.m4: Adjust.
2088 * m4/atconfig.m4: Set BISON_SIMPLE and BISON_HAIRY.
2090 2000-09-18 Akim Demaille <akim@epita.fr>
2092 Add support for an Autotest test suite for Bison.
2094 * m4/m4.m4, m4/atconfig.m4: New files.
2095 * m4/Makefile.am (EXTRA_DIST): Adjust.
2096 * tests/suite.m4, tests/Makefile.am, tests/atgeneral.m4: New
2098 * src/getargs.c: Display a more standard --version message.
2099 * src/reader.c (reader): Formatting changes.
2100 No longer depend upon VERSION_STRING.
2101 * configure.in: No longer use `dnl'.
2102 Set up the test suite and the new directory `tests/.
2103 (VERSION_STRING): Remove.
2105 2000-04-14 Akim Demaille <akim@epita.fr>
2107 * src/reader.c (copy_comment2): New function, same as former
2108 `copy_comment', but outputs into two FILE *.
2109 (copy_comment): Use it.
2110 (parse_union_decl): Use it.
2111 (get_type, parse_start_decl): Use the same `invalid' message.
2112 (parse_start_decl, parse_union_decl): Use the same `multiple'
2114 (parse_union_decl, copy_guard, copy_action): Use the same
2115 `unmatched' message.
2116 * m4/Makefile.am (EXTRA_DIST): Add `warning.m4'.
2118 2000-03-31 Akim Demaille <akim@epita.fr>
2120 * src/files.c (tryopen, tryclose): Move to the top.
2123 2000-03-31 Akim Demaille <akim@epita.fr>
2125 * src/main.c (main): Don't call `done', exit does it.
2127 2000-03-31 Akim Demaille <akim@epita.fr>
2129 * allocate.c: s/return (foo)/return foo/.
2132 * output.c: Likewise.
2133 * reader.c: Likewise.
2134 * symtab.c: Likewise.
2135 * vmsgetargs.c: Likewise.
2137 2000-03-31 Akim Demaille <akim@epita.fr>
2139 Clean up the error reporting functions.
2141 * src/report.c: New file.
2142 * src/report.h: Likewise.
2143 * src/Makefile.am: Adjust.
2144 * m4/error.m4: New file.
2145 * m4/Makefile.am: Adjust.
2146 * configure.in (jm_PREREQ_ERROR): Call it.
2147 * src/main.c (int_to_string, banner, fatal_banner, warn_banner):
2149 (fatal, fatals): Remove. All callers use complain.c::fatal.
2150 (warn, warni, warns, warnss, warnss): Remove. All callers use
2151 complain.c::complain.
2152 (toomany): Remove, use fatal instead.
2153 * src/files.c (done): No argument, use complain_message_count.
2154 * src/main.c (main): Register `done' to `atexit'.
2156 * src/getargs.c (usage): More `fputs', less `fprintf'.
2158 2000-03-28 Akim Demaille <akim@epita.fr>
2160 * lib/: New directory.
2161 * Makefile.am (SUBDIRS): Adjust.
2162 * configure.in: Adjust.
2163 (LIBOBJS): Although not used yet, AC_SUBST it, otherwise it's
2165 * src/alloca.c: Moved to lib/.
2166 * src/getopt.c: Likewise.
2167 * src/getopt1.c: Likewise.
2168 * src/getopt.h: Likewise.
2169 * src/ansi2knr.c: Likewise.
2170 * src/ansi2knr.1: Likewise.
2171 * src/Makefile.am: Adjust.
2172 * lib/Makefile.am: New file.
2174 2000-03-28 Akim Demaille <akim@epita.fr>
2176 * src/getargs.c (usage): Refresh the help message.
2178 2000-03-17 Akim Demaille <akim@epita.fr>
2180 * src/getopt1.c: Updated from textutils 2.0e
2181 * src/getopt.c: Likewise.
2182 * src/getopt.h: Likewise.
2184 2000-03-17 Akim Demaille <akim@epita.fr>
2186 * src/Makefile.am (bison.simple): Fix the awk program: quote only
2187 the file name, not the whole `#line LINE FILE'.
2189 2000-03-17 Akim Demaille <akim@epita.fr>
2191 On syntax errors, report the token on which we choked.
2193 * src/bison.s1 (yyparse): In the label yyerrlab, when
2194 YYERROR_VERBOSE, add yychar in msg.
2196 2000-03-17 Akim Demaille <akim@epita.fr>
2198 * src/reader.c (copy_at): New function.
2199 (copy_guard): Use it.
2200 (copy_action): Use it.
2202 2000-03-17 Akim Demaille <akim@epita.fr>
2204 Be kind to translators, save some useless translations.
2206 * src/main.c (banner): New function.
2207 (fatal_banner): Use it.
2208 (warn_banner): Use it.
2210 2000-03-17 Akim Demaille <akim@epita.fr>
2212 * src/reader.c (copy_definition): Use copy_string and
2213 copy_comment. Removed now unused `match', `ended',
2215 (copy_comment, copy_string): Moved, to be visible from
2218 2000-03-17 Akim Demaille <akim@epita.fr>
2220 * src/reader.c (copy_string): Declare `static inline'. No
2221 problems with inline, since it is checked by configure.
2222 (copy_comment): Likewise.
2224 2000-03-17 Akim Demaille <akim@epita.fr>
2226 * src/reader.c (packsymbols): Formatting changes.
2228 2000-03-17 Akim Demaille <akim@epita.fr>
2230 * src/reader.c (copy_comment): New function, factored out from:
2231 (copy_action): Use it. Removed now unused `match', `ended',
2233 (copy_guard): Likewise.
2235 2000-03-17 Akim Demaille <akim@epita.fr>
2237 * src/reader.c (copy_string): New function, factored out from:
2238 (copy_action): Use it.
2239 (copy_guard): Likewise.
2241 2000-03-17 Akim Demaille <akim@epita.fr>
2243 Change the handling of @s so that they behave exactly like $s.
2244 There is now a pseudo variable @$ (readble and writable), location
2245 of the lhs of the rule (by default ranging from the location of
2246 the first symbol of the rhs, to the location of the last symbol,
2247 or, if the rhs is empty, YYLLOC).
2249 * src/bison.s1 [YYLSP_NEEDED] (yyloc): New variable, twin of
2251 (yyparse): When providing a default semantic action, provide a
2252 default location action.
2253 (after the $): No longer change `*YYLSP', just stack YYLOC the
2254 same way you stack YYVAL.
2255 * src/reader.c (read_declarations): Use warns.
2256 (copy_guard, case '@'): Also recognize `@$', expanded as `YYLOC'.
2257 (copy_action, case '@'): Likewise.
2258 Use a standard error message, to save useless work from
2261 2000-03-17 Akim Demaille <akim@epita.fr>
2263 * src/bison.s1: Formatting and cosmetics changes.
2264 * src/reader.c: Likewise.
2265 Update the Copyright notice.
2267 2000-03-17 Akim Demaille <akim@epita.fr>
2269 * src/bison.s1 (#line): All set to `#line' only, since the
2270 Makefile now handles them.
2272 2000-03-16 Akim Demaille <akim@epita.fr>
2274 * src/output.c (output_rule_data): Output the documentation of
2276 (Copyright notice): Update.
2279 2000-03-16 Akim Demaille <akim@epita.fr>
2281 * src/bison.s1 [!YYDEBUG]: Define yydebug to 0. This allows to
2282 remove most `#if YYDEBUG != 0', since `if (yydebug)' is enough.
2283 One `#if YYDEBUG' remains, since it uses variables which are
2284 defined only if `YYDEBUG != 0'.
2286 2000-03-16 Akim Demaille <akim@epita.fr>
2288 * src/bison.s1 (yyparse): Reorganize the definitions of the stacks
2289 and related variables so that the similarities are highlighted.
2291 2000-03-16 Akim Demaille <akim@epita.fr>
2293 * src/bison.s1: Properly indent CPP directives.
2295 2000-03-16 Akim Demaille <akim@epita.fr>
2297 * src/bison.s1: Properly indent the `alloca' CPP section.
2299 2000-03-16 Akim Demaille <akim@epita.fr>
2301 Do not hard code values of directories in `configure.in'.
2302 Update the `configure' tool chain.
2304 * configure.in (XPFILE, XPFILE1, LOCALEDIR): Remove, handled by
2306 (VERSION_STRING): Use the third arg of AC_DEFINE_UNQUOTED.
2307 (AC_OUTPUT): Add m4/Makefile.
2308 Bump to bison 1.28a, 1.29 has never been released.
2309 * acconfig.h (XPFILE, XPFILE1, LOCALEDIR): Remove, since they are
2310 handled via src/Makefile.am.
2311 (VERSION_STRING, PROTOTYPES, ENABLE_NLS, HAVE_CATGETS,
2312 HAVE_GETTEXT, HAVE_LC_MESSAGES, HAVE_STPCPY): Remove, handled by
2314 * Makefile.am (SUBDIRS): Add m4.
2315 (ACLOCAL_AM_FLAGS): New variable.
2316 (AUTOMAKE_OPTIONS): Add check-news.
2317 * src/Makefile.am (bison.simple): Use awk to replace #line lines with
2318 the proper line number and file name.
2319 (DEFS): Propagate the location of bison library files and of the
2321 (INCLUDES): Added `-I ..' so that one can compile with srcdir !=
2323 * acinclude.m4: Remove, replaced by the directory m4.
2324 * m4/Makefile.am (EXTRA_DIST): New variable.
2325 * m4/gettext.m4: New file, from the fileutils.
2326 * m4/lcmessage.m4: Likewise
2327 * m4/progtest.m4: Likewise.
2328 * m4/bison-decl.m4: New file, extracted from former acinclude.m4.
2330 2000-03-10 Akim Demaille <akim@epita.fr>
2333 Formatting changes of various comments.
2334 Respect the GNU coding standards at various places.
2335 Don't use `_()' when no translation is needed.
2337 1999-12-13 Jesse Thilo <jthilo@gnu.org>
2340 OS/2 honors TMPDIR environment variable.
2342 1999-12-13 Jesse Thilo <jthilo@gnu.org>
2344 * doc/bison.texinfo: Tweaked spelling and grammar.
2346 Removed reference to price of printed copy.
2347 Mention BISON_SIMPLE and BISON_HAIRY.
2349 1999-12-13 Jesse Thilo <jthilo@gnu.org>
2351 * configure.in, NEWS:
2352 Bison 1.29 released.
2354 1999-10-27 Jesse Thilo <jthilo@gnu.org>
2356 * doc/.cvsignore, doc/Makefile.am, doc/refcard.tex:
2357 Added reference card.
2359 1999-07-26 Jesse Thilo <jthilo@gnu.org>
2361 * po/ru.po: Added Russian translation.
2363 1999-07-26 Jesse Thilo <jthilo@gnu.org>
2365 * configure.in: Added Russian translation.
2367 1999-07-06 Jesse Thilo <jthilo@gnu.org>
2369 * configure.in, NEWS, README:
2370 Released version 1.28.
2372 1999-06-14 Jesse Thilo <jthilo@gnu.org>
2375 Squashed redefinition warning on some systems.
2377 * src/getargs.c, src/Makefile.am, src/reader.c, src/version.c:
2378 Have configure build version string instead of relying on ANSI string
2381 1999-06-14 Jesse Thilo <jthilo@gnu.org>
2383 * po/POTFILES.in: Got rid of version.c.
2385 1999-06-14 Jesse Thilo <jthilo@gnu.org>
2387 * acconfig.h, configure.in:
2388 Have configure build version string instead of relying on ANSI string
2391 1999-06-08 Jesse Thilo <jthilo@gnu.org>
2394 Dropped mention of `+' for long-named options.
2396 1999-05-30 Jesse Thilo <jthilo@gnu.org>
2398 * src/files.c: Added <unistd.h> for unlink().
2400 * src/Makefile.am, src/system.h:
2403 1999-05-30 Jesse Thilo <jthilo@gnu.org>
2405 * README: Added a FAQ list.
2407 * configure.in, acconfig.h:
2410 1999-05-30 Jesse Thilo <jthilo@gnu.org>
2412 * doc/FAQ, doc/Makefile.am:
2415 1999-05-19 Jesse Thilo <jthilo@gnu.org>
2417 * src/alloc.h, src/symtab.h, src/version.c:
2418 Protected inclusion of "config.h" with HAVE_CONFIG_H.
2420 1999-04-18 Jesse Thilo <jthilo@gnu.org>
2422 * src/.cvsignore, src/Makefile.am:
2423 Reorganized: sources in `src', documentation in `doc'.
2425 * src/lex.c (literalchar):
2426 fixed the code for escaping double quotes (thanks
2429 1999-04-18 Jesse Thilo <jthilo@gnu.org>
2431 * po/de.po, po/es.po, po/fr.po, po/nl.po, po/POTFILES.in:
2432 Adjusted paths to reflect directory reorganization.
2434 1999-04-18 Jesse Thilo <jthilo@gnu.org>
2436 * doc/.cvsignore, doc/Makefile.am:
2437 Reorganized: sources in `src', documentation in `doc'.
2439 1999-04-18 Jesse Thilo <jthilo@gnu.org>
2442 Updated AC_INIT file to reflect directory reorganization.
2444 * configure.in, .cvsignore, Makefile.am, POTFILES.in:
2445 Reorganized: sources in `src', documentation in `doc'.
2447 1999-04-13 Jesse Thilo <jthilo@gnu.org>
2450 Don't declare calloc() and realloc() if not necessary.
2452 1999-04-13 Jesse Thilo <jthilo@gnu.org>
2454 * configure.in, acconfig.h, acinclude.m4:
2455 Don't declare calloc() and realloc() if not necessary.
2457 1999-03-23 Jesse Thilo <jthilo@gnu.org>
2459 * po/.cvsignore: Added i18n support.
2461 1999-03-23 Jesse Thilo <jthilo@gnu.org>
2463 * acconfig.h, configure.in, Makefile.am:
2466 1999-03-22 Jesse Thilo <jthilo@gnu.org>
2468 * src/bison.s1: Fixed #line numbers.
2470 1999-03-15 Jesse Thilo <jthilo@gnu.org>
2472 * po/es.po, po/fr.po, po/nl.po, po/de.po:
2473 Added PO files from Translation Project.
2475 1999-03-03 Jesse Thilo <jthilo@gnu.org>
2478 Added support for non-ANSI compilers (ansi2knr).
2480 1999-02-16 Jesse Thilo <jthilo@gnu.org>
2482 * configure.in: Bumped version number to 1.27.
2485 Added `bison.simple' to list of files removed by `make distclean'.
2487 1999-02-12 Jesse Thilo <jthilo@gnu.org>
2489 * src/files.c, src/files.h:
2490 Defined locations of parser files in config.h instead of Makefile.
2492 1999-02-12 Jesse Thilo <jthilo@gnu.org>
2494 * acconfig.h, acinclude.m4, configure.in, Makefile.am:
2495 Defined locations of parser files in config.h instead of Makefile.
2497 1999-02-09 Jesse Thilo <jthilo@gnu.org>
2500 Removed inappropriate use of $< macro.
2502 1999-02-05 Jesse Thilo <jthilo@gnu.org>
2504 * po/Makefile.in.in, po/POTFILES.in:
2505 Add `po' directory skeleton.
2507 1999-01-27 Jesse Thilo <jthilo@gnu.org>
2509 * README: Document help-bison list.
2511 * configure.in: Add check for mkstemp().
2513 1999-01-20 Jesse Thilo <jthilo@gnu.org>
2515 * src/conflicts.c, src/LR0.c, src/output.c, src/reader.c:
2516 Hush a few compiler warnings.
2519 Add tryclose(), which verifies that fclose was successful.
2520 Hush a couple of compiler warnings.
2522 1999-01-20 Jesse Thilo <jthilo@gnu.org>
2524 * Makefile.am, OChangeLog:
2525 ChangeLog is now automatically generated. Include the old version as
2528 1999-01-14 Jesse Thilo <jthilo@gnu.org>
2530 * 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:
2533 1999-01-14 Jesse Thilo <jthilo@gnu.org>
2535 * doc/bison.texinfo: Fix formatting glitch.
2537 * doc/bison.texinfo: Update FSF address.
2539 1999-01-14 Jesse Thilo <jthilo@gnu.org>
2541 * acconfig.h: Update FSF address.
2543 1999-01-08 Jesse Thilo <jthilo@gnu.org>
2546 Don't define PACKAGE here, since config.h defines it.
2548 1998-12-30 Jesse Thilo <jthilo@gnu.org>
2550 * src/reader.c: Update copyright date.
2553 Ditch sprintf to statically-sized buffers in fatal/warn functions in
2554 favor of output directly to stderr (avoids buffer overruns).
2556 * src/reader.c: Some checks for premature EOF.
2558 * 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:
2559 Use prototypes if the compiler understands them.
2561 * src/files.c: Honor TMPDIR on Unix hosts.
2562 Use prototypes if the compiler understands them.
2565 Fix a couple of buffer overrun bugs.
2566 Use prototypes if the compiler understands them.
2568 * src/system.h: Include unistd.h and ctype.h.
2569 Use #ifdef instead of #if for NLS symbols.
2571 1998-12-30 Jesse Thilo <jthilo@gnu.org>
2573 * doc/bison.texinfo:
2574 Delete comment "consider using @set for edition number, etc..." since
2575 we now are doing so.
2577 1998-12-30 Jesse Thilo <jthilo@gnu.org>
2580 Use prototypes if the compiler understands them.
2582 * NEWS: Document 1.26 highlights.
2584 * Makefile.am: Require Automake 1.3 or later.
2587 Use prototypes if the compiler understands them.
2589 1998-12-29 Jesse Thilo <jthilo@gnu.org>
2592 Use VERSION symbol from automake for version number.
2594 1998-12-29 Jesse Thilo <jthilo@gnu.org>
2596 * acconfig.h, configure.in, version.cin:
2597 Use VERSION symbol from automake for version number.
2599 1998-11-28 Jesse Thilo <jthilo@gnu.org>
2602 Distribute original version of simple parser (bison.s1), not built
2603 version (bison.simple).
2605 1998-11-28 Jesse Thilo <jthilo@gnu.org>
2607 * doc/bison.texinfo: Add info dir entry.
2609 * doc/bison.texinfo:
2610 Let automake put version number into documentation.
2612 1998-11-26 Jesse Thilo <jthilo@gnu.org>
2614 * src/bison.cld, src/build.com, src/vmshlp.mar:
2615 Add non-RCS files from /gd/gnu/bison.
2617 1998-11-26 Jesse Thilo <jthilo@gnu.org>
2620 Document the BISON_HAIRY and BISON_SIMPLE variables.
2622 1998-11-25 Jesse Thilo <jthilo@gnu.org>
2624 * src/version.c: Build version.c automatically.
2627 Fix token numbering (used to start at 258, not 257).
2629 * src/system.h: Include config.h.
2631 * src/getargs.c: Update bug report address.
2633 * src/alloca.c, src/getopt1.c, src/getopt.c, src/getopt.h:
2634 Get latest copies of alloca.c, getopt.c, getopt.h, getopt1.c from gnu.org.
2636 1998-11-25 Jesse Thilo <jthilo@gnu.org>
2639 Rename bison.simple to bison.s1 (bison.simple is then built from bison.s1).
2641 * configure.in, version.cin:
2642 Build version.c automatically.
2644 * AUTHORS: Add AUTHORS file.
2646 * README: Update bug report address.
2649 Rename bison.simple to bison.s1 (bison.simple is then built from bison.s1).
2651 * configure.in, Makefile.am, Makefile.in, stamp-h.in:
2654 1998-11-25 Jesse Thilo <jthilo@gnu.org>
2656 * doc/bison.texinfo: Clean up some formatting.
2658 1998-05-05 Richard Stallman <rms@gnu.org>
2660 * doc/bison.texinfo:
2661 Explain better why to make a pure parser.
2663 1998-01-05 Richard Stallman <rms@gnu.org>
2665 * src/files.c (openfiles):
2666 [_WIN32 && !__CYGWIN32__] Use TEMP or Temp to
2667 find a temporary directory, if possible. Do not unlink files while
2670 1997-08-25 Richard Stallman <rms@gnu.org>
2672 * src/reader.c (stack_offset;):
2673 Change some warni to warns.
2675 * src/lex.c (literalchar): Use warns, not warni.
2677 1997-06-28 Richard Stallman <rms@gnu.org>
2679 * src/bison.s1: Add a Bison version comment.
2681 * src/main.c (fatal, warn, berror):
2684 1997-06-28 Richard Stallman <rms@gnu.org>
2686 * Makefile.in (bison_version): New variable.
2687 (dist): Use that variable.
2688 (bison.s1): Substitute the Bison version into bison.simple.
2690 * bison.simple: Add a Bison version comment.
2692 1997-06-18 Richard Stallman <rms@gnu.org>
2694 * src/main.c (fatal, warn, berror):
2695 Make error messages standard.
2696 (toomany): Improve error message text.
2698 * 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:
2699 new.h renamed to alloc.h.
2701 1997-06-18 Richard Stallman <rms@gnu.org>
2703 * Makefile.in: new.h renamed to alloc.h.
2705 1997-05-24 Richard Stallman <rms@gnu.org>
2707 * src/lex.c (literalchar):
2708 Fix the code for escaping \, " and '.
2710 (lex): Avoid trouble when there are many chars
2711 to discard in a char literal with just several chars in it.
2713 1997-05-17 Richard Stallman <rms@gnu.org>
2716 Use malloc, if using alloca is troublesome.
2717 (YYSTACK_USE_ALLOCA): New flag macro.
2718 Define it for some systems and compilers.
2719 (YYSTACK_ALLOC): New macro.
2720 (yyparse): Use YYSTACK_ALLOC to allocate stack.
2721 If it was malloc'd, free it.
2723 1997-05-17 Richard Stallman <rms@gnu.org>
2726 Use malloc, if using alloca is troublesome.
2727 (YYSTACK_USE_ALLOCA): New flag macro.
2728 Define it for some systems and compilers.
2729 (YYSTACK_ALLOC): New macro.
2730 (yyparse): Use YYSTACK_ALLOC to allocate stack.
2731 If it was malloc'd, free it.
2733 1997-04-23 Richard Stallman <rms@gnu.org>
2736 (alloca) [__hpux]: Always define as __builtin_alloca.
2738 1997-04-23 Richard Stallman <rms@gnu.org>
2741 (alloca) [__hpux]: Always define as __builtin_alloca.
2743 1997-04-22 Richard Stallman <rms@gnu.org>
2746 [__hpux]: Include alloca.h (right for HPUX 10)
2747 instead of declaring alloca (right for HPUX 9).
2749 * src/bison.s1 (__yy_memcpy):
2750 Declare arg `count' as unsigned int.
2751 (yyparse): Cast third arg to __yy_memcpy to unsigned int.
2753 1997-04-22 Richard Stallman <rms@gnu.org>
2756 [__hpux]: Include alloca.h (right for HPUX 10)
2757 instead of declaring alloca (right for HPUX 9).
2759 * bison.simple (__yy_memcpy):
2760 Declare arg `count' as unsigned int.
2761 (yyparse): Cast third arg to __yy_memcpy to unsigned int.
2763 1997-01-03 Richard Stallman <rms@gnu.org>
2765 * src/allocate.c: [__STDC__ or _MSC_VER]:
2766 Declare calloc and realloc to return void *.
2768 1997-01-02 Richard Stallman <rms@gnu.org>
2771 [_MSC_VER]: Include stdlib.h and process.h.
2772 [_MSC_VER] (getpid): Define as macro--translate it to _getpid.
2774 * src/main.c (main): Return FAILURE as a value.
2775 (printable_version): Declare arg as int, not char.
2777 1997-01-02 Richard Stallman <rms@gnu.org>
2779 * Makefile.in (dist):
2780 Explicitly check for symlinks, and copy them.
2782 1996-12-19 Richard Stallman <rms@gnu.org>
2785 [_MSC_VER] (XPFILE, XPFILE1): Define, if not already defined.
2787 1996-12-18 Paul Eggert <eggert@gnu.org>
2789 * src/bison.s1 (yyparse):
2790 If __GNUC__ and YYPARSE_PARAM are both defined,
2791 declare yyparse to have a void * argument.
2793 1996-12-18 Paul Eggert <eggert@gnu.org>
2795 * bison.simple (yyparse):
2796 If __GNUC__ and YYPARSE_PARAM are both defined,
2797 declare yyparse to have a void * argument.
2799 1996-12-17 Richard Stallman <rms@gnu.org>
2801 * src/reduce.c (nbits): Add some casts.
2803 1996-08-12 Richard Stallman <rms@gnu.org>
2805 * src/bison.s1: Test _MSDOS as well as _MSDOS_.
2807 1996-08-12 Richard Stallman <rms@gnu.org>
2809 * bison.simple: Test _MSDOS as well as _MSDOS_.
2811 1996-07-31 Richard Stallman <rms@gnu.org>
2814 [__sun && __i386]: Include alloca.h.
2816 1996-07-31 Richard Stallman <rms@gnu.org>
2819 [__sun && __i386]: Include alloca.h.
2821 1996-07-30 Richard Stallman <rms@gnu.org>
2823 * src/bison.s1: Comment change.
2825 * src/bison.s1: Test _MSDOS_, not MSDOS.
2827 1996-07-30 Richard Stallman <rms@gnu.org>
2829 * bison.simple: Comment change.
2831 * bison.simple: Test _MSDOS_, not MSDOS.
2833 1996-06-01 Richard Stallman <rms@gnu.org>
2835 * 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:
2836 Insert `_' macro around many string constants.
2839 Insert `_' macro around many string constants.
2841 (main): Call setlocale, bindtextdomain and textdomain.
2843 * src/system.h: [HAVE_LOCALE_H]: Include locale.h.
2844 [! HAVE_LOCALE_H] (setlocale): Define as no-op.
2845 [ENABLE_NLS]: Include libintl.h.
2846 [ENABLE_NLS] (gettext): Define.
2847 [! ENABLE_NLS] (bintextdomain, textdomain, _): Consolation definitions.
2848 (N_, PACKAGE, LOCALEDIR): New macros.
2850 1996-06-01 Richard Stallman <rms@gnu.org>
2852 * POTFILES.in: New file.
2854 * Makefile.in (allocate.o):
2855 Define target explicitly.
2857 * Makefile.in (CFLAGS): Set to @CFLAGS@.
2858 (LDFLAGS): Set to @LDFLAGS@.
2859 (configure): Run autoconf only if preceding `cd' succeeds.
2860 (bison.s1): Redirect output to temporary file then move the
2861 temporary to the target, rather than redirecting directly to bison.s1.
2862 (clean): Remove config.status and config.log.
2863 (distclean): Don't remove config.status here.
2865 1996-05-12 Richard Stallman <rms@gnu.org>
2868 (__yy_memcpy) [__cplusplus]: Reorder declarations of variables f and t.
2870 1996-05-12 Richard Stallman <rms@gnu.org>
2873 (__yy_memcpy) [__cplusplus]: Reorder declarations of variables f and t.
2875 1996-05-11 Richard Stallman <rms@gnu.org>
2877 * src/bison.s1 (__yy_memcpy):
2878 Really reorder the args, as was supposedly done on Feb 14 1995.
2879 (yyparse): Calls changed accordingly.
2881 1996-05-11 Richard Stallman <rms@gnu.org>
2883 * Makefile.in (dist): Don't use $(srcdir).
2885 * bison.simple (__yy_memcpy):
2886 Really reorder the args, as was supposedly done on Feb 14 1995.
2887 (yyparse): Calls changed accordingly.
2889 1996-01-27 Richard Stallman <rms@gnu.org>
2891 * src/output.c (output_rule_data):
2892 Test YYERROR_VERBOSE in the conditional
2893 around the definition of ttyname.
2895 1995-12-29 Richard Stallman <rms@gnu.org>
2898 Fix line numbers in #line commands.
2900 1995-12-29 Richard Stallman <rms@gnu.org>
2903 Fix line numbers in #line commands.
2905 1995-12-27 Richard Stallman <rms@gnu.org>
2907 * src/bison.s1 (YYPARSE_PARAM_DECL):
2908 In C++, make it always null.
2909 (YYPARSE_PARAM_ARG): New macro.
2910 (yyparse): Use YYPARSE_PARAM_ARG.
2912 1995-12-27 Richard Stallman <rms@gnu.org>
2914 * bison.simple (YYPARSE_PARAM_DECL):
2915 In C++, make it always null.
2916 (YYPARSE_PARAM_ARG): New macro.
2917 (yyparse): Use YYPARSE_PARAM_ARG.
2919 1995-11-29 Richard Stallman <rms@gnu.org>
2921 * doc/bison.texinfo:
2922 Describe literal string tokens, %raw, %no_lines, %token_table.
2924 1995-11-29 Daniel Hagerty <hag@gnu.org>
2926 * doc/bison.texinfo: Fixed update date
2928 1995-10-16 Richard Stallman <rms@gnu.org>
2930 * src/version.c: Version 1.25.
2932 1995-10-16 Richard Stallman <rms@gnu.org>
2934 * NEWS: *** empty log message ***
2936 1995-10-16 Richard Stallman <rms@gnu.org>
2938 * doc/bison.1, doc/bison.rnh:
2941 1995-10-15 Richard Stallman <rms@gnu.org>
2943 * src/vmsgetargs.c, src/getargs.c:
2944 Added -n, -k, and -raw switches.
2945 (noparserflag, toknumflag, rawtoknumflag): New variables.
2947 * src/symtab.h (SALIAS):
2948 New #define for adding aliases to %token.
2949 (struct bucket): Added `alias' field.
2951 * src/reduce.c (reduce_grammar):
2952 Revise error message.
2953 (print_notices): Remove final `.' from error message.
2955 * src/reader.c (reader_output_yylsp):
2957 (readgram): Use `#if 0' around code that accepted %command
2958 inside grammar rules: The documentation doesn't allow it,
2959 and it will fail since the %command processors scan for the next %.
2960 (parse_token_decl): Extended the %token
2961 declaration to allow a multi-character symbol as an alias.
2962 (parse_thong_decl): New function.
2963 (read_declarations): Added %thong declarations.
2964 (read_declarations): Handle NOOP to deal with allowing
2965 % declarations as another means to specify the flags.
2966 (readgram): Allow %prec prior to semantics embedded in a rule.
2967 (skip_to_char, read_declarations, copy_definition)
2968 (parse_token_decl, parse_start_decl, parse_type_decl)
2969 (parse_assoc_decl, parse_union_decl, parse_expect_decl)
2970 (get_type_name, copy_guard, copy_action, readgram)
2971 (get_type, packsymbols): Revised most error messages.
2972 Changed `fatal' to `warnxxx' to avoid aborting for error.
2973 Revised and use multiple warnxxx functions to avoid using VARARGS1.
2974 (read_declarations): Improve the error message for
2975 an invalid character. Do not abort.
2976 (read_declarations, copy_guard, copy_action): Use
2977 printable_version to avoid unprintable characters in printed output.
2978 (parse_expect_decl): Error if argument to %expect exceeds 10 digits.
2979 (parse_token_decl, parse_assoc_decl, parse_type_decl, get_type):
2980 Allow the type of a non-terminal can be given
2981 more than once, as long as all specifications give the same type.
2984 (output_headers, output_trailers, output, output_gram)
2985 (output_rule_data): Implement noparserflag variable.
2986 Implement toknumflag variable.
2987 (output): Call reader_output_yylsp to output LTYPESTR.
2989 * src/main.c (main):
2990 If reader sees an error, don't process the grammar.
2991 (fatals): Updated to not use VARARGS1.
2992 (printable_version, int_to_string, warn, warni, warns, warnss)
2993 (warnsss): New error reporting functions. Avoid abort for error.
2996 Added THONG and NOOP for alias processing.
2997 Added SETOPT for the new code that allows setting options with %flags.
3000 Include getopt.h. Add some extern decls.
3001 (safegetc): New function to deal with EOF gracefully.
3002 (literalchar); new function to deal with reading \ escapes.
3003 (lex): Use literalchar.
3004 (lex): Implemented "..." tokens.
3005 (literalchar, lex, parse_percent_token): Made tokenbuffer
3006 always contain the token. This includes growing the token
3007 buffer while reading an integer.
3008 (parse_percent_token): Replaced if-else statement with percent_table.
3009 (parse_percent_token): Added % declarations as another
3010 way to specify the flags -n, -l, and -r. Also added hooks for
3011 -d, -k, -y, -v, -t, -p, -b, -o, but implementation requires
3012 major changes to files.c.
3013 (lex) Retain in the incoming stream a character following
3015 (skip_white_space, lex): Revised most error messages
3016 and changed fatal to warn to avoid aborting.
3017 (percent_table): Added %thong declarations.
3019 * src/gram.h: Comment changes.
3021 * src/files.c (openfiles, open_extra_files, done):
3023 and actfile file. Handle noparserflag. Both for -n switch.
3025 * src/conflicts.c (resolve_sr_conflict):
3026 Remove use of alloca.
3028 1995-06-01 Jim Meyering <meyering@gnu.org>
3030 * doc/bison.texinfo: *** empty log message ***
3032 1995-05-06 Richard Stallman <rms@gnu.org>
3034 * src/bison.s1: Comment change.
3036 1995-05-06 Richard Stallman <rms@gnu.org>
3038 * bison.simple: Comment change.
3040 1995-05-03 Richard Stallman <rms@gnu.org>
3042 * src/version.c: Version now 1.24.
3044 * src/bison.s1: Change distribution terms.
3046 * src/version.c: Version now 1.23.
3048 1995-05-03 Richard Stallman <rms@gnu.org>
3050 * doc/bison.texinfo:
3051 Rewrite "Conditions for Using Bison".
3052 Update version to 1.24.
3054 1995-05-03 Richard Stallman <rms@gnu.org>
3056 * bison.simple: Change distribution terms.
3058 1995-02-23 Richard Stallman <rms@gnu.org>
3060 * src/files.c: Test __VMS_POSIX as well as VMS.
3062 1995-02-14 Jim Meyering <meyering@gnu.org>
3064 * src/bison.s1 (__yy_memcpy):
3065 Renamed from __yy_bcopy to avoid
3066 confusion. Reverse FROM and TO arguments to be consistent with
3069 1995-02-14 Jim Meyering <meyering@gnu.org>
3071 * bison.simple (__yy_memcpy):
3072 Renamed from __yy_bcopy to avoid
3073 confusion. Reverse FROM and TO arguments to be consistent with
3076 1994-11-10 David J. MacKenzie <djm@gnu.org>
3082 * Makefile.in (DISTFILES): Include NEWS.
3084 * Makefile.in (DISTFILES):
3085 Include install-sh, not install.sh.
3087 * configure.in: Update to Autoconf v2 macro names.
3089 1994-10-05 David J. MacKenzie <djm@gnu.org>
3091 * Makefile.in: fix typo
3093 * Makefile.in (prefix, exec_prefix):
3094 Let configure set them.
3096 1994-09-28 David J. MacKenzie <djm@gnu.org>
3098 * Makefile.in: Set datadir to $(prefix)/share.
3100 1994-09-15 Richard Stallman <rms@gnu.org>
3103 Update copyright notice and GPL version.
3105 1994-09-15 Richard Stallman <rms@gnu.org>
3108 Update copyright notice and GPL version.
3110 1994-07-12 Richard Stallman <rms@gnu.org>
3112 * src/reduce.c, src/reader.c:
3115 1994-05-05 David J. MacKenzie <djm@gnu.org>
3117 * Makefile.in: entered into RCS
3119 1994-03-26 Richard Stallman <rms@gnu.org>
3121 * src/bison.s1: entered into RCS
3123 1994-03-26 Richard Stallman <rms@gnu.org>
3125 * bison.simple: entered into RCS
3127 1994-03-25 Richard Stallman <rms@gnu.org>
3129 * src/main.c: entered into RCS
3131 1994-03-24 Richard Stallman <rms@gnu.org>
3133 * src/conflicts.c: entered into RCS
3135 1994-01-02 Richard Stallman <rms@gnu.org>
3137 * Makefile.in: *** empty log message ***
3139 1993-11-21 Richard Stallman <rms@gnu.org>
3141 * src/bison.s1: *** empty log message ***
3143 1993-11-21 Richard Stallman <rms@gnu.org>
3145 * doc/bison.texinfo: entered into RCS
3147 * doc/bison.texinfo: *** empty log message ***
3149 1993-11-21 Richard Stallman <rms@gnu.org>
3151 * bison.simple: *** empty log message ***
3153 1993-10-25 David J. MacKenzie <djm@gnu.org>
3155 * doc/bison.texinfo: *** empty log message ***
3157 1993-10-19 Richard Stallman <rms@gnu.org>
3159 * src/bison.s1: *** empty log message ***
3161 1993-10-19 Richard Stallman <rms@gnu.org>
3163 * bison.simple: *** empty log message ***
3165 1993-10-14 Richard Stallman <rms@gnu.org>
3167 * src/bison.s1: *** empty log message ***
3169 1993-10-14 Richard Stallman <rms@gnu.org>
3171 * bison.simple: *** empty log message ***
3173 1993-09-14 David J. MacKenzie <djm@gnu.org>
3175 * doc/bison.texinfo: *** empty log message ***
3177 1993-09-13 Noah Friedman <friedman@gnu.org>
3179 * Makefile.in: *** empty log message ***
3181 1993-09-10 Richard Stallman <rms@gnu.org>
3183 * src/conflicts.c: *** empty log message ***
3185 * src/system.h: entered into RCS
3187 1993-09-10 Richard Stallman <rms@gnu.org>
3189 * doc/bison.1: entered into RCS
3191 1993-09-06 Noah Friedman <friedman@gnu.org>
3193 * src/version.c: entered into RCS
3195 1993-09-06 Noah Friedman <friedman@gnu.org>
3197 * Makefile.in: *** empty log message ***
3199 1993-07-30 David J. MacKenzie <djm@gnu.org>
3201 * Makefile.in: *** empty log message ***
3203 1993-07-24 Richard Stallman <rms@gnu.org>
3205 * src/bison.s1: *** empty log message ***
3207 1993-07-24 Richard Stallman <rms@gnu.org>
3209 * bison.simple: *** empty log message ***
3211 1993-07-08 David J. MacKenzie <djm@gnu.org>
3213 * Makefile.in: *** empty log message ***
3215 1993-07-04 Richard Stallman <rms@gnu.org>
3217 * src/bison.s1: *** empty log message ***
3219 1993-07-04 Richard Stallman <rms@gnu.org>
3221 * bison.simple: *** empty log message ***
3223 1993-06-26 David J. MacKenzie <djm@gnu.org>
3225 * src/getargs.c: entered into RCS
3227 1993-06-26 David J. MacKenzie <djm@gnu.org>
3229 * doc/bison.texinfo: *** empty log message ***
3231 * doc/bison.1: New file.
3233 1993-06-25 Richard Stallman <rms@gnu.org>
3235 * src/getargs.c: New file.
3237 1993-06-16 Richard Stallman <rms@gnu.org>
3239 * src/bison.s1: *** empty log message ***
3241 1993-06-16 Richard Stallman <rms@gnu.org>
3243 * bison.simple: *** empty log message ***
3245 1993-06-03 Richard Stallman <rms@gnu.org>
3247 * src/bison.s1: New file.
3249 1993-06-03 Richard Stallman <rms@gnu.org>
3251 * doc/bison.texinfo: *** empty log message ***
3253 1993-06-03 Richard Stallman <rms@gnu.org>
3255 * bison.simple: New file.
3257 1993-05-19 Richard Stallman <rms@gnu.org>
3259 * doc/bison.texinfo: New file.
3261 1993-05-07 Noah Friedman <friedman@gnu.org>
3263 * Makefile.in: *** empty log message ***
3265 1993-04-28 Noah Friedman <friedman@gnu.org>
3267 * src/reader.c: *** empty log message ***
3269 1993-04-23 Noah Friedman <friedman@gnu.org>
3271 * src/alloc.h: entered into RCS
3273 1993-04-20 David J. MacKenzie <djm@gnu.org>
3275 * src/version.c: *** empty log message ***
3277 * src/files.c, src/allocate.c:
3280 * src/reader.c: *** empty log message ***
3282 * src/lex.c: entered into RCS
3284 * src/conflicts.c: New file.
3286 * src/symtab.c: entered into RCS
3288 * src/alloc.h: New file.
3290 * src/LR0.c: entered into RCS
3292 1993-04-18 Noah Friedman <friedman@gnu.org>
3294 * src/reader.c: New file.
3296 * src/version.c: *** empty log message ***
3298 1993-04-18 Noah Friedman <friedman@gnu.org>
3300 * Makefile.in: *** empty log message ***
3302 1993-04-17 Noah Friedman <friedman@gnu.org>
3304 * Makefile.in: *** empty log message ***
3306 1993-04-15 Richard Stallman <rms@gnu.org>
3308 * src/main.c, src/files.c:
3311 1993-04-15 Noah Friedman <friedman@gnu.org>
3313 * configure.in: entered into RCS
3315 * configure.in: *** empty log message ***
3317 * configure.in: New file.
3319 1993-04-14 Richard Stallman <rms@gnu.org>
3321 * Makefile.in: New file.
3323 1993-04-13 Richard Stallman <rms@gnu.org>
3325 * src/version.c: New file.
3327 1993-03-25 Richard Stallman <rms@gnu.org>
3329 * src/output.c: entered into RCS
3331 1992-09-25 Richard Stallman <rms@gnu.org>
3333 * configure.bat: entered into RCS
3335 1992-06-22 Richard Stallman <rms@gnu.org>
3337 * src/vmsgetargs.c: entered into RCS
3339 1992-06-22 Richard Stallman <rms@gnu.org>
3341 * doc/bison.rnh: entered into RCS
3343 1992-04-20 David J. MacKenzie <djm@gnu.org>
3345 * README: entered into RCS
3347 1992-01-22 Richard Stallman <rms@gnu.org>
3349 * src/machine.h: entered into RCS
3351 1991-12-21 Richard Stallman <rms@gnu.org>
3353 * src/lalr.c, src/closure.c:
3356 1991-12-20 Richard Stallman <rms@gnu.org>
3358 * src/state.h: entered into RCS
3360 1991-12-18 Richard Stallman <rms@gnu.org>
3362 * src/print.c, src/nullable.c, src/derives.c:
3365 1991-11-03 David J. MacKenzie <djm@gnu.org>
3367 * src/warshall.c, src/types.h, src/symtab.h, src/lex.h, src/gram.c, src/gram.h, src/files.h:
3370 1988-09-09 Richard Stallman <rms@gnu.org>
3372 * src/bison.hairy: entered into RCS
3374 1987-12-16 Richard Stallman <rms@gnu.org>
3376 * REFERENCES: entered into RCS