1 2001-11-28 Akim Demaille <akim@epita.fr>
3 * src/reduce.c (dump_grammar): Don't translate trace messages.
5 2001-11-28 Akim Demaille <akim@epita.fr>
7 * tests/reduce.at (Useless Terminals, Useless Nonterminals): New.
8 * src/reduce.c (reduce_grammar_tables): Do not free useless tags,
9 as all tags are free'ed afterwards.
12 2001-11-27 Paul Eggert <eggert@twinsun.com>
14 * src/bison.simple (YYSTACK_REALLOC): Fix typo that caused us to
15 use alloca when we didn't want to, and vice versa.
17 2001-11-27 Marc Autret <autret_m@epita.fr>
19 * src/muscle_tab.c (muscle_init): Remove 'verbose' muscle initialization.
20 * src/output.c (prepare): Remove its update.
22 2001-11-27 Marc Autret <autret_m@epita.fr>
24 * tests/torture.at [AT_DATA]: Remove YYERROR_VERBOSE definition.
27 2001-11-27 Marc Autret <autret_m@epita.fr>
29 * src/bison.simple: Remove YYERROR_VERBOSE using.
32 * src/output.c (prepare): Give its final value.
33 * src/muscle_tab.c (muscle_init): Init new muscle 'error_verbose'.
34 * src/getargs.h: Add its extern declaration.
35 * src/getargs.c (error_verbose_flag): New int.
36 (getargs): Update to catch new case.
37 * src/options.c (option_table): 'error-verbose' is a new option.
40 2001-11-27 Akim Demaille <akim@epita.fr>
42 * src/system.h: Use intl/libgettext.h.
43 * src/Makefile.am (INCLUDES): Add -I $(top_srcdir).
45 2001-11-27 Akim Demaille <akim@epita.fr>
47 * tests/torture.at (Exploding the Stack Size with Malloc):
48 s/YYSTACK_USE_ALLOCA_ALLOCA/YYSTACK_USE_ALLOCA/.
50 2001-11-27 Akim Demaille <akim@epita.fr>
52 * src/files.c: Include error.h.
53 Reported by Hans Aberg.
55 2001-11-26 Marc Autret <autret_m@epita.fr>
57 * src/reader.c (parse_include_decl): New, not yet implemented.
58 (read_declarations): Add case tok_include.
59 * src/getargs.h (include): Add its extern definition.
60 * src/getargs.c (include): New const char *.
61 (getargs): Add case '-I'.
62 * src/options.c (option_table): Add include as command line and
64 * src/lex.h (token_t): Add tok_include.
66 2001-11-26 Akim Demaille <akim@epita.fr>
68 * src/reader.c (readgram): Make sure rules for mid-rule actions
69 have a lineno equal to that of their host rule.
70 Reported by Hans Aberg.
71 * tests/regression.at (Rule Line Numbers): New.
73 2001-11-26 Akim Demaille <akim@epita.fr>
75 * src/LR0.c (allocate_itemsets): kernel_size contains ints, not
78 2001-11-26 Akim Demaille <akim@epita.fr>
80 * src/complain.c, src/complain.h (error): Remove, provided by
83 2001-11-26 Akim Demaille <akim@epita.fr>
85 * src/reader.c (read_declarations): Don't abort on tok_illegal,
86 issue an error message.
87 * tests/regression.at (Invalid %directive): New.
88 Reported by Hans Aberg.
90 2001-11-26 Akim Demaille <akim@epita.fr>
92 * configure.in: Invoke AC_FUNC_OBSTACK and AC_FUNC_ERROR_AT_LINE.
93 * lib/Makefile.am (libbison_a_SOURCES): Adjust.
95 2001-11-26 Akim Demaille <akim@epita.fr>
97 * src/conflicts.c (conflicts_print): Don't complain at all when
98 there are no reduce/reduce conflicts, and as many shift/reduce
99 conflicts as expected.
100 * tests/regression.at (%expect right): Adjust.
102 2001-11-23 Akim Demaille <akim@epita.fr>
104 * lib/alloca.c: Update, from fileutils.
106 2001-11-23 Akim Demaille <akim@epita.fr>
108 * lib/Makefile.am (libbison_a_LIBADD): Add @ALLOCA@.
110 2001-11-23 Akim Demaille <akim@epita.fr>
112 * src/system.h: Include alloca.h.
113 * src/main.c (main) [C_ALLOCA]: Call alloca (0).
115 2001-11-23 Akim Demaille <akim@epita.fr>
117 * src/print_graph.c (print_actions): Remove `rule', unused.
118 * src/LR0.c (kernel_size): Contain `int' instead of `size_t' to
119 pacify GCC's signed < unsigned warnings.
120 * src/closure.c (itemsetsize): Likewise.
121 * src/reader.c (symbol_list_new): Static.
123 2001-11-23 Akim Demaille <akim@epita.fr>
125 Attaching lineno to buckets is stupid, since only one copy of each
126 symbol is kept, only the line of the first occurrence is kept too.
128 * src/symtab.h, src/symtab.c (bucket): Remove the line member.
129 * src/reader.c (rline_allocated): Remove, unused.
130 (symbol_list): Have a `line' member.
131 (symbol_list_new): New.
133 * src/print.c (print_grammar): Output the rule line numbers.
134 * tests/regression.at (Solved SR Conflicts)
135 (Unresolved SR Conflicts): Adjust.
136 Reported by Hans Aberg.
138 2001-11-22 Marc Autret <autret_m@epita.fr>
140 * src/bison.simple [YYERROR_VERBOSE]: Force its value to be 1 or 0.
142 2001-11-22 Marc Autret <autret_m@epita.fr>
144 * src/muscle_tab.c (muscle_init): Remove initialization of
146 * src/output.c (output_master_parser): Do it here.
148 2001-11-20 Akim Demaille <akim@epita.fr>
151 * configure.in (ALL_LINGUAS): Adjust.
152 * po/POTFILE.in: Remove `nullable.c' and `derives.c' which no
153 longer contains strings to translate.
155 2001-11-19 Akim Demaille <akim@epita.fr>
157 * src/conflicts.c (conflicts_print): Add a missing \n.
159 2001-11-19 Akim Demaille <akim@epita.fr>
161 * src/nullable.c (nullable_print): New.
162 (set_nullable): Call it when tracing.
163 Better locality of variables.
165 2001-11-19 Akim Demaille <akim@epita.fr>
167 * src/print.c (print_actions): Better locality of variables.
169 2001-11-19 Akim Demaille <akim@epita.fr>
171 * src/derives.c (print_derives): Fix and enrich.
172 * src/closure.c (print_fderives): Likewise.
174 2001-11-19 Akim Demaille <akim@epita.fr>
176 * src/closure.c (itemsetend): Remove, replaced with...
179 2001-11-19 Akim Demaille <akim@epita.fr>
181 * src/LR0.c (kernel_end): Remove, replaced with...
184 2001-11-19 Akim Demaille <akim@epita.fr>
186 * src/conflicts.c (set_conflicts): Use arrays instead of pointers
189 2001-11-19 Akim Demaille <akim@epita.fr>
191 * src/closure.c (closure): Use arrays instead of pointers to clarify.
193 2001-11-19 Akim Demaille <akim@epita.fr>
195 * src/closure.c, src/derives.c, src/nullable.c: Adjust various
197 * src/LR0.c: Likewise.
198 (allocate_itemsets): Use arrays instead of pointers to clarify.
200 2001-11-19 Akim Demaille <akim@epita.fr>
202 * src/getargs.c (statistics_flag): Replace with...
204 (longopts): Accept --trace instead of --statistics.
205 * src/getargs.h, src/options.c: Adjust.
206 * src/LR0.c, src/closure.c, src/derives.c, src/nullable.c,
207 * src/reduce.c: Use trace_flags instead of the CPP conditional TRACE.
209 2001-11-19 Akim Demaille <akim@epita.fr>
211 * src/LR0.c (new_itemsets, get_state): Use more arrays and fewer
212 pointers to clarify the code.
213 (save_reductions, save_shifts): Factor common parts of alternatives.
215 2001-11-19 Akim Demaille <akim@epita.fr>
217 * src/LR0.c (new_state, get_state): Complete TRACE code.
218 * src/closure.c: Include `reader.h' to get `tags', needed by the
220 Rename the conditional DEBUG as TRACE.
221 Output consistently TRACEs to stderr, not stdout.
222 * src/derives.c: Likewise.
223 * src/reduce.c: (inaccessable_symbols): Using if is better style
225 Use `#if TRACE' instead of `#if 0' for tracing code.
227 2001-11-19 Akim Demaille <akim@epita.fr>
229 * src/system.h (LIST_FREE, shortcpy): New.
230 * src/LR0.c: Use them.
231 * src/output.c (free_itemsets, free_reductions, free_shifts):
232 Remove, replaced by LIST_FREE.
234 2001-11-19 Akim Demaille <akim@epita.fr>
236 * src/state.h (CORE_ALLOC, SHIFTS_ALLOC, ERRS_ALLOC)
237 (REDUCTIONS_ALLOC): New.
238 * src/LR0.c, src/conflicts.c: Use them to de-obfuscate memory
241 2001-11-19 Akim Demaille <akim@epita.fr>
243 * src/LR0.c (new_state): Complete trace code.
244 * src/nullable.c (set_nullable): Don't translate traces.
246 2001-11-19 Akim Demaille <akim@epita.fr>
248 * src/print_graph.c (print_core): Better locality of variables.
249 * src/print.c (print_core): Likewise.
251 2001-11-19 Akim Demaille <akim@epita.fr>
253 * src/vcg.c: You do the output, so you are responsible of the
254 handling of VCG syntax, in particular: use quotearg.
255 * src/print_graph.c: Don't.
256 (print_actions): Don't output the actions as part of the nodes,
257 since that's the job of the edges.
258 (print_state): Don't output by hand: fill the node description,
259 and ask for its output.
261 2001-11-19 Akim Demaille <akim@epita.fr>
263 * src/bison.simple (yyparse): When verbosely reporting an error,
264 no longer put additional quotes around token names.
265 * tests/calc.at: Adjust.
267 2001-11-19 Akim Demaille <akim@epita.fr>
269 * src/symtab.h, src/symtab.c: `line' is a new member of `bucket'.
270 * src/reader.c (record_rule_lines, rline, rline_allocated): Remove.
271 * src/output.c: Adjust.
273 2001-11-19 Akim Demaille <akim@epita.fr>
275 * src/gram.h (rprec, rprecsym, rassoc): Remove, now part of...
277 * src/conflicts.c, src/reader.c, src/reduce.c: Adjust.
279 2001-11-19 Akim Demaille <akim@epita.fr>
281 * src/gram.h (rule_t): New.
283 (rrhs, rlhs): Remove, part of state_t.
284 * src/print_graph.c, src/closure.c, src/conflicts.c, src/derives.c,
285 * src/lalr.c, src/nullable.c, src/output.c, src/print.c,
286 * src/reader.c, src/reduce.c: Adjust.
288 2001-11-19 Akim Demaille <akim@epita.fr>
290 * src/reader.c (symbols_output): New, extracted from...
294 2001-11-19 Akim Demaille <akim@epita.fr>
296 * src/lalr.c (set_maxrhs, maxrhs): Remove, replaced with...
297 (maxrhs): this new function.
299 2001-11-19 Akim Demaille <akim@epita.fr>
301 * src/lalr.c (F): New macro to access the variable F.
304 2001-11-19 Akim Demaille <akim@epita.fr>
306 * src/lalr.h (LA): New macro to access the variable LA.
307 * src/output.c, src/lalr.c, src/print_graph.c, src/conflicts.c:
308 * src/lalr.c: Adjust.
310 2001-11-19 Akim Demaille <akim@epita.fr>
312 * src/lalr.c (initialize_LA): Only initialize LA. Let...
313 (set_state_table): handle the `lookaheads' members.
315 2001-11-19 Akim Demaille <akim@epita.fr>
317 * src/lalr.h (lookaheads): Removed array, whose contents is now
319 (state_t): this structure.
320 * src/output.c, src/lalr.c, src/print_graph.c, src/conflicts.c:
323 2001-11-19 Akim Demaille <akim@epita.fr>
325 * src/lalr.h (consistent): Removed array, whose contents is now
327 (state_t): this structure.
328 * src/output.c, src/lalr.c, src/print_graph.c, src/conflicts.c:
331 2001-11-19 Akim Demaille <akim@epita.fr>
333 * src/lalr.h (reduction_table, shift_table): Removed arrays, whose
334 contents are now members of...
335 (state_t): this structure.
336 * src/output.c, src/lalr.c, src/print_graph.c, src/conflicts.c:
339 2001-11-19 Akim Demaille <akim@epita.fr>
341 * src/lalr.h (state_t): New.
342 (state_table): Be a state_t * instead of a core **.
343 (accessing_symbol): Remove, part of state_t.
344 * src/lalr.c: Adjust.
345 (set_accessing_symbol): Merge into...
346 (set_state_table): this.
347 * src/print_graph.c, src/conflicts.c: Adjust.
349 2001-11-14 Akim Demaille <akim@epita.fr>
351 * tests/calc.at, tests/output.at, tests/regression.at,
352 * tests/testsuite.at, tests/torture.at: Rely on Autotest 2.52g:
353 now the tests are run in private dirs, therefore AC_CLEANUP and
354 family can be simplified to 0-ary.
355 * tests/atlocal.in: Now that we run `elsewhere' than in tests/,
356 use abs. path to find config.h.
357 * tests/calc.at (AT_CHECK_CALC): Don't try to check the compiler's
358 stderr, there can be way too much random noise.
359 Instead pass -Werror to GCC and rely on the exit status.
360 Reported by Wolfram Wagner.
362 2001-11-14 Akim Demaille <akim@epita.fr>
364 * src/bison.simple (yyparse): Let yyls1, yyss1 and yyvs1 be
365 defined only if yyoverflow is defined, to avoid `warning: unused
367 Reported by The Test Suite.
369 2001-11-14 Akim Demaille <akim@epita.fr>
371 * src/print.c: Include reduce.h.
372 Reported by Hans Aberg.
374 2001-11-14 Akim Demaille <akim@epita.fr>
376 * src/lex.c, src/lex.h (token_buffer, unlexed_token_buffer):
377 Revert a previous patch: these are really const.
378 * src/conflicts.c (conflict_report): Additional useless pair of
379 braces to pacify GCC's warnings for `if () if () {} else {}'.
380 * src/lex.c (parse_percent_token): Replace equal_offset with
383 Be sure to strdup `arg' when used, since there is no reason for
384 token_buffer not to change.
386 2001-11-14 Akim Demaille <akim@epita.fr>
388 * src/system.h (EXIT_SUCCESS, EXIT_FAILURE): Ensure a proper
390 * src/main.c (main): Use them.
391 Suggested by Hans Aberg.
393 2001-11-12 Akim Demaille <akim@epita.fr>
395 * src/system.h (ngettext): Now that we use ngettext, be sure to
396 provide a default definition when NLS are not used.
398 2001-11-12 Akim Demaille <akim@epita.fr>
400 * doc/bison.texinfo: Use `$' as shell prompt, not `%'.
401 Use @kbd to denote user input.
402 (Language and Grammar): ANSIfy the example.
403 Adjust its layout for info/notinfo.
404 (Location Tracking Calc): Output error messages to stderr.
405 Output locations in a more GNUtically correct way.
406 Fix a couple of Englishos.
407 Adjust @group/@end group pairs.
409 2001-11-12 Akim Demaille <akim@epita.fr>
411 %expext was not functioning at all.
413 * src/conflicts.c (expected_conflicts): Set to -1.
414 (conflict_report): Use ngettext.
415 (conflicts_print): Check %expect and make its violation an error.
416 * doc/bison.texinfo (Expect Decl): Adjust.
417 * configure.in (AM_GNU_GETTEXT): Ask for ngettext.
418 * tests/regression.at (%expect not enough, %expect right)
419 (%expect too much): New.
421 2001-11-12 Akim Demaille <akim@epita.fr>
423 * tests/regression.at (Conflicts): Rename as...
424 (Unresolved SR Conflicts): this.
425 (Solved SR Conflicts): New.
427 2001-11-12 Akim Demaille <akim@epita.fr>
429 * src/reduce.c (print_results): Rename as...
430 (reduce_output): This.
431 Output to OUT, passed as argument, instead of output_obstack.
432 (dump_grammar): Likewise.
435 (reduce_grammar): No longer call reduce_output, since...
436 * src/print.c (print_results): do it.
437 * src/main.c (main): Call reduce_free;
439 2001-11-12 Akim Demaille <akim@epita.fr>
441 * src/conflicts.c (print_reductions): Accept OUT as argument.
442 Output to it, not to output_obstack.
443 * src/print.c (print_actions): Adjust.
445 2001-11-12 Akim Demaille <akim@epita.fr>
447 * src/conflicts.c (count_sr_conflicts, count_rr_conflicts): Return
448 the result instead of using...
449 (src_total, rrc_total, src_count, rrc_count): Remove.
450 (any_conflicts): Remove.
451 (print_conflicts): Split into...
452 (conflicts_print, conflicts_output): New.
453 * src/conflicts.h: Adjust.
454 * src/main.c (main): Invoke both conflicts_output and conflicts_print.
455 * src/print.c (print_grammar): Issue `\n' between two rules.
456 * tests/regression.at (Conflicts): New.
457 Reported by Tom Lane.
459 2001-11-12 Akim Demaille <akim@epita.fr>
461 * tests/regression.at (Invalid input): Remove, duplicate with
462 ``Invalid input: 1''.
464 2001-11-12 Akim Demaille <akim@epita.fr>
466 * tests/torture.at (AT_DATA_STACK_TORTURE)
467 (Exploding the Stack Size with Alloca)
468 (Exploding the Stack Size with Malloc): New.
470 2001-11-12 Akim Demaille <akim@epita.fr>
472 * src/bison.simple (YYSTACK_REALLOC): New.
473 (yyparse) [!yyoverflow]: Use it and free the old stack.
474 Reported by Per Allansson.
476 2001-11-12 Pascal Bart <pascal.bart@epita.fr>
478 * src/bison.simple: Define type yystype instead of YYSTYPE, and
479 define CPP macro, which substitute YYSTYPE by yystype.
480 * src/reader.c (parse_union_decl): Output yystype/YYSTYPE as we do
481 with yyltype/YYLTYPE. This allows inclusion of the generated
482 header within the parser if the compiler, such as GGC, accepts
483 multiple equivalent #defines.
486 2001-11-05 Akim Demaille <akim@epita.fr>
488 * src/reader.c (symbols_output): New, extracted from...
492 2001-11-05 Akim Demaille <akim@epita.fr>
494 * src/lex.c (parse_percent_token): s/quotearg/quote/.
496 2001-11-05 Akim Demaille <akim@epita.fr>
498 * tests/regression.at (AT_TEST_CPP_GUARD_H): Adjust the clean up
501 2001-11-05 Akim Demaille <akim@epita.fr>
503 * src/options.h (struct option_table_struct): set_flags is void*.
504 * src/options.c (longopts): Support `--output' and `%output'.
506 * src/lex.h (tok_setopt): Remove, replaced with...
507 (tok_intopt, tok_stropt): these new guys.
508 * src/lex.c (getopt.h): Not needed.
509 (token_buffer, unlexed_token_buffer): Not const.
510 (percent_table): Promote `-' over `_' in directive names.
511 Active `%name-prefix', `file-prefix', and `output'.
512 (parse_percent_token): Accept possible arguments to directives.
513 Promote `-' over `_' in directive names.
515 2001-11-04 Akim Demaille <akim@epita.fr>
517 * doc/bison.texinfo (Decl Summary): Split the list into
518 `directives for grammars' and `directives for bison'.
520 Add description of `%name-prefix', `file-prefix', and `output'.
521 Promote `-' over `_' in directive names.
522 (Bison Options): s/%locactions/%locations/. Nice Freudian slip.
523 Simplify the description of `--name-prefix'.
524 Promote `-' over `_' in directive names.
525 Promote `--output' over `--output-file'.
526 Fix the description of `--defines'.
527 * tests/output.at: Exercise %file-prefix and %output.
529 2001-11-02 Akim Demaille <akim@epita.fr>
531 * doc/refcard.tex: Update.
533 2001-11-02 Akim Demaille <akim@epita.fr>
535 * src/symtab.h (SUNDEF): New.
536 * src/symtab.c (bucket_new): Init user_token_number to SUNDEF to
537 stand for `uninitialized', instead of 0.
538 * src/reader.c (packsymbols, parse_thong_decl): Adjust.
539 * src/lex.c (lex): Adjust.
541 * tests/calc.at (_AT_DATA_CALC_Y): Declare a token for EOF.
543 Let yylex return it instead of a plain 0.
544 Reported by Dick Streefland.
546 2001-11-02 Akim Demaille <akim@epita.fr>
548 * tests/regression.at (Mixing %token styles): New test.
550 2001-11-02 Akim Demaille <akim@epita.fr>
552 * src/reader.c (parse_thong_decl): Formatting changes.
553 (token_translations_init): New, extracted from...
557 2001-11-01 Akim Demaille <akim@epita.fr>
559 * tests/regression.at (AT_TEST_CPP_GUARD_H): New.
560 Check that `9foo.y' produces correct cpp guards.
561 * src/files.c (compute_header_macro): Prepend `BISON_' to CPP
565 2001-11-01 Akim Demaille <akim@epita.fr>
567 * tests/regression.at (Invalid input: 2): New.
568 * src/lex.c (unlexed_token_buffer): New.
569 (lex, unlex): Adjust: when unlexing, be sure to save token_buffer
573 2001-11-01 Akim Demaille <akim@epita.fr>
575 * tests/calc.at: Catch up with 1.30.
576 * configure.in: Bump to 1.49a.
577 Adjust to newer Autotest.
579 2001-10-19 Pascal Bart <pascal.bart@epita.fr>
581 * src/conflicts.c: Move global variables rrc_total and src_total ...
582 (print_conflicts): here.
583 * src/output.c (output): Free global variable user_toknums.
584 * src/lex.c (token_obstack): Become static.
586 2001-10-18 Akim Demaille <akim@epita.fr>
588 * tests/atlocal.in (GCC): Add.
589 * tests/calc.at: s/m4_match/m4_bmatch/.
590 s/m4_patsubst/m4_bpatsubst/.
591 (AT_CHECK_CALC): Check the compiler's stderr only if it's GCC.
592 * configure.in: AC_SUBST(GCC).
594 2001-10-14 Marc Autret <autret_m@epita.fr>
596 * src/options.c (create_long_option_table): Fix.
598 2001-10-10 Akim Demaille <akim@epita.fr>
600 * src/bison.simple: Be sure to set YYSTACK_USE_ALLOCA.
602 2001-10-04 Akim Demaille <akim@epita.fr>
604 * src/reader.c (parse_union_decl): Push the caracters in
605 union_obstack, not attrs_obstack.
607 2001-10-04 Akim Demaille <akim@epita.fr>
609 Merge in the branch 1.29.
611 * src/reader.c (packsymbols): Use a temporary obstack for
612 `%%tokendef', since output_stack is already used elsewhere.
614 2001-10-02 Akim Demaille <akim@epita.fr>
618 2001-10-02 Akim Demaille <akim@epita.fr>
622 2001-10-02 Akim Demaille <akim@epita.fr>
624 * tests/regression.at (Invalid CPP headers): New.
625 From Alexander Belopolsky.
626 * src/files.c (compute_header_macro): Map non alnum chars to `_'.
628 2001-10-02 Akim Demaille <akim@epita.fr>
630 * tests/regression.at (Invalid input): New.
631 * src/lex.c (lex): Be sure to set `token_buffer' in any case.
634 2001-10-02 Akim Demaille <akim@epita.fr>
636 * tests/calc.at: Now that --debug works, the tests must be adjusted.
638 2001-10-02 Akim Demaille <akim@epita.fr>
640 * src/output.c (output_parser): Assert `skeleton'.
641 * src/files.c (skeleton_find): Look harder for skeletons on DOSish
645 2001-10-01 Marc Autret <autret_m@epita.fr>
647 * src/lex.h: Echo modifications.
648 * src/lex.c (unlex): Parameter is now token_t.
651 2001-10-01 Marc Autret <autret_m@epita.fr>
653 * src/main.c: Include lex.h.
656 2001-09-29 Akim Demaille <akim@epita.fr>
658 * src/getargs.c (longopts): `--debug' is `-t', not `-d'.
660 2001-09-28 Akim Demaille <akim@epita.fr>
662 * tests/testsuite.at: Update to newer Autotest.
663 * tests/Makefile.am (EXTRA_DIST): bison is not to be shipped.
665 2001-09-27 Akim Demaille <akim@epita.fr>
667 Position independent wrapper.
669 * tests/bison: Remove.
670 * tests/bison.in: New.
671 * configure.in: Adjust.
673 2001-09-27 Paul Eggert <eggert@twinsun.com>
675 Port quotearg fixes from tar 1.13.24.
677 * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
679 (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
680 (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
682 * m4/Makefile.am (EXTRA_DIST): Add mbrtowc.m4.
683 * m4/mbrtowc.m4: New file.
684 * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for mbsinit and stddef.h.
685 Use jm_FUNC_MBRTOWC instead of AC_CHECK_FUNCS(mbrtowc).
687 2001-09-27 Akim Demaille <akim@epita.fr>
691 2001-09-27 Akim Demaille <akim@epita.fr>
695 2001-09-25 Akim Demaille <akim@epita.fr>
697 * src/system.h: Include `xalloc.h'.
698 Remove it from the C files.
699 * src/files.c (output_files): Free the obstacks.
700 * src/lex.c (init_lex): Rename as...
703 * src/main.c (main): Use it.
705 2001-09-24 Marc Autret <autret_m@epita.fr>
707 * src/vcg.c (open_edge, close_edge, open_node, close_node): Change
708 to output informations in fout (FILE*).
709 (open_graph, close_graph): Likewise.
710 (output_graph, output_edge, output_node): Likewise.
711 * src/vcg.h: Update function prototypes.
712 * src/print_graph.c (print_graph): Open output graph file.
713 (print_actions): Adjust.
714 * src/files.h: Remove extern declaration.
715 * src/files.c: Remove graph_obstack declaration.
716 (open_files): Remove graph_obstack initialization.
717 (output_files): Remove graph_obstack saving.
719 2001-09-24 Marc Autret <autret_m@epita.fr>
721 * src/files.c (compute_output_file_names): Fix.
723 2001-09-24 Marc Autret <autret_m@epita.fr>,
724 Akim Demaille <akim@epita.fr>
726 * src/reader.c (reader): Remove call to free_symtab ().
727 * src/main.c (main): Call it here.
729 * src/conflicts.c (initialize_conflicts): Rename as...
730 (solve_conflicts): this.
731 * src/print.c (print_core, print_actions, print_state)
732 (print_grammar): Dump to a file instead a `output_obstack'.
733 (print_results): Dump `output_obstack', and then proceed with the
735 * src/files.c (compute_output_file_names, close_files): New.
736 (output_files): Adjust.
737 * src/main.c (main): Adjust.
739 2001-09-23 Marc Autret <autret_m@epita.fr>
741 * src/files.c (compute_header_macro): Computes header macro name
742 from spec_defines_file when given.
744 2001-09-23 Marc Autret <autret_m@epita.fr>
746 * src/files.c (output_files): Add default extensions.
748 2001-09-22 Akim Demaille <akim@epita.fr>
750 * src/conflicts.c (finalize_conflicts): Rename as...
751 (free_conflicts): this.
753 2001-09-22 Akim Demaille <akim@epita.fr>
755 * src/gram.c (gram_free): Rename back as...
757 (output_token_translations): Free `token_translations'.
758 * src/symtab.c (free_symtab): Free the tag field.
760 2001-09-22 Akim Demaille <akim@epita.fr>
762 Remove `translations' as it is always set to true.
764 * src/gram.h: Adjust.
765 * src/reader.c (packsymbols, parse_token_decl): Adjust
766 * src/print.c (print_grammar): Adjust.
767 * src/output.c (output_token_translations): Adjust.
768 * src/lex.c (lex): Adjust.
769 * src/gram.c: Be sure the set pointers to NULL.
770 (dummy): Rename as...
773 2001-09-22 Akim Demaille <akim@epita.fr>
775 * configure.in: Invoke AM_LIB_DMALLOC.
776 * src/system.h: Use dmalloc.
777 * src/LR0.c: Be sure to have pointers initialized to NULL.
778 (allocate_itemsets): Allocate kernel_items only if needed.
780 2001-09-22 Akim Demaille <akim@epita.fr>
782 * configure.in: Bump to 1.29b.
783 * tests/Makefile.am (DISTCLEANFILES): Add package.m4.
784 * tests/calc.at (_AT_DATA_CALC_Y): #undef malloc so that we don't
785 need xmalloc.c in calc.y.
788 2001-09-21 Akim Demaille <akim@epita.fr>
791 * Makefile.maint, config/config.guess, config/config.sub,
792 * config/missing: Update from masters.
793 * tests/Makefile.am ($(srcdir)/$(TESTSUITE)): No longer depend
795 * configure.in (ALL_LINGUAS): Add `tr'.
797 2001-09-21 Akim Demaille <akim@epita.fr>
799 * tests/Makefile.am (package.m4): Move to...
800 ($(srcdir)/$(TESTSUITE)): here.
802 2001-09-20 Akim Demaille <akim@epita.fr>
804 * src/complain.c: No longer try to be standalone: use system.h.
805 Don't assume __STDC__ is defined to 1. Just test if it is defined.
806 * src/complain.h: Likewise.
807 * src/reduce.c (useless_nonterminals, inaccessable_symbols):
808 Remove the unused variable `n'.
809 From Albert Chin-A-Young.
811 2001-09-18 Marc Autret <autret_m@epita.fr>
813 * doc/bison.1: Update.
814 * doc/bison.texinfo (Bison Options): Update --defines and --graph
816 (Option Cross Key): Update.
819 2001-09-18 Marc Autret <autret_m@epita.fr>
821 * tests/regression.at: New test (comment in %union).
823 2001-09-18 Marc Autret <autret_m@epita.fr>
825 * src/reader.c (parse_union_decl): Do not output '/'. Let copy_comment
827 Reported by Keith Browne.
829 2001-09-18 Marc Autret <autret_m@epita.fr>
831 * tests/output.at: Add tests for --defines and --graph.
833 2001-09-18 Marc Autret <autret_m@epita.fr>
835 * tests/output.at: Removes tests of %{header,src}_extension features.
837 2001-09-18 Akim Demaille <akim@epita.fr>
839 * tests/Makefile.am (package.m4): New.
840 * tests/calc.at (_AT_CHECK_CALC): Just run `calc input'.
841 (_AT_CHECK_CALC_ERROR): Likewise.
842 Factor the `, ' part of verbose error messages.
844 2001-09-18 Marc Autret <autret_m@epita.fr>
846 * src/getargs.c (longopts): Declare --defines and --graph as options
847 with optional arguments.
848 * src/files.h: Add extern declarations.
849 * src/files.c (spec_graph_file, spec_defines_file): New.
850 (output_files): Update.
851 Remove CPP-outed code.
853 2001-09-18 Marc Autret <autret_m@epita.fr>
855 Turn off %{source,header}_extension feature.
857 * src/files.c (compute_exts_from_gf): Update.
858 (compute_exts_from_src): Update.
859 (output_files): CPP-out useless code.
860 * src/files.h: Remove {header,source}_extension extern declarations.
861 * src/reader.c (parse_dquoted_param): CPP-out.
862 (parse_header_extension_decl): Remove.
863 (parse_source_extension_decl): Remove.
864 (read_declarations): Remove cases tok_{hdrext,srcext}.
865 * src/lex.c (percent_table): Remove {header,source}_extension entries.
866 * src/lex.h (token_t): Remove tok_hdrext and tok_srcext.
868 2001-09-10 Akim Demaille <akim@epita.fr>
870 * tests/output.at (AT_CHECK_BISON_FLAGS, AT_CHECK_BISON_PERCENT):
871 (AT_CHECK_BISON_PERCENT_FLAGS): Merge into...
872 (AT_CHECK_OUTPUT): this.
873 Merely check ls' exit status, its output is useless.
875 2001-09-10 Akim Demaille <akim@epita.fr>
877 * tests/calc.at: Use m4_match.
878 (_AT_DATA_CALC_Y): Check `yyin != NULL', not `stdin != NULL'.
880 2001-09-10 Marc Autret <autret_m@epita.fr>,
881 Akim Demaille <akim@epita.fr>
883 * src/vcg.h (graph_s): color, textcolor, bordercolor are now
885 * src/print_graph.c (print_graph): Initalize graph.layoutalgorithm
887 * src/reader.c (parse_token_decl): Initialize token with tok_eof.
888 * src/lex.h: Adjust prototype.
889 (token_t): Add `tok_undef'.
890 * src/lex.c (struct percent_table_struct): Retval is now a token_t.
891 (parse_percent_token): Now returns token_t.
892 Add default statement in switch.
893 (lex): Separate `c' as an input variable, from the token_t result
895 (unlexed): Is a token_t.
897 2001-09-10 Akim Demaille <akim@epita.fr>
899 * configure.in: Bump to 1.29a.
901 2001-09-07 Akim Demaille <akim@epita.fr>
905 2001-08-30 Akim Demaille <akim@epita.fr>
907 * tests/atgeneral.m4, tests/atconfig.in, tests/suite.at: Remove.
908 * m4/atconfig.m4: Remove.
909 * tests/testsuite.at, tests/atlocal.in, tests/output.at,
911 * tests/regression.at, tests/calc.at: Use m4_define, AT_BANNER,
912 m4_if, m4_patsubst, and m4_regexp.
913 * tests/calc.at (_AT_CHECK_CALC, _AT_CHECK_CALC_ERROR): Use an
914 `input' file instead of echo.
916 2001-08-29 Akim Demaille <akim@epita.fr>
920 2001-08-29 Akim Demaille <akim@epita.fr>
924 2001-08-29 Paul Eggert <eggert@twinsun.com>
926 * src/bison.simple (yyparse): Don't take the address of an
927 item before the start of an array, as that doesn't conform to
930 2001-08-29 Robert Anisko <anisko_r@epita.fr>
932 * doc/bison.texinfo (Location Tracking Calc): New node.
934 2001-08-29 Paul Eggert <eggert@twinsun.com>
936 * src/output.c (output): Do not define const, as this now
937 causes more problems than it cures.
939 2001-08-29 Akim Demaille <akim@epita.fr>
941 * doc/bison.texinfo: Modernize `@node' and `@top' use: just name
943 Be sure to tag the `detailmenu'.
945 2001-08-29 Akim Demaille <akim@epita.fr>
947 * Makefile.maint (do-po-update): Wget refuses to overwrite files:
948 download in a tmp dir.
950 2001-08-28 Marc Autret <autret_m@epita.fr>
952 * config/depcomp: New file.
954 2001-08-28 Marc Autret <autret_m@epita.fr>
956 * doc/bison.1 (mandoc): Adjust.
957 From Juan Manuel Guerrero.
959 2001-08-28 Marc Autret <autret_m@epita.fr>
961 * src/print_graph.c (print_state): Fix.
963 2001-08-27 Marc Autret <autret_m@epita.fr>
965 * src/vcg.h (classname_s, infoname_s, node_s): Constify the
967 Echo modifications to the functions prototypes.
968 * src/vcg.c (add_classname, add_infoname): Adjust arguments.
970 2001-08-27 Marc Autret <autret_m@epita.fr>
972 * src/vcg.c: Include `xalloc.h'.
973 (add_colorentry): New.
974 (add_classname): New.
976 * src/vcg.h: Add new prototypes.
978 2001-08-27 Akim Demaille <akim@epita.fr>
980 * Makefile.maint: Sync. again with CVS Autoconf.
982 2001-08-27 Akim Demaille <akim@epita.fr>
984 * Makefile.maint: Formatting changes.
985 (po-update, cvs-update, update): New targets.
988 2001-08-27 Akim Demaille <akim@epita.fr>
990 * Makefile.am (AUTOMAKE_OPTIONS): 1.5.
991 * Makefile.maint: Sync. with CVS Autoconf.
993 2001-08-27 Marc Autret <autret_m@epita.fr>
995 * src/vcg.h (struct infoname_s): New.
996 (struct colorentry_s): New.
997 (graph_s): New fields {vertical,horizontal}_order in structure.
998 Add `infoname' field.
999 Add `colorentry' field;
1000 * src/vcg_defaults.h (G_VERTICAL_ORDER): New.
1001 (G_HORIZONTAL_ORDER): New.
1003 (G_COLORENTRY): New.
1004 * src/vcg.c (output_graph): Add output of {vertical,horizontal}_order.
1005 Add output of `infoname'.
1006 Add output of `colorentry'.
1008 2001-08-27 Marc Autret <autret_m@epita.fr>
1010 * src/reader.c (parse_dquoted_param): Rename variable `index' to `i'.
1011 This one shadowed a global parameter.
1013 2001-08-24 Marc Autret <autret_m@epita.fr>
1015 * src/print_graph.c (node_output_size): Declared POSIX `size_t' type,
1016 instead of `unsigned'.
1017 (print_state): Do not call obstack_object_size () in obstack_grow ()
1018 to avoid macro variables shadowing.
1020 2001-08-23 Marc Autret <autret_m@epita.fr>
1022 * src/lex.c (percent_table): Typo: s/naem/name/.
1024 Normalize new options declarations.
1026 2001-08-20 Pascal Bart <pascal.bart@epita.fr>
1028 * tests/suite.at: Exercise %header_extension and %source_extension.
1030 2001-08-16 Marc Autret <autret_m@epita.fr>
1032 * src/reader.c (parse_dquoted_param): New.
1033 (parse_header_extension_decl): Use it.
1034 (parse_source_extension_decl): Likewise.
1036 2001-08-16 Marc Autret <autret_m@epita.fr>
1038 * src/vcg.c: Remove includes of `complain.h' and `xalloc.h'.
1039 (get_xxxx_str): Use assert () instead of complain ().
1040 Remove return invokations in default cases.
1041 (get_decision_str): Modify default behaviour. Remove second argument.
1042 Echo modifications on calls.
1043 (output_graph): Fix.
1045 2001-08-16 Marc Autret <autret_m@epita.fr>
1047 * src/getargs.c (usage): Update with ``-g, --graph''.
1049 2001-08-16 Marc Autret <autret_m@epita.fr>
1051 * doc/bison.texinfo (Bison Options): Add items `-g', `--graph'.
1052 (Option Cross Key): Likewise.
1053 * doc/bison.1: Update.
1055 2001-09-25 Pascal Bart <pascal.bart@epita.fr>
1057 * src/output.c (output_master_parser): Don't finish action_obstack.
1058 (output_parser): Don't care about the muscle action, here.
1059 (prepare): Copy the action_obstack in the action muscle.
1060 (output): Free action_obstack.
1062 2001-09-23 Pascal Bart <pascal.bart@epita.fr>
1064 * src/reader.c (parse_union_decl): Add new obstack union_obstack. Which
1065 will contain `%union' declaration.
1066 (parse_union_decl): Delete #line directive output.
1067 (parse_union_decl): Substitute /attrs_obstack/union_obstack for all
1068 informations about %union.
1069 (parse_union_decl): Copy the union_obstack in the muscle stype.
1070 * src/bison.simple: Add new #line directive.
1071 Add typdef %%stype YYSTYPE.
1073 2001-09-23 Pascal Bart <pascal.bart@epita.fr>
1075 * src/bison.simple: Add new `#line' directive.
1077 2001-09-22 Pascal Bart <pascal.bart@epita.fr>
1079 * src/bison.simple: New `#line' directive.
1080 * src/output.c (output_parser): Support new dynamic muscle input_line.
1082 2001-09-22 Marc Autret <autret_m@epita.fr>
1084 * src/output.c (output_master_parser): New.
1085 (output_parser): Be more re-entrant.
1087 2001-09-21 Marc Autret <autret_m@epita.fr>
1089 * src/reader.c (copy_definition, parse_union_decl): Update and use
1091 (copy_action): Likewise.
1092 Use obstack_1grow ().
1093 * src/muscle_tab.c (muscle_init): Add muscle `linef'.
1095 2001-09-21 Marc Autret <autret_m@epita.fr>
1097 * src/options.c (option_table): Adjust.
1098 * src/lex.c (parse_percent_token): Fix.
1100 2001-09-20 Pascal Bart <pascal.bart@epita.fr>
1102 * src/options.c (symtab.h): Include it, need by lex.h.
1104 2001-09-20 Pascal Bart <pascal.bart@epita.fr>
1106 * src/lex.c (parse_percent_token): Change type of variable `tx', which
1107 is now an option_table_struct*.
1108 (option_strcmp): New function option_strcmp.
1109 (parse_percent_token): Call option_strcmp.
1110 * src/getargs.c (xalloc.h, options.h): Include it.
1111 (getargs): Call create_long_option_table.
1112 (getargs): Free longopts at the end of the function.
1113 (shortopts): Move in options.c.
1114 * src/options.c (create_long_option_table): New function. Convert
1115 information from option_table to option structure.
1116 * src/reader.c (options.h): Include it.
1118 * src/Makefile.am: Adjust.
1119 * src/options.c (option_table): Create from longopts and percent_table.
1120 * src/getargs.c (longopts): Delete.
1121 * src/lex.c (struct percent_table_struct): Delete.
1122 (percent_table): Delete.
1123 (options.h): Include it.
1124 * src/options.c: Create.
1125 * src/options.h: Create.
1126 Declare enum opt_access_e.
1127 Define struct option_table_struct.
1129 2001-09-20 Marc Autret <autret_m@epita.fr>
1131 * doc/bison.texinfo: Adjust terminologies about prologue and epilogue
1134 2001-09-19 Pascal Bart <pascal.bart@epita.fr>
1136 * src/bison.simple: s/%%filename/%%skeleton.
1137 * src/muscle_tab.c (getargs.h): Include it.
1138 (muscle_init): Insert new muscle skeleton.
1140 2001-09-18 Pascal Bart <pascal.bart@epita.fr>
1142 * src/output.c (output_parser): Delete unused variable actions_dumped.
1144 2001-09-07 Pascal Bart <pascal.bart@epita.fr>
1146 * src/output.c (output): Delete call to reader_output_yylsp.
1147 * src/reader.c (reader): Likewise.
1148 * src/reader.h: Delete declaration of reader_output_yylsp.
1150 2001-09-02 Marc Autret <autret_m@epita.fr>
1152 * src/reader.c: Include muscle_tab.h.
1153 (parse_union_decl): Update.
1154 (parse_macro_decl): Rename parse_muscle_decl.
1155 Update to use renamed functions and variable.
1156 (read_declarations, copy_action, read_additionnal_code, : Updated
1157 with correct variables and functions names.
1158 (packsymbols, reader): Likewise.
1160 * src/reader.h (muscle_obstack): Extern declaration update.
1162 * src/output.c: Include muscle_tab.h
1163 In all functions using macro_insert, change by using muscle_insert ().
1164 (macro_obstack): Rename muscle_obstack.
1165 Echo modifications in the whole file.
1166 (MACRO_INSERT_INT): Rename MUSCLE_INSERT_INT.
1167 (MACRO_INSERT_STRING): Rename MUSCLE_INSERT_STRING.
1168 (MACRO_INSERT_PREFIX): Rename MUSCLE_INSERT_PREFIX.
1170 * src/muscle_tab.h: Update double inclusion macros.
1171 (macro_entry_s): Rename muscle_entry_s.
1174 * src/muscle_tab.c: Include muscle_tab.h.
1175 Rename macro_tabble to muscle_table.
1176 (mhash1, mhash2, mcmp): Use muscle_entry.
1177 (macro_init): Rename muscle_init. Update.
1178 (macro_insert): Rename muscle_insert. Update.
1179 (macro_find): Rename muscle_find. Update.
1181 * src/main.c: Include muscle_tab.h.
1182 (main): Call muscle_init ().
1183 * src/Makefile.am (bison_SOURCES): Echo modifications.
1185 2001-09-02 Marc Autret <autret_m@epita.fr>
1187 Now the files macro_tab.[ch] are named muscle_tab.[ch].
1189 * src/muscle_tab.c, src/muscle_tab.h: Add files.
1191 2001-09-02 Marc Autret <autret_m@epita.fr>
1193 * src/macrotab.c, src/macrotab.h: Remove.
1195 2001-09-01 Pascal Bart <pascal.bart@epita.fr>
1197 * src/reader.c (copy_guard): Use muscle to specify the `#line'
1200 2001-09-01 Marc Autret <autret_m@epita.fr>
1202 * tests/calc.at (exp): Now, YYERROR_VERBOSE need to be set
1203 to an explicit value to activate the feature. We do it here.
1205 2001-08-31 Pascal Bart <pascal.bart@epita.fr>
1207 * src/output.c (prepare): Delete the `filename' muscule insertion.
1208 * src/reader.c (copy_action): Use `filename' muscule with `#line'.
1209 (parse_union_decl): Likewise.
1210 * src/macrotab.c (macro_init): Initialize filename by infile.
1212 2001-08-31 Marc Autret <autret_m@epita.fr>
1214 * src/bison.simple (YYLSP_NEEDED): New definition.
1215 * src/output.c (prepare): Add macro insertion of `locations_flag'
1217 2001-08-31 Pascal Bart <pascal.bart@epita.fr>
1219 * src/output.c (prepare): Delete insertion of previous muscles,
1220 and insert the `prefix' muscles.
1221 * src/macrotab.c (macro_init): Likewise.
1222 (macro_init): Initialization prefix directive by `yy'.
1223 * src/bison.simple: Substitute all %%yylex, %%yychar, %%yylval,
1224 %%yydebug, %%yyerror, %%yynerrs and %%yyparse by yylex, yychar,
1225 yylval, yydebug, yyerror, yynerrs and yyparse.
1226 New directive `#define' to substitute yydebug, ... with option
1229 2001-08-31 Pascal Bart <pascal.bart@epita.fr>
1231 * src/main.c (main): Standardize.
1232 * src/output.c (output_table_data, output_parser): Likewise.
1233 * src/macrotab.h, src/macrotab.c, src/bison.simple: Likewise.
1235 2001-08-31 Pascal Bart <pascal.bart@epita.fr>, Marc Autret <autret_m@epita.fr>
1237 * src/reader.c (read_additionnal_code): Rename %%user_code to
1239 * src/output.c (output): Rename %%declarations to %%prologue.
1240 * src/bison.simple: Echo modifications.
1242 2001-08-31 Marc Autret <autret_m@epita.fr>
1244 * src/reader.c (readgram): CleanUp.
1245 (output_token_defines): Likewise.
1246 (packsymbols): Likewise.
1248 * src/output.c (output): CPP-out useless code.
1250 2001-08-31 Pascal Bart <pascal.bart@epita.fr>
1252 * src/reader.c (reader): Delete obsolete call to function
1253 output_trailers and output_headers.
1254 * src/output.h: Remove obsolete functions prototypes of output_headers
1255 and output_trailers.
1257 2001-08-30 Pascal Bart <pascal.bart@epita.fr>
1259 * src/main.c: Include macrotab.h.
1260 * src/macrotab.h (macro_entry_s): Constify fields.
1261 Adjust functions prototypes.
1262 * src/macrotab.c (macro_insert): Constify key and value.
1263 (macro_find): Constify key.
1264 (macro_insert): Include 'xalloc.h'
1265 (macro_insert): Use XMALLOC.
1266 (macro_find): Constify return value.
1267 * src/output.c (output_table_data): Rename table to table_data.
1268 (output_parser): Constify macro_key, macro_value.
1270 2001-08-30 Marc Autret <autret_m@epita.fr>
1272 * src/reader.c (parse_skel_decl): New.
1273 (read_declarations): Add case `tok_skel', call parse_skel_decl ().
1274 * src/lex.h (token_t): New token `tok_skel'.
1275 * src/lex.c (percent_table): Add skeleton option entry.
1278 2001-08-29 Marc Autret <autret_m@epita.fr>
1280 * src/bison.simple: Add %%user_code directive at the end.
1281 * src/reader.c (read_additionnal_code): New.
1283 * src/output.c (output_program): Remove.
1286 2001-08-28 Marc Autret <autret_m@epita.fr>
1288 * src/output.c (output_actions): Clean up.
1289 (output_gram): CPP-out useless code.
1290 * src/reader.c (reader): Clean up, CPP-out useless code.
1292 2001-08-28 Pascal Bart <pascal.bart@epita.fr>
1294 * src/output.c (output): Copy attrs_obstack in the '%%definitions'
1296 * src/bison.simple: Add `%%definitions'.
1298 2001-08-28 Marc Autret <autret_m@epita.fr>
1300 * config/depcomp: New file.
1302 2001-08-27 Paul Eggert <eggert@twinsun.com>
1304 * src/bison.simple (yyparse): Don't take the address of an
1305 item before the start of an array, as that doesn't conform to
1308 2001-08-27 Robert Anisko <robert.anisko@epita.fr>
1310 * src/output.c (output): Remove the initialization of the macro
1311 obstack. It was done too late here.
1313 * src/reader.c (parse_macro_decl): Fix. Use of the macro obstack was
1315 (reader): Initialize the macro obstack here, since we need it to grow
1316 '%define' directives.
1318 * src/reader.h: Declare the macro obstack as extern.
1320 2001-08-27 Robert Anisko <robert.anisko@epita.fr>
1322 * src/output.c (output_parser): Fix. Store single '%' characters in
1323 the output obstack instead of throwing them away.
1325 2001-08-27 Akim Demaille <akim@epita.fr>
1327 * Makefile.am (AUTOMAKE_OPTIONS): 1.5.
1329 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
1331 * lib/Makefile.am: Adjust.
1333 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
1335 * src/bison.simple: Update and add '%%' directives.
1337 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
1339 * src/reader.c (reader): Remove calls to 'output_headers' and
1340 'output_trailers'. Remove some C output.
1341 (readgram): Disable a piece of code that was writing a default
1342 definition for 'YYSTYPE'.
1343 (reader_output_yylsp): Remove.
1344 (packsymbols): Output token defintions to a macro.
1345 (copy_definition): Disable C output.
1347 * src/reader.c (parse_macro_decl): New function used to parse macro
1349 (copy_string2): Put the body of copy_string into this new function.
1350 Add a parameter to let the caller choose whether he wants to copy the
1351 string delimiters or not.
1352 (copy_string): Be a simple call to copy_string2 with the last argument
1354 (read_declarations): Add case for macro definition.
1355 (copy_identifier): New.
1356 (parse_macro_decl): Read macro identifiers using copy_identifier
1359 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
1361 * src/output.c (prepare): Add prefixed names.
1362 (output_parser): Output semantic actions.
1363 (output_parser): Fix bug on '%%line' directives.
1365 * src/output.c (output_headers): Remove. The C code printed by this
1366 function should now be in the skeletons.
1367 (output_trailers): Remove.
1368 (output): Disable call to 'reader_output_yylsp'.
1369 (output_rule_data): Do not output tables to the table obstack.
1371 * src/output.c: Remove some C dedicated output.
1372 Improve the use of macro and output obstacks.
1373 (output_defines): Remove.
1375 * src/output.c (output_token_translations): Associate 'translate'
1376 table with a macro. No output to the table obstack.
1377 (output_gram): Same for 'rhs' and 'prhs'.
1378 (output_stos): Same for 'stos'.
1379 (output_rule_data): Same for 'r1' and 'r2'.
1380 (token_actions): Same for 'defact'.
1381 (goto_actions): Same for 'defgoto'.
1382 (output_base): Same for 'pact' and 'pgoto'.
1383 (output_table): Same for 'table'.
1384 (output_check): Same for 'check'.
1386 * src/output.c (output_table_data): New function.
1387 (output_short_table): Remove.
1388 (output_short_or_char_table): Remove.
1390 * src/output.c (output_parser): Replace most of the skeleton copy code
1391 with something new. Skeletons are now processed character by character
1392 rather than line by line, and Bison looks for '%%' macros. This is the
1393 first step in making Bison's output process (a lot) more flexible.
1394 (output_parser): Use the macro table.
1396 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
1398 * src/main.c (main): Initialize the macro table.
1400 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
1402 * src/lex.c (percent_table): Add tok_define.
1403 * src/lex.h: Add tok_define.
1405 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
1407 * src/macrotab.c: New file.
1408 * src/macrotab.h: New file.
1409 * src/Makefile.am: Update.
1411 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
1413 * lib/hash.c: New file.
1414 * lib/hash.h: New file.
1415 * lib/Makefile.am: Update.
1417 2001-08-15 Akim Demaille <akim@epita.fr>
1421 2001-08-15 Marc Autret <autret_m@epita.fr>
1423 * src/reader.c (readgram): Indent output macro YYSTYPE.
1424 (packsymbols): Likewise.
1425 (output_token_defines): Likewise.
1426 * src/files.c: Standardize.
1427 (compute_header_macro): New.
1428 (defines_obstack_save): New. Use compute_header_macro.
1429 (output_files): Update. Use defines_obstack_save.
1431 2001-08-15 Akim Demaille <akim@epita.fr>
1433 * doc/bison.texinfo (Table of Symbols): Document
1436 2001-08-15 Akim Demaille <akim@epita.fr>
1438 * missing: Update from CVS Automake.
1439 * config/config.guess, config/config.sub, config/texinfo.tex:
1440 Update from gnu.org.
1442 2001-08-15 Akim Demaille <akim@epita.fr>
1444 * Makefile.maint: Sync with CVS Autoconf.
1446 2001-08-14 Pascal Bart <pascal.bart@epita.fr>
1448 * doc/bison.texinfo: Include GNU Free Documentation License from
1450 * doc/fdl.texi: Add to package.
1452 2001-08-14 Marc Autret <autret_m@epita.fr>
1454 Turn on %{source,header}_extension features.
1456 * src/lex.c (percent_table): Un-CPP out header_extension and
1458 * src/files.c (compute_exts_from_gf): Compare pointers with NULL.
1459 (compute_exts_from_src): Remove conditions. It restores priorities
1462 2001-08-14 Marc Autret <autret_m@epita.fr>
1464 * src/files.c (compute_base_names): Add extensions computing when
1465 `--file-prefix' used.
1466 Standardize function calls.
1468 2001-08-13 Marc Autret <autret_m@epita.fr>
1470 * src/bison.simple (YYSTACK_USE_ALLOCA): Changed to allow users
1471 defining it (defined but null disables alloca).
1473 2001-08-13 Marc Autret <autret_m@epita.fr>
1475 * src/bison.simple (_yy_memcpy): CPP reformat.
1477 2001-08-13 Pascal Bart <pascal.bart@epita.fr>
1479 * tests/atconfig.in (CPPFLAGS): Fix.
1481 2001-08-10 Pascal Bart <pascal.bart@epita.fr>
1483 * doc/bison.texinfo: Include GNU General Public License from
1485 * doc/gpl.texi: Add to package.
1487 2001-08-10 Marc Autret <autret_m@epita.fr>
1489 * src/print_graph.h: Fix.
1490 * src/reader.c (read_declarations): Use parse_header_extension_decl ().
1492 2001-08-10 Akim Demaille <akim@epita.fr>
1494 * src/system.h: Provide default declarations for stpcpy, strndup,
1497 2001-08-10 Robert Anisko <anisko_r@epita.fr>
1499 * doc/bison.texinfo (Locations): Update @$ stuff.
1501 2001-08-09 Robert Anisko <anisko_r@epita.fr>
1503 * src/bison.simple (YYLLOC_DEFAULT): Update.
1506 2001-08-08 Marc Autret <autret_m@epita.fr>
1508 * doc/bison.texinfo: Change @samp{$<@dots{}>} to
1509 @samp{$<@dots{}>@var{n}} in Section Actions in Mid-Rule.
1510 Reported by Fabrice Bauzac.
1512 2001-08-08 Marc Autret <autret_m@epita.fr>
1514 * src/vcg_default.h: Use NULL instead of 0 to initialize pointers.
1515 * src/vcg.c (output_node): Fix.
1516 * src/vcg.h: Cleanup.
1517 * src/print_graph.c: Add comments.
1518 (node_output_size): New global variable. Simplify the formatting of
1519 the VCG graph output.
1520 (print_actions): Unused code is now used. It notifies the final state
1521 and no action states in the VCG graph. It also give the reduce actions.
1522 The `shift and goto' edges are red and the `go to state' edges are
1524 Get the current node name and node_obstack by argument.
1525 (node_obstack): New variable.
1526 (print_state): Manage node_obstack.
1527 (print_core): Use node_obstack given by argument.
1528 A node is not only computed here but in print_actions also.
1529 (print_graph): CPP out useless code instead of commenting it.
1531 2001-08-07 Pascal Bart <pascal.bart@epita.fr>
1533 * tests/atconfig.in (CPPFLAGS): Fix.
1535 2001-08-07 Akim Demaille <akim@epita.fr>
1537 * src/print_graph.c (quote): New.
1538 (print_core): Use it.
1540 2001-08-06 Akim Demaille <akim@epita.fr>, Marc Autret <autret_m@epita.fr>
1542 * src/vcg.c (complain.h): Include it.
1543 Unepitaize `return' invocations.
1544 [NDEBUG] (main): Remove.
1545 * src/vcg.h (node_t, edge_t, graph_t): Constify the char * members.
1546 * src/files.c (open_files): Initialize graph_obstack.
1547 * src/print_graph.c (print_actions): CPP out useless code.
1548 (print_core): Don't output the last `\n' in labels.
1550 * src/files.c (output_files): Output the VCG file.
1551 * src/main.c (main): Invoke print_graph ();
1553 2001-08-06 Marc Autret <autret_m@epita.fr>
1555 Automaton VCG graph output.
1556 Using option ``-g'' or long option ``--graph'', you can generate
1557 a gram_filename.vcg file containing a VCG description of the LALR (1)
1558 automaton of your grammar.
1560 * src/main.c: Call to print_graph() function.
1561 * src/getargs.h: Update.
1562 * src/getargs.c (options): Update to catch `-g' and `--graph' options.
1563 (graph_flag): New flag.
1565 (getargs): Add case `g'.
1566 * src/files.c (graph_obstack): New obstack struct.
1567 (open_files): Initialize new obstack.
1568 (output_files): Saves graph_obstack if required.
1569 * src/files.h (graph_obstack): New extern declaration.
1570 * src/Makefile.am: Add new source files.
1572 2001-08-06 Marc Autret <autret_m@epita.fr>
1574 * src/print_graph.c, src/print_graph.h (graph): New.
1575 * src/vcg.h: New file.
1576 * src/vcg.c: New file, VCG graph handling.
1578 2001-08-06 Marc Autret <autret_m@epita.fr>
1580 Add of %source_extension and %header_extension which specify
1581 the source or/and the header output file extension.
1583 * src/files.c (compute_base_names): Remove initialisation of
1584 src_extension and header_extension.
1585 (compute_exts_from_gf): Update.
1586 (compute_exts_from_src): Update.
1587 (output_files): Update.
1588 * src/reader.c (parse_header_extension_decl): New.
1589 (parse_source_extension_decl): New.
1590 (read_declarations): New case statements for the new tokens.
1591 * src/lex.c (percent_table): Add entries for %source_extension
1592 and %header_extension.
1593 * src/lex.h (token_e): New tokens tok_hdrext and tok_srcext.
1595 2001-08-06 Marc Autret <autret_m@epita.fr>
1597 * configure.in: Bump to 1.28c.
1598 * doc/bison.texinfo: Texinfo thingies.
1600 2001-08-04 Pascal Bart <pascal.bart@epita.fr>
1602 * tests/atconfig.in (CPPFLAGS): Add.
1603 * tests/calc.at (AT_CHECK): Use CPPFLAGS.
1605 2001-08-03 Akim Demaille <akim@epita.fr>
1609 2001-08-03 Akim Demaille <akim@epita.fr>
1611 * tests/Makefile.am (check-local): Ship testsuite.
1612 * tests/calc.at (_AT_DATA_CALC_Y): Prototype all the functions.
1615 2001-08-03 Akim Demaille <akim@epita.fr>
1617 * configure.in: Try using -Wformat when compiling.
1619 2001-08-03 Akim Demaille <akim@epita.fr>
1621 * configure.in: Bump to 1.28b.
1623 2001-08-03 Akim Demaille <akim@epita.fr>
1625 * src/complain.c: Adjust strerror_r portability issues.
1627 2001-08-03 Akim Demaille <akim@epita.fr>
1631 2001-08-03 Akim Demaille <akim@epita.fr>
1633 * src/getargs.c, src/getarg.h (skeleton)): Constify.
1634 * src/lex.c (literalchar): Avoid name clashes on `buf'.
1635 * src/getargs.c: Include complain.h.
1636 * src/files.c, src/files.h (skeleton_find): Avoid name clashes.
1637 * lib/quotearg.c, lib/quotearg.h: Update from fileutils 4.1.
1639 2001-08-03 Akim Demaille <akim@epita.fr>
1641 * src/reader.c (readgram): Display hidden chars in error messages.
1643 2001-08-03 Akim Demaille <akim@epita.fr>
1645 Update to gettext 0.10.39.
1647 2001-08-03 Akim Demaille <akim@epita.fr>
1649 * lib/strspn.c: New.
1651 2001-08-01 Marc Autret <autret_m@epita.fr>
1653 * doc/bison.texinfo: Update.
1654 * doc/bison.1 (mandoc): Update.
1655 * src/system.h (EXT_GUARD_C, EXT_STYPE_H): Remove .c and .h.
1656 * src/files.c: Support output files extensions computing.
1657 (src_extension): New static variable.
1658 (header_extension): New static variable.
1660 (get_extension_index): New function, gets the index of an extension
1661 filename in a string.
1662 (compute_exts_from_gf): New function, computes extensions from the
1663 grammar file extension.
1664 (compute_exts_from_src): New functions, computes extensions from the
1665 C source file extension, file given by ``-o'' option.
1666 (compute_base_names): Update.
1667 (output_files): Update.
1669 2001-08-01 Robert Anisko <anisko_r@epita.fr>
1671 * doc/bison.texi: Document @$.
1672 (Locations): New section.
1674 2001-07-18 Akim Demaille <akim@epita.fr>
1676 * Makefile.maint, GNUmakefile: New, from Autoconf 2.52.
1677 * config/prev-version.txt, config/move-if-change: New.
1678 * Makefile.am: Adjust.
1680 2001-07-08 Pascal Bart <pascal.bart@epita.fr>
1682 * src/bison.simple (yyparse): Suppress warning `comparaison
1683 between signed and unsigned'.
1685 2001-07-05 Pascal Bart <pascal.bart@epita.fr>
1687 * src/getargs.h (raw_flag): Remove.
1688 * src/getargs.c: Die on `-r'/`--raw'.
1689 * src/lex.c (parse_percent_token): Die on `%raw'.
1690 * src/reader.c (output_token_defines): Suppress call to `raw_flag'.
1691 * tests/calc.at: Suppress test with option `--raw'.
1693 2001-07-14 Akim Demaille <akim@epita.fr>
1696 * configure.in: Require Autoconf 2.50.
1697 Update to gettext 0.10.38.
1699 2001-03-16 Akim Demaille <akim@epita.fr>
1701 * doc/bison.texinfo: ANSIfy the examples.
1703 2001-03-16 Akim Demaille <akim@epita.fr>
1705 * getargs.c (skeleton): New variable.
1706 (longopts): --skeleton is a new option.
1707 (shortopts, getargs): -S is a new option.
1708 * getargs.h: Declare skeleton.
1709 * output.c (output_parser): Use it.
1711 2001-03-16 Akim Demaille <akim@epita.fr>
1713 * m4/strerror_r.m4: New.
1714 * m4/error.m4: Run AC_FUNC_STRERROR_R.
1715 * lib/error.h, lib/error.c: Update.
1717 2001-03-16 Akim Demaille <akim@epita.fr>
1719 * src/getargs.c (longopts): Clean up.
1721 2001-02-21 Akim Demaille <akim@epita.fr>
1723 * src/reader.c (gensym): `gensym_count' is your own.
1724 Use a static buf to create the symbol name, as token_buffer is no
1727 2001-02-08 Akim Demaille <akim@epita.fr>
1729 * src/conflicts.c (conflict_report): Be sure not to append to res
1730 between two calls, which could happen if both first sprintf were
1731 skipped, but not the first cp += strlen.
1733 2001-02-08 Akim Demaille <akim@epita.fr>
1735 * lib/memchr.c, lib/stpcpy.c, lib/strndup.c, lib/strnlen.c:
1736 New, from fileutils 4.0.37.
1737 * configure.in: Require Autoconf 2.49c. I took some time before
1738 making this decision. This is the only way out for portability
1739 issues in Bison, it would mean way too much duplicate effort to
1740 import in Bison features implemented in 2.49c since 2.13.
1741 AC_REPLACE_FUNCS and AC_CHECK_DECLS the functions above.
1743 2001-02-02 Akim Demaille <akim@epita.fr>
1745 * lib/malloc.c, lib/realloc.c: New, from the fileutils 4.0.37.
1746 * lib/xalloc.h, lib/xmalloc.c: Update.
1748 2001-01-19 Akim Demaille <akim@epita.fr>
1750 Get rid of the ad hoc handling of token_buffer in the scanner: use
1753 * src/lex.c (token_obstack): New.
1754 (init_lex): Initialize it. No longer call...
1755 (grow_token_buffer): this. Remove it.
1756 Adjust all the places which used it to use the obstack.
1758 2001-01-19 Akim Demaille <akim@epita.fr>
1760 * src/lex.h: Rename all the tokens:
1761 s/\bENDFILE\b/tok_eof/g;
1762 s/\bIDENTIFIER\b/tok_identifier/g;
1764 Let them be enums, not #define, to ease debugging.
1765 Adjust all the code.
1767 2001-01-18 Akim Demaille <akim@epita.fr>
1769 * src/lex.h (MAXTOKEN, maxtoken, grow_token_buffer): Remove, private.
1770 * src/lex.c (maxtoken, grow_token_buffer): Static.
1772 2001-01-18 Akim Demaille <akim@epita.fr>
1774 Since we now use obstacks, more % directives can be enabled.
1776 * src/lex.c (percent_table): Also accept `%yacc',
1777 `%fixed_output_files', `%defines', `%no_parser', `%verbose', and
1779 Handle the actions for `%semantic_parser' and `%pure_parser' here,
1780 instead of returning a token.
1781 * src/lex.h (SEMANTIC_PARSER, PURE_PARSER): Remove, unused.
1782 * src/reader.c (read_declarations): Adjust.
1783 * src/files.c (open_files): Don't call `compute_base_names', don't
1784 compute `attrsfile' since they depend upon data which might be
1785 *in* the input file now.
1786 (output_files): Do it here.
1787 * src/output.c (output_headers): Document the fact that this patch
1788 introduces a guaranteed SEGV for semantic parsers.
1789 * doc/bison.texinfo: Document them.
1790 * tests/suite.at: Exercise these %options.
1792 2000-12-20 Akim Demaille <akim@epita.fr>
1794 Also handle the output file (--verbose) with obstacks.
1796 * files.c (foutput): Remove.
1797 (output_obstack): New.
1798 Adjust all dependencies.
1799 * src/conflicts.c: Return a string.
1800 * src/system.h (obstack_grow_string): Rename as...
1801 (obstack_sgrow): this. Be ready to work with non literals.
1802 (obstack_fgrow4): New.
1804 2000-12-20 Akim Demaille <akim@epita.fr>
1806 * src/files.c (open_files): Fix the computation of short_base_name
1807 in the case of `-o foo.tab.c'.
1809 2000-12-20 Akim Demaille <akim@epita.fr>
1811 * src/reader.c (copy_string, copy_comment, copy_comment2, copy_at)
1812 (copy_dollar): Now that everything uses obstacks, get rid of the
1815 2000-12-20 Akim Demaille <akim@epita.fr>
1817 * src/files.c (open_files): Actually the `.output' file is based
1818 on the short_base_name, not base_name.
1819 * tests/suite.at (Checking output file names): Adjust.
1821 2000-12-20 Akim Demaille <akim@epita.fr>
1823 * src/bison.s1: Remove, we now use directly...
1824 * src/bison.simple: this.
1825 * src/Makefile.am: Use pkgdata instead of data.
1827 2000-12-20 Akim Demaille <akim@epita.fr>
1829 * src/files.c (guard_obstack): New.
1830 (open_files): Initialize it.
1831 (output_files): Dump it...
1832 * src/files.h: Export it.
1833 * src/reader.c (copy_guard): Use it.
1835 2000-12-19 Akim Demaille <akim@epita.fr>
1837 * src/files.c (outfile, defsfile, actfile): Removed as global
1839 (open_files): Don't compute them.
1840 (output_files): Adjust.
1841 (base_name, short_base_name): Be global.
1842 Adjust dependencies.
1844 2000-12-19 Akim Demaille <akim@epita.fr>
1846 * src/files.c (strsuffix): New.
1847 (stringappend): Be just like strcat but allocate.
1848 (base_names): Eve out from open_files.
1849 Try to simplify the rather hairy computation of base_name and
1851 (open_files): Use it.
1852 * tests/suite.at (Checking output file names): New test.
1854 2000-12-19 Akim Demaille <akim@epita.fr>
1856 * src/system.h (obstack_grow_literal_string): Rename as...
1857 (obstack_grow_string): this.
1858 * src/output.c (output_parser): Recognize `%% actions' instead of
1860 * src/bison.s1: s/$/%% actions/.
1861 * src/bison.hairy: Likewise.
1863 2000-12-19 Akim Demaille <akim@epita.fr>
1865 * src/output.c (output_parser): Compute the `#line' lines when
1867 * src/Makefile.am (bison.simple): Be a simple copy of bison.s1.
1868 Suggested by Hans Aberg.
1870 2000-12-19 Akim Demaille <akim@epita.fr>
1872 Let the handling of the skeleton files be local to the procedures
1875 * src/files.c (xfopen, xfclose, skeleton_find, guardfile): No
1877 (fparser, open_extra_files): Remove.
1878 (open_files, output_files): Don't take care of fparser.
1879 * src/files.h: Adjust.
1880 * src/output.c (output_parser): Open and close the file to the
1882 * src/reader.c (read_declarations): When %semantic_parser, open
1885 2000-12-19 Akim Demaille <akim@epita.fr>
1887 * src/file.h (BISON_SIMPLE, BISON_HAIRY): Move from here...
1888 * src/system.h (BISON_SIMPLE, BISON_HAIRY): ... to here.
1890 2000-12-19 Akim Demaille <akim@epita.fr>
1892 * src/files.c (open_files): Yipee! We no longer need all the code
1893 looking for `/tmp' since we have no tmp file.
1895 2000-12-19 Akim Demaille <akim@epita.fr>
1897 * src/system.h (EXT_TAB, EXT_OUTPUT, EXT_STYPE_H, EXT_GUARD_C):
1899 * src/files.c (open_files): Less dependency on MSDOS etc.
1901 2000-12-14 Akim Demaille <akim@epita.fr>
1903 * src/bison.s1 (YYLLOC_DEFAULT): New macro.
1904 Provide a default definition.
1905 Use it when executing the default @ action.
1906 * src/reader.c (reader_output_yylsp): No longer include
1907 `timestamp' and `text' in the default YYLTYPE.
1909 2000-12-12 Akim Demaille <akim@epita.fr>
1911 * src/reader.c (copy_definition, parse_union_decl, copy_action)
1912 (copy_guard): Quote the file names.
1913 Reported by Laurent Mascherpa.
1915 2000-12-12 Akim Demaille <akim@epita.fr>
1917 * src/output.c (output_headers, output_program, output): Be sure
1918 to escape special characters when outputting filenames.
1919 (ACTSTR_PROLOGUE, ACTSTR_EPILOGUE): Remove.
1920 (output_headers): Don't depend on them, Use ACTSTR.
1922 2000-11-17 Akim Demaille <akim@epita.fr>
1924 * lib/obstack.h: Formatting changes.
1925 (obstack_grow, obstack_grow0): Don't cast WHERE at all: it
1926 prevents type checking.
1927 (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
1928 cast the value to (void *): assigning a `foo *' to a `void *'
1930 (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
1931 * src/reader.c (parse_union_decl): Typo: use obstack_1grow to
1934 2000-11-17 Akim Demaille <akim@epita.fr>
1936 * tests/Makefile.am (suite.m4, regression.m4, calc.m4): Rename
1938 (suite.m4, regression.m4, calc.m4): these.
1939 * tests/atgeneral.m4: Update from CVS Autoconf.
1941 2000-11-17 Akim Demaille <akim@epita.fr>
1943 * tests/regression.m4 (%union and --defines): New test,
1944 demonstrating a current bug in the obstack implementation.
1946 2000-11-17 Akim Demaille <akim@epita.fr>
1948 * src/bison.s1 (_YY_DECL_VARIABLES, YY_DECL_VARIABLES): New
1950 Use them to declare the variables which are global or local to
1953 2000-11-17 Akim Demaille <akim@epita.fr>
1955 * acconfig.h: Remove, no longer used.
1957 2000-11-07 Akim Demaille <akim@epita.fr>
1959 * src: s/Copyright (C)/Copyright/g.
1961 2000-11-07 Akim Demaille <akim@epita.fr>
1963 * src/reader.c (reader): #define YYLSP_NEEDED to 1 instead of just
1965 * src/bison.s1: s/#ifdef YYLSP_NEEDED/#if YYLSP_NEEDED/.
1967 2000-11-07 Akim Demaille <akim@epita.fr>
1969 * src/bison.s1 (YYLEX): Use #if instead of #ifdef.
1970 Merge in a single CPP if/else.
1972 2000-11-07 Akim Demaille <akim@epita.fr>
1974 * src/output.c (output): Remove useless variables.
1975 * lib/obstack.c (obstack_grow, obstack_grow0): Rename the second
1976 argument `data' for consistency with the prototypes.
1978 (obstack_copy, obstack_copy0): Rename the second argument as
1979 `address' for consistency. Qualify it `const'.
1980 * lib/obstack.h (obstack_copy, obstack_copy0, obstack_grow)
1981 (obstack_grow0, obstack_ptr_grow, obstack_ptr_grow_fast): Qualify
1982 `const' their input argument (`data' or `address').
1983 Adjust the corresponding macros to include `const' in casts.
1985 2000-11-03 Akim Demaille <akim@epita.fr>
1987 * src/Makefile.am (INCLUDES): s/PFILE/BISON_SIMPLE/.
1988 s/PFILE1/BISON_HAIRY/.
1989 Adjust dependencies.
1991 2000-11-03 Akim Demaille <akim@epita.fr>
1993 For some reason, this was not applied.
1995 * src/files.c [VMS]: No longer include `ssdef.h', no longer define
1996 `unlink': it's no longer used.
1998 2000-11-03 Akim Demaille <akim@epita.fr>
2000 * src/files.c (skeleton_find): New function, eved out of...
2001 (open_files, open_extra_files): here.
2003 2000-11-03 Akim Demaille <akim@epita.fr>
2007 * src/files.c (obstack_save): New function.
2008 (done): Rename as...
2009 (output_files): this.
2011 * src/main.c (main): Don't use `atexit' to register `done', since
2012 it no longer has to remove tmp files, just call `output_files'
2013 when there are no errors.
2015 2000-11-02 Akim Demaille <akim@epita.fr>
2017 * src/files.c [VMS]: No longer include `ssdef.h', no longer define
2018 `unlink': it's no longer used.
2019 * src/files.h: Formatting changes.
2021 2000-11-02 Akim Demaille <akim@epita.fr>
2023 Remove the last uses of mktemp and unlink/delete.
2025 * src/files.c (fdefines, ftable): Removed.
2026 (defines_ostack, table_obstack): New.
2027 Adjust dependencies of the former into uses of the latter.
2028 * src/output.c (output_short_or_char_table, output_short_table):
2029 Convert to using obstacks.
2030 * src/reader.c (copy_comment2): Accept one FILE * and two
2032 (output_token_defines, reader_output_yylsp): Use obstacks.
2033 * src/system.h (obstack_fgrow3): New.
2035 2000-11-01 Akim Demaille <akim@epita.fr>
2037 Change each use of `fattrs' into a use of `attrs_obstack'.
2039 * src/reader.c (copy_at): Typo: s/yylloc/yyloc/.
2040 * src/files.c (fattrs): Remove.
2041 (attrs_obstack): New.
2042 Adjust all dependencies.
2043 (done): If SEMANTIC_PARSER, dump attrs_obstack into attrsfile.
2045 2000-11-01 Akim Demaille <akim@epita.fr>
2048 Change each use of `faction' into a use of `action_obstack'.
2050 * lib/obstack.h, lib/obstack.c: New files.
2051 * src/files.c (faction): Remove.
2052 (action_obstack): New.
2053 Adjust all dependencies.
2055 2000-10-20 Akim Demaille <akim@epita.fr>
2057 * lib/quote.h (PARAMS): New macro. Use it.
2059 2000-10-16 Akim Demaille <akim@epita.fr>
2061 * src/output.c (output_short_or_char_table): New function.
2062 (output_short_table, output_token_translations): Use it.
2063 (goto_actions): Use output_short_table.
2065 2000-10-16 Akim Demaille <akim@epita.fr>
2067 * src/symtab.c (bucket_new): New function.
2070 * src/output.c (output_short_table): New argument to display the
2071 comment associated with the table.
2072 Adjust dependencies.
2073 (output_gram): Use it.
2074 (output_rule_data): Nicer output layout for YYTNAME.
2076 2000-10-16 Akim Demaille <akim@epita.fr>
2078 * src/lex.c (read_typename): New function.
2080 * src/reader.c (copy_dollar): Likewise.
2082 2000-10-16 Akim Demaille <akim@epita.fr>
2084 * src/reader.c (copy_comment2): Expect the input stream to be on
2085 the `/' which is suspected to open a comment, instead of being
2086 called after `//' or `/*' was read.
2087 (copy_comment, copy_definition, parse_union_decl, copy_action)
2088 (copy_guard): Adjust.
2090 2000-10-16 Akim Demaille <akim@epita.fr>
2092 * src/reader.c (parse_expect_decl): Use `skip_white_space' and
2093 `read_signed_integer'.
2095 2000-10-16 Akim Demaille <akim@epita.fr>
2097 * src/reader.c (copy_dollar): New function.
2098 (copy_guard, copy_action): Use it.
2100 2000-10-16 Akim Demaille <akim@epita.fr>
2102 * lib/quote.h, lib/quote.c, lib/quotearg.h, lib/quotearg.c:
2103 * m4/prereq.m4, m4/c-bs-a.m4, m4/mbstate.m4:
2104 New files, from Fileutils 4.0.27.
2105 * src/main.c (printable_version): Remove.
2106 * src/lex.c, src/reader.c: Use `quote'.
2108 2000-10-04 Akim Demaille <akim@epita.fr>
2110 * lib/error.c, lib/error.h: New files, needed by xmalloc.c.
2112 2000-10-04 Akim Demaille <akim@epita.fr>
2114 * doc/bison.texinfo: Various typos spotted by Neil Booth.
2116 2000-10-04 Akim Demaille <akim@epita.fr>
2118 When a literal string is used to define two different tokens,
2119 `bison -v' segfaults.
2120 Reported by Piotr Gackiewicz, and fixed by Neil Booth.
2122 * tests/regression.m4: New file.
2123 Include the core of the sample provided by Piotr Gackiewicz.
2124 * src/reader.c (parse_token_decl): Diagnose bad cases, and proceed
2127 2000-10-04 Akim Demaille <akim@epita.fr>
2129 * src/reader.c (parse_expect_decl): Keep `count' within the size
2133 2000-10-02 Paul Eggert <eggert@twinsun.com>
2135 * bison.s1 (yyparse): Assign the default value
2136 unconditionally, to avoid a GCC warning and make the parser a
2139 2000-10-02 Akim Demaille <akim@epita.fr>
2141 * src/getargs.c (getargs): Don't dump `--help' on unrecognized
2144 2000-10-02 Akim Demaille <akim@epita.fr>
2146 * src/derives.c, src/print.c, src/reduce.c: To ease the
2147 translation, move some `\n' out of the translated strings.
2149 2000-10-02 Akim Demaille <akim@epita.fr>
2151 The location tracking mechanism is precious for parse error
2152 messages. Nevertheless, it is enabled only when `@n' is used in
2153 the grammar, which is a different issue (you can use it in error
2154 message, but not in the grammar per se). Therefore, there should
2155 be another means to enable it.
2157 * src/getargs.c (getargs): Support `--locations'.
2159 * src/getargs.h (locationsflag): Export it.
2160 * src/lex.c (percent_table): Support `%locations'.
2161 * src/reader.c (yylsp_needed): Remove this variable, now replaced
2162 with `locationsflag'.
2163 * doc/bison.texinfo: Document `--locations' and `%locations'.
2165 * tests/calc.m4: Test it.
2167 For regularity of the names, replace each
2168 (nolineflag, toknumflag, rawtokenumflag, noparserflag): with...
2169 (no_lineflag, token_tableflag, rawflag, no_parserflag): this.
2170 In addition replace each `flag' with `_flag'.
2172 2000-10-02 Akim Demaille <akim@epita.fr>
2174 Also test parse error messages, including with YYERROR_VERBOSE.
2176 * tests/calc.m4 (calc.y): Add support for `exp = exp' (non
2178 Use it to check the computations.
2179 Use it to check `nonassoc' is honored.
2180 (AT_DATA_CALC_Y): Equip `calc.y' with YYERROR_VERBOSE when passed
2181 `--yyerror-verbose'.
2182 (_AT_CHECK_CALC): Adjust to this option.
2183 (_AT_CHECK_CALC_ERROR): New macro to check parse error messages.
2185 2000-10-02 Akim Demaille <akim@epita.fr>
2187 Test also `--verbose', `--defines' and `--name-prefix'. Testing
2188 the latter demonstrates a flaw in the handling of non debugging
2189 parsers introduced by myself on 2000-03-16: `#define yydebug 0'
2190 was used in order to simplify:
2206 unfortunately this leads to a CPP conflict when
2207 `--name-prefix=foo' is used since it produces `#define yydebug
2210 * src/bison.s1 [!YYDEBUG]: Do not define yydebug.
2211 (YYDPRINTF): New macro.
2213 * tests/calc.m4 (AT_CHECK_CALC): Do require a title, build it from
2215 Also test `--verbose', `--defines' and `--name-prefix'.
2217 2000-10-02 Akim Demaille <akim@epita.fr>
2219 Improve the readability of the produced parsers.
2221 * src/bison.s1: Formatting changes.
2222 Improve the comment related to the `$' mark.
2223 (yydefault): Don't fall through to `yyresume': `goto' there.
2224 * src/output.c (output_parser): When the `$' is met, skip the end
2226 New variable, `number_of_dollar_signs', to check there's exactly
2227 one `$' in the parser skeleton.
2229 2000-10-02 Akim Demaille <akim@epita.fr>
2231 * lib/xstrdup.c: New file, from the fileutils.
2232 * src/reader.c (parse_token_decl, get_type_name, parse_type_decl)
2233 (parse_assoc_decl, parse_thong_decl, get_type): Use `xstrdup'
2234 instead of strlen + xmalloc + strcpy.
2235 * src/symtab.c (copys): Remove, use xstrdup instead.
2237 2000-10-02 Akim Demaille <akim@epita.fr>
2239 * src/gram.h (associativity): New enum type which replaces the
2240 former CPP macros `RIGHT_ASSOC', `LEFT_ASSOC' and `NON_ASSOC' with
2241 `right_assoc', `left_assoc' and `non_assoc'.
2242 Adjust all dependencies.
2243 * src/reader.c: Formatting changes.
2244 (LTYPESTR): Don't define it, use it as a literal in
2245 `reader_output_yylsp'.
2246 * src/symtab.h (symbol_class): New enum type which replaces the
2247 former CPP macros `SUNKNOWN', `STOKEN and `SNTERM' with
2248 `sunknown', `stoken and `snterm'.
2250 2000-10-02 Akim Demaille <akim@epita.fr>
2252 * src/getargs.c (fixed_outfiles): Rename as...
2253 (yaccflag): for consistency and accuracy.
2254 Adjust dependencies.
2256 2000-10-02 Akim Demaille <akim@epita.fr>
2258 Use the more standard files `xalloc.h' and `xmalloc.c' instead of
2259 Bison's `allocate.c' and `alloc.h'. This patch was surprisingly
2260 difficult and introduced a lot of core dump. It turns out that
2261 Bison used an implementation of `xmalloc' based on `calloc', and
2262 at various places it does depend upon the initialization to 0. I
2263 have not tried to isolate the pertinent places, and all the former
2264 calls to Bison's `xmalloc' are now using `XCALLOC'. Someday,
2265 someone should address this issue.
2267 * src/allocate.c, src/alloc.h, m4/bison-decl.m4: Remove.
2268 * lib/xmalloc.c, lib/xalloc.h, m4/malloc.m4, m4/realloc.m4: New
2270 Adjust dependencies.
2271 * src/warshall.h: New file.
2274 2000-10-02 Akim Demaille <akim@epita.fr>
2276 Various anti-`extern in *.c' changes.
2278 * src/system.h: Include `assert.h'.
2280 2000-10-02 Akim Demaille <akim@epita.fr>
2282 * src/state.h (nstates, final_state, first_state, first_shift)
2283 (first_reduction): Move their exportation from here...
2284 * src/LR0.h: to here.
2285 Adjust dependencies.
2286 * src/getargs.c (statisticsflag): New variable.
2287 Add support for `--statistics'.
2288 Adjust dependencies.
2290 Remove a lot of now useless `extern' statements in most files.
2292 2000-10-02 Akim Demaille <akim@epita.fr>
2294 * src/LR0.h: New file.
2297 2000-10-02 Akim Demaille <akim@epita.fr>
2299 * src/print.h: New file.
2301 * src/print.c: Formatting and ordering changes.
2302 (verbose, terse): Replace with...
2303 (print_results): this new function.
2304 Adjust dependencies.
2306 2000-10-02 Akim Demaille <akim@epita.fr>
2308 * src/conflicts.c (conflict_report): New function.
2309 (conflict_log, verbose_conflict_log): Replace with...
2310 (print_conflicts): this function.
2311 Adjust dependencies.
2312 * src/conflicts.h: New file.
2313 Propagate its inclusion.
2315 2000-10-02 Akim Demaille <akim@epita.fr>
2317 * src/nullable.h: New file.
2318 Propagate its inclusion.
2319 * src/nullable.c: Formatting changes.
2321 2000-10-02 Akim Demaille <akim@epita.fr>
2323 * src/reduce.h: New file.
2324 Propagate its inclusion.
2325 * src/reduce.c: Topological sort and other formatting changes.
2326 (bool, TRUE, FALSE): Move their definition to...
2327 * src/system.h: here.
2329 2000-10-02 Akim Demaille <akim@epita.fr>
2331 * src/files.c: Formatting changes.
2332 (tryopen, tryclose, openfiles): Rename as...
2333 (xfopen, xfclose, open_files): this.
2334 (stringappend): static.
2335 * src/files.h: Complete the list of exported symbols.
2338 2000-10-02 Akim Demaille <akim@epita.fr>
2340 * src/reader.h: New file.
2341 Propagate its use instead of tedious list of `extern' and
2343 * src/reader.c: Formatting changes, topological sort,
2346 2000-10-02 Akim Demaille <akim@epita.fr>
2348 * src/lex.h: Prototype `lex.c' exported functions.
2349 * src/reader.c: Adjust.
2350 * src/lex.c: Formatting changes.
2351 (safegetc): Rename as...
2354 2000-10-02 Akim Demaille <akim@epita.fr>
2356 * src/lalr.h: New file.
2357 Propagate its inclusion instead of prototypes and `extern'.
2358 * src/lalr.c: Formatting changes, topological sorting etc.
2360 2000-10-02 Akim Demaille <akim@epita.fr>
2362 * src/output.c (token_actions): Introduce a temporary array,
2363 YYDEFACT, that makes it possible for this function to use
2366 2000-10-02 Akim Demaille <akim@epita.fr>
2368 `user_toknums' is output as a `short[]' in `output.c', while it is
2369 defined as a `int[]' in `reader.c'. For consistency with the
2370 other output tables, `user_toknums' is now defined as a table of
2373 * src/reader.c (user_toknums): Be a short table instead of an int
2375 Adjust dependencies.
2377 Factor the short table outputs.
2379 * src/output.c (output_short_table): New function.
2380 * src/output.c (output_gram, output_stos, output_rule_data)
2381 (output_base, output_table, output_check): Use it.
2383 2000-10-02 Akim Demaille <akim@epita.fr>
2385 * src/output.c (output): Topological sort of the functions, in
2386 order to get rid of the `static' prototypes.
2387 No longer use `register'.
2388 * src/output.h: New file.
2389 Propagate its inclusion in files explicitly prototyping functions
2392 2000-09-21 Akim Demaille <akim@epita.fr>
2394 * src/atgeneral.m4: Update from Autoconf.
2396 2000-09-21 Akim Demaille <akim@epita.fr>
2398 * src/closure.h: New file.
2399 * src/closure.c: Formatting changes, topological sort over the
2400 functions, use of closure.h.
2401 (initialize_closure, finalize_closure): Rename as...
2402 (new_closure, free_closure): these. Adjust dependencies.
2403 * src/LR0.c: Formatting changes, topological sort, use of
2405 (initialize_states): Rename as...
2407 * src/Makefile.am (noinst_HEADERS): Adjust.
2409 2000-09-20 Akim Demaille <akim@epita.fr>
2411 * src/acconfig.h: Don't protect config.h against multiple
2413 Don't define PARAMS.
2414 * src/system.h: Define PARAMS.
2415 Remove some of the ad-hoc CPP magic for DOS, VMS etc.: this is the
2416 purpose of config.h. system.h must not try to fix wrong
2417 definitions in config.h.
2419 2000-09-20 Akim Demaille <akim@epita.fr>
2421 * src/derives.h: New file.
2422 * src/main.c, src/derives.h: Use it.
2424 * src/Makefile.am (noinst_HEADERS): Adjust.
2426 2000-09-20 Akim Demaille <akim@epita.fr>
2428 * tests/atgeneral.m4: Update from Autoconf.
2429 * tests/calc.m4 (_AT_DATA_CALC_Y, AT_DATA_CALC_Y, _AT_CHECK_CALC)
2430 (AT_CHECK_CALC): New macros.
2431 Use these macros to test bison with options `', `--raw',
2432 `--debug', `--yacc', `--yacc --debug'.
2434 2000-09-19 Akim Demaille <akim@epita.fr>
2436 * src/output.c: Formatting changes.
2437 * src/machine.h: Remove, leaving its contents in...
2438 * src/system.h: here.
2440 Adjust all dependencies on stdio.h and machine.h.
2441 * src/getargs.h: New file.
2442 Let all `extern' declarations about getargs.c be replaced with
2443 inclusion of `getargs.h'.
2444 * src/Makefile.am (noinst_HEADERS): Adjust.
2446 * tests/calc.m4 (yyin): Be initialized in main, not on the global
2448 (yyerror): Returns void, not int.
2449 * doc/bison.texinfo: Formatting changes.
2451 2000-09-19 Akim Demaille <akim@epita.fr>
2453 * tests/calc.m4 (calc.y): Do not assign to stdin, as it's not
2456 2000-09-18 Akim Demaille <akim@epita.fr>
2458 * configure.in: Append WARNING_CFLAGS to CFLAGS.
2459 * src/Makefile.am (INCLUDES): Don't.
2460 Be ready to fetch headers in lib/.
2462 2000-09-18 Akim Demaille <akim@epita.fr>
2464 * doc/bison.texinfo: Update the copyright.
2465 ANSIfy and GNUify the examples.
2466 Remove the old menu.
2468 2000-09-18 Akim Demaille <akim@epita.fr>
2470 First set of tests: use the `calc' example from the documentation.
2472 * src/bison.s1 (yyparse): Condition the code using `yytname' which
2473 is defined only when YYDEBUG is.
2474 * m4/atconfig.m4 (AT_CONFIG): Adjust to Autoconf 2.13.
2475 * src/files.c (tryopen, tryclose): Formatting changes.
2476 Move to the top and be static.
2477 * src/reader.c (read_signed_integer): Likewise.
2478 * tests/calc.m4: New file.
2479 * Makefile.am, suite.m4: Adjust.
2480 * m4/atconfig.m4: Set BISON_SIMPLE and BISON_HAIRY.
2482 2000-09-18 Akim Demaille <akim@epita.fr>
2484 Add support for an Autotest test suite for Bison.
2486 * m4/m4.m4, m4/atconfig.m4: New files.
2487 * m4/Makefile.am (EXTRA_DIST): Adjust.
2488 * tests/suite.m4, tests/Makefile.am, tests/atgeneral.m4: New
2490 * src/getargs.c: Display a more standard --version message.
2491 * src/reader.c (reader): Formatting changes.
2492 No longer depend upon VERSION_STRING.
2493 * configure.in: No longer use `dnl'.
2494 Set up the test suite and the new directory `tests/.
2495 (VERSION_STRING): Remove.
2497 2000-04-14 Akim Demaille <akim@epita.fr>
2499 * src/reader.c (copy_comment2): New function, same as former
2500 `copy_comment', but outputs into two FILE *.
2501 (copy_comment): Use it.
2502 (parse_union_decl): Use it.
2503 (get_type, parse_start_decl): Use the same `invalid' message.
2504 (parse_start_decl, parse_union_decl): Use the same `multiple'
2506 (parse_union_decl, copy_guard, copy_action): Use the same
2507 `unmatched' message.
2508 * m4/Makefile.am (EXTRA_DIST): Add `warning.m4'.
2510 2000-03-31 Akim Demaille <akim@epita.fr>
2512 * src/files.c (tryopen, tryclose): Move to the top.
2515 2000-03-31 Akim Demaille <akim@epita.fr>
2517 * src/main.c (main): Don't call `done', exit does it.
2519 2000-03-31 Akim Demaille <akim@epita.fr>
2521 * allocate.c: s/return (foo)/return foo/.
2524 * output.c: Likewise.
2525 * reader.c: Likewise.
2526 * symtab.c: Likewise.
2527 * vmsgetargs.c: Likewise.
2529 2000-03-31 Akim Demaille <akim@epita.fr>
2531 Clean up the error reporting functions.
2533 * src/report.c: New file.
2534 * src/report.h: Likewise.
2535 * src/Makefile.am: Adjust.
2536 * m4/error.m4: New file.
2537 * m4/Makefile.am: Adjust.
2538 * configure.in (jm_PREREQ_ERROR): Call it.
2539 * src/main.c (int_to_string, banner, fatal_banner, warn_banner):
2541 (fatal, fatals): Remove. All callers use complain.c::fatal.
2542 (warn, warni, warns, warnss, warnss): Remove. All callers use
2543 complain.c::complain.
2544 (toomany): Remove, use fatal instead.
2545 * src/files.c (done): No argument, use complain_message_count.
2546 * src/main.c (main): Register `done' to `atexit'.
2548 * src/getargs.c (usage): More `fputs', less `fprintf'.
2550 2000-03-28 Akim Demaille <akim@epita.fr>
2552 * lib/: New directory.
2553 * Makefile.am (SUBDIRS): Adjust.
2554 * configure.in: Adjust.
2555 (LIBOBJS): Although not used yet, AC_SUBST it, otherwise it's
2557 * src/alloca.c: Moved to lib/.
2558 * src/getopt.c: Likewise.
2559 * src/getopt1.c: Likewise.
2560 * src/getopt.h: Likewise.
2561 * src/ansi2knr.c: Likewise.
2562 * src/ansi2knr.1: Likewise.
2563 * src/Makefile.am: Adjust.
2564 * lib/Makefile.am: New file.
2566 2000-03-28 Akim Demaille <akim@epita.fr>
2568 * src/getargs.c (usage): Refresh the help message.
2570 2000-03-17 Akim Demaille <akim@epita.fr>
2572 * src/getopt1.c: Updated from textutils 2.0e
2573 * src/getopt.c: Likewise.
2574 * src/getopt.h: Likewise.
2576 2000-03-17 Akim Demaille <akim@epita.fr>
2578 * src/Makefile.am (bison.simple): Fix the awk program: quote only
2579 the file name, not the whole `#line LINE FILE'.
2581 2000-03-17 Akim Demaille <akim@epita.fr>
2583 On syntax errors, report the token on which we choked.
2585 * src/bison.s1 (yyparse): In the label yyerrlab, when
2586 YYERROR_VERBOSE, add yychar in msg.
2588 2000-03-17 Akim Demaille <akim@epita.fr>
2590 * src/reader.c (copy_at): New function.
2591 (copy_guard): Use it.
2592 (copy_action): Use it.
2594 2000-03-17 Akim Demaille <akim@epita.fr>
2596 Be kind to translators, save some useless translations.
2598 * src/main.c (banner): New function.
2599 (fatal_banner): Use it.
2600 (warn_banner): Use it.
2602 2000-03-17 Akim Demaille <akim@epita.fr>
2604 * src/reader.c (copy_definition): Use copy_string and
2605 copy_comment. Removed now unused `match', `ended',
2607 (copy_comment, copy_string): Moved, to be visible from
2610 2000-03-17 Akim Demaille <akim@epita.fr>
2612 * src/reader.c (copy_string): Declare `static inline'. No
2613 problems with inline, since it is checked by configure.
2614 (copy_comment): Likewise.
2616 2000-03-17 Akim Demaille <akim@epita.fr>
2618 * src/reader.c (packsymbols): Formatting changes.
2620 2000-03-17 Akim Demaille <akim@epita.fr>
2622 * src/reader.c (copy_comment): New function, factored out from:
2623 (copy_action): Use it. Removed now unused `match', `ended',
2625 (copy_guard): Likewise.
2627 2000-03-17 Akim Demaille <akim@epita.fr>
2629 * src/reader.c (copy_string): New function, factored out from:
2630 (copy_action): Use it.
2631 (copy_guard): Likewise.
2633 2000-03-17 Akim Demaille <akim@epita.fr>
2635 Change the handling of @s so that they behave exactly like $s.
2636 There is now a pseudo variable @$ (readble and writable), location
2637 of the lhs of the rule (by default ranging from the location of
2638 the first symbol of the rhs, to the location of the last symbol,
2639 or, if the rhs is empty, YYLLOC).
2641 * src/bison.s1 [YYLSP_NEEDED] (yyloc): New variable, twin of
2643 (yyparse): When providing a default semantic action, provide a
2644 default location action.
2645 (after the $): No longer change `*YYLSP', just stack YYLOC the
2646 same way you stack YYVAL.
2647 * src/reader.c (read_declarations): Use warns.
2648 (copy_guard, case '@'): Also recognize `@$', expanded as `YYLOC'.
2649 (copy_action, case '@'): Likewise.
2650 Use a standard error message, to save useless work from
2653 2000-03-17 Akim Demaille <akim@epita.fr>
2655 * src/bison.s1: Formatting and cosmetics changes.
2656 * src/reader.c: Likewise.
2657 Update the Copyright notice.
2659 2000-03-17 Akim Demaille <akim@epita.fr>
2661 * src/bison.s1 (#line): All set to `#line' only, since the
2662 Makefile now handles them.
2664 2000-03-16 Akim Demaille <akim@epita.fr>
2666 * src/output.c (output_rule_data): Output the documentation of
2668 (Copyright notice): Update.
2671 2000-03-16 Akim Demaille <akim@epita.fr>
2673 * src/bison.s1 [!YYDEBUG]: Define yydebug to 0. This allows to
2674 remove most `#if YYDEBUG != 0', since `if (yydebug)' is enough.
2675 One `#if YYDEBUG' remains, since it uses variables which are
2676 defined only if `YYDEBUG != 0'.
2678 2000-03-16 Akim Demaille <akim@epita.fr>
2680 * src/bison.s1 (yyparse): Reorganize the definitions of the stacks
2681 and related variables so that the similarities are highlighted.
2683 2000-03-16 Akim Demaille <akim@epita.fr>
2685 * src/bison.s1: Properly indent CPP directives.
2687 2000-03-16 Akim Demaille <akim@epita.fr>
2689 * src/bison.s1: Properly indent the `alloca' CPP section.
2691 2000-03-16 Akim Demaille <akim@epita.fr>
2693 Do not hard code values of directories in `configure.in'.
2694 Update the `configure' tool chain.
2696 * configure.in (XPFILE, XPFILE1, LOCALEDIR): Remove, handled by
2698 (VERSION_STRING): Use the third arg of AC_DEFINE_UNQUOTED.
2699 (AC_OUTPUT): Add m4/Makefile.
2700 Bump to bison 1.28a, 1.29 has never been released.
2701 * acconfig.h (XPFILE, XPFILE1, LOCALEDIR): Remove, since they are
2702 handled via src/Makefile.am.
2703 (VERSION_STRING, PROTOTYPES, ENABLE_NLS, HAVE_CATGETS,
2704 HAVE_GETTEXT, HAVE_LC_MESSAGES, HAVE_STPCPY): Remove, handled by
2706 * Makefile.am (SUBDIRS): Add m4.
2707 (ACLOCAL_AM_FLAGS): New variable.
2708 (AUTOMAKE_OPTIONS): Add check-news.
2709 * src/Makefile.am (bison.simple): Use awk to replace #line lines with
2710 the proper line number and file name.
2711 (DEFS): Propagate the location of bison library files and of the
2713 (INCLUDES): Added `-I ..' so that one can compile with srcdir !=
2715 * acinclude.m4: Remove, replaced by the directory m4.
2716 * m4/Makefile.am (EXTRA_DIST): New variable.
2717 * m4/gettext.m4: New file, from the fileutils.
2718 * m4/lcmessage.m4: Likewise
2719 * m4/progtest.m4: Likewise.
2720 * m4/bison-decl.m4: New file, extracted from former acinclude.m4.
2722 2000-03-10 Akim Demaille <akim@epita.fr>
2725 Formatting changes of various comments.
2726 Respect the GNU coding standards at various places.
2727 Don't use `_()' when no translation is needed.
2729 1999-12-13 Jesse Thilo <jthilo@gnu.org>
2732 OS/2 honors TMPDIR environment variable.
2734 1999-12-13 Jesse Thilo <jthilo@gnu.org>
2736 * doc/bison.texinfo: Tweaked spelling and grammar.
2738 Removed reference to price of printed copy.
2739 Mention BISON_SIMPLE and BISON_HAIRY.
2741 1999-12-13 Jesse Thilo <jthilo@gnu.org>
2743 * configure.in, NEWS:
2744 Bison 1.29 released.
2746 1999-10-27 Jesse Thilo <jthilo@gnu.org>
2748 * doc/.cvsignore, doc/Makefile.am, doc/refcard.tex:
2749 Added reference card.
2751 1999-07-26 Jesse Thilo <jthilo@gnu.org>
2753 * po/ru.po: Added Russian translation.
2755 1999-07-26 Jesse Thilo <jthilo@gnu.org>
2757 * configure.in: Added Russian translation.
2759 1999-07-06 Jesse Thilo <jthilo@gnu.org>
2761 * configure.in, NEWS, README:
2762 Released version 1.28.
2764 1999-06-14 Jesse Thilo <jthilo@gnu.org>
2767 Squashed redefinition warning on some systems.
2769 * src/getargs.c, src/Makefile.am, src/reader.c, src/version.c:
2770 Have configure build version string instead of relying on ANSI string
2773 1999-06-14 Jesse Thilo <jthilo@gnu.org>
2775 * po/POTFILES.in: Got rid of version.c.
2777 1999-06-14 Jesse Thilo <jthilo@gnu.org>
2779 * acconfig.h, configure.in:
2780 Have configure build version string instead of relying on ANSI string
2783 1999-06-08 Jesse Thilo <jthilo@gnu.org>
2786 Dropped mention of `+' for long-named options.
2788 1999-05-30 Jesse Thilo <jthilo@gnu.org>
2790 * src/files.c: Added <unistd.h> for unlink().
2792 * src/Makefile.am, src/system.h:
2795 1999-05-30 Jesse Thilo <jthilo@gnu.org>
2797 * README: Added a FAQ list.
2799 * configure.in, acconfig.h:
2802 1999-05-30 Jesse Thilo <jthilo@gnu.org>
2804 * doc/FAQ, doc/Makefile.am:
2807 1999-05-19 Jesse Thilo <jthilo@gnu.org>
2809 * src/alloc.h, src/symtab.h, src/version.c:
2810 Protected inclusion of "config.h" with HAVE_CONFIG_H.
2812 1999-04-18 Jesse Thilo <jthilo@gnu.org>
2814 * src/.cvsignore, src/Makefile.am:
2815 Reorganized: sources in `src', documentation in `doc'.
2817 * src/lex.c (literalchar):
2818 fixed the code for escaping double quotes (thanks
2821 1999-04-18 Jesse Thilo <jthilo@gnu.org>
2823 * po/de.po, po/es.po, po/fr.po, po/nl.po, po/POTFILES.in:
2824 Adjusted paths to reflect directory reorganization.
2826 1999-04-18 Jesse Thilo <jthilo@gnu.org>
2828 * doc/.cvsignore, doc/Makefile.am:
2829 Reorganized: sources in `src', documentation in `doc'.
2831 1999-04-18 Jesse Thilo <jthilo@gnu.org>
2834 Updated AC_INIT file to reflect directory reorganization.
2836 * configure.in, .cvsignore, Makefile.am, POTFILES.in:
2837 Reorganized: sources in `src', documentation in `doc'.
2839 1999-04-13 Jesse Thilo <jthilo@gnu.org>
2842 Don't declare calloc() and realloc() if not necessary.
2844 1999-04-13 Jesse Thilo <jthilo@gnu.org>
2846 * configure.in, acconfig.h, acinclude.m4:
2847 Don't declare calloc() and realloc() if not necessary.
2849 1999-03-23 Jesse Thilo <jthilo@gnu.org>
2851 * po/.cvsignore: Added i18n support.
2853 1999-03-23 Jesse Thilo <jthilo@gnu.org>
2855 * acconfig.h, configure.in, Makefile.am:
2858 1999-03-22 Jesse Thilo <jthilo@gnu.org>
2860 * src/bison.s1: Fixed #line numbers.
2862 1999-03-15 Jesse Thilo <jthilo@gnu.org>
2864 * po/es.po, po/fr.po, po/nl.po, po/de.po:
2865 Added PO files from Translation Project.
2867 1999-03-03 Jesse Thilo <jthilo@gnu.org>
2870 Added support for non-ANSI compilers (ansi2knr).
2872 1999-02-16 Jesse Thilo <jthilo@gnu.org>
2874 * configure.in: Bumped version number to 1.27.
2877 Added `bison.simple' to list of files removed by `make distclean'.
2879 1999-02-12 Jesse Thilo <jthilo@gnu.org>
2881 * src/files.c, src/files.h:
2882 Defined locations of parser files in config.h instead of Makefile.
2884 1999-02-12 Jesse Thilo <jthilo@gnu.org>
2886 * acconfig.h, acinclude.m4, configure.in, Makefile.am:
2887 Defined locations of parser files in config.h instead of Makefile.
2889 1999-02-09 Jesse Thilo <jthilo@gnu.org>
2892 Removed inappropriate use of $< macro.
2894 1999-02-05 Jesse Thilo <jthilo@gnu.org>
2896 * po/Makefile.in.in, po/POTFILES.in:
2897 Add `po' directory skeleton.
2899 1999-01-27 Jesse Thilo <jthilo@gnu.org>
2901 * README: Document help-bison list.
2903 * configure.in: Add check for mkstemp().
2905 1999-01-20 Jesse Thilo <jthilo@gnu.org>
2907 * src/conflicts.c, src/LR0.c, src/output.c, src/reader.c:
2908 Hush a few compiler warnings.
2911 Add tryclose(), which verifies that fclose was successful.
2912 Hush a couple of compiler warnings.
2914 1999-01-20 Jesse Thilo <jthilo@gnu.org>
2916 * Makefile.am, OChangeLog:
2917 ChangeLog is now automatically generated. Include the old version as
2920 1999-01-14 Jesse Thilo <jthilo@gnu.org>
2922 * 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:
2925 1999-01-14 Jesse Thilo <jthilo@gnu.org>
2927 * doc/bison.texinfo: Fix formatting glitch.
2929 * doc/bison.texinfo: Update FSF address.
2931 1999-01-14 Jesse Thilo <jthilo@gnu.org>
2933 * acconfig.h: Update FSF address.
2935 1999-01-08 Jesse Thilo <jthilo@gnu.org>
2938 Don't define PACKAGE here, since config.h defines it.
2940 1998-12-30 Jesse Thilo <jthilo@gnu.org>
2942 * src/reader.c: Update copyright date.
2945 Ditch sprintf to statically-sized buffers in fatal/warn functions in
2946 favor of output directly to stderr (avoids buffer overruns).
2948 * src/reader.c: Some checks for premature EOF.
2950 * 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:
2951 Use prototypes if the compiler understands them.
2953 * src/files.c: Honor TMPDIR on Unix hosts.
2954 Use prototypes if the compiler understands them.
2957 Fix a couple of buffer overrun bugs.
2958 Use prototypes if the compiler understands them.
2960 * src/system.h: Include unistd.h and ctype.h.
2961 Use #ifdef instead of #if for NLS symbols.
2963 1998-12-30 Jesse Thilo <jthilo@gnu.org>
2965 * doc/bison.texinfo:
2966 Delete comment "consider using @set for edition number, etc..." since
2967 we now are doing so.
2969 1998-12-30 Jesse Thilo <jthilo@gnu.org>
2972 Use prototypes if the compiler understands them.
2974 * NEWS: Document 1.26 highlights.
2976 * Makefile.am: Require Automake 1.3 or later.
2979 Use prototypes if the compiler understands them.
2981 1998-12-29 Jesse Thilo <jthilo@gnu.org>
2984 Use VERSION symbol from automake for version number.
2986 1998-12-29 Jesse Thilo <jthilo@gnu.org>
2988 * acconfig.h, configure.in, version.cin:
2989 Use VERSION symbol from automake for version number.
2991 1998-11-28 Jesse Thilo <jthilo@gnu.org>
2994 Distribute original version of simple parser (bison.s1), not built
2995 version (bison.simple).
2997 1998-11-28 Jesse Thilo <jthilo@gnu.org>
2999 * doc/bison.texinfo: Add info dir entry.
3001 * doc/bison.texinfo:
3002 Let automake put version number into documentation.
3004 1998-11-26 Jesse Thilo <jthilo@gnu.org>
3006 * src/bison.cld, src/build.com, src/vmshlp.mar:
3007 Add non-RCS files from /gd/gnu/bison.
3009 1998-11-26 Jesse Thilo <jthilo@gnu.org>
3012 Document the BISON_HAIRY and BISON_SIMPLE variables.
3014 1998-11-25 Jesse Thilo <jthilo@gnu.org>
3016 * src/version.c: Build version.c automatically.
3019 Fix token numbering (used to start at 258, not 257).
3021 * src/system.h: Include config.h.
3023 * src/getargs.c: Update bug report address.
3025 * src/alloca.c, src/getopt1.c, src/getopt.c, src/getopt.h:
3026 Get latest copies of alloca.c, getopt.c, getopt.h, getopt1.c from gnu.org.
3028 1998-11-25 Jesse Thilo <jthilo@gnu.org>
3031 Rename bison.simple to bison.s1 (bison.simple is then built from bison.s1).
3033 * configure.in, version.cin:
3034 Build version.c automatically.
3036 * AUTHORS: Add AUTHORS file.
3038 * README: Update bug report address.
3041 Rename bison.simple to bison.s1 (bison.simple is then built from bison.s1).
3043 * configure.in, Makefile.am, Makefile.in, stamp-h.in:
3046 1998-11-25 Jesse Thilo <jthilo@gnu.org>
3048 * doc/bison.texinfo: Clean up some formatting.
3050 1998-05-05 Richard Stallman <rms@gnu.org>
3052 * doc/bison.texinfo:
3053 Explain better why to make a pure parser.
3055 1998-01-05 Richard Stallman <rms@gnu.org>
3057 * src/files.c (openfiles):
3058 [_WIN32 && !__CYGWIN32__] Use TEMP or Temp to
3059 find a temporary directory, if possible. Do not unlink files while
3062 1997-08-25 Richard Stallman <rms@gnu.org>
3064 * src/reader.c (stack_offset;):
3065 Change some warni to warns.
3067 * src/lex.c (literalchar): Use warns, not warni.
3069 1997-06-28 Richard Stallman <rms@gnu.org>
3071 * src/bison.s1: Add a Bison version comment.
3073 * src/main.c (fatal, warn, berror):
3076 1997-06-28 Richard Stallman <rms@gnu.org>
3078 * Makefile.in (bison_version): New variable.
3079 (dist): Use that variable.
3080 (bison.s1): Substitute the Bison version into bison.simple.
3082 * bison.simple: Add a Bison version comment.
3084 1997-06-18 Richard Stallman <rms@gnu.org>
3086 * src/main.c (fatal, warn, berror):
3087 Make error messages standard.
3088 (toomany): Improve error message text.
3090 * 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:
3091 new.h renamed to alloc.h.
3093 1997-06-18 Richard Stallman <rms@gnu.org>
3095 * Makefile.in: new.h renamed to alloc.h.
3097 1997-05-24 Richard Stallman <rms@gnu.org>
3099 * src/lex.c (literalchar):
3100 Fix the code for escaping \, " and '.
3102 (lex): Avoid trouble when there are many chars
3103 to discard in a char literal with just several chars in it.
3105 1997-05-17 Richard Stallman <rms@gnu.org>
3108 Use malloc, if using alloca is troublesome.
3109 (YYSTACK_USE_ALLOCA): New flag macro.
3110 Define it for some systems and compilers.
3111 (YYSTACK_ALLOC): New macro.
3112 (yyparse): Use YYSTACK_ALLOC to allocate stack.
3113 If it was malloc'd, free it.
3115 1997-05-17 Richard Stallman <rms@gnu.org>
3118 Use malloc, if using alloca is troublesome.
3119 (YYSTACK_USE_ALLOCA): New flag macro.
3120 Define it for some systems and compilers.
3121 (YYSTACK_ALLOC): New macro.
3122 (yyparse): Use YYSTACK_ALLOC to allocate stack.
3123 If it was malloc'd, free it.
3125 1997-04-23 Richard Stallman <rms@gnu.org>
3128 (alloca) [__hpux]: Always define as __builtin_alloca.
3130 1997-04-23 Richard Stallman <rms@gnu.org>
3133 (alloca) [__hpux]: Always define as __builtin_alloca.
3135 1997-04-22 Richard Stallman <rms@gnu.org>
3138 [__hpux]: Include alloca.h (right for HPUX 10)
3139 instead of declaring alloca (right for HPUX 9).
3141 * src/bison.s1 (__yy_memcpy):
3142 Declare arg `count' as unsigned int.
3143 (yyparse): Cast third arg to __yy_memcpy to unsigned int.
3145 1997-04-22 Richard Stallman <rms@gnu.org>
3148 [__hpux]: Include alloca.h (right for HPUX 10)
3149 instead of declaring alloca (right for HPUX 9).
3151 * bison.simple (__yy_memcpy):
3152 Declare arg `count' as unsigned int.
3153 (yyparse): Cast third arg to __yy_memcpy to unsigned int.
3155 1997-01-03 Richard Stallman <rms@gnu.org>
3157 * src/allocate.c: [__STDC__ or _MSC_VER]:
3158 Declare calloc and realloc to return void *.
3160 1997-01-02 Richard Stallman <rms@gnu.org>
3163 [_MSC_VER]: Include stdlib.h and process.h.
3164 [_MSC_VER] (getpid): Define as macro--translate it to _getpid.
3166 * src/main.c (main): Return FAILURE as a value.
3167 (printable_version): Declare arg as int, not char.
3169 1997-01-02 Richard Stallman <rms@gnu.org>
3171 * Makefile.in (dist):
3172 Explicitly check for symlinks, and copy them.
3174 1996-12-19 Richard Stallman <rms@gnu.org>
3177 [_MSC_VER] (XPFILE, XPFILE1): Define, if not already defined.
3179 1996-12-18 Paul Eggert <eggert@gnu.org>
3181 * src/bison.s1 (yyparse):
3182 If __GNUC__ and YYPARSE_PARAM are both defined,
3183 declare yyparse to have a void * argument.
3185 1996-12-18 Paul Eggert <eggert@gnu.org>
3187 * bison.simple (yyparse):
3188 If __GNUC__ and YYPARSE_PARAM are both defined,
3189 declare yyparse to have a void * argument.
3191 1996-12-17 Richard Stallman <rms@gnu.org>
3193 * src/reduce.c (nbits): Add some casts.
3195 1996-08-12 Richard Stallman <rms@gnu.org>
3197 * src/bison.s1: Test _MSDOS as well as _MSDOS_.
3199 1996-08-12 Richard Stallman <rms@gnu.org>
3201 * bison.simple: Test _MSDOS as well as _MSDOS_.
3203 1996-07-31 Richard Stallman <rms@gnu.org>
3206 [__sun && __i386]: Include alloca.h.
3208 1996-07-31 Richard Stallman <rms@gnu.org>
3211 [__sun && __i386]: Include alloca.h.
3213 1996-07-30 Richard Stallman <rms@gnu.org>
3215 * src/bison.s1: Comment change.
3217 * src/bison.s1: Test _MSDOS_, not MSDOS.
3219 1996-07-30 Richard Stallman <rms@gnu.org>
3221 * bison.simple: Comment change.
3223 * bison.simple: Test _MSDOS_, not MSDOS.
3225 1996-06-01 Richard Stallman <rms@gnu.org>
3227 * 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:
3228 Insert `_' macro around many string constants.
3231 Insert `_' macro around many string constants.
3233 (main): Call setlocale, bindtextdomain and textdomain.
3235 * src/system.h: [HAVE_LOCALE_H]: Include locale.h.
3236 [! HAVE_LOCALE_H] (setlocale): Define as no-op.
3237 [ENABLE_NLS]: Include libintl.h.
3238 [ENABLE_NLS] (gettext): Define.
3239 [! ENABLE_NLS] (bintextdomain, textdomain, _): Consolation definitions.
3240 (N_, PACKAGE, LOCALEDIR): New macros.
3242 1996-06-01 Richard Stallman <rms@gnu.org>
3244 * POTFILES.in: New file.
3246 * Makefile.in (allocate.o):
3247 Define target explicitly.
3249 * Makefile.in (CFLAGS): Set to @CFLAGS@.
3250 (LDFLAGS): Set to @LDFLAGS@.
3251 (configure): Run autoconf only if preceding `cd' succeeds.
3252 (bison.s1): Redirect output to temporary file then move the
3253 temporary to the target, rather than redirecting directly to bison.s1.
3254 (clean): Remove config.status and config.log.
3255 (distclean): Don't remove config.status here.
3257 1996-05-12 Richard Stallman <rms@gnu.org>
3260 (__yy_memcpy) [__cplusplus]: Reorder declarations of variables f and t.
3262 1996-05-12 Richard Stallman <rms@gnu.org>
3265 (__yy_memcpy) [__cplusplus]: Reorder declarations of variables f and t.
3267 1996-05-11 Richard Stallman <rms@gnu.org>
3269 * src/bison.s1 (__yy_memcpy):
3270 Really reorder the args, as was supposedly done on Feb 14 1995.
3271 (yyparse): Calls changed accordingly.
3273 1996-05-11 Richard Stallman <rms@gnu.org>
3275 * Makefile.in (dist): Don't use $(srcdir).
3277 * bison.simple (__yy_memcpy):
3278 Really reorder the args, as was supposedly done on Feb 14 1995.
3279 (yyparse): Calls changed accordingly.
3281 1996-01-27 Richard Stallman <rms@gnu.org>
3283 * src/output.c (output_rule_data):
3284 Test YYERROR_VERBOSE in the conditional
3285 around the definition of ttyname.
3287 1995-12-29 Richard Stallman <rms@gnu.org>
3290 Fix line numbers in #line commands.
3292 1995-12-29 Richard Stallman <rms@gnu.org>
3295 Fix line numbers in #line commands.
3297 1995-12-27 Richard Stallman <rms@gnu.org>
3299 * src/bison.s1 (YYPARSE_PARAM_DECL):
3300 In C++, make it always null.
3301 (YYPARSE_PARAM_ARG): New macro.
3302 (yyparse): Use YYPARSE_PARAM_ARG.
3304 1995-12-27 Richard Stallman <rms@gnu.org>
3306 * bison.simple (YYPARSE_PARAM_DECL):
3307 In C++, make it always null.
3308 (YYPARSE_PARAM_ARG): New macro.
3309 (yyparse): Use YYPARSE_PARAM_ARG.
3311 1995-11-29 Richard Stallman <rms@gnu.org>
3313 * doc/bison.texinfo:
3314 Describe literal string tokens, %raw, %no_lines, %token_table.
3316 1995-11-29 Daniel Hagerty <hag@gnu.org>
3318 * doc/bison.texinfo: Fixed update date
3320 1995-10-16 Richard Stallman <rms@gnu.org>
3322 * src/version.c: Version 1.25.
3324 1995-10-16 Richard Stallman <rms@gnu.org>
3326 * NEWS: *** empty log message ***
3328 1995-10-16 Richard Stallman <rms@gnu.org>
3330 * doc/bison.1, doc/bison.rnh:
3333 1995-10-15 Richard Stallman <rms@gnu.org>
3335 * src/vmsgetargs.c, src/getargs.c:
3336 Added -n, -k, and -raw switches.
3337 (noparserflag, toknumflag, rawtoknumflag): New variables.
3339 * src/symtab.h (SALIAS):
3340 New #define for adding aliases to %token.
3341 (struct bucket): Added `alias' field.
3343 * src/reduce.c (reduce_grammar):
3344 Revise error message.
3345 (print_notices): Remove final `.' from error message.
3347 * src/reader.c (reader_output_yylsp):
3349 (readgram): Use `#if 0' around code that accepted %command
3350 inside grammar rules: The documentation doesn't allow it,
3351 and it will fail since the %command processors scan for the next %.
3352 (parse_token_decl): Extended the %token
3353 declaration to allow a multi-character symbol as an alias.
3354 (parse_thong_decl): New function.
3355 (read_declarations): Added %thong declarations.
3356 (read_declarations): Handle NOOP to deal with allowing
3357 % declarations as another means to specify the flags.
3358 (readgram): Allow %prec prior to semantics embedded in a rule.
3359 (skip_to_char, read_declarations, copy_definition)
3360 (parse_token_decl, parse_start_decl, parse_type_decl)
3361 (parse_assoc_decl, parse_union_decl, parse_expect_decl)
3362 (get_type_name, copy_guard, copy_action, readgram)
3363 (get_type, packsymbols): Revised most error messages.
3364 Changed `fatal' to `warnxxx' to avoid aborting for error.
3365 Revised and use multiple warnxxx functions to avoid using VARARGS1.
3366 (read_declarations): Improve the error message for
3367 an invalid character. Do not abort.
3368 (read_declarations, copy_guard, copy_action): Use
3369 printable_version to avoid unprintable characters in printed output.
3370 (parse_expect_decl): Error if argument to %expect exceeds 10 digits.
3371 (parse_token_decl, parse_assoc_decl, parse_type_decl, get_type):
3372 Allow the type of a non-terminal can be given
3373 more than once, as long as all specifications give the same type.
3376 (output_headers, output_trailers, output, output_gram)
3377 (output_rule_data): Implement noparserflag variable.
3378 Implement toknumflag variable.
3379 (output): Call reader_output_yylsp to output LTYPESTR.
3381 * src/main.c (main):
3382 If reader sees an error, don't process the grammar.
3383 (fatals): Updated to not use VARARGS1.
3384 (printable_version, int_to_string, warn, warni, warns, warnss)
3385 (warnsss): New error reporting functions. Avoid abort for error.
3388 Added THONG and NOOP for alias processing.
3389 Added SETOPT for the new code that allows setting options with %flags.
3392 Include getopt.h. Add some extern decls.
3393 (safegetc): New function to deal with EOF gracefully.
3394 (literalchar); new function to deal with reading \ escapes.
3395 (lex): Use literalchar.
3396 (lex): Implemented "..." tokens.
3397 (literalchar, lex, parse_percent_token): Made tokenbuffer
3398 always contain the token. This includes growing the token
3399 buffer while reading an integer.
3400 (parse_percent_token): Replaced if-else statement with percent_table.
3401 (parse_percent_token): Added % declarations as another
3402 way to specify the flags -n, -l, and -r. Also added hooks for
3403 -d, -k, -y, -v, -t, -p, -b, -o, but implementation requires
3404 major changes to files.c.
3405 (lex) Retain in the incoming stream a character following
3407 (skip_white_space, lex): Revised most error messages
3408 and changed fatal to warn to avoid aborting.
3409 (percent_table): Added %thong declarations.
3411 * src/gram.h: Comment changes.
3413 * src/files.c (openfiles, open_extra_files, done):
3415 and actfile file. Handle noparserflag. Both for -n switch.
3417 * src/conflicts.c (resolve_sr_conflict):
3418 Remove use of alloca.
3420 1995-06-01 Jim Meyering <meyering@gnu.org>
3422 * doc/bison.texinfo: *** empty log message ***
3424 1995-05-06 Richard Stallman <rms@gnu.org>
3426 * src/bison.s1: Comment change.
3428 1995-05-06 Richard Stallman <rms@gnu.org>
3430 * bison.simple: Comment change.
3432 1995-05-03 Richard Stallman <rms@gnu.org>
3434 * src/version.c: Version now 1.24.
3436 * src/bison.s1: Change distribution terms.
3438 * src/version.c: Version now 1.23.
3440 1995-05-03 Richard Stallman <rms@gnu.org>
3442 * doc/bison.texinfo:
3443 Rewrite "Conditions for Using Bison".
3444 Update version to 1.24.
3446 1995-05-03 Richard Stallman <rms@gnu.org>
3448 * bison.simple: Change distribution terms.
3450 1995-02-23 Richard Stallman <rms@gnu.org>
3452 * src/files.c: Test __VMS_POSIX as well as VMS.
3454 1995-02-14 Jim Meyering <meyering@gnu.org>
3456 * src/bison.s1 (__yy_memcpy):
3457 Renamed from __yy_bcopy to avoid
3458 confusion. Reverse FROM and TO arguments to be consistent with
3461 1995-02-14 Jim Meyering <meyering@gnu.org>
3463 * bison.simple (__yy_memcpy):
3464 Renamed from __yy_bcopy to avoid
3465 confusion. Reverse FROM and TO arguments to be consistent with
3468 1994-11-10 David J. MacKenzie <djm@gnu.org>
3474 * Makefile.in (DISTFILES): Include NEWS.
3476 * Makefile.in (DISTFILES):
3477 Include install-sh, not install.sh.
3479 * configure.in: Update to Autoconf v2 macro names.
3481 1994-10-05 David J. MacKenzie <djm@gnu.org>
3483 * Makefile.in: fix typo
3485 * Makefile.in (prefix, exec_prefix):
3486 Let configure set them.
3488 1994-09-28 David J. MacKenzie <djm@gnu.org>
3490 * Makefile.in: Set datadir to $(prefix)/share.
3492 1994-09-15 Richard Stallman <rms@gnu.org>
3495 Update copyright notice and GPL version.
3497 1994-09-15 Richard Stallman <rms@gnu.org>
3500 Update copyright notice and GPL version.
3502 1994-07-12 Richard Stallman <rms@gnu.org>
3504 * src/reduce.c, src/reader.c:
3507 1994-05-05 David J. MacKenzie <djm@gnu.org>
3509 * Makefile.in: entered into RCS
3511 1994-03-26 Richard Stallman <rms@gnu.org>
3513 * src/bison.s1: entered into RCS
3515 1994-03-26 Richard Stallman <rms@gnu.org>
3517 * bison.simple: entered into RCS
3519 1994-03-25 Richard Stallman <rms@gnu.org>
3521 * src/main.c: entered into RCS
3523 1994-03-24 Richard Stallman <rms@gnu.org>
3525 * src/conflicts.c: entered into RCS
3527 1994-01-02 Richard Stallman <rms@gnu.org>
3529 * Makefile.in: *** empty log message ***
3531 1993-11-21 Richard Stallman <rms@gnu.org>
3533 * src/bison.s1: *** empty log message ***
3535 1993-11-21 Richard Stallman <rms@gnu.org>
3537 * doc/bison.texinfo: entered into RCS
3539 * doc/bison.texinfo: *** empty log message ***
3541 1993-11-21 Richard Stallman <rms@gnu.org>
3543 * bison.simple: *** empty log message ***
3545 1993-10-25 David J. MacKenzie <djm@gnu.org>
3547 * doc/bison.texinfo: *** empty log message ***
3549 1993-10-19 Richard Stallman <rms@gnu.org>
3551 * src/bison.s1: *** empty log message ***
3553 1993-10-19 Richard Stallman <rms@gnu.org>
3555 * bison.simple: *** empty log message ***
3557 1993-10-14 Richard Stallman <rms@gnu.org>
3559 * src/bison.s1: *** empty log message ***
3561 1993-10-14 Richard Stallman <rms@gnu.org>
3563 * bison.simple: *** empty log message ***
3565 1993-09-14 David J. MacKenzie <djm@gnu.org>
3567 * doc/bison.texinfo: *** empty log message ***
3569 1993-09-13 Noah Friedman <friedman@gnu.org>
3571 * Makefile.in: *** empty log message ***
3573 1993-09-10 Richard Stallman <rms@gnu.org>
3575 * src/conflicts.c: *** empty log message ***
3577 * src/system.h: entered into RCS
3579 1993-09-10 Richard Stallman <rms@gnu.org>
3581 * doc/bison.1: entered into RCS
3583 1993-09-06 Noah Friedman <friedman@gnu.org>
3585 * src/version.c: entered into RCS
3587 1993-09-06 Noah Friedman <friedman@gnu.org>
3589 * Makefile.in: *** empty log message ***
3591 1993-07-30 David J. MacKenzie <djm@gnu.org>
3593 * Makefile.in: *** empty log message ***
3595 1993-07-24 Richard Stallman <rms@gnu.org>
3597 * src/bison.s1: *** empty log message ***
3599 1993-07-24 Richard Stallman <rms@gnu.org>
3601 * bison.simple: *** empty log message ***
3603 1993-07-08 David J. MacKenzie <djm@gnu.org>
3605 * Makefile.in: *** empty log message ***
3607 1993-07-04 Richard Stallman <rms@gnu.org>
3609 * src/bison.s1: *** empty log message ***
3611 1993-07-04 Richard Stallman <rms@gnu.org>
3613 * bison.simple: *** empty log message ***
3615 1993-06-26 David J. MacKenzie <djm@gnu.org>
3617 * src/getargs.c: entered into RCS
3619 1993-06-26 David J. MacKenzie <djm@gnu.org>
3621 * doc/bison.texinfo: *** empty log message ***
3623 * doc/bison.1: New file.
3625 1993-06-25 Richard Stallman <rms@gnu.org>
3627 * src/getargs.c: New file.
3629 1993-06-16 Richard Stallman <rms@gnu.org>
3631 * src/bison.s1: *** empty log message ***
3633 1993-06-16 Richard Stallman <rms@gnu.org>
3635 * bison.simple: *** empty log message ***
3637 1993-06-03 Richard Stallman <rms@gnu.org>
3639 * src/bison.s1: New file.
3641 1993-06-03 Richard Stallman <rms@gnu.org>
3643 * doc/bison.texinfo: *** empty log message ***
3645 1993-06-03 Richard Stallman <rms@gnu.org>
3647 * bison.simple: New file.
3649 1993-05-19 Richard Stallman <rms@gnu.org>
3651 * doc/bison.texinfo: New file.
3653 1993-05-07 Noah Friedman <friedman@gnu.org>
3655 * Makefile.in: *** empty log message ***
3657 1993-04-28 Noah Friedman <friedman@gnu.org>
3659 * src/reader.c: *** empty log message ***
3661 1993-04-23 Noah Friedman <friedman@gnu.org>
3663 * src/alloc.h: entered into RCS
3665 1993-04-20 David J. MacKenzie <djm@gnu.org>
3667 * src/version.c: *** empty log message ***
3669 * src/files.c, src/allocate.c:
3672 * src/reader.c: *** empty log message ***
3674 * src/lex.c: entered into RCS
3676 * src/conflicts.c: New file.
3678 * src/symtab.c: entered into RCS
3680 * src/alloc.h: New file.
3682 * src/LR0.c: entered into RCS
3684 1993-04-18 Noah Friedman <friedman@gnu.org>
3686 * src/reader.c: New file.
3688 * src/version.c: *** empty log message ***
3690 1993-04-18 Noah Friedman <friedman@gnu.org>
3692 * Makefile.in: *** empty log message ***
3694 1993-04-17 Noah Friedman <friedman@gnu.org>
3696 * Makefile.in: *** empty log message ***
3698 1993-04-15 Richard Stallman <rms@gnu.org>
3700 * src/main.c, src/files.c:
3703 1993-04-15 Noah Friedman <friedman@gnu.org>
3705 * configure.in: entered into RCS
3707 * configure.in: *** empty log message ***
3709 * configure.in: New file.
3711 1993-04-14 Richard Stallman <rms@gnu.org>
3713 * Makefile.in: New file.
3715 1993-04-13 Richard Stallman <rms@gnu.org>
3717 * src/version.c: New file.
3719 1993-03-25 Richard Stallman <rms@gnu.org>
3721 * src/output.c: entered into RCS
3723 1992-09-25 Richard Stallman <rms@gnu.org>
3725 * configure.bat: entered into RCS
3727 1992-06-22 Richard Stallman <rms@gnu.org>
3729 * src/vmsgetargs.c: entered into RCS
3731 1992-06-22 Richard Stallman <rms@gnu.org>
3733 * doc/bison.rnh: entered into RCS
3735 1992-04-20 David J. MacKenzie <djm@gnu.org>
3737 * README: entered into RCS
3739 1992-01-22 Richard Stallman <rms@gnu.org>
3741 * src/machine.h: entered into RCS
3743 1991-12-21 Richard Stallman <rms@gnu.org>
3745 * src/lalr.c, src/closure.c:
3748 1991-12-20 Richard Stallman <rms@gnu.org>
3750 * src/state.h: entered into RCS
3752 1991-12-18 Richard Stallman <rms@gnu.org>
3754 * src/print.c, src/nullable.c, src/derives.c:
3757 1991-11-03 David J. MacKenzie <djm@gnu.org>
3759 * src/warshall.c, src/types.h, src/symtab.h, src/lex.h, src/gram.c, src/gram.h, src/files.h:
3762 1988-09-09 Richard Stallman <rms@gnu.org>
3764 * src/bison.hairy: entered into RCS
3766 1987-12-16 Richard Stallman <rms@gnu.org>
3768 * REFERENCES: entered into RCS