1 2001-11-30 Akim Demaille <akim@epita.fr>
3 Instead of mapping the LHS of unused rules to -1, keep the LHS
4 valid, but flag the rules as invalid.
6 * src/gram.h (rule_t): `useful' is a new member.
7 * src/print.c (print_grammar): Adjust.
8 * src/derives.c (set_derives): Likewise.
9 * src/reader.c (packgram, reduce_output): Likewise.
10 * src/reduce.c (reduce_grammar_tables): Likewise.
11 * tests/reduce.at (Underivable Rules, Useless Rules): New.
13 2001-11-30 Akim Demaille <akim@epita.fr>
15 * src/reduce.c (reduce_output): Formatting changes.
16 * src/print.c (print_results, print_grammar): Likewise.
17 * tests/regression.at (Rule Line Numbers)
18 (Solved SR Conflicts, Unresolved SR Conflicts): Adjust.
20 2001-11-30 Akim Demaille <akim@epita.fr>
22 * src/reduce.c (nonterminals_reduce): Instead of throwing away
23 useless nonterminals, move them at the end of the symbol arrays.
24 (reduce_output): Adjust.
25 * tests/reduce.at (Useless Nonterminals): Adjust.
27 2001-11-30 Akim Demaille <akim@epita.fr>
29 * src/reduce.c: Various comment/formatting changes.
30 (nonterminals_reduce): New, extracted from...
31 (reduce_grammar_tables): here.
32 (reduce_grammar): Call nonterminals_reduce.
34 2001-11-29 Paul Eggert <eggert@twinsun.com>
36 * src/bison.simple (YYSTACK_REALLOC): Remove.
37 (YYSTACK_ALLOC): Resurrect this macro, with its old meaning.
38 (YYSTACK_FREE, YYSTACK_GAP_MAX, YYSTACK_BYTES, YYSTACK_RELOCATE):
40 (union yyalloc): New type.
41 (__yy_memcpy): Last arg is size_t, not unsigned int, to remove
42 an arbitrary restriction on hosts where size_t is wider than int.
44 (yyparse): Don't dump core if alloca or malloc fails; instead, report
45 a parser stack overflow. Allocate just one block of memory for all
46 three stacks, instead of allocating three blocks; this typically is
47 faster and reduces fragmentation.
49 Do not limit the number of items in the stack to a value that fits
50 in 'int', as this is an arbitrary limit on hosts with 64-bit
51 size_t and 32-bit int.
53 2001-11-29 Marc Autret <autret_m@epita.fr>
55 * tests/calc.at [AT_DATA_CALC_Y]: Use %error-verbose instead
56 of defining YYERROR_VERBOSE.
57 [AT_DATA]: $4 is now out of C declarations in the prologue.
59 2001-11-28 Marc Autret <autret_m@epita.fr>
61 * src/reader.c (parse_dquoted_param): New.
62 (parse_skel_decl): Use it.
63 * src/lex.h: Add its prototype.
64 * src/lex.c (literalchar): Become not static.
66 2001-11-28 Marc Autret <autret_m@epita.fr>
68 * src/output.h: And put its extern declaration here.
69 * src/output.c (error_verbose): Define here.
70 (prepare): Echo name modification.
71 * src/getargs.h: Clean its extern declaration.
72 * src/getargs.c (error_verbose_flag): Remove.
73 (getargs): Remove case 'e'.
74 * src/options.c (option_table): 'error-verbose' is now seen as simple
78 * src/reader.c (read_declarations): Remove case tok_include.
79 (parse_include_decl): Remove.
80 * src/lex.h (token_t): Remove tok_include.
81 * src/options.c (option_table): 'include' is now a simple command line
84 2001-11-28 Marc Autret <autret_m@epita.fr>
86 * src/bison.simple: Adjust muscle names.
87 * src/muscle_tab.c (muscle_init): Also rename the muscles.
88 * src/output.c (prepare): s/_/-/ for the muscles names.
89 (output_parser): When scanning for a muscle, allow '-' instead of '_'.
91 2001-11-28 Marc Autret <autret_m@epita.fr>
93 * src/bison.simple: Fix debug.
94 [YYERROR_VERBOSE]: Re-integrate as an internal macro.
96 2001-11-28 Akim Demaille <akim@epita.fr>
98 * src/LR0.c (shifts_new): New.
99 (save_shifts, insert_start_shift, augment_automaton): Use it.
101 2001-11-28 Akim Demaille <akim@epita.fr>
103 * src/closure.c (closure): `b' and `ruleno' denote the same value:
106 2001-11-28 Akim Demaille <akim@epita.fr>
108 * src/closure.c (closure): Instead of looping over word in array
109 then bits in words, loop over bits in array.
111 2001-11-28 Akim Demaille <akim@epita.fr>
113 * src/closure.c (closure): No longer optimize the special case
114 where all the bits of `ruleset[r]' are set to 0, to make the code
117 2001-11-28 Akim Demaille <akim@epita.fr>
119 * src/closure.c (closure): `r' and `c' are new variables, used to
120 de-obfuscate accesses to RULESET and CORE.
122 2001-11-28 Akim Demaille <akim@epita.fr>
124 * src/reduce.c (reduce_print): Use ngettext.
125 (dump_grammar): Improve the trace accuracy.
127 2001-11-28 Akim Demaille <akim@epita.fr>
129 * src/reduce.c (dump_grammar): Don't translate trace messages.
131 2001-11-28 Akim Demaille <akim@epita.fr>
133 * tests/reduce.at (Useless Terminals, Useless Nonterminals): New.
134 * src/reduce.c (reduce_grammar_tables): Do not free useless tags,
135 as all tags are free'ed afterwards.
138 2001-11-27 Paul Eggert <eggert@twinsun.com>
140 * src/bison.simple (YYSTACK_REALLOC): Fix typo that caused us to
141 use alloca when we didn't want to, and vice versa.
143 2001-11-27 Marc Autret <autret_m@epita.fr>
145 * src/muscle_tab.c (muscle_init): Remove 'verbose' muscle
147 * src/output.c (prepare): Remove its update.
149 2001-11-27 Marc Autret <autret_m@epita.fr>
151 * tests/torture.at [AT_DATA]: Remove YYERROR_VERBOSE definition.
154 2001-11-27 Marc Autret <autret_m@epita.fr>
156 * src/bison.simple: Remove YYERROR_VERBOSE using.
159 * src/output.c (prepare): Give its final value.
160 * src/muscle_tab.c (muscle_init): Init new muscle 'error_verbose'.
161 * src/getargs.h: Add its extern declaration.
162 * src/getargs.c (error_verbose_flag): New int.
163 (getargs): Update to catch new case.
164 * src/options.c (option_table): 'error-verbose' is a new option.
167 2001-11-27 Akim Demaille <akim@epita.fr>
169 * src/system.h: Use intl/libgettext.h.
170 * src/Makefile.am (INCLUDES): Add -I $(top_srcdir).
172 2001-11-27 Akim Demaille <akim@epita.fr>
174 * tests/torture.at (Exploding the Stack Size with Malloc):
175 s/YYSTACK_USE_ALLOCA_ALLOCA/YYSTACK_USE_ALLOCA/.
177 2001-11-27 Akim Demaille <akim@epita.fr>
179 * src/files.c: Include error.h.
180 Reported by Hans Aberg.
182 2001-11-26 Marc Autret <autret_m@epita.fr>
184 * src/reader.c (parse_include_decl): New, not yet implemented.
185 (read_declarations): Add case tok_include.
186 * src/getargs.h (include): Add its extern definition.
187 * src/getargs.c (include): New const char *.
188 (getargs): Add case '-I'.
189 * src/options.c (option_table): Add include as command line and
191 * src/lex.h (token_t): Add tok_include.
193 2001-11-26 Akim Demaille <akim@epita.fr>
195 * src/reader.c (readgram): Make sure rules for mid-rule actions
196 have a lineno equal to that of their host rule.
197 Reported by Hans Aberg.
198 * tests/regression.at (Rule Line Numbers): New.
200 2001-11-26 Akim Demaille <akim@epita.fr>
202 * src/LR0.c (allocate_itemsets): kernel_size contains ints, not
205 2001-11-26 Akim Demaille <akim@epita.fr>
207 * src/complain.c, src/complain.h (error): Remove, provided by
210 2001-11-26 Akim Demaille <akim@epita.fr>
212 * src/reader.c (read_declarations): Don't abort on tok_illegal,
213 issue an error message.
214 * tests/regression.at (Invalid %directive): New.
215 Reported by Hans Aberg.
217 2001-11-26 Akim Demaille <akim@epita.fr>
219 * configure.in: Invoke AC_FUNC_OBSTACK and AC_FUNC_ERROR_AT_LINE.
220 * lib/Makefile.am (libbison_a_SOURCES): Adjust.
222 2001-11-26 Akim Demaille <akim@epita.fr>
224 * src/conflicts.c (conflicts_print): Don't complain at all when
225 there are no reduce/reduce conflicts, and as many shift/reduce
226 conflicts as expected.
227 * tests/regression.at (%expect right): Adjust.
229 2001-11-23 Akim Demaille <akim@epita.fr>
231 * lib/alloca.c: Update, from fileutils.
233 2001-11-23 Akim Demaille <akim@epita.fr>
235 * lib/Makefile.am (libbison_a_LIBADD): Add @ALLOCA@.
237 2001-11-23 Akim Demaille <akim@epita.fr>
239 * src/system.h: Include alloca.h.
240 * src/main.c (main) [C_ALLOCA]: Call alloca (0).
242 2001-11-23 Akim Demaille <akim@epita.fr>
244 * src/print_graph.c (print_actions): Remove `rule', unused.
245 * src/LR0.c (kernel_size): Contain `int' instead of `size_t' to
246 pacify GCC's signed < unsigned warnings.
247 * src/closure.c (itemsetsize): Likewise.
248 * src/reader.c (symbol_list_new): Static.
250 2001-11-23 Akim Demaille <akim@epita.fr>
252 Attaching lineno to buckets is stupid, since only one copy of each
253 symbol is kept, only the line of the first occurrence is kept too.
255 * src/symtab.h, src/symtab.c (bucket): Remove the line member.
256 * src/reader.c (rline_allocated): Remove, unused.
257 (symbol_list): Have a `line' member.
258 (symbol_list_new): New.
260 * src/print.c (print_grammar): Output the rule line numbers.
261 * tests/regression.at (Solved SR Conflicts)
262 (Unresolved SR Conflicts): Adjust.
263 Reported by Hans Aberg.
265 2001-11-22 Marc Autret <autret_m@epita.fr>
267 * src/bison.simple [YYERROR_VERBOSE]: Force its value to be 1 or 0.
269 2001-11-22 Marc Autret <autret_m@epita.fr>
271 * src/muscle_tab.c (muscle_init): Remove initialization of
273 * src/output.c (output_master_parser): Do it here.
275 2001-11-20 Akim Demaille <akim@epita.fr>
278 * configure.in (ALL_LINGUAS): Adjust.
279 * po/POTFILE.in: Remove `nullable.c' and `derives.c' which no
280 longer contains strings to translate.
282 2001-11-19 Akim Demaille <akim@epita.fr>
284 * src/conflicts.c (conflicts_print): Add a missing \n.
286 2001-11-19 Akim Demaille <akim@epita.fr>
288 * src/nullable.c (nullable_print): New.
289 (set_nullable): Call it when tracing.
290 Better locality of variables.
292 2001-11-19 Akim Demaille <akim@epita.fr>
294 * src/print.c (print_actions): Better locality of variables.
296 2001-11-19 Akim Demaille <akim@epita.fr>
298 * src/derives.c (print_derives): Fix and enrich.
299 * src/closure.c (print_fderives): Likewise.
301 2001-11-19 Akim Demaille <akim@epita.fr>
303 * src/closure.c (itemsetend): Remove, replaced with...
306 2001-11-19 Akim Demaille <akim@epita.fr>
308 * src/LR0.c (kernel_end): Remove, replaced with...
311 2001-11-19 Akim Demaille <akim@epita.fr>
313 * src/conflicts.c (set_conflicts): Use arrays instead of pointers
316 2001-11-19 Akim Demaille <akim@epita.fr>
318 * src/closure.c (closure): Use arrays instead of pointers to clarify.
320 2001-11-19 Akim Demaille <akim@epita.fr>
322 * src/closure.c, src/derives.c, src/nullable.c: Adjust various
324 * src/LR0.c: Likewise.
325 (allocate_itemsets): Use arrays instead of pointers to clarify.
327 2001-11-19 Akim Demaille <akim@epita.fr>
329 * src/getargs.c (statistics_flag): Replace with...
331 (longopts): Accept --trace instead of --statistics.
332 * src/getargs.h, src/options.c: Adjust.
333 * src/LR0.c, src/closure.c, src/derives.c, src/nullable.c,
334 * src/reduce.c: Use trace_flags instead of the CPP conditional TRACE.
336 2001-11-19 Akim Demaille <akim@epita.fr>
338 * src/LR0.c (new_itemsets, get_state): Use more arrays and fewer
339 pointers to clarify the code.
340 (save_reductions, save_shifts): Factor common parts of alternatives.
342 2001-11-19 Akim Demaille <akim@epita.fr>
344 * src/LR0.c (new_state, get_state): Complete TRACE code.
345 * src/closure.c: Include `reader.h' to get `tags', needed by the
347 Rename the conditional DEBUG as TRACE.
348 Output consistently TRACEs to stderr, not stdout.
349 * src/derives.c: Likewise.
350 * src/reduce.c: (inaccessable_symbols): Using if is better style
352 Use `#if TRACE' instead of `#if 0' for tracing code.
354 2001-11-19 Akim Demaille <akim@epita.fr>
356 * src/system.h (LIST_FREE, shortcpy): New.
357 * src/LR0.c: Use them.
358 * src/output.c (free_itemsets, free_reductions, free_shifts):
359 Remove, replaced by LIST_FREE.
361 2001-11-19 Akim Demaille <akim@epita.fr>
363 * src/state.h (CORE_ALLOC, SHIFTS_ALLOC, ERRS_ALLOC)
364 (REDUCTIONS_ALLOC): New.
365 * src/LR0.c, src/conflicts.c: Use them to de-obfuscate memory
368 2001-11-19 Akim Demaille <akim@epita.fr>
370 * src/LR0.c (new_state): Complete trace code.
371 * src/nullable.c (set_nullable): Don't translate traces.
373 2001-11-19 Akim Demaille <akim@epita.fr>
375 * src/print_graph.c (print_core): Better locality of variables.
376 * src/print.c (print_core): Likewise.
378 2001-11-19 Akim Demaille <akim@epita.fr>
380 * src/vcg.c: You do the output, so you are responsible of the
381 handling of VCG syntax, in particular: use quotearg.
382 * src/print_graph.c: Don't.
383 (print_actions): Don't output the actions as part of the nodes,
384 since that's the job of the edges.
385 (print_state): Don't output by hand: fill the node description,
386 and ask for its output.
388 2001-11-19 Akim Demaille <akim@epita.fr>
390 * src/bison.simple (yyparse): When verbosely reporting an error,
391 no longer put additional quotes around token names.
392 * tests/calc.at: Adjust.
394 2001-11-19 Akim Demaille <akim@epita.fr>
396 * src/symtab.h, src/symtab.c: `line' is a new member of `bucket'.
397 * src/reader.c (record_rule_lines, rline, rline_allocated): Remove.
398 * src/output.c: Adjust.
400 2001-11-19 Akim Demaille <akim@epita.fr>
402 * src/gram.h (rprec, rprecsym, rassoc): Remove, now part of...
404 * src/conflicts.c, src/reader.c, src/reduce.c: Adjust.
406 2001-11-19 Akim Demaille <akim@epita.fr>
408 * src/gram.h (rule_t): New.
410 (rrhs, rlhs): Remove, part of state_t.
411 * src/print_graph.c, src/closure.c, src/conflicts.c, src/derives.c,
412 * src/lalr.c, src/nullable.c, src/output.c, src/print.c,
413 * src/reader.c, src/reduce.c: Adjust.
415 2001-11-19 Akim Demaille <akim@epita.fr>
417 * src/reader.c (symbols_output): New, extracted from...
421 2001-11-19 Akim Demaille <akim@epita.fr>
423 * src/lalr.c (set_maxrhs, maxrhs): Remove, replaced with...
424 (maxrhs): this new function.
426 2001-11-19 Akim Demaille <akim@epita.fr>
428 * src/lalr.c (F): New macro to access the variable F.
431 2001-11-19 Akim Demaille <akim@epita.fr>
433 * src/lalr.h (LA): New macro to access the variable LA.
434 * src/output.c, src/lalr.c, src/print_graph.c, src/conflicts.c:
435 * src/lalr.c: Adjust.
437 2001-11-19 Akim Demaille <akim@epita.fr>
439 * src/lalr.c (initialize_LA): Only initialize LA. Let...
440 (set_state_table): handle the `lookaheads' members.
442 2001-11-19 Akim Demaille <akim@epita.fr>
444 * src/lalr.h (lookaheads): Removed array, whose contents is now
446 (state_t): this structure.
447 * src/output.c, src/lalr.c, src/print_graph.c, src/conflicts.c:
450 2001-11-19 Akim Demaille <akim@epita.fr>
452 * src/lalr.h (consistent): Removed array, whose contents is now
454 (state_t): this structure.
455 * src/output.c, src/lalr.c, src/print_graph.c, src/conflicts.c:
458 2001-11-19 Akim Demaille <akim@epita.fr>
460 * src/lalr.h (reduction_table, shift_table): Removed arrays, whose
461 contents are now members of...
462 (state_t): this structure.
463 * src/output.c, src/lalr.c, src/print_graph.c, src/conflicts.c:
466 2001-11-19 Akim Demaille <akim@epita.fr>
468 * src/lalr.h (state_t): New.
469 (state_table): Be a state_t * instead of a core **.
470 (accessing_symbol): Remove, part of state_t.
471 * src/lalr.c: Adjust.
472 (set_accessing_symbol): Merge into...
473 (set_state_table): this.
474 * src/print_graph.c, src/conflicts.c: Adjust.
476 2001-11-14 Akim Demaille <akim@epita.fr>
478 * tests/calc.at, tests/output.at, tests/regression.at,
479 * tests/testsuite.at, tests/torture.at: Rely on Autotest 2.52g:
480 now the tests are run in private dirs, therefore AC_CLEANUP and
481 family can be simplified to 0-ary.
482 * tests/atlocal.in: Now that we run `elsewhere' than in tests/,
483 use abs. path to find config.h.
484 * tests/calc.at (AT_CHECK_CALC): Don't try to check the compiler's
485 stderr, there can be way too much random noise.
486 Instead pass -Werror to GCC and rely on the exit status.
487 Reported by Wolfram Wagner.
489 2001-11-14 Akim Demaille <akim@epita.fr>
491 * src/bison.simple (yyparse): Let yyls1, yyss1 and yyvs1 be
492 defined only if yyoverflow is defined, to avoid `warning: unused
494 Reported by The Test Suite.
496 2001-11-14 Akim Demaille <akim@epita.fr>
498 * src/print.c: Include reduce.h.
499 Reported by Hans Aberg.
501 2001-11-14 Akim Demaille <akim@epita.fr>
503 * src/lex.c, src/lex.h (token_buffer, unlexed_token_buffer):
504 Revert a previous patch: these are really const.
505 * src/conflicts.c (conflict_report): Additional useless pair of
506 braces to pacify GCC's warnings for `if () if () {} else {}'.
507 * src/lex.c (parse_percent_token): Replace equal_offset with
510 Be sure to strdup `arg' when used, since there is no reason for
511 token_buffer not to change.
513 2001-11-14 Akim Demaille <akim@epita.fr>
515 * src/system.h (EXIT_SUCCESS, EXIT_FAILURE): Ensure a proper
517 * src/main.c (main): Use them.
518 Suggested by Hans Aberg.
520 2001-11-12 Akim Demaille <akim@epita.fr>
522 * src/system.h (ngettext): Now that we use ngettext, be sure to
523 provide a default definition when NLS are not used.
525 2001-11-12 Akim Demaille <akim@epita.fr>
527 * doc/bison.texinfo: Use `$' as shell prompt, not `%'.
528 Use @kbd to denote user input.
529 (Language and Grammar): ANSIfy the example.
530 Adjust its layout for info/notinfo.
531 (Location Tracking Calc): Output error messages to stderr.
532 Output locations in a more GNUtically correct way.
533 Fix a couple of Englishos.
534 Adjust @group/@end group pairs.
536 2001-11-12 Akim Demaille <akim@epita.fr>
538 %expext was not functioning at all.
540 * src/conflicts.c (expected_conflicts): Set to -1.
541 (conflict_report): Use ngettext.
542 (conflicts_print): Check %expect and make its violation an error.
543 * doc/bison.texinfo (Expect Decl): Adjust.
544 * configure.in (AM_GNU_GETTEXT): Ask for ngettext.
545 * tests/regression.at (%expect not enough, %expect right)
546 (%expect too much): New.
548 2001-11-12 Akim Demaille <akim@epita.fr>
550 * tests/regression.at (Conflicts): Rename as...
551 (Unresolved SR Conflicts): this.
552 (Solved SR Conflicts): New.
554 2001-11-12 Akim Demaille <akim@epita.fr>
556 * src/reduce.c (print_results): Rename as...
557 (reduce_output): This.
558 Output to OUT, passed as argument, instead of output_obstack.
559 (dump_grammar): Likewise.
562 (reduce_grammar): No longer call reduce_output, since...
563 * src/print.c (print_results): do it.
564 * src/main.c (main): Call reduce_free;
566 2001-11-12 Akim Demaille <akim@epita.fr>
568 * src/conflicts.c (print_reductions): Accept OUT as argument.
569 Output to it, not to output_obstack.
570 * src/print.c (print_actions): Adjust.
572 2001-11-12 Akim Demaille <akim@epita.fr>
574 * src/conflicts.c (count_sr_conflicts, count_rr_conflicts): Return
575 the result instead of using...
576 (src_total, rrc_total, src_count, rrc_count): Remove.
577 (any_conflicts): Remove.
578 (print_conflicts): Split into...
579 (conflicts_print, conflicts_output): New.
580 * src/conflicts.h: Adjust.
581 * src/main.c (main): Invoke both conflicts_output and conflicts_print.
582 * src/print.c (print_grammar): Issue `\n' between two rules.
583 * tests/regression.at (Conflicts): New.
584 Reported by Tom Lane.
586 2001-11-12 Akim Demaille <akim@epita.fr>
588 * tests/regression.at (Invalid input): Remove, duplicate with
589 ``Invalid input: 1''.
591 2001-11-12 Akim Demaille <akim@epita.fr>
593 * tests/torture.at (AT_DATA_STACK_TORTURE)
594 (Exploding the Stack Size with Alloca)
595 (Exploding the Stack Size with Malloc): New.
597 2001-11-12 Akim Demaille <akim@epita.fr>
599 * src/bison.simple (YYSTACK_REALLOC): New.
600 (yyparse) [!yyoverflow]: Use it and free the old stack.
601 Reported by Per Allansson.
603 2001-11-12 Pascal Bart <pascal.bart@epita.fr>
605 * src/bison.simple: Define type yystype instead of YYSTYPE, and
606 define CPP macro, which substitute YYSTYPE by yystype.
607 * src/reader.c (parse_union_decl): Output yystype/YYSTYPE as we do
608 with yyltype/YYLTYPE. This allows inclusion of the generated
609 header within the parser if the compiler, such as GGC, accepts
610 multiple equivalent #defines.
613 2001-11-05 Akim Demaille <akim@epita.fr>
615 * src/reader.c (symbols_output): New, extracted from...
619 2001-11-05 Akim Demaille <akim@epita.fr>
621 * src/lex.c (parse_percent_token): s/quotearg/quote/.
623 2001-11-05 Akim Demaille <akim@epita.fr>
625 * tests/regression.at (AT_TEST_CPP_GUARD_H): Adjust the clean up
628 2001-11-05 Akim Demaille <akim@epita.fr>
630 * src/options.h (struct option_table_struct): set_flags is void*.
631 * src/options.c (longopts): Support `--output' and `%output'.
633 * src/lex.h (tok_setopt): Remove, replaced with...
634 (tok_intopt, tok_stropt): these new guys.
635 * src/lex.c (getopt.h): Not needed.
636 (token_buffer, unlexed_token_buffer): Not const.
637 (percent_table): Promote `-' over `_' in directive names.
638 Active `%name-prefix', `file-prefix', and `output'.
639 (parse_percent_token): Accept possible arguments to directives.
640 Promote `-' over `_' in directive names.
642 2001-11-04 Akim Demaille <akim@epita.fr>
644 * doc/bison.texinfo (Decl Summary): Split the list into
645 `directives for grammars' and `directives for bison'.
647 Add description of `%name-prefix', `file-prefix', and `output'.
648 Promote `-' over `_' in directive names.
649 (Bison Options): s/%locactions/%locations/. Nice Freudian slip.
650 Simplify the description of `--name-prefix'.
651 Promote `-' over `_' in directive names.
652 Promote `--output' over `--output-file'.
653 Fix the description of `--defines'.
654 * tests/output.at: Exercise %file-prefix and %output.
656 2001-11-02 Akim Demaille <akim@epita.fr>
658 * doc/refcard.tex: Update.
660 2001-11-02 Akim Demaille <akim@epita.fr>
662 * src/symtab.h (SUNDEF): New.
663 * src/symtab.c (bucket_new): Init user_token_number to SUNDEF to
664 stand for `uninitialized', instead of 0.
665 * src/reader.c (packsymbols, parse_thong_decl): Adjust.
666 * src/lex.c (lex): Adjust.
668 * tests/calc.at (_AT_DATA_CALC_Y): Declare a token for EOF.
670 Let yylex return it instead of a plain 0.
671 Reported by Dick Streefland.
673 2001-11-02 Akim Demaille <akim@epita.fr>
675 * tests/regression.at (Mixing %token styles): New test.
677 2001-11-02 Akim Demaille <akim@epita.fr>
679 * src/reader.c (parse_thong_decl): Formatting changes.
680 (token_translations_init): New, extracted from...
684 2001-11-01 Akim Demaille <akim@epita.fr>
686 * tests/regression.at (AT_TEST_CPP_GUARD_H): New.
687 Check that `9foo.y' produces correct cpp guards.
688 * src/files.c (compute_header_macro): Prepend `BISON_' to CPP
692 2001-11-01 Akim Demaille <akim@epita.fr>
694 * tests/regression.at (Invalid input: 2): New.
695 * src/lex.c (unlexed_token_buffer): New.
696 (lex, unlex): Adjust: when unlexing, be sure to save token_buffer
700 2001-11-01 Akim Demaille <akim@epita.fr>
702 * tests/calc.at: Catch up with 1.30.
703 * configure.in: Bump to 1.49a.
704 Adjust to newer Autotest.
706 2001-10-19 Pascal Bart <pascal.bart@epita.fr>
708 * src/conflicts.c: Move global variables rrc_total and src_total ...
709 (print_conflicts): here.
710 * src/output.c (output): Free global variable user_toknums.
711 * src/lex.c (token_obstack): Become static.
713 2001-10-18 Akim Demaille <akim@epita.fr>
715 * tests/atlocal.in (GCC): Add.
716 * tests/calc.at: s/m4_match/m4_bmatch/.
717 s/m4_patsubst/m4_bpatsubst/.
718 (AT_CHECK_CALC): Check the compiler's stderr only if it's GCC.
719 * configure.in: AC_SUBST(GCC).
721 2001-10-14 Marc Autret <autret_m@epita.fr>
723 * src/options.c (create_long_option_table): Fix.
725 2001-10-10 Akim Demaille <akim@epita.fr>
727 * src/bison.simple: Be sure to set YYSTACK_USE_ALLOCA.
729 2001-10-04 Akim Demaille <akim@epita.fr>
731 * src/reader.c (parse_union_decl): Push the caracters in
732 union_obstack, not attrs_obstack.
734 2001-10-04 Akim Demaille <akim@epita.fr>
736 Merge in the branch 1.29.
738 * src/reader.c (packsymbols): Use a temporary obstack for
739 `%%tokendef', since output_stack is already used elsewhere.
741 2001-10-02 Akim Demaille <akim@epita.fr>
745 2001-10-02 Akim Demaille <akim@epita.fr>
749 2001-10-02 Akim Demaille <akim@epita.fr>
751 * tests/regression.at (Invalid CPP headers): New.
752 From Alexander Belopolsky.
753 * src/files.c (compute_header_macro): Map non alnum chars to `_'.
755 2001-10-02 Akim Demaille <akim@epita.fr>
757 * tests/regression.at (Invalid input): New.
758 * src/lex.c (lex): Be sure to set `token_buffer' in any case.
761 2001-10-02 Akim Demaille <akim@epita.fr>
763 * tests/calc.at: Now that --debug works, the tests must be adjusted.
765 2001-10-02 Akim Demaille <akim@epita.fr>
767 * src/output.c (output_parser): Assert `skeleton'.
768 * src/files.c (skeleton_find): Look harder for skeletons on DOSish
772 2001-10-01 Marc Autret <autret_m@epita.fr>
774 * src/lex.h: Echo modifications.
775 * src/lex.c (unlex): Parameter is now token_t.
778 2001-10-01 Marc Autret <autret_m@epita.fr>
780 * src/main.c: Include lex.h.
783 2001-09-29 Akim Demaille <akim@epita.fr>
785 * src/getargs.c (longopts): `--debug' is `-t', not `-d'.
787 2001-09-28 Akim Demaille <akim@epita.fr>
789 * tests/testsuite.at: Update to newer Autotest.
790 * tests/Makefile.am (EXTRA_DIST): bison is not to be shipped.
792 2001-09-27 Akim Demaille <akim@epita.fr>
794 Position independent wrapper.
796 * tests/bison: Remove.
797 * tests/bison.in: New.
798 * configure.in: Adjust.
800 2001-09-27 Paul Eggert <eggert@twinsun.com>
802 Port quotearg fixes from tar 1.13.24.
804 * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
806 (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
807 (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
809 * m4/Makefile.am (EXTRA_DIST): Add mbrtowc.m4.
810 * m4/mbrtowc.m4: New file.
811 * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for mbsinit and stddef.h.
812 Use jm_FUNC_MBRTOWC instead of AC_CHECK_FUNCS(mbrtowc).
814 2001-09-27 Akim Demaille <akim@epita.fr>
818 2001-09-27 Akim Demaille <akim@epita.fr>
822 2001-09-25 Akim Demaille <akim@epita.fr>
824 * src/system.h: Include `xalloc.h'.
825 Remove it from the C files.
826 * src/files.c (output_files): Free the obstacks.
827 * src/lex.c (init_lex): Rename as...
830 * src/main.c (main): Use it.
832 2001-09-24 Marc Autret <autret_m@epita.fr>
834 * src/vcg.c (open_edge, close_edge, open_node, close_node): Change
835 to output informations in fout (FILE*).
836 (open_graph, close_graph): Likewise.
837 (output_graph, output_edge, output_node): Likewise.
838 * src/vcg.h: Update function prototypes.
839 * src/print_graph.c (print_graph): Open output graph file.
840 (print_actions): Adjust.
841 * src/files.h: Remove extern declaration.
842 * src/files.c: Remove graph_obstack declaration.
843 (open_files): Remove graph_obstack initialization.
844 (output_files): Remove graph_obstack saving.
846 2001-09-24 Marc Autret <autret_m@epita.fr>
848 * src/files.c (compute_output_file_names): Fix.
850 2001-09-24 Marc Autret <autret_m@epita.fr>,
851 Akim Demaille <akim@epita.fr>
853 * src/reader.c (reader): Remove call to free_symtab ().
854 * src/main.c (main): Call it here.
856 * src/conflicts.c (initialize_conflicts): Rename as...
857 (solve_conflicts): this.
858 * src/print.c (print_core, print_actions, print_state)
859 (print_grammar): Dump to a file instead a `output_obstack'.
860 (print_results): Dump `output_obstack', and then proceed with the
862 * src/files.c (compute_output_file_names, close_files): New.
863 (output_files): Adjust.
864 * src/main.c (main): Adjust.
866 2001-09-23 Marc Autret <autret_m@epita.fr>
868 * src/files.c (compute_header_macro): Computes header macro name
869 from spec_defines_file when given.
871 2001-09-23 Marc Autret <autret_m@epita.fr>
873 * src/files.c (output_files): Add default extensions.
875 2001-09-22 Akim Demaille <akim@epita.fr>
877 * src/conflicts.c (finalize_conflicts): Rename as...
878 (free_conflicts): this.
880 2001-09-22 Akim Demaille <akim@epita.fr>
882 * src/gram.c (gram_free): Rename back as...
884 (output_token_translations): Free `token_translations'.
885 * src/symtab.c (free_symtab): Free the tag field.
887 2001-09-22 Akim Demaille <akim@epita.fr>
889 Remove `translations' as it is always set to true.
891 * src/gram.h: Adjust.
892 * src/reader.c (packsymbols, parse_token_decl): Adjust
893 * src/print.c (print_grammar): Adjust.
894 * src/output.c (output_token_translations): Adjust.
895 * src/lex.c (lex): Adjust.
896 * src/gram.c: Be sure the set pointers to NULL.
897 (dummy): Rename as...
900 2001-09-22 Akim Demaille <akim@epita.fr>
902 * configure.in: Invoke AM_LIB_DMALLOC.
903 * src/system.h: Use dmalloc.
904 * src/LR0.c: Be sure to have pointers initialized to NULL.
905 (allocate_itemsets): Allocate kernel_items only if needed.
907 2001-09-22 Akim Demaille <akim@epita.fr>
909 * configure.in: Bump to 1.29b.
910 * tests/Makefile.am (DISTCLEANFILES): Add package.m4.
911 * tests/calc.at (_AT_DATA_CALC_Y): #undef malloc so that we don't
912 need xmalloc.c in calc.y.
915 2001-09-21 Akim Demaille <akim@epita.fr>
918 * Makefile.maint, config/config.guess, config/config.sub,
919 * config/missing: Update from masters.
920 * tests/Makefile.am ($(srcdir)/$(TESTSUITE)): No longer depend
922 * configure.in (ALL_LINGUAS): Add `tr'.
924 2001-09-21 Akim Demaille <akim@epita.fr>
926 * tests/Makefile.am (package.m4): Move to...
927 ($(srcdir)/$(TESTSUITE)): here.
929 2001-09-20 Akim Demaille <akim@epita.fr>
931 * src/complain.c: No longer try to be standalone: use system.h.
932 Don't assume __STDC__ is defined to 1. Just test if it is defined.
933 * src/complain.h: Likewise.
934 * src/reduce.c (useless_nonterminals, inaccessable_symbols):
935 Remove the unused variable `n'.
936 From Albert Chin-A-Young.
938 2001-09-18 Marc Autret <autret_m@epita.fr>
940 * doc/bison.1: Update.
941 * doc/bison.texinfo (Bison Options): Update --defines and --graph
943 (Option Cross Key): Update.
946 2001-09-18 Marc Autret <autret_m@epita.fr>
948 * tests/regression.at: New test (comment in %union).
950 2001-09-18 Marc Autret <autret_m@epita.fr>
952 * src/reader.c (parse_union_decl): Do not output '/'. Let copy_comment
954 Reported by Keith Browne.
956 2001-09-18 Marc Autret <autret_m@epita.fr>
958 * tests/output.at: Add tests for --defines and --graph.
960 2001-09-18 Marc Autret <autret_m@epita.fr>
962 * tests/output.at: Removes tests of %{header,src}_extension features.
964 2001-09-18 Akim Demaille <akim@epita.fr>
966 * tests/Makefile.am (package.m4): New.
967 * tests/calc.at (_AT_CHECK_CALC): Just run `calc input'.
968 (_AT_CHECK_CALC_ERROR): Likewise.
969 Factor the `, ' part of verbose error messages.
971 2001-09-18 Marc Autret <autret_m@epita.fr>
973 * src/getargs.c (longopts): Declare --defines and --graph as options
974 with optional arguments.
975 * src/files.h: Add extern declarations.
976 * src/files.c (spec_graph_file, spec_defines_file): New.
977 (output_files): Update.
978 Remove CPP-outed code.
980 2001-09-18 Marc Autret <autret_m@epita.fr>
982 Turn off %{source,header}_extension feature.
984 * src/files.c (compute_exts_from_gf): Update.
985 (compute_exts_from_src): Update.
986 (output_files): CPP-out useless code.
987 * src/files.h: Remove {header,source}_extension extern declarations.
988 * src/reader.c (parse_dquoted_param): CPP-out.
989 (parse_header_extension_decl): Remove.
990 (parse_source_extension_decl): Remove.
991 (read_declarations): Remove cases tok_{hdrext,srcext}.
992 * src/lex.c (percent_table): Remove {header,source}_extension entries.
993 * src/lex.h (token_t): Remove tok_hdrext and tok_srcext.
995 2001-09-10 Akim Demaille <akim@epita.fr>
997 * tests/output.at (AT_CHECK_BISON_FLAGS, AT_CHECK_BISON_PERCENT):
998 (AT_CHECK_BISON_PERCENT_FLAGS): Merge into...
999 (AT_CHECK_OUTPUT): this.
1000 Merely check ls' exit status, its output is useless.
1002 2001-09-10 Akim Demaille <akim@epita.fr>
1004 * tests/calc.at: Use m4_match.
1005 (_AT_DATA_CALC_Y): Check `yyin != NULL', not `stdin != NULL'.
1007 2001-09-10 Marc Autret <autret_m@epita.fr>,
1008 Akim Demaille <akim@epita.fr>
1010 * src/vcg.h (graph_s): color, textcolor, bordercolor are now
1012 * src/print_graph.c (print_graph): Initalize graph.layoutalgorithm
1014 * src/reader.c (parse_token_decl): Initialize token with tok_eof.
1015 * src/lex.h: Adjust prototype.
1016 (token_t): Add `tok_undef'.
1017 * src/lex.c (struct percent_table_struct): Retval is now a token_t.
1018 (parse_percent_token): Now returns token_t.
1019 Add default statement in switch.
1020 (lex): Separate `c' as an input variable, from the token_t result
1022 (unlexed): Is a token_t.
1024 2001-09-10 Akim Demaille <akim@epita.fr>
1026 * configure.in: Bump to 1.29a.
1028 2001-09-07 Akim Demaille <akim@epita.fr>
1032 2001-08-30 Akim Demaille <akim@epita.fr>
1034 * tests/atgeneral.m4, tests/atconfig.in, tests/suite.at: Remove.
1035 * m4/atconfig.m4: Remove.
1036 * tests/testsuite.at, tests/atlocal.in, tests/output.at,
1038 * tests/regression.at, tests/calc.at: Use m4_define, AT_BANNER,
1039 m4_if, m4_patsubst, and m4_regexp.
1040 * tests/calc.at (_AT_CHECK_CALC, _AT_CHECK_CALC_ERROR): Use an
1041 `input' file instead of echo.
1043 2001-08-29 Akim Demaille <akim@epita.fr>
1047 2001-08-29 Akim Demaille <akim@epita.fr>
1051 2001-08-29 Paul Eggert <eggert@twinsun.com>
1053 * src/bison.simple (yyparse): Don't take the address of an
1054 item before the start of an array, as that doesn't conform to
1057 2001-08-29 Robert Anisko <anisko_r@epita.fr>
1059 * doc/bison.texinfo (Location Tracking Calc): New node.
1061 2001-08-29 Paul Eggert <eggert@twinsun.com>
1063 * src/output.c (output): Do not define const, as this now
1064 causes more problems than it cures.
1066 2001-08-29 Akim Demaille <akim@epita.fr>
1068 * doc/bison.texinfo: Modernize `@node' and `@top' use: just name
1070 Be sure to tag the `detailmenu'.
1072 2001-08-29 Akim Demaille <akim@epita.fr>
1074 * Makefile.maint (do-po-update): Wget refuses to overwrite files:
1075 download in a tmp dir.
1077 2001-08-28 Marc Autret <autret_m@epita.fr>
1079 * config/depcomp: New file.
1081 2001-08-28 Marc Autret <autret_m@epita.fr>
1083 * doc/bison.1 (mandoc): Adjust.
1084 From Juan Manuel Guerrero.
1086 2001-08-28 Marc Autret <autret_m@epita.fr>
1088 * src/print_graph.c (print_state): Fix.
1090 2001-08-27 Marc Autret <autret_m@epita.fr>
1092 * src/vcg.h (classname_s, infoname_s, node_s): Constify the
1094 Echo modifications to the functions prototypes.
1095 * src/vcg.c (add_classname, add_infoname): Adjust arguments.
1097 2001-08-27 Marc Autret <autret_m@epita.fr>
1099 * src/vcg.c: Include `xalloc.h'.
1100 (add_colorentry): New.
1101 (add_classname): New.
1102 (add_infoname): New.
1103 * src/vcg.h: Add new prototypes.
1105 2001-08-27 Akim Demaille <akim@epita.fr>
1107 * Makefile.maint: Sync. again with CVS Autoconf.
1109 2001-08-27 Akim Demaille <akim@epita.fr>
1111 * Makefile.maint: Formatting changes.
1112 (po-update, cvs-update, update): New targets.
1115 2001-08-27 Akim Demaille <akim@epita.fr>
1117 * Makefile.am (AUTOMAKE_OPTIONS): 1.5.
1118 * Makefile.maint: Sync. with CVS Autoconf.
1120 2001-08-27 Marc Autret <autret_m@epita.fr>
1122 * src/vcg.h (struct infoname_s): New.
1123 (struct colorentry_s): New.
1124 (graph_s): New fields {vertical,horizontal}_order in structure.
1125 Add `infoname' field.
1126 Add `colorentry' field;
1127 * src/vcg_defaults.h (G_VERTICAL_ORDER): New.
1128 (G_HORIZONTAL_ORDER): New.
1130 (G_COLORENTRY): New.
1131 * src/vcg.c (output_graph): Add output of {vertical,horizontal}_order.
1132 Add output of `infoname'.
1133 Add output of `colorentry'.
1135 2001-08-27 Marc Autret <autret_m@epita.fr>
1137 * src/reader.c (parse_dquoted_param): Rename variable `index' to `i'.
1138 This one shadowed a global parameter.
1140 2001-08-24 Marc Autret <autret_m@epita.fr>
1142 * src/print_graph.c (node_output_size): Declared POSIX `size_t' type,
1143 instead of `unsigned'.
1144 (print_state): Do not call obstack_object_size () in obstack_grow ()
1145 to avoid macro variables shadowing.
1147 2001-08-23 Marc Autret <autret_m@epita.fr>
1149 * src/lex.c (percent_table): Typo: s/naem/name/.
1151 Normalize new options declarations.
1153 2001-08-20 Pascal Bart <pascal.bart@epita.fr>
1155 * tests/suite.at: Exercise %header_extension and %source_extension.
1157 2001-08-16 Marc Autret <autret_m@epita.fr>
1159 * src/reader.c (parse_dquoted_param): New.
1160 (parse_header_extension_decl): Use it.
1161 (parse_source_extension_decl): Likewise.
1163 2001-08-16 Marc Autret <autret_m@epita.fr>
1165 * src/vcg.c: Remove includes of `complain.h' and `xalloc.h'.
1166 (get_xxxx_str): Use assert () instead of complain ().
1167 Remove return invokations in default cases.
1168 (get_decision_str): Modify default behaviour. Remove second argument.
1169 Echo modifications on calls.
1170 (output_graph): Fix.
1172 2001-08-16 Marc Autret <autret_m@epita.fr>
1174 * src/getargs.c (usage): Update with ``-g, --graph''.
1176 2001-08-16 Marc Autret <autret_m@epita.fr>
1178 * doc/bison.texinfo (Bison Options): Add items `-g', `--graph'.
1179 (Option Cross Key): Likewise.
1180 * doc/bison.1: Update.
1182 2001-09-25 Pascal Bart <pascal.bart@epita.fr>
1184 * src/output.c (output_master_parser): Don't finish action_obstack.
1185 (output_parser): Don't care about the muscle action, here.
1186 (prepare): Copy the action_obstack in the action muscle.
1187 (output): Free action_obstack.
1189 2001-09-23 Pascal Bart <pascal.bart@epita.fr>
1191 * src/reader.c (parse_union_decl): Add new obstack union_obstack. Which
1192 will contain `%union' declaration.
1193 (parse_union_decl): Delete #line directive output.
1194 (parse_union_decl): Substitute /attrs_obstack/union_obstack for all
1195 informations about %union.
1196 (parse_union_decl): Copy the union_obstack in the muscle stype.
1197 * src/bison.simple: Add new #line directive.
1198 Add typdef %%stype YYSTYPE.
1200 2001-09-23 Pascal Bart <pascal.bart@epita.fr>
1202 * src/bison.simple: Add new `#line' directive.
1204 2001-09-22 Pascal Bart <pascal.bart@epita.fr>
1206 * src/bison.simple: New `#line' directive.
1207 * src/output.c (output_parser): Support new dynamic muscle input_line.
1209 2001-09-22 Marc Autret <autret_m@epita.fr>
1211 * src/output.c (output_master_parser): New.
1212 (output_parser): Be more re-entrant.
1214 2001-09-21 Marc Autret <autret_m@epita.fr>
1216 * src/reader.c (copy_definition, parse_union_decl): Update and use
1218 (copy_action): Likewise.
1219 Use obstack_1grow ().
1220 * src/muscle_tab.c (muscle_init): Add muscle `linef'.
1222 2001-09-21 Marc Autret <autret_m@epita.fr>
1224 * src/options.c (option_table): Adjust.
1225 * src/lex.c (parse_percent_token): Fix.
1227 2001-09-20 Pascal Bart <pascal.bart@epita.fr>
1229 * src/options.c (symtab.h): Include it, need by lex.h.
1231 2001-09-20 Pascal Bart <pascal.bart@epita.fr>
1233 * src/lex.c (parse_percent_token): Change type of variable `tx', which
1234 is now an option_table_struct*.
1235 (option_strcmp): New function option_strcmp.
1236 (parse_percent_token): Call option_strcmp.
1237 * src/getargs.c (xalloc.h, options.h): Include it.
1238 (getargs): Call create_long_option_table.
1239 (getargs): Free longopts at the end of the function.
1240 (shortopts): Move in options.c.
1241 * src/options.c (create_long_option_table): New function. Convert
1242 information from option_table to option structure.
1243 * src/reader.c (options.h): Include it.
1245 * src/Makefile.am: Adjust.
1246 * src/options.c (option_table): Create from longopts and percent_table.
1247 * src/getargs.c (longopts): Delete.
1248 * src/lex.c (struct percent_table_struct): Delete.
1249 (percent_table): Delete.
1250 (options.h): Include it.
1251 * src/options.c: Create.
1252 * src/options.h: Create.
1253 Declare enum opt_access_e.
1254 Define struct option_table_struct.
1256 2001-09-20 Marc Autret <autret_m@epita.fr>
1258 * doc/bison.texinfo: Adjust terminologies about prologue and epilogue
1261 2001-09-19 Pascal Bart <pascal.bart@epita.fr>
1263 * src/bison.simple: s/%%filename/%%skeleton.
1264 * src/muscle_tab.c (getargs.h): Include it.
1265 (muscle_init): Insert new muscle skeleton.
1267 2001-09-18 Pascal Bart <pascal.bart@epita.fr>
1269 * src/output.c (output_parser): Delete unused variable actions_dumped.
1271 2001-09-07 Pascal Bart <pascal.bart@epita.fr>
1273 * src/output.c (output): Delete call to reader_output_yylsp.
1274 * src/reader.c (reader): Likewise.
1275 * src/reader.h: Delete declaration of reader_output_yylsp.
1277 2001-09-02 Marc Autret <autret_m@epita.fr>
1279 * src/reader.c: Include muscle_tab.h.
1280 (parse_union_decl): Update.
1281 (parse_macro_decl): Rename parse_muscle_decl.
1282 Update to use renamed functions and variable.
1283 (read_declarations, copy_action, read_additionnal_code, : Updated
1284 with correct variables and functions names.
1285 (packsymbols, reader): Likewise.
1287 * src/reader.h (muscle_obstack): Extern declaration update.
1289 * src/output.c: Include muscle_tab.h
1290 In all functions using macro_insert, change by using muscle_insert ().
1291 (macro_obstack): Rename muscle_obstack.
1292 Echo modifications in the whole file.
1293 (MACRO_INSERT_INT): Rename MUSCLE_INSERT_INT.
1294 (MACRO_INSERT_STRING): Rename MUSCLE_INSERT_STRING.
1295 (MACRO_INSERT_PREFIX): Rename MUSCLE_INSERT_PREFIX.
1297 * src/muscle_tab.h: Update double inclusion macros.
1298 (macro_entry_s): Rename muscle_entry_s.
1301 * src/muscle_tab.c: Include muscle_tab.h.
1302 Rename macro_tabble to muscle_table.
1303 (mhash1, mhash2, mcmp): Use muscle_entry.
1304 (macro_init): Rename muscle_init. Update.
1305 (macro_insert): Rename muscle_insert. Update.
1306 (macro_find): Rename muscle_find. Update.
1308 * src/main.c: Include muscle_tab.h.
1309 (main): Call muscle_init ().
1310 * src/Makefile.am (bison_SOURCES): Echo modifications.
1312 2001-09-02 Marc Autret <autret_m@epita.fr>
1314 Now the files macro_tab.[ch] are named muscle_tab.[ch].
1316 * src/muscle_tab.c, src/muscle_tab.h: Add files.
1318 2001-09-02 Marc Autret <autret_m@epita.fr>
1320 * src/macrotab.c, src/macrotab.h: Remove.
1322 2001-09-01 Pascal Bart <pascal.bart@epita.fr>
1324 * src/reader.c (copy_guard): Use muscle to specify the `#line'
1327 2001-09-01 Marc Autret <autret_m@epita.fr>
1329 * tests/calc.at (exp): Now, YYERROR_VERBOSE need to be set
1330 to an explicit value to activate the feature. We do it here.
1332 2001-08-31 Pascal Bart <pascal.bart@epita.fr>
1334 * src/output.c (prepare): Delete the `filename' muscule insertion.
1335 * src/reader.c (copy_action): Use `filename' muscule with `#line'.
1336 (parse_union_decl): Likewise.
1337 * src/macrotab.c (macro_init): Initialize filename by infile.
1339 2001-08-31 Marc Autret <autret_m@epita.fr>
1341 * src/bison.simple (YYLSP_NEEDED): New definition.
1342 * src/output.c (prepare): Add macro insertion of `locations_flag'
1344 2001-08-31 Pascal Bart <pascal.bart@epita.fr>
1346 * src/output.c (prepare): Delete insertion of previous muscles,
1347 and insert the `prefix' muscles.
1348 * src/macrotab.c (macro_init): Likewise.
1349 (macro_init): Initialization prefix directive by `yy'.
1350 * src/bison.simple: Substitute all %%yylex, %%yychar, %%yylval,
1351 %%yydebug, %%yyerror, %%yynerrs and %%yyparse by yylex, yychar,
1352 yylval, yydebug, yyerror, yynerrs and yyparse.
1353 New directive `#define' to substitute yydebug, ... with option
1356 2001-08-31 Pascal Bart <pascal.bart@epita.fr>
1358 * src/main.c (main): Standardize.
1359 * src/output.c (output_table_data, output_parser): Likewise.
1360 * src/macrotab.h, src/macrotab.c, src/bison.simple: Likewise.
1362 2001-08-31 Pascal Bart <pascal.bart@epita.fr>, Marc Autret <autret_m@epita.fr>
1364 * src/reader.c (read_additionnal_code): Rename %%user_code to
1366 * src/output.c (output): Rename %%declarations to %%prologue.
1367 * src/bison.simple: Echo modifications.
1369 2001-08-31 Marc Autret <autret_m@epita.fr>
1371 * src/reader.c (readgram): CleanUp.
1372 (output_token_defines): Likewise.
1373 (packsymbols): Likewise.
1375 * src/output.c (output): CPP-out useless code.
1377 2001-08-31 Pascal Bart <pascal.bart@epita.fr>
1379 * src/reader.c (reader): Delete obsolete call to function
1380 output_trailers and output_headers.
1381 * src/output.h: Remove obsolete functions prototypes of output_headers
1382 and output_trailers.
1384 2001-08-30 Pascal Bart <pascal.bart@epita.fr>
1386 * src/main.c: Include macrotab.h.
1387 * src/macrotab.h (macro_entry_s): Constify fields.
1388 Adjust functions prototypes.
1389 * src/macrotab.c (macro_insert): Constify key and value.
1390 (macro_find): Constify key.
1391 (macro_insert): Include 'xalloc.h'
1392 (macro_insert): Use XMALLOC.
1393 (macro_find): Constify return value.
1394 * src/output.c (output_table_data): Rename table to table_data.
1395 (output_parser): Constify macro_key, macro_value.
1397 2001-08-30 Marc Autret <autret_m@epita.fr>
1399 * src/reader.c (parse_skel_decl): New.
1400 (read_declarations): Add case `tok_skel', call parse_skel_decl ().
1401 * src/lex.h (token_t): New token `tok_skel'.
1402 * src/lex.c (percent_table): Add skeleton option entry.
1405 2001-08-29 Marc Autret <autret_m@epita.fr>
1407 * src/bison.simple: Add %%user_code directive at the end.
1408 * src/reader.c (read_additionnal_code): New.
1410 * src/output.c (output_program): Remove.
1413 2001-08-28 Marc Autret <autret_m@epita.fr>
1415 * src/output.c (output_actions): Clean up.
1416 (output_gram): CPP-out useless code.
1417 * src/reader.c (reader): Clean up, CPP-out useless code.
1419 2001-08-28 Pascal Bart <pascal.bart@epita.fr>
1421 * src/output.c (output): Copy attrs_obstack in the '%%definitions'
1423 * src/bison.simple: Add `%%definitions'.
1425 2001-08-28 Marc Autret <autret_m@epita.fr>
1427 * config/depcomp: New file.
1429 2001-08-27 Paul Eggert <eggert@twinsun.com>
1431 * src/bison.simple (yyparse): Don't take the address of an
1432 item before the start of an array, as that doesn't conform to
1435 2001-08-27 Robert Anisko <robert.anisko@epita.fr>
1437 * src/output.c (output): Remove the initialization of the macro
1438 obstack. It was done too late here.
1440 * src/reader.c (parse_macro_decl): Fix. Use of the macro obstack was
1442 (reader): Initialize the macro obstack here, since we need it to grow
1443 '%define' directives.
1445 * src/reader.h: Declare the macro obstack as extern.
1447 2001-08-27 Robert Anisko <robert.anisko@epita.fr>
1449 * src/output.c (output_parser): Fix. Store single '%' characters in
1450 the output obstack instead of throwing them away.
1452 2001-08-27 Akim Demaille <akim@epita.fr>
1454 * Makefile.am (AUTOMAKE_OPTIONS): 1.5.
1456 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
1458 * lib/Makefile.am: Adjust.
1460 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
1462 * src/bison.simple: Update and add '%%' directives.
1464 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
1466 * src/reader.c (reader): Remove calls to 'output_headers' and
1467 'output_trailers'. Remove some C output.
1468 (readgram): Disable a piece of code that was writing a default
1469 definition for 'YYSTYPE'.
1470 (reader_output_yylsp): Remove.
1471 (packsymbols): Output token defintions to a macro.
1472 (copy_definition): Disable C output.
1474 * src/reader.c (parse_macro_decl): New function used to parse macro
1476 (copy_string2): Put the body of copy_string into this new function.
1477 Add a parameter to let the caller choose whether he wants to copy the
1478 string delimiters or not.
1479 (copy_string): Be a simple call to copy_string2 with the last argument
1481 (read_declarations): Add case for macro definition.
1482 (copy_identifier): New.
1483 (parse_macro_decl): Read macro identifiers using copy_identifier
1486 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
1488 * src/output.c (prepare): Add prefixed names.
1489 (output_parser): Output semantic actions.
1490 (output_parser): Fix bug on '%%line' directives.
1492 * src/output.c (output_headers): Remove. The C code printed by this
1493 function should now be in the skeletons.
1494 (output_trailers): Remove.
1495 (output): Disable call to 'reader_output_yylsp'.
1496 (output_rule_data): Do not output tables to the table obstack.
1498 * src/output.c: Remove some C dedicated output.
1499 Improve the use of macro and output obstacks.
1500 (output_defines): Remove.
1502 * src/output.c (output_token_translations): Associate 'translate'
1503 table with a macro. No output to the table obstack.
1504 (output_gram): Same for 'rhs' and 'prhs'.
1505 (output_stos): Same for 'stos'.
1506 (output_rule_data): Same for 'r1' and 'r2'.
1507 (token_actions): Same for 'defact'.
1508 (goto_actions): Same for 'defgoto'.
1509 (output_base): Same for 'pact' and 'pgoto'.
1510 (output_table): Same for 'table'.
1511 (output_check): Same for 'check'.
1513 * src/output.c (output_table_data): New function.
1514 (output_short_table): Remove.
1515 (output_short_or_char_table): Remove.
1517 * src/output.c (output_parser): Replace most of the skeleton copy code
1518 with something new. Skeletons are now processed character by character
1519 rather than line by line, and Bison looks for '%%' macros. This is the
1520 first step in making Bison's output process (a lot) more flexible.
1521 (output_parser): Use the macro table.
1523 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
1525 * src/main.c (main): Initialize the macro table.
1527 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
1529 * src/lex.c (percent_table): Add tok_define.
1530 * src/lex.h: Add tok_define.
1532 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
1534 * src/macrotab.c: New file.
1535 * src/macrotab.h: New file.
1536 * src/Makefile.am: Update.
1538 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
1540 * lib/hash.c: New file.
1541 * lib/hash.h: New file.
1542 * lib/Makefile.am: Update.
1544 2001-08-15 Akim Demaille <akim@epita.fr>
1548 2001-08-15 Marc Autret <autret_m@epita.fr>
1550 * src/reader.c (readgram): Indent output macro YYSTYPE.
1551 (packsymbols): Likewise.
1552 (output_token_defines): Likewise.
1553 * src/files.c: Standardize.
1554 (compute_header_macro): New.
1555 (defines_obstack_save): New. Use compute_header_macro.
1556 (output_files): Update. Use defines_obstack_save.
1558 2001-08-15 Akim Demaille <akim@epita.fr>
1560 * doc/bison.texinfo (Table of Symbols): Document
1563 2001-08-15 Akim Demaille <akim@epita.fr>
1565 * missing: Update from CVS Automake.
1566 * config/config.guess, config/config.sub, config/texinfo.tex:
1567 Update from gnu.org.
1569 2001-08-15 Akim Demaille <akim@epita.fr>
1571 * Makefile.maint: Sync with CVS Autoconf.
1573 2001-08-14 Pascal Bart <pascal.bart@epita.fr>
1575 * doc/bison.texinfo: Include GNU Free Documentation License from
1577 * doc/fdl.texi: Add to package.
1579 2001-08-14 Marc Autret <autret_m@epita.fr>
1581 Turn on %{source,header}_extension features.
1583 * src/lex.c (percent_table): Un-CPP out header_extension and
1585 * src/files.c (compute_exts_from_gf): Compare pointers with NULL.
1586 (compute_exts_from_src): Remove conditions. It restores priorities
1589 2001-08-14 Marc Autret <autret_m@epita.fr>
1591 * src/files.c (compute_base_names): Add extensions computing when
1592 `--file-prefix' used.
1593 Standardize function calls.
1595 2001-08-13 Marc Autret <autret_m@epita.fr>
1597 * src/bison.simple (YYSTACK_USE_ALLOCA): Changed to allow users
1598 defining it (defined but null disables alloca).
1600 2001-08-13 Marc Autret <autret_m@epita.fr>
1602 * src/bison.simple (_yy_memcpy): CPP reformat.
1604 2001-08-13 Pascal Bart <pascal.bart@epita.fr>
1606 * tests/atconfig.in (CPPFLAGS): Fix.
1608 2001-08-10 Pascal Bart <pascal.bart@epita.fr>
1610 * doc/bison.texinfo: Include GNU General Public License from
1612 * doc/gpl.texi: Add to package.
1614 2001-08-10 Marc Autret <autret_m@epita.fr>
1616 * src/print_graph.h: Fix.
1617 * src/reader.c (read_declarations): Use parse_header_extension_decl ().
1619 2001-08-10 Akim Demaille <akim@epita.fr>
1621 * src/system.h: Provide default declarations for stpcpy, strndup,
1624 2001-08-10 Robert Anisko <anisko_r@epita.fr>
1626 * doc/bison.texinfo (Locations): Update @$ stuff.
1628 2001-08-09 Robert Anisko <anisko_r@epita.fr>
1630 * src/bison.simple (YYLLOC_DEFAULT): Update.
1633 2001-08-08 Marc Autret <autret_m@epita.fr>
1635 * doc/bison.texinfo: Change @samp{$<@dots{}>} to
1636 @samp{$<@dots{}>@var{n}} in Section Actions in Mid-Rule.
1637 Reported by Fabrice Bauzac.
1639 2001-08-08 Marc Autret <autret_m@epita.fr>
1641 * src/vcg_default.h: Use NULL instead of 0 to initialize pointers.
1642 * src/vcg.c (output_node): Fix.
1643 * src/vcg.h: Cleanup.
1644 * src/print_graph.c: Add comments.
1645 (node_output_size): New global variable. Simplify the formatting of
1646 the VCG graph output.
1647 (print_actions): Unused code is now used. It notifies the final state
1648 and no action states in the VCG graph. It also give the reduce actions.
1649 The `shift and goto' edges are red and the `go to state' edges are
1651 Get the current node name and node_obstack by argument.
1652 (node_obstack): New variable.
1653 (print_state): Manage node_obstack.
1654 (print_core): Use node_obstack given by argument.
1655 A node is not only computed here but in print_actions also.
1656 (print_graph): CPP out useless code instead of commenting it.
1658 2001-08-07 Pascal Bart <pascal.bart@epita.fr>
1660 * tests/atconfig.in (CPPFLAGS): Fix.
1662 2001-08-07 Akim Demaille <akim@epita.fr>
1664 * src/print_graph.c (quote): New.
1665 (print_core): Use it.
1667 2001-08-06 Akim Demaille <akim@epita.fr>, Marc Autret <autret_m@epita.fr>
1669 * src/vcg.c (complain.h): Include it.
1670 Unepitaize `return' invocations.
1671 [NDEBUG] (main): Remove.
1672 * src/vcg.h (node_t, edge_t, graph_t): Constify the char * members.
1673 * src/files.c (open_files): Initialize graph_obstack.
1674 * src/print_graph.c (print_actions): CPP out useless code.
1675 (print_core): Don't output the last `\n' in labels.
1677 * src/files.c (output_files): Output the VCG file.
1678 * src/main.c (main): Invoke print_graph ();
1680 2001-08-06 Marc Autret <autret_m@epita.fr>
1682 Automaton VCG graph output.
1683 Using option ``-g'' or long option ``--graph'', you can generate
1684 a gram_filename.vcg file containing a VCG description of the LALR (1)
1685 automaton of your grammar.
1687 * src/main.c: Call to print_graph() function.
1688 * src/getargs.h: Update.
1689 * src/getargs.c (options): Update to catch `-g' and `--graph' options.
1690 (graph_flag): New flag.
1692 (getargs): Add case `g'.
1693 * src/files.c (graph_obstack): New obstack struct.
1694 (open_files): Initialize new obstack.
1695 (output_files): Saves graph_obstack if required.
1696 * src/files.h (graph_obstack): New extern declaration.
1697 * src/Makefile.am: Add new source files.
1699 2001-08-06 Marc Autret <autret_m@epita.fr>
1701 * src/print_graph.c, src/print_graph.h (graph): New.
1702 * src/vcg.h: New file.
1703 * src/vcg.c: New file, VCG graph handling.
1705 2001-08-06 Marc Autret <autret_m@epita.fr>
1707 Add of %source_extension and %header_extension which specify
1708 the source or/and the header output file extension.
1710 * src/files.c (compute_base_names): Remove initialisation of
1711 src_extension and header_extension.
1712 (compute_exts_from_gf): Update.
1713 (compute_exts_from_src): Update.
1714 (output_files): Update.
1715 * src/reader.c (parse_header_extension_decl): New.
1716 (parse_source_extension_decl): New.
1717 (read_declarations): New case statements for the new tokens.
1718 * src/lex.c (percent_table): Add entries for %source_extension
1719 and %header_extension.
1720 * src/lex.h (token_e): New tokens tok_hdrext and tok_srcext.
1722 2001-08-06 Marc Autret <autret_m@epita.fr>
1724 * configure.in: Bump to 1.28c.
1725 * doc/bison.texinfo: Texinfo thingies.
1727 2001-08-04 Pascal Bart <pascal.bart@epita.fr>
1729 * tests/atconfig.in (CPPFLAGS): Add.
1730 * tests/calc.at (AT_CHECK): Use CPPFLAGS.
1732 2001-08-03 Akim Demaille <akim@epita.fr>
1736 2001-08-03 Akim Demaille <akim@epita.fr>
1738 * tests/Makefile.am (check-local): Ship testsuite.
1739 * tests/calc.at (_AT_DATA_CALC_Y): Prototype all the functions.
1742 2001-08-03 Akim Demaille <akim@epita.fr>
1744 * configure.in: Try using -Wformat when compiling.
1746 2001-08-03 Akim Demaille <akim@epita.fr>
1748 * configure.in: Bump to 1.28b.
1750 2001-08-03 Akim Demaille <akim@epita.fr>
1752 * src/complain.c: Adjust strerror_r portability issues.
1754 2001-08-03 Akim Demaille <akim@epita.fr>
1758 2001-08-03 Akim Demaille <akim@epita.fr>
1760 * src/getargs.c, src/getarg.h (skeleton)): Constify.
1761 * src/lex.c (literalchar): Avoid name clashes on `buf'.
1762 * src/getargs.c: Include complain.h.
1763 * src/files.c, src/files.h (skeleton_find): Avoid name clashes.
1764 * lib/quotearg.c, lib/quotearg.h: Update from fileutils 4.1.
1766 2001-08-03 Akim Demaille <akim@epita.fr>
1768 * src/reader.c (readgram): Display hidden chars in error messages.
1770 2001-08-03 Akim Demaille <akim@epita.fr>
1772 Update to gettext 0.10.39.
1774 2001-08-03 Akim Demaille <akim@epita.fr>
1776 * lib/strspn.c: New.
1778 2001-08-01 Marc Autret <autret_m@epita.fr>
1780 * doc/bison.texinfo: Update.
1781 * doc/bison.1 (mandoc): Update.
1782 * src/system.h (EXT_GUARD_C, EXT_STYPE_H): Remove .c and .h.
1783 * src/files.c: Support output files extensions computing.
1784 (src_extension): New static variable.
1785 (header_extension): New static variable.
1787 (get_extension_index): New function, gets the index of an extension
1788 filename in a string.
1789 (compute_exts_from_gf): New function, computes extensions from the
1790 grammar file extension.
1791 (compute_exts_from_src): New functions, computes extensions from the
1792 C source file extension, file given by ``-o'' option.
1793 (compute_base_names): Update.
1794 (output_files): Update.
1796 2001-08-01 Robert Anisko <anisko_r@epita.fr>
1798 * doc/bison.texi: Document @$.
1799 (Locations): New section.
1801 2001-07-18 Akim Demaille <akim@epita.fr>
1803 * Makefile.maint, GNUmakefile: New, from Autoconf 2.52.
1804 * config/prev-version.txt, config/move-if-change: New.
1805 * Makefile.am: Adjust.
1807 2001-07-08 Pascal Bart <pascal.bart@epita.fr>
1809 * src/bison.simple (yyparse): Suppress warning `comparaison
1810 between signed and unsigned'.
1812 2001-07-05 Pascal Bart <pascal.bart@epita.fr>
1814 * src/getargs.h (raw_flag): Remove.
1815 * src/getargs.c: Die on `-r'/`--raw'.
1816 * src/lex.c (parse_percent_token): Die on `%raw'.
1817 * src/reader.c (output_token_defines): Suppress call to `raw_flag'.
1818 * tests/calc.at: Suppress test with option `--raw'.
1820 2001-07-14 Akim Demaille <akim@epita.fr>
1823 * configure.in: Require Autoconf 2.50.
1824 Update to gettext 0.10.38.
1826 2001-03-16 Akim Demaille <akim@epita.fr>
1828 * doc/bison.texinfo: ANSIfy the examples.
1830 2001-03-16 Akim Demaille <akim@epita.fr>
1832 * getargs.c (skeleton): New variable.
1833 (longopts): --skeleton is a new option.
1834 (shortopts, getargs): -S is a new option.
1835 * getargs.h: Declare skeleton.
1836 * output.c (output_parser): Use it.
1838 2001-03-16 Akim Demaille <akim@epita.fr>
1840 * m4/strerror_r.m4: New.
1841 * m4/error.m4: Run AC_FUNC_STRERROR_R.
1842 * lib/error.h, lib/error.c: Update.
1844 2001-03-16 Akim Demaille <akim@epita.fr>
1846 * src/getargs.c (longopts): Clean up.
1848 2001-02-21 Akim Demaille <akim@epita.fr>
1850 * src/reader.c (gensym): `gensym_count' is your own.
1851 Use a static buf to create the symbol name, as token_buffer is no
1854 2001-02-08 Akim Demaille <akim@epita.fr>
1856 * src/conflicts.c (conflict_report): Be sure not to append to res
1857 between two calls, which could happen if both first sprintf were
1858 skipped, but not the first cp += strlen.
1860 2001-02-08 Akim Demaille <akim@epita.fr>
1862 * lib/memchr.c, lib/stpcpy.c, lib/strndup.c, lib/strnlen.c:
1863 New, from fileutils 4.0.37.
1864 * configure.in: Require Autoconf 2.49c. I took some time before
1865 making this decision. This is the only way out for portability
1866 issues in Bison, it would mean way too much duplicate effort to
1867 import in Bison features implemented in 2.49c since 2.13.
1868 AC_REPLACE_FUNCS and AC_CHECK_DECLS the functions above.
1870 2001-02-02 Akim Demaille <akim@epita.fr>
1872 * lib/malloc.c, lib/realloc.c: New, from the fileutils 4.0.37.
1873 * lib/xalloc.h, lib/xmalloc.c: Update.
1875 2001-01-19 Akim Demaille <akim@epita.fr>
1877 Get rid of the ad hoc handling of token_buffer in the scanner: use
1880 * src/lex.c (token_obstack): New.
1881 (init_lex): Initialize it. No longer call...
1882 (grow_token_buffer): this. Remove it.
1883 Adjust all the places which used it to use the obstack.
1885 2001-01-19 Akim Demaille <akim@epita.fr>
1887 * src/lex.h: Rename all the tokens:
1888 s/\bENDFILE\b/tok_eof/g;
1889 s/\bIDENTIFIER\b/tok_identifier/g;
1891 Let them be enums, not #define, to ease debugging.
1892 Adjust all the code.
1894 2001-01-18 Akim Demaille <akim@epita.fr>
1896 * src/lex.h (MAXTOKEN, maxtoken, grow_token_buffer): Remove, private.
1897 * src/lex.c (maxtoken, grow_token_buffer): Static.
1899 2001-01-18 Akim Demaille <akim@epita.fr>
1901 Since we now use obstacks, more % directives can be enabled.
1903 * src/lex.c (percent_table): Also accept `%yacc',
1904 `%fixed_output_files', `%defines', `%no_parser', `%verbose', and
1906 Handle the actions for `%semantic_parser' and `%pure_parser' here,
1907 instead of returning a token.
1908 * src/lex.h (SEMANTIC_PARSER, PURE_PARSER): Remove, unused.
1909 * src/reader.c (read_declarations): Adjust.
1910 * src/files.c (open_files): Don't call `compute_base_names', don't
1911 compute `attrsfile' since they depend upon data which might be
1912 *in* the input file now.
1913 (output_files): Do it here.
1914 * src/output.c (output_headers): Document the fact that this patch
1915 introduces a guaranteed SEGV for semantic parsers.
1916 * doc/bison.texinfo: Document them.
1917 * tests/suite.at: Exercise these %options.
1919 2000-12-20 Akim Demaille <akim@epita.fr>
1921 Also handle the output file (--verbose) with obstacks.
1923 * files.c (foutput): Remove.
1924 (output_obstack): New.
1925 Adjust all dependencies.
1926 * src/conflicts.c: Return a string.
1927 * src/system.h (obstack_grow_string): Rename as...
1928 (obstack_sgrow): this. Be ready to work with non literals.
1929 (obstack_fgrow4): New.
1931 2000-12-20 Akim Demaille <akim@epita.fr>
1933 * src/files.c (open_files): Fix the computation of short_base_name
1934 in the case of `-o foo.tab.c'.
1936 2000-12-20 Akim Demaille <akim@epita.fr>
1938 * src/reader.c (copy_string, copy_comment, copy_comment2, copy_at)
1939 (copy_dollar): Now that everything uses obstacks, get rid of the
1942 2000-12-20 Akim Demaille <akim@epita.fr>
1944 * src/files.c (open_files): Actually the `.output' file is based
1945 on the short_base_name, not base_name.
1946 * tests/suite.at (Checking output file names): Adjust.
1948 2000-12-20 Akim Demaille <akim@epita.fr>
1950 * src/bison.s1: Remove, we now use directly...
1951 * src/bison.simple: this.
1952 * src/Makefile.am: Use pkgdata instead of data.
1954 2000-12-20 Akim Demaille <akim@epita.fr>
1956 * src/files.c (guard_obstack): New.
1957 (open_files): Initialize it.
1958 (output_files): Dump it...
1959 * src/files.h: Export it.
1960 * src/reader.c (copy_guard): Use it.
1962 2000-12-19 Akim Demaille <akim@epita.fr>
1964 * src/files.c (outfile, defsfile, actfile): Removed as global
1966 (open_files): Don't compute them.
1967 (output_files): Adjust.
1968 (base_name, short_base_name): Be global.
1969 Adjust dependencies.
1971 2000-12-19 Akim Demaille <akim@epita.fr>
1973 * src/files.c (strsuffix): New.
1974 (stringappend): Be just like strcat but allocate.
1975 (base_names): Eve out from open_files.
1976 Try to simplify the rather hairy computation of base_name and
1978 (open_files): Use it.
1979 * tests/suite.at (Checking output file names): New test.
1981 2000-12-19 Akim Demaille <akim@epita.fr>
1983 * src/system.h (obstack_grow_literal_string): Rename as...
1984 (obstack_grow_string): this.
1985 * src/output.c (output_parser): Recognize `%% actions' instead of
1987 * src/bison.s1: s/$/%% actions/.
1988 * src/bison.hairy: Likewise.
1990 2000-12-19 Akim Demaille <akim@epita.fr>
1992 * src/output.c (output_parser): Compute the `#line' lines when
1994 * src/Makefile.am (bison.simple): Be a simple copy of bison.s1.
1995 Suggested by Hans Aberg.
1997 2000-12-19 Akim Demaille <akim@epita.fr>
1999 Let the handling of the skeleton files be local to the procedures
2002 * src/files.c (xfopen, xfclose, skeleton_find, guardfile): No
2004 (fparser, open_extra_files): Remove.
2005 (open_files, output_files): Don't take care of fparser.
2006 * src/files.h: Adjust.
2007 * src/output.c (output_parser): Open and close the file to the
2009 * src/reader.c (read_declarations): When %semantic_parser, open
2012 2000-12-19 Akim Demaille <akim@epita.fr>
2014 * src/file.h (BISON_SIMPLE, BISON_HAIRY): Move from here...
2015 * src/system.h (BISON_SIMPLE, BISON_HAIRY): ... to here.
2017 2000-12-19 Akim Demaille <akim@epita.fr>
2019 * src/files.c (open_files): Yipee! We no longer need all the code
2020 looking for `/tmp' since we have no tmp file.
2022 2000-12-19 Akim Demaille <akim@epita.fr>
2024 * src/system.h (EXT_TAB, EXT_OUTPUT, EXT_STYPE_H, EXT_GUARD_C):
2026 * src/files.c (open_files): Less dependency on MSDOS etc.
2028 2000-12-14 Akim Demaille <akim@epita.fr>
2030 * src/bison.s1 (YYLLOC_DEFAULT): New macro.
2031 Provide a default definition.
2032 Use it when executing the default @ action.
2033 * src/reader.c (reader_output_yylsp): No longer include
2034 `timestamp' and `text' in the default YYLTYPE.
2036 2000-12-12 Akim Demaille <akim@epita.fr>
2038 * src/reader.c (copy_definition, parse_union_decl, copy_action)
2039 (copy_guard): Quote the file names.
2040 Reported by Laurent Mascherpa.
2042 2000-12-12 Akim Demaille <akim@epita.fr>
2044 * src/output.c (output_headers, output_program, output): Be sure
2045 to escape special characters when outputting filenames.
2046 (ACTSTR_PROLOGUE, ACTSTR_EPILOGUE): Remove.
2047 (output_headers): Don't depend on them, Use ACTSTR.
2049 2000-11-17 Akim Demaille <akim@epita.fr>
2051 * lib/obstack.h: Formatting changes.
2052 (obstack_grow, obstack_grow0): Don't cast WHERE at all: it
2053 prevents type checking.
2054 (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
2055 cast the value to (void *): assigning a `foo *' to a `void *'
2057 (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
2058 * src/reader.c (parse_union_decl): Typo: use obstack_1grow to
2061 2000-11-17 Akim Demaille <akim@epita.fr>
2063 * tests/Makefile.am (suite.m4, regression.m4, calc.m4): Rename
2065 (suite.m4, regression.m4, calc.m4): these.
2066 * tests/atgeneral.m4: Update from CVS Autoconf.
2068 2000-11-17 Akim Demaille <akim@epita.fr>
2070 * tests/regression.m4 (%union and --defines): New test,
2071 demonstrating a current bug in the obstack implementation.
2073 2000-11-17 Akim Demaille <akim@epita.fr>
2075 * src/bison.s1 (_YY_DECL_VARIABLES, YY_DECL_VARIABLES): New
2077 Use them to declare the variables which are global or local to
2080 2000-11-17 Akim Demaille <akim@epita.fr>
2082 * acconfig.h: Remove, no longer used.
2084 2000-11-07 Akim Demaille <akim@epita.fr>
2086 * src: s/Copyright (C)/Copyright/g.
2088 2000-11-07 Akim Demaille <akim@epita.fr>
2090 * src/reader.c (reader): #define YYLSP_NEEDED to 1 instead of just
2092 * src/bison.s1: s/#ifdef YYLSP_NEEDED/#if YYLSP_NEEDED/.
2094 2000-11-07 Akim Demaille <akim@epita.fr>
2096 * src/bison.s1 (YYLEX): Use #if instead of #ifdef.
2097 Merge in a single CPP if/else.
2099 2000-11-07 Akim Demaille <akim@epita.fr>
2101 * src/output.c (output): Remove useless variables.
2102 * lib/obstack.c (obstack_grow, obstack_grow0): Rename the second
2103 argument `data' for consistency with the prototypes.
2105 (obstack_copy, obstack_copy0): Rename the second argument as
2106 `address' for consistency. Qualify it `const'.
2107 * lib/obstack.h (obstack_copy, obstack_copy0, obstack_grow)
2108 (obstack_grow0, obstack_ptr_grow, obstack_ptr_grow_fast): Qualify
2109 `const' their input argument (`data' or `address').
2110 Adjust the corresponding macros to include `const' in casts.
2112 2000-11-03 Akim Demaille <akim@epita.fr>
2114 * src/Makefile.am (INCLUDES): s/PFILE/BISON_SIMPLE/.
2115 s/PFILE1/BISON_HAIRY/.
2116 Adjust dependencies.
2118 2000-11-03 Akim Demaille <akim@epita.fr>
2120 For some reason, this was not applied.
2122 * src/files.c [VMS]: No longer include `ssdef.h', no longer define
2123 `unlink': it's no longer used.
2125 2000-11-03 Akim Demaille <akim@epita.fr>
2127 * src/files.c (skeleton_find): New function, eved out of...
2128 (open_files, open_extra_files): here.
2130 2000-11-03 Akim Demaille <akim@epita.fr>
2134 * src/files.c (obstack_save): New function.
2135 (done): Rename as...
2136 (output_files): this.
2138 * src/main.c (main): Don't use `atexit' to register `done', since
2139 it no longer has to remove tmp files, just call `output_files'
2140 when there are no errors.
2142 2000-11-02 Akim Demaille <akim@epita.fr>
2144 * src/files.c [VMS]: No longer include `ssdef.h', no longer define
2145 `unlink': it's no longer used.
2146 * src/files.h: Formatting changes.
2148 2000-11-02 Akim Demaille <akim@epita.fr>
2150 Remove the last uses of mktemp and unlink/delete.
2152 * src/files.c (fdefines, ftable): Removed.
2153 (defines_ostack, table_obstack): New.
2154 Adjust dependencies of the former into uses of the latter.
2155 * src/output.c (output_short_or_char_table, output_short_table):
2156 Convert to using obstacks.
2157 * src/reader.c (copy_comment2): Accept one FILE * and two
2159 (output_token_defines, reader_output_yylsp): Use obstacks.
2160 * src/system.h (obstack_fgrow3): New.
2162 2000-11-01 Akim Demaille <akim@epita.fr>
2164 Change each use of `fattrs' into a use of `attrs_obstack'.
2166 * src/reader.c (copy_at): Typo: s/yylloc/yyloc/.
2167 * src/files.c (fattrs): Remove.
2168 (attrs_obstack): New.
2169 Adjust all dependencies.
2170 (done): If SEMANTIC_PARSER, dump attrs_obstack into attrsfile.
2172 2000-11-01 Akim Demaille <akim@epita.fr>
2175 Change each use of `faction' into a use of `action_obstack'.
2177 * lib/obstack.h, lib/obstack.c: New files.
2178 * src/files.c (faction): Remove.
2179 (action_obstack): New.
2180 Adjust all dependencies.
2182 2000-10-20 Akim Demaille <akim@epita.fr>
2184 * lib/quote.h (PARAMS): New macro. Use it.
2186 2000-10-16 Akim Demaille <akim@epita.fr>
2188 * src/output.c (output_short_or_char_table): New function.
2189 (output_short_table, output_token_translations): Use it.
2190 (goto_actions): Use output_short_table.
2192 2000-10-16 Akim Demaille <akim@epita.fr>
2194 * src/symtab.c (bucket_new): New function.
2197 * src/output.c (output_short_table): New argument to display the
2198 comment associated with the table.
2199 Adjust dependencies.
2200 (output_gram): Use it.
2201 (output_rule_data): Nicer output layout for YYTNAME.
2203 2000-10-16 Akim Demaille <akim@epita.fr>
2205 * src/lex.c (read_typename): New function.
2207 * src/reader.c (copy_dollar): Likewise.
2209 2000-10-16 Akim Demaille <akim@epita.fr>
2211 * src/reader.c (copy_comment2): Expect the input stream to be on
2212 the `/' which is suspected to open a comment, instead of being
2213 called after `//' or `/*' was read.
2214 (copy_comment, copy_definition, parse_union_decl, copy_action)
2215 (copy_guard): Adjust.
2217 2000-10-16 Akim Demaille <akim@epita.fr>
2219 * src/reader.c (parse_expect_decl): Use `skip_white_space' and
2220 `read_signed_integer'.
2222 2000-10-16 Akim Demaille <akim@epita.fr>
2224 * src/reader.c (copy_dollar): New function.
2225 (copy_guard, copy_action): Use it.
2227 2000-10-16 Akim Demaille <akim@epita.fr>
2229 * lib/quote.h, lib/quote.c, lib/quotearg.h, lib/quotearg.c:
2230 * m4/prereq.m4, m4/c-bs-a.m4, m4/mbstate.m4:
2231 New files, from Fileutils 4.0.27.
2232 * src/main.c (printable_version): Remove.
2233 * src/lex.c, src/reader.c: Use `quote'.
2235 2000-10-04 Akim Demaille <akim@epita.fr>
2237 * lib/error.c, lib/error.h: New files, needed by xmalloc.c.
2239 2000-10-04 Akim Demaille <akim@epita.fr>
2241 * doc/bison.texinfo: Various typos spotted by Neil Booth.
2243 2000-10-04 Akim Demaille <akim@epita.fr>
2245 When a literal string is used to define two different tokens,
2246 `bison -v' segfaults.
2247 Reported by Piotr Gackiewicz, and fixed by Neil Booth.
2249 * tests/regression.m4: New file.
2250 Include the core of the sample provided by Piotr Gackiewicz.
2251 * src/reader.c (parse_token_decl): Diagnose bad cases, and proceed
2254 2000-10-04 Akim Demaille <akim@epita.fr>
2256 * src/reader.c (parse_expect_decl): Keep `count' within the size
2260 2000-10-02 Paul Eggert <eggert@twinsun.com>
2262 * bison.s1 (yyparse): Assign the default value
2263 unconditionally, to avoid a GCC warning and make the parser a
2266 2000-10-02 Akim Demaille <akim@epita.fr>
2268 * src/getargs.c (getargs): Don't dump `--help' on unrecognized
2271 2000-10-02 Akim Demaille <akim@epita.fr>
2273 * src/derives.c, src/print.c, src/reduce.c: To ease the
2274 translation, move some `\n' out of the translated strings.
2276 2000-10-02 Akim Demaille <akim@epita.fr>
2278 The location tracking mechanism is precious for parse error
2279 messages. Nevertheless, it is enabled only when `@n' is used in
2280 the grammar, which is a different issue (you can use it in error
2281 message, but not in the grammar per se). Therefore, there should
2282 be another means to enable it.
2284 * src/getargs.c (getargs): Support `--locations'.
2286 * src/getargs.h (locationsflag): Export it.
2287 * src/lex.c (percent_table): Support `%locations'.
2288 * src/reader.c (yylsp_needed): Remove this variable, now replaced
2289 with `locationsflag'.
2290 * doc/bison.texinfo: Document `--locations' and `%locations'.
2292 * tests/calc.m4: Test it.
2294 For regularity of the names, replace each
2295 (nolineflag, toknumflag, rawtokenumflag, noparserflag): with...
2296 (no_lineflag, token_tableflag, rawflag, no_parserflag): this.
2297 In addition replace each `flag' with `_flag'.
2299 2000-10-02 Akim Demaille <akim@epita.fr>
2301 Also test parse error messages, including with YYERROR_VERBOSE.
2303 * tests/calc.m4 (calc.y): Add support for `exp = exp' (non
2305 Use it to check the computations.
2306 Use it to check `nonassoc' is honored.
2307 (AT_DATA_CALC_Y): Equip `calc.y' with YYERROR_VERBOSE when passed
2308 `--yyerror-verbose'.
2309 (_AT_CHECK_CALC): Adjust to this option.
2310 (_AT_CHECK_CALC_ERROR): New macro to check parse error messages.
2312 2000-10-02 Akim Demaille <akim@epita.fr>
2314 Test also `--verbose', `--defines' and `--name-prefix'. Testing
2315 the latter demonstrates a flaw in the handling of non debugging
2316 parsers introduced by myself on 2000-03-16: `#define yydebug 0'
2317 was used in order to simplify:
2333 unfortunately this leads to a CPP conflict when
2334 `--name-prefix=foo' is used since it produces `#define yydebug
2337 * src/bison.s1 [!YYDEBUG]: Do not define yydebug.
2338 (YYDPRINTF): New macro.
2340 * tests/calc.m4 (AT_CHECK_CALC): Do require a title, build it from
2342 Also test `--verbose', `--defines' and `--name-prefix'.
2344 2000-10-02 Akim Demaille <akim@epita.fr>
2346 Improve the readability of the produced parsers.
2348 * src/bison.s1: Formatting changes.
2349 Improve the comment related to the `$' mark.
2350 (yydefault): Don't fall through to `yyresume': `goto' there.
2351 * src/output.c (output_parser): When the `$' is met, skip the end
2353 New variable, `number_of_dollar_signs', to check there's exactly
2354 one `$' in the parser skeleton.
2356 2000-10-02 Akim Demaille <akim@epita.fr>
2358 * lib/xstrdup.c: New file, from the fileutils.
2359 * src/reader.c (parse_token_decl, get_type_name, parse_type_decl)
2360 (parse_assoc_decl, parse_thong_decl, get_type): Use `xstrdup'
2361 instead of strlen + xmalloc + strcpy.
2362 * src/symtab.c (copys): Remove, use xstrdup instead.
2364 2000-10-02 Akim Demaille <akim@epita.fr>
2366 * src/gram.h (associativity): New enum type which replaces the
2367 former CPP macros `RIGHT_ASSOC', `LEFT_ASSOC' and `NON_ASSOC' with
2368 `right_assoc', `left_assoc' and `non_assoc'.
2369 Adjust all dependencies.
2370 * src/reader.c: Formatting changes.
2371 (LTYPESTR): Don't define it, use it as a literal in
2372 `reader_output_yylsp'.
2373 * src/symtab.h (symbol_class): New enum type which replaces the
2374 former CPP macros `SUNKNOWN', `STOKEN and `SNTERM' with
2375 `sunknown', `stoken and `snterm'.
2377 2000-10-02 Akim Demaille <akim@epita.fr>
2379 * src/getargs.c (fixed_outfiles): Rename as...
2380 (yaccflag): for consistency and accuracy.
2381 Adjust dependencies.
2383 2000-10-02 Akim Demaille <akim@epita.fr>
2385 Use the more standard files `xalloc.h' and `xmalloc.c' instead of
2386 Bison's `allocate.c' and `alloc.h'. This patch was surprisingly
2387 difficult and introduced a lot of core dump. It turns out that
2388 Bison used an implementation of `xmalloc' based on `calloc', and
2389 at various places it does depend upon the initialization to 0. I
2390 have not tried to isolate the pertinent places, and all the former
2391 calls to Bison's `xmalloc' are now using `XCALLOC'. Someday,
2392 someone should address this issue.
2394 * src/allocate.c, src/alloc.h, m4/bison-decl.m4: Remove.
2395 * lib/xmalloc.c, lib/xalloc.h, m4/malloc.m4, m4/realloc.m4: New
2397 Adjust dependencies.
2398 * src/warshall.h: New file.
2401 2000-10-02 Akim Demaille <akim@epita.fr>
2403 Various anti-`extern in *.c' changes.
2405 * src/system.h: Include `assert.h'.
2407 2000-10-02 Akim Demaille <akim@epita.fr>
2409 * src/state.h (nstates, final_state, first_state, first_shift)
2410 (first_reduction): Move their exportation from here...
2411 * src/LR0.h: to here.
2412 Adjust dependencies.
2413 * src/getargs.c (statisticsflag): New variable.
2414 Add support for `--statistics'.
2415 Adjust dependencies.
2417 Remove a lot of now useless `extern' statements in most files.
2419 2000-10-02 Akim Demaille <akim@epita.fr>
2421 * src/LR0.h: New file.
2424 2000-10-02 Akim Demaille <akim@epita.fr>
2426 * src/print.h: New file.
2428 * src/print.c: Formatting and ordering changes.
2429 (verbose, terse): Replace with...
2430 (print_results): this new function.
2431 Adjust dependencies.
2433 2000-10-02 Akim Demaille <akim@epita.fr>
2435 * src/conflicts.c (conflict_report): New function.
2436 (conflict_log, verbose_conflict_log): Replace with...
2437 (print_conflicts): this function.
2438 Adjust dependencies.
2439 * src/conflicts.h: New file.
2440 Propagate its inclusion.
2442 2000-10-02 Akim Demaille <akim@epita.fr>
2444 * src/nullable.h: New file.
2445 Propagate its inclusion.
2446 * src/nullable.c: Formatting changes.
2448 2000-10-02 Akim Demaille <akim@epita.fr>
2450 * src/reduce.h: New file.
2451 Propagate its inclusion.
2452 * src/reduce.c: Topological sort and other formatting changes.
2453 (bool, TRUE, FALSE): Move their definition to...
2454 * src/system.h: here.
2456 2000-10-02 Akim Demaille <akim@epita.fr>
2458 * src/files.c: Formatting changes.
2459 (tryopen, tryclose, openfiles): Rename as...
2460 (xfopen, xfclose, open_files): this.
2461 (stringappend): static.
2462 * src/files.h: Complete the list of exported symbols.
2465 2000-10-02 Akim Demaille <akim@epita.fr>
2467 * src/reader.h: New file.
2468 Propagate its use instead of tedious list of `extern' and
2470 * src/reader.c: Formatting changes, topological sort,
2473 2000-10-02 Akim Demaille <akim@epita.fr>
2475 * src/lex.h: Prototype `lex.c' exported functions.
2476 * src/reader.c: Adjust.
2477 * src/lex.c: Formatting changes.
2478 (safegetc): Rename as...
2481 2000-10-02 Akim Demaille <akim@epita.fr>
2483 * src/lalr.h: New file.
2484 Propagate its inclusion instead of prototypes and `extern'.
2485 * src/lalr.c: Formatting changes, topological sorting etc.
2487 2000-10-02 Akim Demaille <akim@epita.fr>
2489 * src/output.c (token_actions): Introduce a temporary array,
2490 YYDEFACT, that makes it possible for this function to use
2493 2000-10-02 Akim Demaille <akim@epita.fr>
2495 `user_toknums' is output as a `short[]' in `output.c', while it is
2496 defined as a `int[]' in `reader.c'. For consistency with the
2497 other output tables, `user_toknums' is now defined as a table of
2500 * src/reader.c (user_toknums): Be a short table instead of an int
2502 Adjust dependencies.
2504 Factor the short table outputs.
2506 * src/output.c (output_short_table): New function.
2507 * src/output.c (output_gram, output_stos, output_rule_data)
2508 (output_base, output_table, output_check): Use it.
2510 2000-10-02 Akim Demaille <akim@epita.fr>
2512 * src/output.c (output): Topological sort of the functions, in
2513 order to get rid of the `static' prototypes.
2514 No longer use `register'.
2515 * src/output.h: New file.
2516 Propagate its inclusion in files explicitly prototyping functions
2519 2000-09-21 Akim Demaille <akim@epita.fr>
2521 * src/atgeneral.m4: Update from Autoconf.
2523 2000-09-21 Akim Demaille <akim@epita.fr>
2525 * src/closure.h: New file.
2526 * src/closure.c: Formatting changes, topological sort over the
2527 functions, use of closure.h.
2528 (initialize_closure, finalize_closure): Rename as...
2529 (new_closure, free_closure): these. Adjust dependencies.
2530 * src/LR0.c: Formatting changes, topological sort, use of
2532 (initialize_states): Rename as...
2534 * src/Makefile.am (noinst_HEADERS): Adjust.
2536 2000-09-20 Akim Demaille <akim@epita.fr>
2538 * src/acconfig.h: Don't protect config.h against multiple
2540 Don't define PARAMS.
2541 * src/system.h: Define PARAMS.
2542 Remove some of the ad-hoc CPP magic for DOS, VMS etc.: this is the
2543 purpose of config.h. system.h must not try to fix wrong
2544 definitions in config.h.
2546 2000-09-20 Akim Demaille <akim@epita.fr>
2548 * src/derives.h: New file.
2549 * src/main.c, src/derives.h: Use it.
2551 * src/Makefile.am (noinst_HEADERS): Adjust.
2553 2000-09-20 Akim Demaille <akim@epita.fr>
2555 * tests/atgeneral.m4: Update from Autoconf.
2556 * tests/calc.m4 (_AT_DATA_CALC_Y, AT_DATA_CALC_Y, _AT_CHECK_CALC)
2557 (AT_CHECK_CALC): New macros.
2558 Use these macros to test bison with options `', `--raw',
2559 `--debug', `--yacc', `--yacc --debug'.
2561 2000-09-19 Akim Demaille <akim@epita.fr>
2563 * src/output.c: Formatting changes.
2564 * src/machine.h: Remove, leaving its contents in...
2565 * src/system.h: here.
2567 Adjust all dependencies on stdio.h and machine.h.
2568 * src/getargs.h: New file.
2569 Let all `extern' declarations about getargs.c be replaced with
2570 inclusion of `getargs.h'.
2571 * src/Makefile.am (noinst_HEADERS): Adjust.
2573 * tests/calc.m4 (yyin): Be initialized in main, not on the global
2575 (yyerror): Returns void, not int.
2576 * doc/bison.texinfo: Formatting changes.
2578 2000-09-19 Akim Demaille <akim@epita.fr>
2580 * tests/calc.m4 (calc.y): Do not assign to stdin, as it's not
2583 2000-09-18 Akim Demaille <akim@epita.fr>
2585 * configure.in: Append WARNING_CFLAGS to CFLAGS.
2586 * src/Makefile.am (INCLUDES): Don't.
2587 Be ready to fetch headers in lib/.
2589 2000-09-18 Akim Demaille <akim@epita.fr>
2591 * doc/bison.texinfo: Update the copyright.
2592 ANSIfy and GNUify the examples.
2593 Remove the old menu.
2595 2000-09-18 Akim Demaille <akim@epita.fr>
2597 First set of tests: use the `calc' example from the documentation.
2599 * src/bison.s1 (yyparse): Condition the code using `yytname' which
2600 is defined only when YYDEBUG is.
2601 * m4/atconfig.m4 (AT_CONFIG): Adjust to Autoconf 2.13.
2602 * src/files.c (tryopen, tryclose): Formatting changes.
2603 Move to the top and be static.
2604 * src/reader.c (read_signed_integer): Likewise.
2605 * tests/calc.m4: New file.
2606 * Makefile.am, suite.m4: Adjust.
2607 * m4/atconfig.m4: Set BISON_SIMPLE and BISON_HAIRY.
2609 2000-09-18 Akim Demaille <akim@epita.fr>
2611 Add support for an Autotest test suite for Bison.
2613 * m4/m4.m4, m4/atconfig.m4: New files.
2614 * m4/Makefile.am (EXTRA_DIST): Adjust.
2615 * tests/suite.m4, tests/Makefile.am, tests/atgeneral.m4: New
2617 * src/getargs.c: Display a more standard --version message.
2618 * src/reader.c (reader): Formatting changes.
2619 No longer depend upon VERSION_STRING.
2620 * configure.in: No longer use `dnl'.
2621 Set up the test suite and the new directory `tests/.
2622 (VERSION_STRING): Remove.
2624 2000-04-14 Akim Demaille <akim@epita.fr>
2626 * src/reader.c (copy_comment2): New function, same as former
2627 `copy_comment', but outputs into two FILE *.
2628 (copy_comment): Use it.
2629 (parse_union_decl): Use it.
2630 (get_type, parse_start_decl): Use the same `invalid' message.
2631 (parse_start_decl, parse_union_decl): Use the same `multiple'
2633 (parse_union_decl, copy_guard, copy_action): Use the same
2634 `unmatched' message.
2635 * m4/Makefile.am (EXTRA_DIST): Add `warning.m4'.
2637 2000-03-31 Akim Demaille <akim@epita.fr>
2639 * src/files.c (tryopen, tryclose): Move to the top.
2642 2000-03-31 Akim Demaille <akim@epita.fr>
2644 * src/main.c (main): Don't call `done', exit does it.
2646 2000-03-31 Akim Demaille <akim@epita.fr>
2648 * allocate.c: s/return (foo)/return foo/.
2651 * output.c: Likewise.
2652 * reader.c: Likewise.
2653 * symtab.c: Likewise.
2654 * vmsgetargs.c: Likewise.
2656 2000-03-31 Akim Demaille <akim@epita.fr>
2658 Clean up the error reporting functions.
2660 * src/report.c: New file.
2661 * src/report.h: Likewise.
2662 * src/Makefile.am: Adjust.
2663 * m4/error.m4: New file.
2664 * m4/Makefile.am: Adjust.
2665 * configure.in (jm_PREREQ_ERROR): Call it.
2666 * src/main.c (int_to_string, banner, fatal_banner, warn_banner):
2668 (fatal, fatals): Remove. All callers use complain.c::fatal.
2669 (warn, warni, warns, warnss, warnss): Remove. All callers use
2670 complain.c::complain.
2671 (toomany): Remove, use fatal instead.
2672 * src/files.c (done): No argument, use complain_message_count.
2673 * src/main.c (main): Register `done' to `atexit'.
2675 * src/getargs.c (usage): More `fputs', less `fprintf'.
2677 2000-03-28 Akim Demaille <akim@epita.fr>
2679 * lib/: New directory.
2680 * Makefile.am (SUBDIRS): Adjust.
2681 * configure.in: Adjust.
2682 (LIBOBJS): Although not used yet, AC_SUBST it, otherwise it's
2684 * src/alloca.c: Moved to lib/.
2685 * src/getopt.c: Likewise.
2686 * src/getopt1.c: Likewise.
2687 * src/getopt.h: Likewise.
2688 * src/ansi2knr.c: Likewise.
2689 * src/ansi2knr.1: Likewise.
2690 * src/Makefile.am: Adjust.
2691 * lib/Makefile.am: New file.
2693 2000-03-28 Akim Demaille <akim@epita.fr>
2695 * src/getargs.c (usage): Refresh the help message.
2697 2000-03-17 Akim Demaille <akim@epita.fr>
2699 * src/getopt1.c: Updated from textutils 2.0e
2700 * src/getopt.c: Likewise.
2701 * src/getopt.h: Likewise.
2703 2000-03-17 Akim Demaille <akim@epita.fr>
2705 * src/Makefile.am (bison.simple): Fix the awk program: quote only
2706 the file name, not the whole `#line LINE FILE'.
2708 2000-03-17 Akim Demaille <akim@epita.fr>
2710 On syntax errors, report the token on which we choked.
2712 * src/bison.s1 (yyparse): In the label yyerrlab, when
2713 YYERROR_VERBOSE, add yychar in msg.
2715 2000-03-17 Akim Demaille <akim@epita.fr>
2717 * src/reader.c (copy_at): New function.
2718 (copy_guard): Use it.
2719 (copy_action): Use it.
2721 2000-03-17 Akim Demaille <akim@epita.fr>
2723 Be kind to translators, save some useless translations.
2725 * src/main.c (banner): New function.
2726 (fatal_banner): Use it.
2727 (warn_banner): Use it.
2729 2000-03-17 Akim Demaille <akim@epita.fr>
2731 * src/reader.c (copy_definition): Use copy_string and
2732 copy_comment. Removed now unused `match', `ended',
2734 (copy_comment, copy_string): Moved, to be visible from
2737 2000-03-17 Akim Demaille <akim@epita.fr>
2739 * src/reader.c (copy_string): Declare `static inline'. No
2740 problems with inline, since it is checked by configure.
2741 (copy_comment): Likewise.
2743 2000-03-17 Akim Demaille <akim@epita.fr>
2745 * src/reader.c (packsymbols): Formatting changes.
2747 2000-03-17 Akim Demaille <akim@epita.fr>
2749 * src/reader.c (copy_comment): New function, factored out from:
2750 (copy_action): Use it. Removed now unused `match', `ended',
2752 (copy_guard): Likewise.
2754 2000-03-17 Akim Demaille <akim@epita.fr>
2756 * src/reader.c (copy_string): New function, factored out from:
2757 (copy_action): Use it.
2758 (copy_guard): Likewise.
2760 2000-03-17 Akim Demaille <akim@epita.fr>
2762 Change the handling of @s so that they behave exactly like $s.
2763 There is now a pseudo variable @$ (readble and writable), location
2764 of the lhs of the rule (by default ranging from the location of
2765 the first symbol of the rhs, to the location of the last symbol,
2766 or, if the rhs is empty, YYLLOC).
2768 * src/bison.s1 [YYLSP_NEEDED] (yyloc): New variable, twin of
2770 (yyparse): When providing a default semantic action, provide a
2771 default location action.
2772 (after the $): No longer change `*YYLSP', just stack YYLOC the
2773 same way you stack YYVAL.
2774 * src/reader.c (read_declarations): Use warns.
2775 (copy_guard, case '@'): Also recognize `@$', expanded as `YYLOC'.
2776 (copy_action, case '@'): Likewise.
2777 Use a standard error message, to save useless work from
2780 2000-03-17 Akim Demaille <akim@epita.fr>
2782 * src/bison.s1: Formatting and cosmetics changes.
2783 * src/reader.c: Likewise.
2784 Update the Copyright notice.
2786 2000-03-17 Akim Demaille <akim@epita.fr>
2788 * src/bison.s1 (#line): All set to `#line' only, since the
2789 Makefile now handles them.
2791 2000-03-16 Akim Demaille <akim@epita.fr>
2793 * src/output.c (output_rule_data): Output the documentation of
2795 (Copyright notice): Update.
2798 2000-03-16 Akim Demaille <akim@epita.fr>
2800 * src/bison.s1 [!YYDEBUG]: Define yydebug to 0. This allows to
2801 remove most `#if YYDEBUG != 0', since `if (yydebug)' is enough.
2802 One `#if YYDEBUG' remains, since it uses variables which are
2803 defined only if `YYDEBUG != 0'.
2805 2000-03-16 Akim Demaille <akim@epita.fr>
2807 * src/bison.s1 (yyparse): Reorganize the definitions of the stacks
2808 and related variables so that the similarities are highlighted.
2810 2000-03-16 Akim Demaille <akim@epita.fr>
2812 * src/bison.s1: Properly indent CPP directives.
2814 2000-03-16 Akim Demaille <akim@epita.fr>
2816 * src/bison.s1: Properly indent the `alloca' CPP section.
2818 2000-03-16 Akim Demaille <akim@epita.fr>
2820 Do not hard code values of directories in `configure.in'.
2821 Update the `configure' tool chain.
2823 * configure.in (XPFILE, XPFILE1, LOCALEDIR): Remove, handled by
2825 (VERSION_STRING): Use the third arg of AC_DEFINE_UNQUOTED.
2826 (AC_OUTPUT): Add m4/Makefile.
2827 Bump to bison 1.28a, 1.29 has never been released.
2828 * acconfig.h (XPFILE, XPFILE1, LOCALEDIR): Remove, since they are
2829 handled via src/Makefile.am.
2830 (VERSION_STRING, PROTOTYPES, ENABLE_NLS, HAVE_CATGETS,
2831 HAVE_GETTEXT, HAVE_LC_MESSAGES, HAVE_STPCPY): Remove, handled by
2833 * Makefile.am (SUBDIRS): Add m4.
2834 (ACLOCAL_AM_FLAGS): New variable.
2835 (AUTOMAKE_OPTIONS): Add check-news.
2836 * src/Makefile.am (bison.simple): Use awk to replace #line lines with
2837 the proper line number and file name.
2838 (DEFS): Propagate the location of bison library files and of the
2840 (INCLUDES): Added `-I ..' so that one can compile with srcdir !=
2842 * acinclude.m4: Remove, replaced by the directory m4.
2843 * m4/Makefile.am (EXTRA_DIST): New variable.
2844 * m4/gettext.m4: New file, from the fileutils.
2845 * m4/lcmessage.m4: Likewise
2846 * m4/progtest.m4: Likewise.
2847 * m4/bison-decl.m4: New file, extracted from former acinclude.m4.
2849 2000-03-10 Akim Demaille <akim@epita.fr>
2852 Formatting changes of various comments.
2853 Respect the GNU coding standards at various places.
2854 Don't use `_()' when no translation is needed.
2856 1999-12-13 Jesse Thilo <jthilo@gnu.org>
2859 OS/2 honors TMPDIR environment variable.
2861 1999-12-13 Jesse Thilo <jthilo@gnu.org>
2863 * doc/bison.texinfo: Tweaked spelling and grammar.
2865 Removed reference to price of printed copy.
2866 Mention BISON_SIMPLE and BISON_HAIRY.
2868 1999-12-13 Jesse Thilo <jthilo@gnu.org>
2870 * configure.in, NEWS:
2871 Bison 1.29 released.
2873 1999-10-27 Jesse Thilo <jthilo@gnu.org>
2875 * doc/.cvsignore, doc/Makefile.am, doc/refcard.tex:
2876 Added reference card.
2878 1999-07-26 Jesse Thilo <jthilo@gnu.org>
2880 * po/ru.po: Added Russian translation.
2882 1999-07-26 Jesse Thilo <jthilo@gnu.org>
2884 * configure.in: Added Russian translation.
2886 1999-07-06 Jesse Thilo <jthilo@gnu.org>
2888 * configure.in, NEWS, README:
2889 Released version 1.28.
2891 1999-06-14 Jesse Thilo <jthilo@gnu.org>
2894 Squashed redefinition warning on some systems.
2896 * src/getargs.c, src/Makefile.am, src/reader.c, src/version.c:
2897 Have configure build version string instead of relying on ANSI string
2900 1999-06-14 Jesse Thilo <jthilo@gnu.org>
2902 * po/POTFILES.in: Got rid of version.c.
2904 1999-06-14 Jesse Thilo <jthilo@gnu.org>
2906 * acconfig.h, configure.in:
2907 Have configure build version string instead of relying on ANSI string
2910 1999-06-08 Jesse Thilo <jthilo@gnu.org>
2913 Dropped mention of `+' for long-named options.
2915 1999-05-30 Jesse Thilo <jthilo@gnu.org>
2917 * src/files.c: Added <unistd.h> for unlink().
2919 * src/Makefile.am, src/system.h:
2922 1999-05-30 Jesse Thilo <jthilo@gnu.org>
2924 * README: Added a FAQ list.
2926 * configure.in, acconfig.h:
2929 1999-05-30 Jesse Thilo <jthilo@gnu.org>
2931 * doc/FAQ, doc/Makefile.am:
2934 1999-05-19 Jesse Thilo <jthilo@gnu.org>
2936 * src/alloc.h, src/symtab.h, src/version.c:
2937 Protected inclusion of "config.h" with HAVE_CONFIG_H.
2939 1999-04-18 Jesse Thilo <jthilo@gnu.org>
2941 * src/.cvsignore, src/Makefile.am:
2942 Reorganized: sources in `src', documentation in `doc'.
2944 * src/lex.c (literalchar):
2945 fixed the code for escaping double quotes (thanks
2948 1999-04-18 Jesse Thilo <jthilo@gnu.org>
2950 * po/de.po, po/es.po, po/fr.po, po/nl.po, po/POTFILES.in:
2951 Adjusted paths to reflect directory reorganization.
2953 1999-04-18 Jesse Thilo <jthilo@gnu.org>
2955 * doc/.cvsignore, doc/Makefile.am:
2956 Reorganized: sources in `src', documentation in `doc'.
2958 1999-04-18 Jesse Thilo <jthilo@gnu.org>
2961 Updated AC_INIT file to reflect directory reorganization.
2963 * configure.in, .cvsignore, Makefile.am, POTFILES.in:
2964 Reorganized: sources in `src', documentation in `doc'.
2966 1999-04-13 Jesse Thilo <jthilo@gnu.org>
2969 Don't declare calloc() and realloc() if not necessary.
2971 1999-04-13 Jesse Thilo <jthilo@gnu.org>
2973 * configure.in, acconfig.h, acinclude.m4:
2974 Don't declare calloc() and realloc() if not necessary.
2976 1999-03-23 Jesse Thilo <jthilo@gnu.org>
2978 * po/.cvsignore: Added i18n support.
2980 1999-03-23 Jesse Thilo <jthilo@gnu.org>
2982 * acconfig.h, configure.in, Makefile.am:
2985 1999-03-22 Jesse Thilo <jthilo@gnu.org>
2987 * src/bison.s1: Fixed #line numbers.
2989 1999-03-15 Jesse Thilo <jthilo@gnu.org>
2991 * po/es.po, po/fr.po, po/nl.po, po/de.po:
2992 Added PO files from Translation Project.
2994 1999-03-03 Jesse Thilo <jthilo@gnu.org>
2997 Added support for non-ANSI compilers (ansi2knr).
2999 1999-02-16 Jesse Thilo <jthilo@gnu.org>
3001 * configure.in: Bumped version number to 1.27.
3004 Added `bison.simple' to list of files removed by `make distclean'.
3006 1999-02-12 Jesse Thilo <jthilo@gnu.org>
3008 * src/files.c, src/files.h:
3009 Defined locations of parser files in config.h instead of Makefile.
3011 1999-02-12 Jesse Thilo <jthilo@gnu.org>
3013 * acconfig.h, acinclude.m4, configure.in, Makefile.am:
3014 Defined locations of parser files in config.h instead of Makefile.
3016 1999-02-09 Jesse Thilo <jthilo@gnu.org>
3019 Removed inappropriate use of $< macro.
3021 1999-02-05 Jesse Thilo <jthilo@gnu.org>
3023 * po/Makefile.in.in, po/POTFILES.in:
3024 Add `po' directory skeleton.
3026 1999-01-27 Jesse Thilo <jthilo@gnu.org>
3028 * README: Document help-bison list.
3030 * configure.in: Add check for mkstemp().
3032 1999-01-20 Jesse Thilo <jthilo@gnu.org>
3034 * src/conflicts.c, src/LR0.c, src/output.c, src/reader.c:
3035 Hush a few compiler warnings.
3038 Add tryclose(), which verifies that fclose was successful.
3039 Hush a couple of compiler warnings.
3041 1999-01-20 Jesse Thilo <jthilo@gnu.org>
3043 * Makefile.am, OChangeLog:
3044 ChangeLog is now automatically generated. Include the old version as
3047 1999-01-14 Jesse Thilo <jthilo@gnu.org>
3049 * 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:
3052 1999-01-14 Jesse Thilo <jthilo@gnu.org>
3054 * doc/bison.texinfo: Fix formatting glitch.
3056 * doc/bison.texinfo: Update FSF address.
3058 1999-01-14 Jesse Thilo <jthilo@gnu.org>
3060 * acconfig.h: Update FSF address.
3062 1999-01-08 Jesse Thilo <jthilo@gnu.org>
3065 Don't define PACKAGE here, since config.h defines it.
3067 1998-12-30 Jesse Thilo <jthilo@gnu.org>
3069 * src/reader.c: Update copyright date.
3072 Ditch sprintf to statically-sized buffers in fatal/warn functions in
3073 favor of output directly to stderr (avoids buffer overruns).
3075 * src/reader.c: Some checks for premature EOF.
3077 * 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:
3078 Use prototypes if the compiler understands them.
3080 * src/files.c: Honor TMPDIR on Unix hosts.
3081 Use prototypes if the compiler understands them.
3084 Fix a couple of buffer overrun bugs.
3085 Use prototypes if the compiler understands them.
3087 * src/system.h: Include unistd.h and ctype.h.
3088 Use #ifdef instead of #if for NLS symbols.
3090 1998-12-30 Jesse Thilo <jthilo@gnu.org>
3092 * doc/bison.texinfo:
3093 Delete comment "consider using @set for edition number, etc..." since
3094 we now are doing so.
3096 1998-12-30 Jesse Thilo <jthilo@gnu.org>
3099 Use prototypes if the compiler understands them.
3101 * NEWS: Document 1.26 highlights.
3103 * Makefile.am: Require Automake 1.3 or later.
3106 Use prototypes if the compiler understands them.
3108 1998-12-29 Jesse Thilo <jthilo@gnu.org>
3111 Use VERSION symbol from automake for version number.
3113 1998-12-29 Jesse Thilo <jthilo@gnu.org>
3115 * acconfig.h, configure.in, version.cin:
3116 Use VERSION symbol from automake for version number.
3118 1998-11-28 Jesse Thilo <jthilo@gnu.org>
3121 Distribute original version of simple parser (bison.s1), not built
3122 version (bison.simple).
3124 1998-11-28 Jesse Thilo <jthilo@gnu.org>
3126 * doc/bison.texinfo: Add info dir entry.
3128 * doc/bison.texinfo:
3129 Let automake put version number into documentation.
3131 1998-11-26 Jesse Thilo <jthilo@gnu.org>
3133 * src/bison.cld, src/build.com, src/vmshlp.mar:
3134 Add non-RCS files from /gd/gnu/bison.
3136 1998-11-26 Jesse Thilo <jthilo@gnu.org>
3139 Document the BISON_HAIRY and BISON_SIMPLE variables.
3141 1998-11-25 Jesse Thilo <jthilo@gnu.org>
3143 * src/version.c: Build version.c automatically.
3146 Fix token numbering (used to start at 258, not 257).
3148 * src/system.h: Include config.h.
3150 * src/getargs.c: Update bug report address.
3152 * src/alloca.c, src/getopt1.c, src/getopt.c, src/getopt.h:
3153 Get latest copies of alloca.c, getopt.c, getopt.h, getopt1.c from gnu.org.
3155 1998-11-25 Jesse Thilo <jthilo@gnu.org>
3158 Rename bison.simple to bison.s1 (bison.simple is then built from bison.s1).
3160 * configure.in, version.cin:
3161 Build version.c automatically.
3163 * AUTHORS: Add AUTHORS file.
3165 * README: Update bug report address.
3168 Rename bison.simple to bison.s1 (bison.simple is then built from bison.s1).
3170 * configure.in, Makefile.am, Makefile.in, stamp-h.in:
3173 1998-11-25 Jesse Thilo <jthilo@gnu.org>
3175 * doc/bison.texinfo: Clean up some formatting.
3177 1998-05-05 Richard Stallman <rms@gnu.org>
3179 * doc/bison.texinfo:
3180 Explain better why to make a pure parser.
3182 1998-01-05 Richard Stallman <rms@gnu.org>
3184 * src/files.c (openfiles):
3185 [_WIN32 && !__CYGWIN32__] Use TEMP or Temp to
3186 find a temporary directory, if possible. Do not unlink files while
3189 1997-08-25 Richard Stallman <rms@gnu.org>
3191 * src/reader.c (stack_offset;):
3192 Change some warni to warns.
3194 * src/lex.c (literalchar): Use warns, not warni.
3196 1997-06-28 Richard Stallman <rms@gnu.org>
3198 * src/bison.s1: Add a Bison version comment.
3200 * src/main.c (fatal, warn, berror):
3203 1997-06-28 Richard Stallman <rms@gnu.org>
3205 * Makefile.in (bison_version): New variable.
3206 (dist): Use that variable.
3207 (bison.s1): Substitute the Bison version into bison.simple.
3209 * bison.simple: Add a Bison version comment.
3211 1997-06-18 Richard Stallman <rms@gnu.org>
3213 * src/main.c (fatal, warn, berror):
3214 Make error messages standard.
3215 (toomany): Improve error message text.
3217 * 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:
3218 new.h renamed to alloc.h.
3220 1997-06-18 Richard Stallman <rms@gnu.org>
3222 * Makefile.in: new.h renamed to alloc.h.
3224 1997-05-24 Richard Stallman <rms@gnu.org>
3226 * src/lex.c (literalchar):
3227 Fix the code for escaping \, " and '.
3229 (lex): Avoid trouble when there are many chars
3230 to discard in a char literal with just several chars in it.
3232 1997-05-17 Richard Stallman <rms@gnu.org>
3235 Use malloc, if using alloca is troublesome.
3236 (YYSTACK_USE_ALLOCA): New flag macro.
3237 Define it for some systems and compilers.
3238 (YYSTACK_ALLOC): New macro.
3239 (yyparse): Use YYSTACK_ALLOC to allocate stack.
3240 If it was malloc'd, free it.
3242 1997-05-17 Richard Stallman <rms@gnu.org>
3245 Use malloc, if using alloca is troublesome.
3246 (YYSTACK_USE_ALLOCA): New flag macro.
3247 Define it for some systems and compilers.
3248 (YYSTACK_ALLOC): New macro.
3249 (yyparse): Use YYSTACK_ALLOC to allocate stack.
3250 If it was malloc'd, free it.
3252 1997-04-23 Richard Stallman <rms@gnu.org>
3255 (alloca) [__hpux]: Always define as __builtin_alloca.
3257 1997-04-23 Richard Stallman <rms@gnu.org>
3260 (alloca) [__hpux]: Always define as __builtin_alloca.
3262 1997-04-22 Richard Stallman <rms@gnu.org>
3265 [__hpux]: Include alloca.h (right for HPUX 10)
3266 instead of declaring alloca (right for HPUX 9).
3268 * src/bison.s1 (__yy_memcpy):
3269 Declare arg `count' as unsigned int.
3270 (yyparse): Cast third arg to __yy_memcpy to unsigned int.
3272 1997-04-22 Richard Stallman <rms@gnu.org>
3275 [__hpux]: Include alloca.h (right for HPUX 10)
3276 instead of declaring alloca (right for HPUX 9).
3278 * bison.simple (__yy_memcpy):
3279 Declare arg `count' as unsigned int.
3280 (yyparse): Cast third arg to __yy_memcpy to unsigned int.
3282 1997-01-03 Richard Stallman <rms@gnu.org>
3284 * src/allocate.c: [__STDC__ or _MSC_VER]:
3285 Declare calloc and realloc to return void *.
3287 1997-01-02 Richard Stallman <rms@gnu.org>
3290 [_MSC_VER]: Include stdlib.h and process.h.
3291 [_MSC_VER] (getpid): Define as macro--translate it to _getpid.
3293 * src/main.c (main): Return FAILURE as a value.
3294 (printable_version): Declare arg as int, not char.
3296 1997-01-02 Richard Stallman <rms@gnu.org>
3298 * Makefile.in (dist):
3299 Explicitly check for symlinks, and copy them.
3301 1996-12-19 Richard Stallman <rms@gnu.org>
3304 [_MSC_VER] (XPFILE, XPFILE1): Define, if not already defined.
3306 1996-12-18 Paul Eggert <eggert@gnu.org>
3308 * src/bison.s1 (yyparse):
3309 If __GNUC__ and YYPARSE_PARAM are both defined,
3310 declare yyparse to have a void * argument.
3312 1996-12-18 Paul Eggert <eggert@gnu.org>
3314 * bison.simple (yyparse):
3315 If __GNUC__ and YYPARSE_PARAM are both defined,
3316 declare yyparse to have a void * argument.
3318 1996-12-17 Richard Stallman <rms@gnu.org>
3320 * src/reduce.c (nbits): Add some casts.
3322 1996-08-12 Richard Stallman <rms@gnu.org>
3324 * src/bison.s1: Test _MSDOS as well as _MSDOS_.
3326 1996-08-12 Richard Stallman <rms@gnu.org>
3328 * bison.simple: Test _MSDOS as well as _MSDOS_.
3330 1996-07-31 Richard Stallman <rms@gnu.org>
3333 [__sun && __i386]: Include alloca.h.
3335 1996-07-31 Richard Stallman <rms@gnu.org>
3338 [__sun && __i386]: Include alloca.h.
3340 1996-07-30 Richard Stallman <rms@gnu.org>
3342 * src/bison.s1: Comment change.
3344 * src/bison.s1: Test _MSDOS_, not MSDOS.
3346 1996-07-30 Richard Stallman <rms@gnu.org>
3348 * bison.simple: Comment change.
3350 * bison.simple: Test _MSDOS_, not MSDOS.
3352 1996-06-01 Richard Stallman <rms@gnu.org>
3354 * 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:
3355 Insert `_' macro around many string constants.
3358 Insert `_' macro around many string constants.
3360 (main): Call setlocale, bindtextdomain and textdomain.
3362 * src/system.h: [HAVE_LOCALE_H]: Include locale.h.
3363 [! HAVE_LOCALE_H] (setlocale): Define as no-op.
3364 [ENABLE_NLS]: Include libintl.h.
3365 [ENABLE_NLS] (gettext): Define.
3366 [! ENABLE_NLS] (bintextdomain, textdomain, _): Consolation definitions.
3367 (N_, PACKAGE, LOCALEDIR): New macros.
3369 1996-06-01 Richard Stallman <rms@gnu.org>
3371 * POTFILES.in: New file.
3373 * Makefile.in (allocate.o):
3374 Define target explicitly.
3376 * Makefile.in (CFLAGS): Set to @CFLAGS@.
3377 (LDFLAGS): Set to @LDFLAGS@.
3378 (configure): Run autoconf only if preceding `cd' succeeds.
3379 (bison.s1): Redirect output to temporary file then move the
3380 temporary to the target, rather than redirecting directly to bison.s1.
3381 (clean): Remove config.status and config.log.
3382 (distclean): Don't remove config.status here.
3384 1996-05-12 Richard Stallman <rms@gnu.org>
3387 (__yy_memcpy) [__cplusplus]: Reorder declarations of variables f and t.
3389 1996-05-12 Richard Stallman <rms@gnu.org>
3392 (__yy_memcpy) [__cplusplus]: Reorder declarations of variables f and t.
3394 1996-05-11 Richard Stallman <rms@gnu.org>
3396 * src/bison.s1 (__yy_memcpy):
3397 Really reorder the args, as was supposedly done on Feb 14 1995.
3398 (yyparse): Calls changed accordingly.
3400 1996-05-11 Richard Stallman <rms@gnu.org>
3402 * Makefile.in (dist): Don't use $(srcdir).
3404 * bison.simple (__yy_memcpy):
3405 Really reorder the args, as was supposedly done on Feb 14 1995.
3406 (yyparse): Calls changed accordingly.
3408 1996-01-27 Richard Stallman <rms@gnu.org>
3410 * src/output.c (output_rule_data):
3411 Test YYERROR_VERBOSE in the conditional
3412 around the definition of ttyname.
3414 1995-12-29 Richard Stallman <rms@gnu.org>
3417 Fix line numbers in #line commands.
3419 1995-12-29 Richard Stallman <rms@gnu.org>
3422 Fix line numbers in #line commands.
3424 1995-12-27 Richard Stallman <rms@gnu.org>
3426 * src/bison.s1 (YYPARSE_PARAM_DECL):
3427 In C++, make it always null.
3428 (YYPARSE_PARAM_ARG): New macro.
3429 (yyparse): Use YYPARSE_PARAM_ARG.
3431 1995-12-27 Richard Stallman <rms@gnu.org>
3433 * bison.simple (YYPARSE_PARAM_DECL):
3434 In C++, make it always null.
3435 (YYPARSE_PARAM_ARG): New macro.
3436 (yyparse): Use YYPARSE_PARAM_ARG.
3438 1995-11-29 Richard Stallman <rms@gnu.org>
3440 * doc/bison.texinfo:
3441 Describe literal string tokens, %raw, %no_lines, %token_table.
3443 1995-11-29 Daniel Hagerty <hag@gnu.org>
3445 * doc/bison.texinfo: Fixed update date
3447 1995-10-16 Richard Stallman <rms@gnu.org>
3449 * src/version.c: Version 1.25.
3451 1995-10-16 Richard Stallman <rms@gnu.org>
3453 * NEWS: *** empty log message ***
3455 1995-10-16 Richard Stallman <rms@gnu.org>
3457 * doc/bison.1, doc/bison.rnh:
3460 1995-10-15 Richard Stallman <rms@gnu.org>
3462 * src/vmsgetargs.c, src/getargs.c:
3463 Added -n, -k, and -raw switches.
3464 (noparserflag, toknumflag, rawtoknumflag): New variables.
3466 * src/symtab.h (SALIAS):
3467 New #define for adding aliases to %token.
3468 (struct bucket): Added `alias' field.
3470 * src/reduce.c (reduce_grammar):
3471 Revise error message.
3472 (print_notices): Remove final `.' from error message.
3474 * src/reader.c (reader_output_yylsp):
3476 (readgram): Use `#if 0' around code that accepted %command
3477 inside grammar rules: The documentation doesn't allow it,
3478 and it will fail since the %command processors scan for the next %.
3479 (parse_token_decl): Extended the %token
3480 declaration to allow a multi-character symbol as an alias.
3481 (parse_thong_decl): New function.
3482 (read_declarations): Added %thong declarations.
3483 (read_declarations): Handle NOOP to deal with allowing
3484 % declarations as another means to specify the flags.
3485 (readgram): Allow %prec prior to semantics embedded in a rule.
3486 (skip_to_char, read_declarations, copy_definition)
3487 (parse_token_decl, parse_start_decl, parse_type_decl)
3488 (parse_assoc_decl, parse_union_decl, parse_expect_decl)
3489 (get_type_name, copy_guard, copy_action, readgram)
3490 (get_type, packsymbols): Revised most error messages.
3491 Changed `fatal' to `warnxxx' to avoid aborting for error.
3492 Revised and use multiple warnxxx functions to avoid using VARARGS1.
3493 (read_declarations): Improve the error message for
3494 an invalid character. Do not abort.
3495 (read_declarations, copy_guard, copy_action): Use
3496 printable_version to avoid unprintable characters in printed output.
3497 (parse_expect_decl): Error if argument to %expect exceeds 10 digits.
3498 (parse_token_decl, parse_assoc_decl, parse_type_decl, get_type):
3499 Allow the type of a non-terminal can be given
3500 more than once, as long as all specifications give the same type.
3503 (output_headers, output_trailers, output, output_gram)
3504 (output_rule_data): Implement noparserflag variable.
3505 Implement toknumflag variable.
3506 (output): Call reader_output_yylsp to output LTYPESTR.
3508 * src/main.c (main):
3509 If reader sees an error, don't process the grammar.
3510 (fatals): Updated to not use VARARGS1.
3511 (printable_version, int_to_string, warn, warni, warns, warnss)
3512 (warnsss): New error reporting functions. Avoid abort for error.
3515 Added THONG and NOOP for alias processing.
3516 Added SETOPT for the new code that allows setting options with %flags.
3519 Include getopt.h. Add some extern decls.
3520 (safegetc): New function to deal with EOF gracefully.
3521 (literalchar); new function to deal with reading \ escapes.
3522 (lex): Use literalchar.
3523 (lex): Implemented "..." tokens.
3524 (literalchar, lex, parse_percent_token): Made tokenbuffer
3525 always contain the token. This includes growing the token
3526 buffer while reading an integer.
3527 (parse_percent_token): Replaced if-else statement with percent_table.
3528 (parse_percent_token): Added % declarations as another
3529 way to specify the flags -n, -l, and -r. Also added hooks for
3530 -d, -k, -y, -v, -t, -p, -b, -o, but implementation requires
3531 major changes to files.c.
3532 (lex) Retain in the incoming stream a character following
3534 (skip_white_space, lex): Revised most error messages
3535 and changed fatal to warn to avoid aborting.
3536 (percent_table): Added %thong declarations.
3538 * src/gram.h: Comment changes.
3540 * src/files.c (openfiles, open_extra_files, done):
3542 and actfile file. Handle noparserflag. Both for -n switch.
3544 * src/conflicts.c (resolve_sr_conflict):
3545 Remove use of alloca.
3547 1995-06-01 Jim Meyering <meyering@gnu.org>
3549 * doc/bison.texinfo: *** empty log message ***
3551 1995-05-06 Richard Stallman <rms@gnu.org>
3553 * src/bison.s1: Comment change.
3555 1995-05-06 Richard Stallman <rms@gnu.org>
3557 * bison.simple: Comment change.
3559 1995-05-03 Richard Stallman <rms@gnu.org>
3561 * src/version.c: Version now 1.24.
3563 * src/bison.s1: Change distribution terms.
3565 * src/version.c: Version now 1.23.
3567 1995-05-03 Richard Stallman <rms@gnu.org>
3569 * doc/bison.texinfo:
3570 Rewrite "Conditions for Using Bison".
3571 Update version to 1.24.
3573 1995-05-03 Richard Stallman <rms@gnu.org>
3575 * bison.simple: Change distribution terms.
3577 1995-02-23 Richard Stallman <rms@gnu.org>
3579 * src/files.c: Test __VMS_POSIX as well as VMS.
3581 1995-02-14 Jim Meyering <meyering@gnu.org>
3583 * src/bison.s1 (__yy_memcpy):
3584 Renamed from __yy_bcopy to avoid
3585 confusion. Reverse FROM and TO arguments to be consistent with
3588 1995-02-14 Jim Meyering <meyering@gnu.org>
3590 * bison.simple (__yy_memcpy):
3591 Renamed from __yy_bcopy to avoid
3592 confusion. Reverse FROM and TO arguments to be consistent with
3595 1994-11-10 David J. MacKenzie <djm@gnu.org>
3601 * Makefile.in (DISTFILES): Include NEWS.
3603 * Makefile.in (DISTFILES):
3604 Include install-sh, not install.sh.
3606 * configure.in: Update to Autoconf v2 macro names.
3608 1994-10-05 David J. MacKenzie <djm@gnu.org>
3610 * Makefile.in: fix typo
3612 * Makefile.in (prefix, exec_prefix):
3613 Let configure set them.
3615 1994-09-28 David J. MacKenzie <djm@gnu.org>
3617 * Makefile.in: Set datadir to $(prefix)/share.
3619 1994-09-15 Richard Stallman <rms@gnu.org>
3622 Update copyright notice and GPL version.
3624 1994-09-15 Richard Stallman <rms@gnu.org>
3627 Update copyright notice and GPL version.
3629 1994-07-12 Richard Stallman <rms@gnu.org>
3631 * src/reduce.c, src/reader.c:
3634 1994-05-05 David J. MacKenzie <djm@gnu.org>
3636 * Makefile.in: entered into RCS
3638 1994-03-26 Richard Stallman <rms@gnu.org>
3640 * src/bison.s1: entered into RCS
3642 1994-03-26 Richard Stallman <rms@gnu.org>
3644 * bison.simple: entered into RCS
3646 1994-03-25 Richard Stallman <rms@gnu.org>
3648 * src/main.c: entered into RCS
3650 1994-03-24 Richard Stallman <rms@gnu.org>
3652 * src/conflicts.c: entered into RCS
3654 1994-01-02 Richard Stallman <rms@gnu.org>
3656 * Makefile.in: *** empty log message ***
3658 1993-11-21 Richard Stallman <rms@gnu.org>
3660 * src/bison.s1: *** empty log message ***
3662 1993-11-21 Richard Stallman <rms@gnu.org>
3664 * doc/bison.texinfo: entered into RCS
3666 * doc/bison.texinfo: *** empty log message ***
3668 1993-11-21 Richard Stallman <rms@gnu.org>
3670 * bison.simple: *** empty log message ***
3672 1993-10-25 David J. MacKenzie <djm@gnu.org>
3674 * doc/bison.texinfo: *** empty log message ***
3676 1993-10-19 Richard Stallman <rms@gnu.org>
3678 * src/bison.s1: *** empty log message ***
3680 1993-10-19 Richard Stallman <rms@gnu.org>
3682 * bison.simple: *** empty log message ***
3684 1993-10-14 Richard Stallman <rms@gnu.org>
3686 * src/bison.s1: *** empty log message ***
3688 1993-10-14 Richard Stallman <rms@gnu.org>
3690 * bison.simple: *** empty log message ***
3692 1993-09-14 David J. MacKenzie <djm@gnu.org>
3694 * doc/bison.texinfo: *** empty log message ***
3696 1993-09-13 Noah Friedman <friedman@gnu.org>
3698 * Makefile.in: *** empty log message ***
3700 1993-09-10 Richard Stallman <rms@gnu.org>
3702 * src/conflicts.c: *** empty log message ***
3704 * src/system.h: entered into RCS
3706 1993-09-10 Richard Stallman <rms@gnu.org>
3708 * doc/bison.1: entered into RCS
3710 1993-09-06 Noah Friedman <friedman@gnu.org>
3712 * src/version.c: entered into RCS
3714 1993-09-06 Noah Friedman <friedman@gnu.org>
3716 * Makefile.in: *** empty log message ***
3718 1993-07-30 David J. MacKenzie <djm@gnu.org>
3720 * Makefile.in: *** empty log message ***
3722 1993-07-24 Richard Stallman <rms@gnu.org>
3724 * src/bison.s1: *** empty log message ***
3726 1993-07-24 Richard Stallman <rms@gnu.org>
3728 * bison.simple: *** empty log message ***
3730 1993-07-08 David J. MacKenzie <djm@gnu.org>
3732 * Makefile.in: *** empty log message ***
3734 1993-07-04 Richard Stallman <rms@gnu.org>
3736 * src/bison.s1: *** empty log message ***
3738 1993-07-04 Richard Stallman <rms@gnu.org>
3740 * bison.simple: *** empty log message ***
3742 1993-06-26 David J. MacKenzie <djm@gnu.org>
3744 * src/getargs.c: entered into RCS
3746 1993-06-26 David J. MacKenzie <djm@gnu.org>
3748 * doc/bison.texinfo: *** empty log message ***
3750 * doc/bison.1: New file.
3752 1993-06-25 Richard Stallman <rms@gnu.org>
3754 * src/getargs.c: New file.
3756 1993-06-16 Richard Stallman <rms@gnu.org>
3758 * src/bison.s1: *** empty log message ***
3760 1993-06-16 Richard Stallman <rms@gnu.org>
3762 * bison.simple: *** empty log message ***
3764 1993-06-03 Richard Stallman <rms@gnu.org>
3766 * src/bison.s1: New file.
3768 1993-06-03 Richard Stallman <rms@gnu.org>
3770 * doc/bison.texinfo: *** empty log message ***
3772 1993-06-03 Richard Stallman <rms@gnu.org>
3774 * bison.simple: New file.
3776 1993-05-19 Richard Stallman <rms@gnu.org>
3778 * doc/bison.texinfo: New file.
3780 1993-05-07 Noah Friedman <friedman@gnu.org>
3782 * Makefile.in: *** empty log message ***
3784 1993-04-28 Noah Friedman <friedman@gnu.org>
3786 * src/reader.c: *** empty log message ***
3788 1993-04-23 Noah Friedman <friedman@gnu.org>
3790 * src/alloc.h: entered into RCS
3792 1993-04-20 David J. MacKenzie <djm@gnu.org>
3794 * src/version.c: *** empty log message ***
3796 * src/files.c, src/allocate.c:
3799 * src/reader.c: *** empty log message ***
3801 * src/lex.c: entered into RCS
3803 * src/conflicts.c: New file.
3805 * src/symtab.c: entered into RCS
3807 * src/alloc.h: New file.
3809 * src/LR0.c: entered into RCS
3811 1993-04-18 Noah Friedman <friedman@gnu.org>
3813 * src/reader.c: New file.
3815 * src/version.c: *** empty log message ***
3817 1993-04-18 Noah Friedman <friedman@gnu.org>
3819 * Makefile.in: *** empty log message ***
3821 1993-04-17 Noah Friedman <friedman@gnu.org>
3823 * Makefile.in: *** empty log message ***
3825 1993-04-15 Richard Stallman <rms@gnu.org>
3827 * src/main.c, src/files.c:
3830 1993-04-15 Noah Friedman <friedman@gnu.org>
3832 * configure.in: entered into RCS
3834 * configure.in: *** empty log message ***
3836 * configure.in: New file.
3838 1993-04-14 Richard Stallman <rms@gnu.org>
3840 * Makefile.in: New file.
3842 1993-04-13 Richard Stallman <rms@gnu.org>
3844 * src/version.c: New file.
3846 1993-03-25 Richard Stallman <rms@gnu.org>
3848 * src/output.c: entered into RCS
3850 1992-09-25 Richard Stallman <rms@gnu.org>
3852 * configure.bat: entered into RCS
3854 1992-06-22 Richard Stallman <rms@gnu.org>
3856 * src/vmsgetargs.c: entered into RCS
3858 1992-06-22 Richard Stallman <rms@gnu.org>
3860 * doc/bison.rnh: entered into RCS
3862 1992-04-20 David J. MacKenzie <djm@gnu.org>
3864 * README: entered into RCS
3866 1992-01-22 Richard Stallman <rms@gnu.org>
3868 * src/machine.h: entered into RCS
3870 1991-12-21 Richard Stallman <rms@gnu.org>
3872 * src/lalr.c, src/closure.c:
3875 1991-12-20 Richard Stallman <rms@gnu.org>
3877 * src/state.h: entered into RCS
3879 1991-12-18 Richard Stallman <rms@gnu.org>
3881 * src/print.c, src/nullable.c, src/derives.c:
3884 1991-11-03 David J. MacKenzie <djm@gnu.org>
3886 * src/warshall.c, src/types.h, src/symtab.h, src/lex.h, src/gram.c, src/gram.h, src/files.h:
3889 1988-09-09 Richard Stallman <rms@gnu.org>
3891 * src/bison.hairy: entered into RCS
3893 1987-12-16 Richard Stallman <rms@gnu.org>
3895 * REFERENCES: entered into RCS