1 2001-12-27 Akim Demaille <akim@epita.fr>
3 * src/lalr.c (set_goto_map, initialize_F): Use SHIFT_SYMBOL.
5 2001-12-27 Akim Demaille <akim@epita.fr>
7 * src/conflicts.c, src/conflicts.h (print_reductions): Move to...
9 (lookaheadset, shiftset): New, used as additional storage by
11 (print_results): Adjust.
12 (print_shifts, print_gotos, print_errs): New, extracted from...
13 (print_actions): here.
14 * src/print_graph.c (print_actions): Remove dead code.
17 2001-12-27 Akim Demaille <akim@epita.fr>
19 * src/reader.c (copy_dollar, copy_at): Better checking of `n' in
23 2001-12-27 Akim Demaille <akim@epita.fr>
25 * src/lalr.c (add_lookback_edge): Use state_t instead of ints.
26 (build_relations): Adjust.
29 2001-12-27 Akim Demaille <akim@epita.fr>
31 * src/lalr.c (set_goto_map): Remove a wrong but benign loop
35 2001-12-27 Akim Demaille <akim@epita.fr>
37 * src/reader.c (packgram): Catch nitems overflows.
40 2001-12-27 Akim Demaille <akim@epita.fr>
42 * src/files.c, src/files.h (guard_obstack): Remove.
43 * src/output.c (output): Adjust.
44 * src/reader.c (parse_braces): New, factoring...
45 (copy_action, copy_guard): these two which are renamed as...
46 (parse_action, parse_guard): these.
47 As a voluntary consequence, using braces around guards is now
51 2001-12-27 Akim Demaille <akim@epita.fr>
53 * src/gram.h (rule_t): `guard' and `guard_line' are new members.
54 * src/reader.c (symbol_list): `guard' and `guard_line' are new
56 (symbol_list_new): Adjust.
57 (copy_action): action_line is the first line, not the last.
58 (copy_guard): Just as for actions, store the `action' only, not
59 the switch/case/break flesh.
60 Don't parse the user action that might follow the guard, let...
61 (readgram): do it, i.e., now, there can be an action after a
63 In other words the guard is just explicitly optional.
65 * src/output.c (guards_output): New.
66 (output_parser): Call it when needed.
67 (output): Also free the guard and attrs obstacks.
68 * src/files.c, src/files.h (obstack_save): Remove.
69 (output_files): Remove.
70 As a result, if one needs the former `.act' file, using an
71 appropriate skeleton which requires actions and guards is now
73 * src/main.c (main): Adjust.
74 * tests/semantic.at: New.
75 * tests/regression.at: Use `input.y' as input file name.
76 Avoid 8+3 problems by requiring input.c when the test needs the
79 2001-12-27 Akim Demaille <akim@epita.fr>
81 * src/reader.c (symbol_list_new): Be sure to initialize all the
84 2001-12-27 Akim Demaille <akim@epita.fr>
86 All the hacks using a final pseudo state are now useless.
88 * src/LR0.c (set_state_table): state_table holds exactly nstates.
89 * src/lalr.c (nLA): New.
90 (initialize_LA, compute_lookaheads, initialize_lookaheads): Use it
91 instead of lookaheadsp from the pseudo state (nstate + 1).
93 2001-12-27 Akim Demaille <akim@epita.fr>
95 * src/output.c (action_row, token_actions): Use a state_t instead
96 of a integer, and nlookaheads instead of the following state's
100 2001-12-27 Akim Demaille <akim@epita.fr>
102 * src/conflicts.c (log_resolution, flush_shift)
103 (resolve_sr_conflict, set_conflicts, solve_conflicts)
104 (count_sr_conflicts, count_rr_conflicts, conflicts_output)
105 (conflicts_print, print_reductions): Use a state_t instead of an
106 integer when referring to a state.
107 As much as possible, depend upon nlookaheads, instead of the
108 `lookaheadsp' member of the following state (since lookaheads of
109 successive states are successive, the difference between state n + 1
110 and n served as the number of lookaheads for state n).
111 * src/lalr.c (add_lookback_edge): Likewise.
112 * src/print.c (print_core, print_actions, print_state)
113 (print_results): Likewise.
114 * src/print_graph.c (print_core, print_actions, print_state)
115 (print_graph): Likewise.
116 * src/conflicts.h: Adjust.
118 2001-12-27 Akim Demaille <akim@epita.fr>
120 * src/bison.hairy: Formatting/comment changes.
122 Remove `register' indications.
123 Add plenty of `static'.
125 2001-12-27 Akim Demaille <akim@epita.fr>
127 * src/output.c (prepare): Drop the muscle `ntbase' which
129 * src/bison.simple: Formatting/comment changes.
130 Use YYNTOKENS only, which is documented, but not YYNTBASE, which
131 is an undocumented synonym.
134 2001-12-22 Akim Demaille <akim@epita.fr>
136 * src/output.c (output_table_data): Change the prototype to use
137 `int' for array ranges: some invocations do pass an int, not a
139 Reported by Wayne Green.
141 2001-12-22 Akim Demaille <akim@epita.fr>
143 Some actions of web2c.y are improperly triggered.
144 Reported by Mike Castle.
146 * src/lalr.c (traverse): s/F (i)[k] = F (j)[k]/F (j)[k] = F (i)[k]/.
147 * tests/regression.at (Web2c): Rename as...
148 (Web2c Report): this.
149 (Web2c Actions): New.
151 2001-12-22 Akim Demaille <akim@epita.fr>
153 Reductions in web2c.y are improperly reported.
154 Reported by Mike Castle.
156 * src/conflicts.c (print_reductions): Fix.
157 * tests/regression.at (Web2c): New.
159 2001-12-18 Akim Demaille <akim@epita.fr>
161 Some host fail on `assert (!"foo")', which expands to
162 ((!"foo") ? (void)0 : __assert("!"foo."", __FILE__, __LINE__))
163 Reported by Nelson Beebee.
165 * src/output.c, src/vcg.c: Replace `assert (!"it succeeded")' with
166 `#define it_succeeded 0' and `assert (it_succeeded)'.
168 2001-12-17 Marc Autret <autret_m@epita.fr>
170 * src/bison.simple: Don't hard code the skeleton line and filename.
171 * src/output.c (output_parser): Rename 'line' as 'output_line'.
172 New line counter 'skeleton_line' (skeleton-line muscle).
174 2001-12-17 Paul Eggert <eggert@twinsun.com>
176 * NEWS, doc/bison.texinfo, doc/bison.1, doc/bison.rnh: Document that
177 YYDEBUG must be defined to a nonzero value.
179 * src/bison.simple (yytname): Do not assume that the user defines
180 YYDEBUG to a properly parenthesized expression.
182 2001-12-17 Akim Demaille <akim@epita.fr>
184 * src/state.h (state_t): Rename lookaheads as lookaheadsp.
185 nlookaheads is a new member.
187 * src/lalr.h (nlookaheads): Remove this orphan declaration.
188 * src/lalr.c (initialize_lookaheads): Set nlookaheads for each
191 2001-12-17 Akim Demaille <akim@epita.fr>
193 * src/files.h, src/files.c (open_files, close_files): Remove.
194 * src/main.c (main): Don't open/close files, nor invoke lex_free,
196 * src/reader.c (reader): Do it.
198 2001-12-17 Akim Demaille <akim@epita.fr>
200 * src/conflicts.c (print_reductions): Formatting changes.
202 2001-12-17 Akim Demaille <akim@epita.fr>
204 * src/conflicts.c (flush_shift): Also adjust lookaheadset.
206 (resolve_sr_conflict): Adjust.
208 2001-12-17 Akim Demaille <akim@epita.fr>
210 * src/output.c (output_obstack): Be static and rename as...
211 (format_obstack): this, to avoid any confusion with files.c's
213 * src/reader.h (muscle_obstack): Move to...
214 * src/output.h: here, since it's defined in output.c.
216 2001-12-17 Akim Demaille <akim@epita.fr>
218 * src/output.c (action_row, save_column, default_goto)
219 (sort_actions, matching_state, pack_vector): Better variable
222 2001-12-17 Akim Demaille <akim@epita.fr>
224 * src/output.c: Various formatting changes.
226 2001-12-17 Akim Demaille <akim@epita.fr>
228 * src/files.c (output_files): Free the output_obstack.
229 * src/main.c (main): Call print and print_graph conditionally.
230 * src/print.c (print): Work unconditionally.
231 * src/print_graph.c (print_graph): Work unconditionally.
232 * src/conflicts.c (log_resolution): Output only if verbose_flag.
234 2001-12-16 Marc Autret <autret_m@epita.fr>
236 * src/output.c (actions_output): Fix. When we use %no-lines,
237 there is one less line per action.
239 2001-12-16 Marc Autret <autret_m@epita.fr>
241 * src/bison.simple: Remove a useless #line directive.
242 s/#line %%line %%skeleton/#line %%line "%%parser-file-name"/'.
243 * src/output.c (get_lines_number): New.
244 (output_parser): Adjust, now takes care about the lines of a
247 (actions_output): Computes the number of lines taken by actions.
248 (output_master_parser): Insert new skeleton which is the name of
249 the output parser file name.
251 2001-12-15 Marc Autret <autret_m@epita.fr>
253 * src/bison.simple [YYERROR_VERBOSE]: Restore backward compatibility.
255 2001-12-15 Marc Autret <autret_m@epita.fr>
257 * src/output.c (output_gram): Keep track of the hairy one.
259 2001-12-15 Akim Demaille <akim@epita.fr>
261 Make `make distcheck' work.
263 * lib/Makefile.am (INCLUDES): Add top_srcdir/intl, since hash uses
264 system.h which uses libgettext.h.
266 2001-12-15 Akim Demaille <akim@epita.fr>
268 * src/nullable.c (set_nullable): Useless rules must be skipped,
269 otherwise, since we range over their symbols, we might look at a
270 nonterminal which no longer ``exists'', i.e., it is not counted in
271 `nvars', hence we overflow our arrays.
273 2001-12-15 Akim Demaille <akim@epita.fr>
275 The header can also be produced directly, without any obstack!
278 * src/files.c, src/files.h (defines_obstack): Remove.
279 (compute_header_macro): Global.
280 (defines_obstack_save): Remove.
281 * src/reader.c (parse_union_decl): No longer output to
282 defines_obstack: its content can be found in the `stype' muscle
284 (output_token_translations): Merge into...
285 (symbols_output): this.
287 (symbols_save): this.
289 * src/output.c (header_output): New.
292 2001-12-15 Akim Demaille <akim@epita.fr>
294 * src/reader.c (parse_union_decl): Instead of handling two obstack
295 simultaneously, use one to define the `stype' muscle, and use the
296 value of the latter to fill defines_obstack.
297 (copy_comment): Remove.
298 (copy_comment2): Work for a single obstack.
300 (copy_comment): this.
302 2001-12-15 Akim Demaille <akim@epita.fr>
304 * src/lex.c, src/lex.h (xgetc): No longer static.
305 * src/reader.c (parse_union_decl): Revamp.
307 2001-12-15 Akim Demaille <akim@epita.fr>
309 Still making progress in separating Bison into (i) input, (ii)
310 process, (iii) output: now we can directly output the parser file
311 without using table_obstack at all.
313 * src/files.c, src/files.h (table_obstack): Bye bye.
314 (parser_file_name): New.
315 * src/files.c (compute_output_file_names): Compute it.
316 * src/output.c (actions_output, output_parser)
317 (output_master_parser): To a file instead of an obstack.
319 2001-12-15 Akim Demaille <akim@epita.fr>
321 Attach actions to rules, instead of pre-outputting them to
324 * src/gram.h (rule_t): action and action_line are new members.
325 * src/reader.c (symbol_list): Likewise.
326 (copy_action): Save the actions within the rule.
327 (packgram): Save them in rule_table.
328 * src/output.c (actions_output): New.
329 (output_parser): Use it on `%%actions'.
330 (output_rule_data): Don't free rule_table.
332 (prepare): Don't save the `action' muscle.
333 * src/bison.simple: s/%%action/%%actions/.
335 2001-12-15 Akim Demaille <akim@epita.fr>
337 * src/reader.c (copy_action): When --yacc, don't append a `;'
338 to the user action: let it fail if lacking.
339 Suggested by Arnold Robbins and Tom Tromey.
341 2001-12-14 Akim Demaille <akim@epita.fr>
343 * src/lex.c (literalchar): Simply return the char you decoded, non
344 longer mess around with obstacks and int pointers.
347 2001-12-14 Akim Demaille <akim@epita.fr>
349 * src/lex.c (literalchar): Don't escape the special characters,
350 just decode them, and keep them as char (before, eol was output as
351 the 2 char string `\n' etc.).
352 * src/output.c (output_rule_data): Use quotearg to output the
355 2001-12-13 Paul Eggert <eggert@twinsun.com>
357 * src/bison.simple (YYSIZE_T, YYSTACK_ALLOC, YYSTACK_FREE):
358 Do not infringe on the global user namespace when using C++.
359 (YYFPRINTF, YYSTDERR): New macros, needed for the above.
360 All uses of `fprintf' and `stderr' changed.
362 * doc/bison.texinfo: Document YYFPRINTF, YYSTDERR.
364 2001-12-13 Akim Demaille <akim@epita.fr>
366 The computation of nullable is broken: it doesn't handle empty
369 * tests/torture.at (GNU AWK Grammar): New.
370 * tests/sets.at (Nullable): New.
371 * src/nullable.c (set_nullable): Instead of blindly looping over
372 `ritems', loop over the rules, and then over their rhs's.
374 Work around Autotest bugs.
376 * src/warshall.c (bitmatrix_print): Don't use `+--+' as table
377 frame, because Autotest understand lines starting with a `+' as
378 traces from the shell. Then, they are not processed properly.
379 Admittedly an Autotest bug, but we don't have time to wait for
380 Autotest to catch up.
381 * tests/regression.at (Broken Closure): Adjust to the new table
384 * tests/sets.at: here.
386 2001-12-13 Akim Demaille <akim@epita.fr>
388 * src/closure.c (closure): Use nrules instead of playing tricks
391 2001-12-13 Akim Demaille <akim@epita.fr>
393 * src/print.c (print_actions): Output the handling of `$' as the
394 traces do: shifting the token EOF. Before EOF was treated as a
396 * tests/regression.at: Adjust some tests.
397 * src/print_graph.c (print_core): Complete the set of items via
398 closure. The next-to-final and final states are still unsatisfying,
399 but that's to be addressed elsewhere.
400 No longer output the rule numbers, but do output the state number.
401 A single loop for the shifts + gotos is enough, but picked a
402 distinct color for each.
403 (print_graph): Initialize and finalize closure.
405 2001-12-13 Akim Demaille <akim@epita.fr>
407 * src/reader.c (readgram): Remove dead code, an strip useless
409 (get_type): Remove, unused.
411 2001-12-12 Akim Demaille <akim@epita.fr>
413 * src/complain.h, src/complain.c: Remove error_one_per_line, rely
414 on that of lib/error.c.
416 2001-12-12 Akim Demaille <akim@epita.fr>
418 Some hosts don't like `/' in includes.
420 * src/system.h: Include libgettext.h without qualifying the path.
421 * src/Makefile.am (INCLUDES): Add $(top_srcdir)/intl, remove
424 2001-12-11 Marc Autret <autret_m@epita.fr>
426 * src/output.c (output_parser): Remove useless muscle.
428 2001-12-11 Marc Autret <autret_m@epita.fr>
430 * src/bison.simple: Remove #line just before %%epilogue. It
431 is now handled in ...
432 * src/reader.c (read_additionnal_code): Add the output of a
433 #line for the epilogue.
435 2001-12-10 Marc Autret <autret_m@epita.fr>
437 * src/reader.c (copy_definition): Re-use CPP-outed code which
438 replace precedent remove.
439 * src/bison.simple: Remove #line before %%prologue because
440 %%input-line is wrong at this time.
442 2001-12-10 Marc Autret <autret_m@epita.fr>
444 * src/reader.c (symbols_output): Clean up.
445 * src/output.c (output_gram, output): Clean up.
447 2001-12-10 Akim Demaille <akim@epita.fr>
449 * src/lalr.c (initialize_lookaheads): New. Extracted from...
450 * src/LR0.c (set_state_table): here.
451 * src/lalr.c (lalr): Call it.
453 2001-12-10 Akim Demaille <akim@epita.fr>
455 * src/state.h (shifts): Remove the `number' member: shifts are
456 attached to state, hence no longer need to be labelled with a
459 2001-12-10 Akim Demaille <akim@epita.fr>
461 Now that states have a complete set of members, the linked list of
462 shifts is useless: just fill directly the state's shifts member.
464 * src/state.h (shifts): Remove the `next' member.
465 * src/LR0.c (first_state, last_state): Remove.
467 (augment_automaton): Don't look for the shifts that must be added
468 a shift on EOF: it is those of the state we looked for! But now,
469 since shifts are attached, it is no longer needed to looking
470 merely by its id: its number.
472 2001-12-10 Akim Demaille <akim@epita.fr>
474 * src/LR0.c (augment_automaton): Better variable locality.
475 Remove an impossible branch: if there is a state corresponding to
476 the start symbol being shifted, then there is shift for the start
477 symbol from the initial state.
479 2001-12-10 Akim Demaille <akim@epita.fr>
481 * src/LR0.c (augment_automaton): Call `insert_eof_shifting_state'
482 only when appropriate: when insert_start_shifting_state' is not
484 * tests/regression.at (Rule Line Numbers): Adjust.
486 2001-12-10 Akim Demaille <akim@epita.fr>
488 * src/LR0.c (augment_automaton): Now that all states have shifts,
489 merge the two cases addition shifts to the initial state.
491 2001-12-10 Akim Demaille <akim@epita.fr>
493 * src/lalr.c (set_state_table): Move to...
495 * src/lalr.c (lalr): Don't call it...
496 * src/LR0.c (generate_states): do it.
497 * src/LR0.h (first_state): Remove, only the table is used.
499 2001-12-10 Akim Demaille <akim@epita.fr>
501 * src/LR0.h (first_shift, first_reduction): Remove.
502 * src/lalr.c: Don't use first_shift: find shifts through the
505 2001-12-10 Akim Demaille <akim@epita.fr>
507 * src/LR0.c: Attach shifts to states as soon as they are
509 * src/lalr.c (set_state_table): Instead of assigning shifts to
510 state, just assert that the mapping was properly done.
512 2001-12-10 Akim Demaille <akim@epita.fr>
514 * src/LR0.c (insert_start_shift): Rename as...
515 (insert_start_shifting_state): this.
516 (insert_eof_shifting_state, insert_accepting_state): New.
517 (augment_automaton): Adjust.
518 Better locality of the variables.
519 When looking if the start_symbol is shifted from the initial
520 state, using `while (... symbol != start_symbol ...)' sounds
521 better than `while (... symbol < start_symbol ...)': If fail
522 to see how the order between symbols could be relevant!
524 2001-12-10 Akim Demaille <akim@epita.fr>
526 * src/getargs.h: Don't declare `spec_name_prefix' and
527 `spec_file_prefix', declared by src/files.h.
528 * src/files.c, src/files.h: Default for spec_name_prefix is "yy".
529 * src/muscle_tab.c (muscle_init): Default prefix to NULL.
530 * src/output.c (prepare): Adjust.
531 * src/reader.c (symbols_output): Likewise.
532 * src/vmsgetargs.c: Vaguely adjust, but who cares?
534 2001-12-10 Akim Demaille <akim@epita.fr>
536 * src/muscle_tab.c (muscle_init): NULL is a better default than
539 2001-12-10 Akim Demaille <akim@epita.fr>
541 * src/reader.c (reader): Calling symbols_output once is enough.
543 2001-12-10 Akim Demaille <akim@epita.fr>
545 Now that states have a complete set of members, the linked list of
546 reductions is useless: just fill directly the state's reductions
549 * src/state.h (struct reductions): Remove member `number' and
551 * src/LR0.c (first_reduction, last_reduction): Remove.
552 (save_reductions): Don't link the new reductions, store them in
554 * src/lalr.c (set_state_table): No need to attach reductions to
555 states, it's already done.
556 * src/output.c (output_actions): No longer free the shifts, then
557 the reductions, then the states: free all the states and their
560 2001-12-10 Akim Demaille <akim@epita.fr>
562 * src/options.c (OPTN, DRTV, BOTH): New.
563 (option_table): Use them.
565 * src/muscle_tab.c: Don't include xalloc.h and string.h: that's
567 * src/options.c: Don't include stdio.h and xalloc.h for the same
570 2001-12-10 Akim Demaille <akim@epita.fr>
572 * src/output.c (output, prepare): Make sure the values of the
573 muscles `action' and `prologue' are 0-terminated.
575 2001-12-10 Akim Demaille <akim@epita.fr>
577 Clean up GCC warnings.
579 * src/reader.c (copy_action): `buf' is not used.
580 (parse_skel_decl): Be static.
581 * src/muscle_tab.c (mhash1, mhash2, muscle_insert): Preserve `const'.
582 * src/options.h (create_long_option_table): Have a real prototype.
583 * lib/hash.c, lib/hash.h (hash_insert, hash_insert_at, hash_delete)
584 (hash_delete_at): Return const void *.
585 Adjust casts to preserve the const.
587 2001-12-10 Akim Demaille <akim@epita.fr>
589 * configure.in: Require 2.52g.
590 M4 is not needed, but AUTOM4TE is.
592 * tests/Makefile.am: Adjust.
594 2001-12-10 Akim Demaille <akim@epita.fr>
596 One structure for states is enough, even though theoretically
597 there are LR(0) states and LALR(1) states.
599 * src/lalr.h (state_t): Remove.
600 (state_table): Be state_t **, not state_t *.
601 * src/state.h (core, CORE_ALLOC): Rename as...
602 (state_t, STATE_ALLOC): this.
603 Add the LALR(1) members: shifts, reductions, errs.
604 * src/LR0.c (state_table): Rename as...
605 (state_hash): this, to avoid name clashes with the global
607 * src/print_graph.c, src/LR0.c, src/LR0.h, src/conflicts.c
608 * src/lalr.c, src/lalr.h, src/output.c, src/print.c: Adjust.
610 2001-12-10 Akim Demaille <akim@epita.fr>
612 Bison dumps core on bash.y.
613 Reported by Pascal Bart.
615 * src/warshall.c (bitmatrix_print): New.
617 When performing a transitive closure R(i, j) && R(j, k) => R(i, k),
618 j must be the outer loop.
619 * tests/regression.at (Broken Closure): New.
621 2001-12-05 Akim Demaille <akim@epita.fr>
623 * tests/atlocal.in (CPPFLAGS): Do not leave a space between -I and
625 Reported by Peter Hámorský.
627 2001-12-05 Akim Demaille <akim@epita.fr>
629 * src/conflicts.c (err_table): Remove.
630 (resolve_sr_conflict): Adjust.
631 * src/lalr.h (state_t.reduction_table, state_t.shift_table):
633 (state_t.reductions, state_t.shifts): this.
635 2001-12-05 Akim Demaille <akim@epita.fr>
637 * src/reduce.c (reduce_grammar_tables): No longer disable the
638 removal of useless rules via CPP but via `if (0)', so that the
639 compiler still check the code is valid.
640 For instance, it should have noticed `rline' no longer exists: use
641 the `line' member of rule_t.
642 * src/gram.c (dummy, rline): Remove, unused.
644 2001-12-05 Akim Demaille <akim@epita.fr>
646 * src/output.c (pack_vector): Use assert, not berror.
647 * src/main.c (berror): Remove, unused.
649 2001-12-05 Akim Demaille <akim@epita.fr>
651 New experimental feature: if --verbose --trace output all the
652 items of a state, not only its kernel.
654 * src/print.c (print_core): If `trace_flag', then invoke closure
655 before outputting the items of the state (print_core is no longer
656 a correct name them).
657 (print_results): Invoke new_closure/free_closure if needed.
659 2001-12-05 Akim Demaille <akim@epita.fr>
661 * src/LR0.c (new_itemsets): Use nshifts only, not shiftcount.
662 * src/closure.c, src/closure.h (itemsetsize): Rename as...
663 (nitemset): for consistency with the rest of the project.
665 2001-12-05 Akim Demaille <akim@epita.fr>
667 * src/closure.c (print_closure): Improve.
668 (closure): Use it for printing input and output.
670 2001-12-05 Akim Demaille <akim@epita.fr>
672 * src/closure.c (FIRSTS, FDERIVES): Adjust to reality: they are
673 indexed by nonterminals.
675 2001-12-05 Akim Demaille <akim@epita.fr>
677 * src/warshall.c (TC, RTC): De-obsfucate (source reduced to 22% of
679 * src/warshall.h: Remove accidental duplication of the content.
681 2001-12-05 Akim Demaille <akim@epita.fr>
683 * src/closure.c (set_fderives): De-obfuscate.
685 2001-12-05 Akim Demaille <akim@epita.fr>
687 * src/closure.c (print_firsts, print_fderives): De-obfuscate.
689 2001-12-05 Akim Demaille <akim@epita.fr>
691 * src/closure.c (set_firsts): De-obfuscate.
693 2001-12-05 Akim Demaille <akim@epita.fr>
695 * src/output.c (action_row): De-obfuscate
696 using the good o' techniques: arrays not pointers, variable
697 locality, BITISSET, RESETBIT etc.
699 2001-12-05 Akim Demaille <akim@epita.fr>
701 Pessimize the code to simplify it: from now on, all the states
702 have a valid SHIFTS, which NSHIFTS is possibly 0.
704 * src/LR0.c (shifts_new): Be global and move to..
705 * src/state.c, src/state.h: here.
706 * src/conflicts, src/lalr.c, src/output.c, src/print.c,
707 * src/print_graph: Adjust.
709 2001-12-05 Akim Demaille <akim@epita.fr>
711 * src/state.h (SHIFT_DISABLE, SHIFT_IS_DISABLED): New.
712 * src/conflicts.c: Use it.
713 Restore a few missing `if (!SHIFT_IS_DISABLED)' which were
714 incorrectly ``simplified''.
716 2001-12-05 Akim Demaille <akim@epita.fr>
718 * src/conflicts.c (flush_shift, resolve_sr_conflict): De-obfuscate
719 using the good o' techniques: arrays not pointers, variable
720 locality, BITISSET, RESETBIT etc.
722 2001-12-05 Akim Demaille <akim@epita.fr>
724 * src/state.h (SHIFT_SYMBOL): New.
725 * src/conflicts.c: Use it to deobfuscate.
727 2001-12-05 Akim Demaille <akim@epita.fr>
729 * src/conflicts.c (count_sr_conflicts, count_rr_conflicts)
730 (print_reductions): De-obfuscate using the good o' techniques:
731 arrays not pointers, variable locality, BITISSET.
733 2001-12-05 Akim Demaille <akim@epita.fr>
735 * src/conflicts.c (print_reductions): Arrays, not pointers.
738 2001-12-05 Akim Demaille <akim@epita.fr>
740 * src/conflicts.c (print_reductions): Pessimize, but clarify.
742 2001-12-05 Akim Demaille <akim@epita.fr>
744 * src/conflicts.c (print_reductions): Improve variable locality.
746 2001-12-05 Akim Demaille <akim@epita.fr>
748 * src/conflicts.c (print_reductions): Pessimize, but clarify.
750 2001-12-05 Akim Demaille <akim@epita.fr>
752 * src/conflicts.c (print_reductions): Improve variable locality.
754 2001-12-05 Akim Demaille <akim@epita.fr>
756 * src/state.h (SHIFT_IS_ERROR, SHIFT_IS_GOTO, SHIFT_IS_SHIFT): New.
757 * src/lalr.c: Use them.
759 2001-12-05 Akim Demaille <akim@epita.fr>
761 * src/LR0.c (augment_automaton): Formatting changes.
762 Better variable locality.
764 2001-12-05 Akim Demaille <akim@epita.fr>
766 * src/lalr.c (matrix_print): New.
768 Use arrays instead of pointers.
770 2001-12-05 Akim Demaille <akim@epita.fr>
772 * src/lalr.c (maxrhs): Move to...
773 * src/gram.c, src/gram.h (ritem_longest_rhs): here.
774 * src/lalr.c (build_relations): Adjust.
776 2001-12-05 Akim Demaille <akim@epita.fr>
778 * src/lalr.c (transpose): Free the memory allocated to the
779 argument, as it is replaced by the results by the unique caller.
780 (build_relations): Merely invoke transpose: it handles the memory
782 Improve variable locality.
783 Avoid variables used as mere abbreviations.
784 (compute_lookaheads): Use arrays instead of pointers.
786 2001-12-05 Akim Demaille <akim@epita.fr>
788 * src/lalr.c (initialize_F): Improve variable locality.
789 Avoid variables used as mere abbreviations.
791 2001-12-05 Akim Demaille <akim@epita.fr>
793 * src/derives.c (print_derives): Display the ruleno.
794 * src/lalr.c (initialize_F, transpose): Better variable locality
795 to improve readability.
796 Avoid variables used as mere abbreviations.
798 2001-12-05 Akim Demaille <akim@epita.fr>
800 * src/lalr.c (traverse): Use arrays instead of pointers.
802 2001-12-05 Akim Demaille <akim@epita.fr>
804 * src/nullable.c (set_nullable): Use a for loop to de-obfuscate
805 the handling of squeue.
806 `symbol >= 0' is wrong now, use `rule_table[ruleno].useful'.
808 2001-12-05 Akim Demaille <akim@epita.fr>
810 Because useless nonterminals are now kept alive (instead of being
811 `destroyed'), we now sometimes examine them, and store information
812 related to them. Hence we need to know their number, and adjust
815 * src/reduce.c, src/reduce.h (nuseless_nonterminals): No longer
817 * src/LR0.c (allocate_itemsets): The memory allocated to
818 `symbol_count' was used for two different purpose: once to count
819 the number of occurrences of each symbol, and later reassigned to
820 `shift_symbol', containing the symbol that can be shifted from a
822 Deobfuscate, i.e., allocate, use and free `symbol_count' here
824 (new_itemsets): Allocate `shift_symbol' here.
825 (allocate_itemsets): symbol_count includes useless nonterminals.
827 (free_storage): Use `free', not `XFREE', for pointers that cannot
830 2001-12-05 Akim Demaille <akim@epita.fr>
832 * src/nullable.c (set_nullable): Deobfuscate the handling of
834 `symbol >= 0' is wrong now, use `rule_table[ruleno].useful'.
836 2001-12-05 Akim Demaille <akim@epita.fr>
838 * src/gram.c, src/gram.h (ritem_print): New.
839 * src/gram.c (dummy): Remove, now there is actual code in gram.c.
840 (This useless function was defined only to work around VMS linkers
841 that can't handle compilation units with variables only).
842 * src/reduce.c (dump_grammar): Use it to trace the construction of
845 2001-12-04 Paul Eggert <eggert@twinsun.com>
847 * src/bison.simple (union yyalloc): Change member names
848 to be the same as the stack names.
849 (yyparse): yyptr is now union yyalloc *, not char *.
850 (YYSTACK_RELOCATE): Likewise. This avoids a GCC warning,
851 and may generate better code on some machines.
852 (yystpcpy): Use prototype if __STDC__ is defined, not just
853 if __cplusplus is defined.
855 2001-11-30 Akim Demaille <akim@epita.fr>
857 * configure.in (WARNING_CFLAGS): Add -Werror when possible.
858 (CFLAGS): Do not include the WARNING_CFLAGS here, since GNU
859 Gettext doesn't compile cleanly, and dies with -Werror.
860 * src/Makefile.am, lib/Makefile.am, tests/atlocal.in (CFLAGS):
861 Include WARNING_CFLAGS here.
862 * lib/xstrdup.c: Include xalloc.h, so that xstrdup be declared
863 before being defined.
865 2001-11-27 Paul Eggert <eggert@twinsun.com>
867 * lib/quotearg.h (quotearg_n, quotearg_n_style):
868 First arg is int, not unsigned.
869 * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
870 (SIZE_MAX, UINT_MAX): New macros.
871 (quotearg_n_options): Abort if N is negative.
872 Avoid overflow check on hosts where size_t is 64 bits and int
873 is 32 bits, as overflow is impossible there.
874 Fix off-by-one typo that caused unnecessary reallocation.
876 2001-11-29 Paul Eggert <eggert@twinsun.com>
878 Name space cleanup in generated parser.
880 * doc/bison.texinfo (Bison Parser): Discuss system headers
881 and their effect on the user name space.
884 (YYSTACK_ALLOC, YYSTACK_FREE, union yyalloc, YYSTACK_GAP_MAX,
885 YYSTACK_BYTES, YYSTACK_RELOCATE): Do not define unless necessary,
886 i.e. unless ! defined (yyoverflow) || defined (YYERROR_VERBOSE).
888 (YYSIZE_T): New macro. Use it instead of size_t, to avoid infringing
889 on user names when possible.
891 (YYSTACK_USE_ALLOCA): Do not define; just use any existing defn.
892 Simplify test for whather <alloca.h> exists.
894 (<stdlib.h>): Include if we will use malloc, and if standard C or C++.
896 (<stdio.h>): Include if YYDEBUG.
898 (yymemcpy): Renamed from __yy_memcpy. Do not define unless
899 ! defined (yyoverflow) && ! defined (yymemcpy).
901 (yymemcpy, yyparse): Rename local variables as needed so that
902 they all begin with 'yy'.
904 (yystrlen, yystpcpy): New functions.
906 (YY_DECL_NON_LSP_VARIABLES): Renamed from _YY_DECL_VARIABLES.
909 (yyparse): size_t -> YYSIZE_T. Use yystrlen and yystpcpy
910 instead of relying on string.h functions. Use YYSTACK_ALLOC
911 and YYSTACK_FREE instead of malloc and free.
913 2001-11-30 Akim Demaille <akim@epita.fr>
915 * src/bison.simple (YYSTYPE, YYLTYPE): Move their definitions
916 before their first uses.
917 (YYBISON, YYPURE): Move to the top of the output.
919 2001-11-30 Akim Demaille <akim@epita.fr>
921 * tests/reduce.at (Useless Nonterminals): Fix.
923 2001-11-30 Akim Demaille <akim@epita.fr>
925 * src/bison.simple (YYSTACK_FREE): Use `do {;} while (0)' as empty
926 if body instead of `;' to pacify GCC's warnings.
928 2001-11-30 Akim Demaille <akim@epita.fr>
930 Instead of mapping the LHS of unused rules to -1, keep the LHS
931 valid, but flag the rules as invalid.
933 * src/gram.h (rule_t): `useful' is a new member.
934 * src/print.c (print_grammar): Adjust.
935 * src/derives.c (set_derives): Likewise.
936 * src/reader.c (packgram, reduce_output): Likewise.
937 * src/reduce.c (reduce_grammar_tables): Likewise.
938 * tests/reduce.at (Underivable Rules, Useless Rules): New.
940 2001-11-30 Akim Demaille <akim@epita.fr>
942 * src/reduce.c (reduce_output): Formatting changes.
943 * src/print.c (print_results, print_grammar): Likewise.
944 * tests/regression.at (Rule Line Numbers)
945 (Solved SR Conflicts, Unresolved SR Conflicts): Adjust.
947 2001-11-30 Akim Demaille <akim@epita.fr>
949 * src/reduce.c (nonterminals_reduce): Instead of throwing away
950 useless nonterminals, move them at the end of the symbol arrays.
951 (reduce_output): Adjust.
952 * tests/reduce.at (Useless Nonterminals): Adjust.
954 2001-11-30 Akim Demaille <akim@epita.fr>
956 * src/reduce.c: Various comment/formatting changes.
957 (nonterminals_reduce): New, extracted from...
958 (reduce_grammar_tables): here.
959 (reduce_grammar): Call nonterminals_reduce.
961 2001-11-29 Paul Eggert <eggert@twinsun.com>
963 * src/bison.simple (YYSTACK_REALLOC): Remove.
964 (YYSTACK_ALLOC): Resurrect this macro, with its old meaning.
965 (YYSTACK_FREE, YYSTACK_GAP_MAX, YYSTACK_BYTES, YYSTACK_RELOCATE):
967 (union yyalloc): New type.
968 (__yy_memcpy): Last arg is size_t, not unsigned int, to remove
969 an arbitrary restriction on hosts where size_t is wider than int.
971 (yyparse): Don't dump core if alloca or malloc fails; instead, report
972 a parser stack overflow. Allocate just one block of memory for all
973 three stacks, instead of allocating three blocks; this typically is
974 faster and reduces fragmentation.
976 Do not limit the number of items in the stack to a value that fits
977 in 'int', as this is an arbitrary limit on hosts with 64-bit
978 size_t and 32-bit int.
980 2001-11-29 Marc Autret <autret_m@epita.fr>
982 * tests/calc.at [AT_DATA_CALC_Y]: Use %error-verbose instead
983 of defining YYERROR_VERBOSE.
984 [AT_DATA]: $4 is now out of C declarations in the prologue.
986 2001-11-28 Marc Autret <autret_m@epita.fr>
988 * src/reader.c (parse_dquoted_param): New.
989 (parse_skel_decl): Use it.
990 * src/lex.h: Add its prototype.
991 * src/lex.c (literalchar): Become not static.
993 2001-11-28 Marc Autret <autret_m@epita.fr>
995 * src/output.h: And put its extern declaration here.
996 * src/output.c (error_verbose): Define here.
997 (prepare): Echo name modification.
998 * src/getargs.h: Clean its extern declaration.
999 * src/getargs.c (error_verbose_flag): Remove.
1000 (getargs): Remove case 'e'.
1001 * src/options.c (option_table): 'error-verbose' is now seen as simple
1005 * src/reader.c (read_declarations): Remove case tok_include.
1006 (parse_include_decl): Remove.
1007 * src/lex.h (token_t): Remove tok_include.
1008 * src/options.c (option_table): 'include' is now a simple command line
1011 2001-11-28 Marc Autret <autret_m@epita.fr>
1013 * src/bison.simple: Adjust muscle names.
1014 * src/muscle_tab.c (muscle_init): Also rename the muscles.
1015 * src/output.c (prepare): s/_/-/ for the muscles names.
1016 (output_parser): When scanning for a muscle, allow '-' instead of '_'.
1018 2001-11-28 Marc Autret <autret_m@epita.fr>
1020 * src/bison.simple: Fix debug.
1021 [YYERROR_VERBOSE]: Re-integrate as an internal macro.
1023 2001-11-28 Akim Demaille <akim@epita.fr>
1025 * src/LR0.c (shifts_new): New.
1026 (save_shifts, insert_start_shift, augment_automaton): Use it.
1028 2001-11-28 Akim Demaille <akim@epita.fr>
1030 * src/closure.c (closure): `b' and `ruleno' denote the same value:
1033 2001-11-28 Akim Demaille <akim@epita.fr>
1035 * src/closure.c (closure): Instead of looping over word in array
1036 then bits in words, loop over bits in array.
1038 2001-11-28 Akim Demaille <akim@epita.fr>
1040 * src/closure.c (closure): No longer optimize the special case
1041 where all the bits of `ruleset[r]' are set to 0, to make the code
1044 2001-11-28 Akim Demaille <akim@epita.fr>
1046 * src/closure.c (closure): `r' and `c' are new variables, used to
1047 de-obfuscate accesses to RULESET and CORE.
1049 2001-11-28 Akim Demaille <akim@epita.fr>
1051 * src/reduce.c (reduce_print): Use ngettext.
1052 (dump_grammar): Improve the trace accuracy.
1054 2001-11-28 Akim Demaille <akim@epita.fr>
1056 * src/reduce.c (dump_grammar): Don't translate trace messages.
1058 2001-11-28 Akim Demaille <akim@epita.fr>
1060 * tests/reduce.at (Useless Terminals, Useless Nonterminals): New.
1061 * src/reduce.c (reduce_grammar_tables): Do not free useless tags,
1062 as all tags are free'ed afterwards.
1065 2001-11-27 Paul Eggert <eggert@twinsun.com>
1067 * src/bison.simple (YYSTACK_REALLOC): Fix typo that caused us to
1068 use alloca when we didn't want to, and vice versa.
1070 2001-11-27 Marc Autret <autret_m@epita.fr>
1072 * src/muscle_tab.c (muscle_init): Remove 'verbose' muscle
1074 * src/output.c (prepare): Remove its update.
1076 2001-11-27 Marc Autret <autret_m@epita.fr>
1078 * tests/torture.at [AT_DATA]: Remove YYERROR_VERBOSE definition.
1081 2001-11-27 Marc Autret <autret_m@epita.fr>
1083 * src/bison.simple: Remove YYERROR_VERBOSE using.
1084 Use %%error_verbose.
1085 (yyparse): Likewise.
1086 * src/output.c (prepare): Give its final value.
1087 * src/muscle_tab.c (muscle_init): Init new muscle 'error_verbose'.
1088 * src/getargs.h: Add its extern declaration.
1089 * src/getargs.c (error_verbose_flag): New int.
1090 (getargs): Update to catch new case.
1091 * src/options.c (option_table): 'error-verbose' is a new option.
1092 (shortopts): Update.
1094 2001-11-27 Akim Demaille <akim@epita.fr>
1096 * src/system.h: Use intl/libgettext.h.
1097 * src/Makefile.am (INCLUDES): Add -I $(top_srcdir).
1099 2001-11-27 Akim Demaille <akim@epita.fr>
1101 * tests/torture.at (Exploding the Stack Size with Malloc):
1102 s/YYSTACK_USE_ALLOCA_ALLOCA/YYSTACK_USE_ALLOCA/.
1104 2001-11-27 Akim Demaille <akim@epita.fr>
1106 * src/files.c: Include error.h.
1107 Reported by Hans Aberg.
1109 2001-11-26 Marc Autret <autret_m@epita.fr>
1111 * src/reader.c (parse_include_decl): New, not yet implemented.
1112 (read_declarations): Add case tok_include.
1113 * src/getargs.h (include): Add its extern definition.
1114 * src/getargs.c (include): New const char *.
1115 (getargs): Add case '-I'.
1116 * src/options.c (option_table): Add include as command line and
1118 * src/lex.h (token_t): Add tok_include.
1120 2001-11-26 Akim Demaille <akim@epita.fr>
1122 * src/reader.c (readgram): Make sure rules for mid-rule actions
1123 have a lineno equal to that of their host rule.
1124 Reported by Hans Aberg.
1125 * tests/regression.at (Rule Line Numbers): New.
1127 2001-11-26 Akim Demaille <akim@epita.fr>
1129 * src/LR0.c (allocate_itemsets): kernel_size contains ints, not
1132 2001-11-26 Akim Demaille <akim@epita.fr>
1134 * src/complain.c, src/complain.h (error): Remove, provided by
1137 2001-11-26 Akim Demaille <akim@epita.fr>
1139 * src/reader.c (read_declarations): Don't abort on tok_illegal,
1140 issue an error message.
1141 * tests/regression.at (Invalid %directive): New.
1142 Reported by Hans Aberg.
1144 2001-11-26 Akim Demaille <akim@epita.fr>
1146 * configure.in: Invoke AC_FUNC_OBSTACK and AC_FUNC_ERROR_AT_LINE.
1147 * lib/Makefile.am (libbison_a_SOURCES): Adjust.
1149 2001-11-26 Akim Demaille <akim@epita.fr>
1151 * src/conflicts.c (conflicts_print): Don't complain at all when
1152 there are no reduce/reduce conflicts, and as many shift/reduce
1153 conflicts as expected.
1154 * tests/regression.at (%expect right): Adjust.
1156 2001-11-23 Akim Demaille <akim@epita.fr>
1158 * lib/alloca.c: Update, from fileutils.
1160 2001-11-23 Akim Demaille <akim@epita.fr>
1162 * lib/Makefile.am (libbison_a_LIBADD): Add @ALLOCA@.
1164 2001-11-23 Akim Demaille <akim@epita.fr>
1166 * src/system.h: Include alloca.h.
1167 * src/main.c (main) [C_ALLOCA]: Call alloca (0).
1169 2001-11-23 Akim Demaille <akim@epita.fr>
1171 * src/print_graph.c (print_actions): Remove `rule', unused.
1172 * src/LR0.c (kernel_size): Contain `int' instead of `size_t' to
1173 pacify GCC's signed < unsigned warnings.
1174 * src/closure.c (itemsetsize): Likewise.
1175 * src/reader.c (symbol_list_new): Static.
1177 2001-11-23 Akim Demaille <akim@epita.fr>
1179 Attaching lineno to buckets is stupid, since only one copy of each
1180 symbol is kept, only the line of the first occurrence is kept too.
1182 * src/symtab.h, src/symtab.c (bucket): Remove the line member.
1183 * src/reader.c (rline_allocated): Remove, unused.
1184 (symbol_list): Have a `line' member.
1185 (symbol_list_new): New.
1187 * src/print.c (print_grammar): Output the rule line numbers.
1188 * tests/regression.at (Solved SR Conflicts)
1189 (Unresolved SR Conflicts): Adjust.
1190 Reported by Hans Aberg.
1192 2001-11-22 Marc Autret <autret_m@epita.fr>
1194 * src/bison.simple [YYERROR_VERBOSE]: Force its value to be 1 or 0.
1196 2001-11-22 Marc Autret <autret_m@epita.fr>
1198 * src/muscle_tab.c (muscle_init): Remove initialization of
1200 * src/output.c (output_master_parser): Do it here.
1202 2001-11-20 Akim Demaille <akim@epita.fr>
1205 * configure.in (ALL_LINGUAS): Adjust.
1206 * po/POTFILE.in: Remove `nullable.c' and `derives.c' which no
1207 longer contains strings to translate.
1209 2001-11-19 Akim Demaille <akim@epita.fr>
1211 * src/conflicts.c (conflicts_print): Add a missing \n.
1213 2001-11-19 Akim Demaille <akim@epita.fr>
1215 * src/nullable.c (nullable_print): New.
1216 (set_nullable): Call it when tracing.
1217 Better locality of variables.
1219 2001-11-19 Akim Demaille <akim@epita.fr>
1221 * src/print.c (print_actions): Better locality of variables.
1223 2001-11-19 Akim Demaille <akim@epita.fr>
1225 * src/derives.c (print_derives): Fix and enrich.
1226 * src/closure.c (print_fderives): Likewise.
1228 2001-11-19 Akim Demaille <akim@epita.fr>
1230 * src/closure.c (itemsetend): Remove, replaced with...
1233 2001-11-19 Akim Demaille <akim@epita.fr>
1235 * src/LR0.c (kernel_end): Remove, replaced with...
1238 2001-11-19 Akim Demaille <akim@epita.fr>
1240 * src/conflicts.c (set_conflicts): Use arrays instead of pointers
1243 2001-11-19 Akim Demaille <akim@epita.fr>
1245 * src/closure.c (closure): Use arrays instead of pointers to clarify.
1247 2001-11-19 Akim Demaille <akim@epita.fr>
1249 * src/closure.c, src/derives.c, src/nullable.c: Adjust various
1251 * src/LR0.c: Likewise.
1252 (allocate_itemsets): Use arrays instead of pointers to clarify.
1254 2001-11-19 Akim Demaille <akim@epita.fr>
1256 * src/getargs.c (statistics_flag): Replace with...
1258 (longopts): Accept --trace instead of --statistics.
1259 * src/getargs.h, src/options.c: Adjust.
1260 * src/LR0.c, src/closure.c, src/derives.c, src/nullable.c,
1261 * src/reduce.c: Use trace_flags instead of the CPP conditional TRACE.
1263 2001-11-19 Akim Demaille <akim@epita.fr>
1265 * src/LR0.c (new_itemsets, get_state): Use more arrays and fewer
1266 pointers to clarify the code.
1267 (save_reductions, save_shifts): Factor common parts of alternatives.
1269 2001-11-19 Akim Demaille <akim@epita.fr>
1271 * src/LR0.c (new_state, get_state): Complete TRACE code.
1272 * src/closure.c: Include `reader.h' to get `tags', needed by the
1274 Rename the conditional DEBUG as TRACE.
1275 Output consistently TRACEs to stderr, not stdout.
1276 * src/derives.c: Likewise.
1277 * src/reduce.c: (inaccessable_symbols): Using if is better style
1279 Use `#if TRACE' instead of `#if 0' for tracing code.
1281 2001-11-19 Akim Demaille <akim@epita.fr>
1283 * src/system.h (LIST_FREE, shortcpy): New.
1284 * src/LR0.c: Use them.
1285 * src/output.c (free_itemsets, free_reductions, free_shifts):
1286 Remove, replaced by LIST_FREE.
1288 2001-11-19 Akim Demaille <akim@epita.fr>
1290 * src/state.h (CORE_ALLOC, SHIFTS_ALLOC, ERRS_ALLOC)
1291 (REDUCTIONS_ALLOC): New.
1292 * src/LR0.c, src/conflicts.c: Use them to de-obfuscate memory
1295 2001-11-19 Akim Demaille <akim@epita.fr>
1297 * src/LR0.c (new_state): Complete trace code.
1298 * src/nullable.c (set_nullable): Don't translate traces.
1300 2001-11-19 Akim Demaille <akim@epita.fr>
1302 * src/print_graph.c (print_core): Better locality of variables.
1303 * src/print.c (print_core): Likewise.
1305 2001-11-19 Akim Demaille <akim@epita.fr>
1307 * src/vcg.c: You do the output, so you are responsible of the
1308 handling of VCG syntax, in particular: use quotearg.
1309 * src/print_graph.c: Don't.
1310 (print_actions): Don't output the actions as part of the nodes,
1311 since that's the job of the edges.
1312 (print_state): Don't output by hand: fill the node description,
1313 and ask for its output.
1315 2001-11-19 Akim Demaille <akim@epita.fr>
1317 * src/bison.simple (yyparse): When verbosely reporting an error,
1318 no longer put additional quotes around token names.
1319 * tests/calc.at: Adjust.
1321 2001-11-19 Akim Demaille <akim@epita.fr>
1323 * src/symtab.h, src/symtab.c: `line' is a new member of `bucket'.
1324 * src/reader.c (record_rule_lines, rline, rline_allocated): Remove.
1325 * src/output.c: Adjust.
1327 2001-11-19 Akim Demaille <akim@epita.fr>
1329 * src/gram.h (rprec, rprecsym, rassoc): Remove, now part of...
1331 * src/conflicts.c, src/reader.c, src/reduce.c: Adjust.
1333 2001-11-19 Akim Demaille <akim@epita.fr>
1335 * src/gram.h (rule_t): New.
1337 (rrhs, rlhs): Remove, part of state_t.
1338 * src/print_graph.c, src/closure.c, src/conflicts.c, src/derives.c,
1339 * src/lalr.c, src/nullable.c, src/output.c, src/print.c,
1340 * src/reader.c, src/reduce.c: Adjust.
1342 2001-11-19 Akim Demaille <akim@epita.fr>
1344 * src/reader.c (symbols_output): New, extracted from...
1345 (packsymbols): Here.
1348 2001-11-19 Akim Demaille <akim@epita.fr>
1350 * src/lalr.c (set_maxrhs, maxrhs): Remove, replaced with...
1351 (maxrhs): this new function.
1353 2001-11-19 Akim Demaille <akim@epita.fr>
1355 * src/lalr.c (F): New macro to access the variable F.
1358 2001-11-19 Akim Demaille <akim@epita.fr>
1360 * src/lalr.h (LA): New macro to access the variable LA.
1361 * src/output.c, src/lalr.c, src/print_graph.c, src/conflicts.c:
1362 * src/lalr.c: Adjust.
1364 2001-11-19 Akim Demaille <akim@epita.fr>
1366 * src/lalr.c (initialize_LA): Only initialize LA. Let...
1367 (set_state_table): handle the `lookaheads' members.
1369 2001-11-19 Akim Demaille <akim@epita.fr>
1371 * src/lalr.h (lookaheads): Removed array, whose contents is now
1373 (state_t): this structure.
1374 * src/output.c, src/lalr.c, src/print_graph.c, src/conflicts.c:
1377 2001-11-19 Akim Demaille <akim@epita.fr>
1379 * src/lalr.h (consistent): Removed array, whose contents is now
1381 (state_t): this structure.
1382 * src/output.c, src/lalr.c, src/print_graph.c, src/conflicts.c:
1385 2001-11-19 Akim Demaille <akim@epita.fr>
1387 * src/lalr.h (reduction_table, shift_table): Removed arrays, whose
1388 contents are now members of...
1389 (state_t): this structure.
1390 * src/output.c, src/lalr.c, src/print_graph.c, src/conflicts.c:
1393 2001-11-19 Akim Demaille <akim@epita.fr>
1395 * src/lalr.h (state_t): New.
1396 (state_table): Be a state_t * instead of a core **.
1397 (accessing_symbol): Remove, part of state_t.
1398 * src/lalr.c: Adjust.
1399 (set_accessing_symbol): Merge into...
1400 (set_state_table): this.
1401 * src/print_graph.c, src/conflicts.c: Adjust.
1403 2001-11-14 Akim Demaille <akim@epita.fr>
1405 * tests/calc.at, tests/output.at, tests/regression.at,
1406 * tests/testsuite.at, tests/torture.at: Rely on Autotest 2.52g:
1407 now the tests are run in private dirs, therefore AC_CLEANUP and
1408 family can be simplified to 0-ary.
1409 * tests/atlocal.in: Now that we run `elsewhere' than in tests/,
1410 use abs. path to find config.h.
1411 * tests/calc.at (AT_CHECK_CALC): Don't try to check the compiler's
1412 stderr, there can be way too much random noise.
1413 Instead pass -Werror to GCC and rely on the exit status.
1414 Reported by Wolfram Wagner.
1416 2001-11-14 Akim Demaille <akim@epita.fr>
1418 * src/bison.simple (yyparse): Let yyls1, yyss1 and yyvs1 be
1419 defined only if yyoverflow is defined, to avoid `warning: unused
1421 Reported by The Test Suite.
1423 2001-11-14 Akim Demaille <akim@epita.fr>
1425 * src/print.c: Include reduce.h.
1426 Reported by Hans Aberg.
1428 2001-11-14 Akim Demaille <akim@epita.fr>
1430 * src/lex.c, src/lex.h (token_buffer, unlexed_token_buffer):
1431 Revert a previous patch: these are really const.
1432 * src/conflicts.c (conflict_report): Additional useless pair of
1433 braces to pacify GCC's warnings for `if () if () {} else {}'.
1434 * src/lex.c (parse_percent_token): Replace equal_offset with
1437 Be sure to strdup `arg' when used, since there is no reason for
1438 token_buffer not to change.
1440 2001-11-14 Akim Demaille <akim@epita.fr>
1442 * src/system.h (EXIT_SUCCESS, EXIT_FAILURE): Ensure a proper
1444 * src/main.c (main): Use them.
1445 Suggested by Hans Aberg.
1447 2001-11-12 Akim Demaille <akim@epita.fr>
1449 * src/system.h (ngettext): Now that we use ngettext, be sure to
1450 provide a default definition when NLS are not used.
1452 2001-11-12 Akim Demaille <akim@epita.fr>
1454 * doc/bison.texinfo: Use `$' as shell prompt, not `%'.
1455 Use @kbd to denote user input.
1456 (Language and Grammar): ANSIfy the example.
1457 Adjust its layout for info/notinfo.
1458 (Location Tracking Calc): Output error messages to stderr.
1459 Output locations in a more GNUtically correct way.
1460 Fix a couple of Englishos.
1461 Adjust @group/@end group pairs.
1463 2001-11-12 Akim Demaille <akim@epita.fr>
1465 %expext was not functioning at all.
1467 * src/conflicts.c (expected_conflicts): Set to -1.
1468 (conflict_report): Use ngettext.
1469 (conflicts_print): Check %expect and make its violation an error.
1470 * doc/bison.texinfo (Expect Decl): Adjust.
1471 * configure.in (AM_GNU_GETTEXT): Ask for ngettext.
1472 * tests/regression.at (%expect not enough, %expect right)
1473 (%expect too much): New.
1475 2001-11-12 Akim Demaille <akim@epita.fr>
1477 * tests/regression.at (Conflicts): Rename as...
1478 (Unresolved SR Conflicts): this.
1479 (Solved SR Conflicts): New.
1481 2001-11-12 Akim Demaille <akim@epita.fr>
1483 * src/reduce.c (print_results): Rename as...
1484 (reduce_output): This.
1485 Output to OUT, passed as argument, instead of output_obstack.
1486 (dump_grammar): Likewise.
1489 (reduce_grammar): No longer call reduce_output, since...
1490 * src/print.c (print_results): do it.
1491 * src/main.c (main): Call reduce_free;
1493 2001-11-12 Akim Demaille <akim@epita.fr>
1495 * src/conflicts.c (print_reductions): Accept OUT as argument.
1496 Output to it, not to output_obstack.
1497 * src/print.c (print_actions): Adjust.
1499 2001-11-12 Akim Demaille <akim@epita.fr>
1501 * src/conflicts.c (count_sr_conflicts, count_rr_conflicts): Return
1502 the result instead of using...
1503 (src_total, rrc_total, src_count, rrc_count): Remove.
1504 (any_conflicts): Remove.
1505 (print_conflicts): Split into...
1506 (conflicts_print, conflicts_output): New.
1507 * src/conflicts.h: Adjust.
1508 * src/main.c (main): Invoke both conflicts_output and conflicts_print.
1509 * src/print.c (print_grammar): Issue `\n' between two rules.
1510 * tests/regression.at (Conflicts): New.
1511 Reported by Tom Lane.
1513 2001-11-12 Akim Demaille <akim@epita.fr>
1515 * tests/regression.at (Invalid input): Remove, duplicate with
1516 ``Invalid input: 1''.
1518 2001-11-12 Akim Demaille <akim@epita.fr>
1520 * tests/torture.at (AT_DATA_STACK_TORTURE)
1521 (Exploding the Stack Size with Alloca)
1522 (Exploding the Stack Size with Malloc): New.
1524 2001-11-12 Akim Demaille <akim@epita.fr>
1526 * src/bison.simple (YYSTACK_REALLOC): New.
1527 (yyparse) [!yyoverflow]: Use it and free the old stack.
1528 Reported by Per Allansson.
1530 2001-11-12 Pascal Bart <pascal.bart@epita.fr>
1532 * src/bison.simple: Define type yystype instead of YYSTYPE, and
1533 define CPP macro, which substitute YYSTYPE by yystype.
1534 * src/reader.c (parse_union_decl): Output yystype/YYSTYPE as we do
1535 with yyltype/YYLTYPE. This allows inclusion of the generated
1536 header within the parser if the compiler, such as GGC, accepts
1537 multiple equivalent #defines.
1540 2001-11-05 Akim Demaille <akim@epita.fr>
1542 * src/reader.c (symbols_output): New, extracted from...
1543 (packsymbols): here.
1546 2001-11-05 Akim Demaille <akim@epita.fr>
1548 * src/lex.c (parse_percent_token): s/quotearg/quote/.
1550 2001-11-05 Akim Demaille <akim@epita.fr>
1552 * tests/regression.at (AT_TEST_CPP_GUARD_H): Adjust the clean up
1555 2001-11-05 Akim Demaille <akim@epita.fr>
1557 * src/options.h (struct option_table_struct): set_flags is void*.
1558 * src/options.c (longopts): Support `--output' and `%output'.
1560 * src/lex.h (tok_setopt): Remove, replaced with...
1561 (tok_intopt, tok_stropt): these new guys.
1562 * src/lex.c (getopt.h): Not needed.
1563 (token_buffer, unlexed_token_buffer): Not const.
1564 (percent_table): Promote `-' over `_' in directive names.
1565 Active `%name-prefix', `file-prefix', and `output'.
1566 (parse_percent_token): Accept possible arguments to directives.
1567 Promote `-' over `_' in directive names.
1569 2001-11-04 Akim Demaille <akim@epita.fr>
1571 * doc/bison.texinfo (Decl Summary): Split the list into
1572 `directives for grammars' and `directives for bison'.
1574 Add description of `%name-prefix', `file-prefix', and `output'.
1575 Promote `-' over `_' in directive names.
1576 (Bison Options): s/%locactions/%locations/. Nice Freudian slip.
1577 Simplify the description of `--name-prefix'.
1578 Promote `-' over `_' in directive names.
1579 Promote `--output' over `--output-file'.
1580 Fix the description of `--defines'.
1581 * tests/output.at: Exercise %file-prefix and %output.
1583 2001-11-02 Akim Demaille <akim@epita.fr>
1585 * doc/refcard.tex: Update.
1587 2001-11-02 Akim Demaille <akim@epita.fr>
1589 * src/symtab.h (SUNDEF): New.
1590 * src/symtab.c (bucket_new): Init user_token_number to SUNDEF to
1591 stand for `uninitialized', instead of 0.
1592 * src/reader.c (packsymbols, parse_thong_decl): Adjust.
1593 * src/lex.c (lex): Adjust.
1595 * tests/calc.at (_AT_DATA_CALC_Y): Declare a token for EOF.
1597 Let yylex return it instead of a plain 0.
1598 Reported by Dick Streefland.
1600 2001-11-02 Akim Demaille <akim@epita.fr>
1602 * tests/regression.at (Mixing %token styles): New test.
1604 2001-11-02 Akim Demaille <akim@epita.fr>
1606 * src/reader.c (parse_thong_decl): Formatting changes.
1607 (token_translations_init): New, extracted from...
1608 (packsymbols): Here.
1611 2001-11-01 Akim Demaille <akim@epita.fr>
1613 * tests/regression.at (AT_TEST_CPP_GUARD_H): New.
1614 Check that `9foo.y' produces correct cpp guards.
1615 * src/files.c (compute_header_macro): Prepend `BISON_' to CPP
1619 2001-11-01 Akim Demaille <akim@epita.fr>
1621 * tests/regression.at (Invalid input: 2): New.
1622 * src/lex.c (unlexed_token_buffer): New.
1623 (lex, unlex): Adjust: when unlexing, be sure to save token_buffer
1627 2001-11-01 Akim Demaille <akim@epita.fr>
1629 * tests/calc.at: Catch up with 1.30.
1630 * configure.in: Bump to 1.49a.
1631 Adjust to newer Autotest.
1633 2001-10-19 Pascal Bart <pascal.bart@epita.fr>
1635 * src/conflicts.c: Move global variables rrc_total and src_total ...
1636 (print_conflicts): here.
1637 * src/output.c (output): Free global variable user_toknums.
1638 * src/lex.c (token_obstack): Become static.
1640 2001-10-18 Akim Demaille <akim@epita.fr>
1642 * tests/atlocal.in (GCC): Add.
1643 * tests/calc.at: s/m4_match/m4_bmatch/.
1644 s/m4_patsubst/m4_bpatsubst/.
1645 (AT_CHECK_CALC): Check the compiler's stderr only if it's GCC.
1646 * configure.in: AC_SUBST(GCC).
1648 2001-10-14 Marc Autret <autret_m@epita.fr>
1650 * src/options.c (create_long_option_table): Fix.
1652 2001-10-10 Akim Demaille <akim@epita.fr>
1654 * src/bison.simple: Be sure to set YYSTACK_USE_ALLOCA.
1656 2001-10-04 Akim Demaille <akim@epita.fr>
1658 * src/reader.c (parse_union_decl): Push the caracters in
1659 union_obstack, not attrs_obstack.
1661 2001-10-04 Akim Demaille <akim@epita.fr>
1663 Merge in the branch 1.29.
1665 * src/reader.c (packsymbols): Use a temporary obstack for
1666 `%%tokendef', since output_stack is already used elsewhere.
1668 2001-10-02 Akim Demaille <akim@epita.fr>
1672 2001-10-02 Akim Demaille <akim@epita.fr>
1676 2001-10-02 Akim Demaille <akim@epita.fr>
1678 * tests/regression.at (Invalid CPP headers): New.
1679 From Alexander Belopolsky.
1680 * src/files.c (compute_header_macro): Map non alnum chars to `_'.
1682 2001-10-02 Akim Demaille <akim@epita.fr>
1684 * tests/regression.at (Invalid input): New.
1685 * src/lex.c (lex): Be sure to set `token_buffer' in any case.
1688 2001-10-02 Akim Demaille <akim@epita.fr>
1690 * tests/calc.at: Now that --debug works, the tests must be adjusted.
1692 2001-10-02 Akim Demaille <akim@epita.fr>
1694 * src/output.c (output_parser): Assert `skeleton'.
1695 * src/files.c (skeleton_find): Look harder for skeletons on DOSish
1699 2001-10-01 Marc Autret <autret_m@epita.fr>
1701 * src/lex.h: Echo modifications.
1702 * src/lex.c (unlex): Parameter is now token_t.
1705 2001-10-01 Marc Autret <autret_m@epita.fr>
1707 * src/main.c: Include lex.h.
1710 2001-09-29 Akim Demaille <akim@epita.fr>
1712 * src/getargs.c (longopts): `--debug' is `-t', not `-d'.
1714 2001-09-28 Akim Demaille <akim@epita.fr>
1716 * tests/testsuite.at: Update to newer Autotest.
1717 * tests/Makefile.am (EXTRA_DIST): bison is not to be shipped.
1719 2001-09-27 Akim Demaille <akim@epita.fr>
1721 Position independent wrapper.
1723 * tests/bison: Remove.
1724 * tests/bison.in: New.
1725 * configure.in: Adjust.
1727 2001-09-27 Paul Eggert <eggert@twinsun.com>
1729 Port quotearg fixes from tar 1.13.24.
1731 * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
1733 (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
1734 (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
1736 * m4/Makefile.am (EXTRA_DIST): Add mbrtowc.m4.
1737 * m4/mbrtowc.m4: New file.
1738 * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for mbsinit and stddef.h.
1739 Use jm_FUNC_MBRTOWC instead of AC_CHECK_FUNCS(mbrtowc).
1741 2001-09-27 Akim Demaille <akim@epita.fr>
1745 2001-09-27 Akim Demaille <akim@epita.fr>
1749 2001-09-25 Akim Demaille <akim@epita.fr>
1751 * src/system.h: Include `xalloc.h'.
1752 Remove it from the C files.
1753 * src/files.c (output_files): Free the obstacks.
1754 * src/lex.c (init_lex): Rename as...
1757 * src/main.c (main): Use it.
1759 2001-09-24 Marc Autret <autret_m@epita.fr>
1761 * src/vcg.c (open_edge, close_edge, open_node, close_node): Change
1762 to output informations in fout (FILE*).
1763 (open_graph, close_graph): Likewise.
1764 (output_graph, output_edge, output_node): Likewise.
1765 * src/vcg.h: Update function prototypes.
1766 * src/print_graph.c (print_graph): Open output graph file.
1767 (print_actions): Adjust.
1768 * src/files.h: Remove extern declaration.
1769 * src/files.c: Remove graph_obstack declaration.
1770 (open_files): Remove graph_obstack initialization.
1771 (output_files): Remove graph_obstack saving.
1773 2001-09-24 Marc Autret <autret_m@epita.fr>
1775 * src/files.c (compute_output_file_names): Fix.
1777 2001-09-24 Marc Autret <autret_m@epita.fr>,
1778 Akim Demaille <akim@epita.fr>
1780 * src/reader.c (reader): Remove call to free_symtab ().
1781 * src/main.c (main): Call it here.
1783 * src/conflicts.c (initialize_conflicts): Rename as...
1784 (solve_conflicts): this.
1785 * src/print.c (print_core, print_actions, print_state)
1786 (print_grammar): Dump to a file instead a `output_obstack'.
1787 (print_results): Dump `output_obstack', and then proceed with the
1789 * src/files.c (compute_output_file_names, close_files): New.
1790 (output_files): Adjust.
1791 * src/main.c (main): Adjust.
1793 2001-09-23 Marc Autret <autret_m@epita.fr>
1795 * src/files.c (compute_header_macro): Computes header macro name
1796 from spec_defines_file when given.
1798 2001-09-23 Marc Autret <autret_m@epita.fr>
1800 * src/files.c (output_files): Add default extensions.
1802 2001-09-22 Akim Demaille <akim@epita.fr>
1804 * src/conflicts.c (finalize_conflicts): Rename as...
1805 (free_conflicts): this.
1807 2001-09-22 Akim Demaille <akim@epita.fr>
1809 * src/gram.c (gram_free): Rename back as...
1811 (output_token_translations): Free `token_translations'.
1812 * src/symtab.c (free_symtab): Free the tag field.
1814 2001-09-22 Akim Demaille <akim@epita.fr>
1816 Remove `translations' as it is always set to true.
1818 * src/gram.h: Adjust.
1819 * src/reader.c (packsymbols, parse_token_decl): Adjust
1820 * src/print.c (print_grammar): Adjust.
1821 * src/output.c (output_token_translations): Adjust.
1822 * src/lex.c (lex): Adjust.
1823 * src/gram.c: Be sure the set pointers to NULL.
1824 (dummy): Rename as...
1827 2001-09-22 Akim Demaille <akim@epita.fr>
1829 * configure.in: Invoke AM_LIB_DMALLOC.
1830 * src/system.h: Use dmalloc.
1831 * src/LR0.c: Be sure to have pointers initialized to NULL.
1832 (allocate_itemsets): Allocate kernel_items only if needed.
1834 2001-09-22 Akim Demaille <akim@epita.fr>
1836 * configure.in: Bump to 1.29b.
1837 * tests/Makefile.am (DISTCLEANFILES): Add package.m4.
1838 * tests/calc.at (_AT_DATA_CALC_Y): #undef malloc so that we don't
1839 need xmalloc.c in calc.y.
1842 2001-09-21 Akim Demaille <akim@epita.fr>
1845 * Makefile.maint, config/config.guess, config/config.sub,
1846 * config/missing: Update from masters.
1847 * tests/Makefile.am ($(srcdir)/$(TESTSUITE)): No longer depend
1849 * configure.in (ALL_LINGUAS): Add `tr'.
1851 2001-09-21 Akim Demaille <akim@epita.fr>
1853 * tests/Makefile.am (package.m4): Move to...
1854 ($(srcdir)/$(TESTSUITE)): here.
1856 2001-09-20 Akim Demaille <akim@epita.fr>
1858 * src/complain.c: No longer try to be standalone: use system.h.
1859 Don't assume __STDC__ is defined to 1. Just test if it is defined.
1860 * src/complain.h: Likewise.
1861 * src/reduce.c (useless_nonterminals, inaccessable_symbols):
1862 Remove the unused variable `n'.
1863 From Albert Chin-A-Young.
1865 2001-09-18 Marc Autret <autret_m@epita.fr>
1867 * doc/bison.1: Update.
1868 * doc/bison.texinfo (Bison Options): Update --defines and --graph
1870 (Option Cross Key): Update.
1873 2001-09-18 Marc Autret <autret_m@epita.fr>
1875 * tests/regression.at: New test (comment in %union).
1877 2001-09-18 Marc Autret <autret_m@epita.fr>
1879 * src/reader.c (parse_union_decl): Do not output '/'. Let copy_comment
1881 Reported by Keith Browne.
1883 2001-09-18 Marc Autret <autret_m@epita.fr>
1885 * tests/output.at: Add tests for --defines and --graph.
1887 2001-09-18 Marc Autret <autret_m@epita.fr>
1889 * tests/output.at: Removes tests of %{header,src}_extension features.
1891 2001-09-18 Akim Demaille <akim@epita.fr>
1893 * tests/Makefile.am (package.m4): New.
1894 * tests/calc.at (_AT_CHECK_CALC): Just run `calc input'.
1895 (_AT_CHECK_CALC_ERROR): Likewise.
1896 Factor the `, ' part of verbose error messages.
1898 2001-09-18 Marc Autret <autret_m@epita.fr>
1900 * src/getargs.c (longopts): Declare --defines and --graph as options
1901 with optional arguments.
1902 * src/files.h: Add extern declarations.
1903 * src/files.c (spec_graph_file, spec_defines_file): New.
1904 (output_files): Update.
1905 Remove CPP-outed code.
1907 2001-09-18 Marc Autret <autret_m@epita.fr>
1909 Turn off %{source,header}_extension feature.
1911 * src/files.c (compute_exts_from_gf): Update.
1912 (compute_exts_from_src): Update.
1913 (output_files): CPP-out useless code.
1914 * src/files.h: Remove {header,source}_extension extern declarations.
1915 * src/reader.c (parse_dquoted_param): CPP-out.
1916 (parse_header_extension_decl): Remove.
1917 (parse_source_extension_decl): Remove.
1918 (read_declarations): Remove cases tok_{hdrext,srcext}.
1919 * src/lex.c (percent_table): Remove {header,source}_extension entries.
1920 * src/lex.h (token_t): Remove tok_hdrext and tok_srcext.
1922 2001-09-10 Akim Demaille <akim@epita.fr>
1924 * tests/output.at (AT_CHECK_BISON_FLAGS, AT_CHECK_BISON_PERCENT):
1925 (AT_CHECK_BISON_PERCENT_FLAGS): Merge into...
1926 (AT_CHECK_OUTPUT): this.
1927 Merely check ls' exit status, its output is useless.
1929 2001-09-10 Akim Demaille <akim@epita.fr>
1931 * tests/calc.at: Use m4_match.
1932 (_AT_DATA_CALC_Y): Check `yyin != NULL', not `stdin != NULL'.
1934 2001-09-10 Marc Autret <autret_m@epita.fr>,
1935 Akim Demaille <akim@epita.fr>
1937 * src/vcg.h (graph_s): color, textcolor, bordercolor are now
1939 * src/print_graph.c (print_graph): Initalize graph.layoutalgorithm
1941 * src/reader.c (parse_token_decl): Initialize token with tok_eof.
1942 * src/lex.h: Adjust prototype.
1943 (token_t): Add `tok_undef'.
1944 * src/lex.c (struct percent_table_struct): Retval is now a token_t.
1945 (parse_percent_token): Now returns token_t.
1946 Add default statement in switch.
1947 (lex): Separate `c' as an input variable, from the token_t result
1949 (unlexed): Is a token_t.
1951 2001-09-10 Akim Demaille <akim@epita.fr>
1953 * configure.in: Bump to 1.29a.
1955 2001-09-07 Akim Demaille <akim@epita.fr>
1959 2001-08-30 Akim Demaille <akim@epita.fr>
1961 * tests/atgeneral.m4, tests/atconfig.in, tests/suite.at: Remove.
1962 * m4/atconfig.m4: Remove.
1963 * tests/testsuite.at, tests/atlocal.in, tests/output.at,
1965 * tests/regression.at, tests/calc.at: Use m4_define, AT_BANNER,
1966 m4_if, m4_patsubst, and m4_regexp.
1967 * tests/calc.at (_AT_CHECK_CALC, _AT_CHECK_CALC_ERROR): Use an
1968 `input' file instead of echo.
1970 2001-08-29 Akim Demaille <akim@epita.fr>
1974 2001-08-29 Akim Demaille <akim@epita.fr>
1978 2001-08-29 Paul Eggert <eggert@twinsun.com>
1980 * src/bison.simple (yyparse): Don't take the address of an
1981 item before the start of an array, as that doesn't conform to
1984 2001-08-29 Robert Anisko <anisko_r@epita.fr>
1986 * doc/bison.texinfo (Location Tracking Calc): New node.
1988 2001-08-29 Paul Eggert <eggert@twinsun.com>
1990 * src/output.c (output): Do not define const, as this now
1991 causes more problems than it cures.
1993 2001-08-29 Akim Demaille <akim@epita.fr>
1995 * doc/bison.texinfo: Modernize `@node' and `@top' use: just name
1997 Be sure to tag the `detailmenu'.
1999 2001-08-29 Akim Demaille <akim@epita.fr>
2001 * Makefile.maint (do-po-update): Wget refuses to overwrite files:
2002 download in a tmp dir.
2004 2001-08-28 Marc Autret <autret_m@epita.fr>
2006 * config/depcomp: New file.
2008 2001-08-28 Marc Autret <autret_m@epita.fr>
2010 * doc/bison.1 (mandoc): Adjust.
2011 From Juan Manuel Guerrero.
2013 2001-08-28 Marc Autret <autret_m@epita.fr>
2015 * src/print_graph.c (print_state): Fix.
2017 2001-08-27 Marc Autret <autret_m@epita.fr>
2019 * src/vcg.h (classname_s, infoname_s, node_s): Constify the
2021 Echo modifications to the functions prototypes.
2022 * src/vcg.c (add_classname, add_infoname): Adjust arguments.
2024 2001-08-27 Marc Autret <autret_m@epita.fr>
2026 * src/vcg.c: Include `xalloc.h'.
2027 (add_colorentry): New.
2028 (add_classname): New.
2029 (add_infoname): New.
2030 * src/vcg.h: Add new prototypes.
2032 2001-08-27 Akim Demaille <akim@epita.fr>
2034 * Makefile.maint: Sync. again with CVS Autoconf.
2036 2001-08-27 Akim Demaille <akim@epita.fr>
2038 * Makefile.maint: Formatting changes.
2039 (po-update, cvs-update, update): New targets.
2042 2001-08-27 Akim Demaille <akim@epita.fr>
2044 * Makefile.am (AUTOMAKE_OPTIONS): 1.5.
2045 * Makefile.maint: Sync. with CVS Autoconf.
2047 2001-08-27 Marc Autret <autret_m@epita.fr>
2049 * src/vcg.h (struct infoname_s): New.
2050 (struct colorentry_s): New.
2051 (graph_s): New fields {vertical,horizontal}_order in structure.
2052 Add `infoname' field.
2053 Add `colorentry' field;
2054 * src/vcg_defaults.h (G_VERTICAL_ORDER): New.
2055 (G_HORIZONTAL_ORDER): New.
2057 (G_COLORENTRY): New.
2058 * src/vcg.c (output_graph): Add output of {vertical,horizontal}_order.
2059 Add output of `infoname'.
2060 Add output of `colorentry'.
2062 2001-08-27 Marc Autret <autret_m@epita.fr>
2064 * src/reader.c (parse_dquoted_param): Rename variable `index' to `i'.
2065 This one shadowed a global parameter.
2067 2001-08-24 Marc Autret <autret_m@epita.fr>
2069 * src/print_graph.c (node_output_size): Declared POSIX `size_t' type,
2070 instead of `unsigned'.
2071 (print_state): Do not call obstack_object_size () in obstack_grow ()
2072 to avoid macro variables shadowing.
2074 2001-08-23 Marc Autret <autret_m@epita.fr>
2076 * src/lex.c (percent_table): Typo: s/naem/name/.
2078 Normalize new options declarations.
2080 2001-08-20 Pascal Bart <pascal.bart@epita.fr>
2082 * tests/suite.at: Exercise %header_extension and %source_extension.
2084 2001-08-16 Marc Autret <autret_m@epita.fr>
2086 * src/reader.c (parse_dquoted_param): New.
2087 (parse_header_extension_decl): Use it.
2088 (parse_source_extension_decl): Likewise.
2090 2001-08-16 Marc Autret <autret_m@epita.fr>
2092 * src/vcg.c: Remove includes of `complain.h' and `xalloc.h'.
2093 (get_xxxx_str): Use assert () instead of complain ().
2094 Remove return invokations in default cases.
2095 (get_decision_str): Modify default behaviour. Remove second argument.
2096 Echo modifications on calls.
2097 (output_graph): Fix.
2099 2001-08-16 Marc Autret <autret_m@epita.fr>
2101 * src/getargs.c (usage): Update with ``-g, --graph''.
2103 2001-08-16 Marc Autret <autret_m@epita.fr>
2105 * doc/bison.texinfo (Bison Options): Add items `-g', `--graph'.
2106 (Option Cross Key): Likewise.
2107 * doc/bison.1: Update.
2109 2001-09-25 Pascal Bart <pascal.bart@epita.fr>
2111 * src/output.c (output_master_parser): Don't finish action_obstack.
2112 (output_parser): Don't care about the muscle action, here.
2113 (prepare): Copy the action_obstack in the action muscle.
2114 (output): Free action_obstack.
2116 2001-09-23 Pascal Bart <pascal.bart@epita.fr>
2118 * src/reader.c (parse_union_decl): Add new obstack union_obstack. Which
2119 will contain `%union' declaration.
2120 (parse_union_decl): Delete #line directive output.
2121 (parse_union_decl): Substitute /attrs_obstack/union_obstack for all
2122 informations about %union.
2123 (parse_union_decl): Copy the union_obstack in the muscle stype.
2124 * src/bison.simple: Add new #line directive.
2125 Add typdef %%stype YYSTYPE.
2127 2001-09-23 Pascal Bart <pascal.bart@epita.fr>
2129 * src/bison.simple: Add new `#line' directive.
2131 2001-09-22 Pascal Bart <pascal.bart@epita.fr>
2133 * src/bison.simple: New `#line' directive.
2134 * src/output.c (output_parser): Support new dynamic muscle input_line.
2136 2001-09-22 Marc Autret <autret_m@epita.fr>
2138 * src/output.c (output_master_parser): New.
2139 (output_parser): Be more re-entrant.
2141 2001-09-21 Marc Autret <autret_m@epita.fr>
2143 * src/reader.c (copy_definition, parse_union_decl): Update and use
2145 (copy_action): Likewise.
2146 Use obstack_1grow ().
2147 * src/muscle_tab.c (muscle_init): Add muscle `linef'.
2149 2001-09-21 Marc Autret <autret_m@epita.fr>
2151 * src/options.c (option_table): Adjust.
2152 * src/lex.c (parse_percent_token): Fix.
2154 2001-09-20 Pascal Bart <pascal.bart@epita.fr>
2156 * src/options.c (symtab.h): Include it, need by lex.h.
2158 2001-09-20 Pascal Bart <pascal.bart@epita.fr>
2160 * src/lex.c (parse_percent_token): Change type of variable `tx', which
2161 is now an option_table_struct*.
2162 (option_strcmp): New function option_strcmp.
2163 (parse_percent_token): Call option_strcmp.
2164 * src/getargs.c (xalloc.h, options.h): Include it.
2165 (getargs): Call create_long_option_table.
2166 (getargs): Free longopts at the end of the function.
2167 (shortopts): Move in options.c.
2168 * src/options.c (create_long_option_table): New function. Convert
2169 information from option_table to option structure.
2170 * src/reader.c (options.h): Include it.
2172 * src/Makefile.am: Adjust.
2173 * src/options.c (option_table): Create from longopts and percent_table.
2174 * src/getargs.c (longopts): Delete.
2175 * src/lex.c (struct percent_table_struct): Delete.
2176 (percent_table): Delete.
2177 (options.h): Include it.
2178 * src/options.c: Create.
2179 * src/options.h: Create.
2180 Declare enum opt_access_e.
2181 Define struct option_table_struct.
2183 2001-09-20 Marc Autret <autret_m@epita.fr>
2185 * doc/bison.texinfo: Adjust terminologies about prologue and epilogue
2188 2001-09-19 Pascal Bart <pascal.bart@epita.fr>
2190 * src/bison.simple: s/%%filename/%%skeleton.
2191 * src/muscle_tab.c (getargs.h): Include it.
2192 (muscle_init): Insert new muscle skeleton.
2194 2001-09-18 Pascal Bart <pascal.bart@epita.fr>
2196 * src/output.c (output_parser): Delete unused variable actions_dumped.
2198 2001-09-07 Pascal Bart <pascal.bart@epita.fr>
2200 * src/output.c (output): Delete call to reader_output_yylsp.
2201 * src/reader.c (reader): Likewise.
2202 * src/reader.h: Delete declaration of reader_output_yylsp.
2204 2001-09-02 Marc Autret <autret_m@epita.fr>
2206 * src/reader.c: Include muscle_tab.h.
2207 (parse_union_decl): Update.
2208 (parse_macro_decl): Rename parse_muscle_decl.
2209 Update to use renamed functions and variable.
2210 (read_declarations, copy_action, read_additionnal_code, : Updated
2211 with correct variables and functions names.
2212 (packsymbols, reader): Likewise.
2214 * src/reader.h (muscle_obstack): Extern declaration update.
2216 * src/output.c: Include muscle_tab.h
2217 In all functions using macro_insert, change by using muscle_insert ().
2218 (macro_obstack): Rename muscle_obstack.
2219 Echo modifications in the whole file.
2220 (MACRO_INSERT_INT): Rename MUSCLE_INSERT_INT.
2221 (MACRO_INSERT_STRING): Rename MUSCLE_INSERT_STRING.
2222 (MACRO_INSERT_PREFIX): Rename MUSCLE_INSERT_PREFIX.
2224 * src/muscle_tab.h: Update double inclusion macros.
2225 (macro_entry_s): Rename muscle_entry_s.
2228 * src/muscle_tab.c: Include muscle_tab.h.
2229 Rename macro_tabble to muscle_table.
2230 (mhash1, mhash2, mcmp): Use muscle_entry.
2231 (macro_init): Rename muscle_init. Update.
2232 (macro_insert): Rename muscle_insert. Update.
2233 (macro_find): Rename muscle_find. Update.
2235 * src/main.c: Include muscle_tab.h.
2236 (main): Call muscle_init ().
2237 * src/Makefile.am (bison_SOURCES): Echo modifications.
2239 2001-09-02 Marc Autret <autret_m@epita.fr>
2241 Now the files macro_tab.[ch] are named muscle_tab.[ch].
2243 * src/muscle_tab.c, src/muscle_tab.h: Add files.
2245 2001-09-02 Marc Autret <autret_m@epita.fr>
2247 * src/macrotab.c, src/macrotab.h: Remove.
2249 2001-09-01 Pascal Bart <pascal.bart@epita.fr>
2251 * src/reader.c (copy_guard): Use muscle to specify the `#line'
2254 2001-09-01 Marc Autret <autret_m@epita.fr>
2256 * tests/calc.at (exp): Now, YYERROR_VERBOSE need to be set
2257 to an explicit value to activate the feature. We do it here.
2259 2001-08-31 Pascal Bart <pascal.bart@epita.fr>
2261 * src/output.c (prepare): Delete the `filename' muscule insertion.
2262 * src/reader.c (copy_action): Use `filename' muscule with `#line'.
2263 (parse_union_decl): Likewise.
2264 * src/macrotab.c (macro_init): Initialize filename by infile.
2266 2001-08-31 Marc Autret <autret_m@epita.fr>
2268 * src/bison.simple (YYLSP_NEEDED): New definition.
2269 * src/output.c (prepare): Add macro insertion of `locations_flag'
2271 2001-08-31 Pascal Bart <pascal.bart@epita.fr>
2273 * src/output.c (prepare): Delete insertion of previous muscles,
2274 and insert the `prefix' muscles.
2275 * src/macrotab.c (macro_init): Likewise.
2276 (macro_init): Initialization prefix directive by `yy'.
2277 * src/bison.simple: Substitute all %%yylex, %%yychar, %%yylval,
2278 %%yydebug, %%yyerror, %%yynerrs and %%yyparse by yylex, yychar,
2279 yylval, yydebug, yyerror, yynerrs and yyparse.
2280 New directive `#define' to substitute yydebug, ... with option
2283 2001-08-31 Pascal Bart <pascal.bart@epita.fr>
2285 * src/main.c (main): Standardize.
2286 * src/output.c (output_table_data, output_parser): Likewise.
2287 * src/macrotab.h, src/macrotab.c, src/bison.simple: Likewise.
2289 2001-08-31 Pascal Bart <pascal.bart@epita.fr>, Marc Autret <autret_m@epita.fr>
2291 * src/reader.c (read_additionnal_code): Rename %%user_code to
2293 * src/output.c (output): Rename %%declarations to %%prologue.
2294 * src/bison.simple: Echo modifications.
2296 2001-08-31 Marc Autret <autret_m@epita.fr>
2298 * src/reader.c (readgram): CleanUp.
2299 (output_token_defines): Likewise.
2300 (packsymbols): Likewise.
2302 * src/output.c (output): CPP-out useless code.
2304 2001-08-31 Pascal Bart <pascal.bart@epita.fr>
2306 * src/reader.c (reader): Delete obsolete call to function
2307 output_trailers and output_headers.
2308 * src/output.h: Remove obsolete functions prototypes of output_headers
2309 and output_trailers.
2311 2001-08-30 Pascal Bart <pascal.bart@epita.fr>
2313 * src/main.c: Include macrotab.h.
2314 * src/macrotab.h (macro_entry_s): Constify fields.
2315 Adjust functions prototypes.
2316 * src/macrotab.c (macro_insert): Constify key and value.
2317 (macro_find): Constify key.
2318 (macro_insert): Include 'xalloc.h'
2319 (macro_insert): Use XMALLOC.
2320 (macro_find): Constify return value.
2321 * src/output.c (output_table_data): Rename table to table_data.
2322 (output_parser): Constify macro_key, macro_value.
2324 2001-08-30 Marc Autret <autret_m@epita.fr>
2326 * src/reader.c (parse_skel_decl): New.
2327 (read_declarations): Add case `tok_skel', call parse_skel_decl ().
2328 * src/lex.h (token_t): New token `tok_skel'.
2329 * src/lex.c (percent_table): Add skeleton option entry.
2332 2001-08-29 Marc Autret <autret_m@epita.fr>
2334 * src/bison.simple: Add %%user_code directive at the end.
2335 * src/reader.c (read_additionnal_code): New.
2337 * src/output.c (output_program): Remove.
2340 2001-08-28 Marc Autret <autret_m@epita.fr>
2342 * src/output.c (output_actions): Clean up.
2343 (output_gram): CPP-out useless code.
2344 * src/reader.c (reader): Clean up, CPP-out useless code.
2346 2001-08-28 Pascal Bart <pascal.bart@epita.fr>
2348 * src/output.c (output): Copy attrs_obstack in the '%%definitions'
2350 * src/bison.simple: Add `%%definitions'.
2352 2001-08-28 Marc Autret <autret_m@epita.fr>
2354 * config/depcomp: New file.
2356 2001-08-27 Paul Eggert <eggert@twinsun.com>
2358 * src/bison.simple (yyparse): Don't take the address of an
2359 item before the start of an array, as that doesn't conform to
2362 2001-08-27 Robert Anisko <robert.anisko@epita.fr>
2364 * src/output.c (output): Remove the initialization of the macro
2365 obstack. It was done too late here.
2367 * src/reader.c (parse_macro_decl): Fix. Use of the macro obstack was
2369 (reader): Initialize the macro obstack here, since we need it to grow
2370 '%define' directives.
2372 * src/reader.h: Declare the macro obstack as extern.
2374 2001-08-27 Robert Anisko <robert.anisko@epita.fr>
2376 * src/output.c (output_parser): Fix. Store single '%' characters in
2377 the output obstack instead of throwing them away.
2379 2001-08-27 Akim Demaille <akim@epita.fr>
2381 * Makefile.am (AUTOMAKE_OPTIONS): 1.5.
2383 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
2385 * lib/Makefile.am: Adjust.
2387 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
2389 * src/bison.simple: Update and add '%%' directives.
2391 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
2393 * src/reader.c (reader): Remove calls to 'output_headers' and
2394 'output_trailers'. Remove some C output.
2395 (readgram): Disable a piece of code that was writing a default
2396 definition for 'YYSTYPE'.
2397 (reader_output_yylsp): Remove.
2398 (packsymbols): Output token defintions to a macro.
2399 (copy_definition): Disable C output.
2401 * src/reader.c (parse_macro_decl): New function used to parse macro
2403 (copy_string2): Put the body of copy_string into this new function.
2404 Add a parameter to let the caller choose whether he wants to copy the
2405 string delimiters or not.
2406 (copy_string): Be a simple call to copy_string2 with the last argument
2408 (read_declarations): Add case for macro definition.
2409 (copy_identifier): New.
2410 (parse_macro_decl): Read macro identifiers using copy_identifier
2413 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
2415 * src/output.c (prepare): Add prefixed names.
2416 (output_parser): Output semantic actions.
2417 (output_parser): Fix bug on '%%line' directives.
2419 * src/output.c (output_headers): Remove. The C code printed by this
2420 function should now be in the skeletons.
2421 (output_trailers): Remove.
2422 (output): Disable call to 'reader_output_yylsp'.
2423 (output_rule_data): Do not output tables to the table obstack.
2425 * src/output.c: Remove some C dedicated output.
2426 Improve the use of macro and output obstacks.
2427 (output_defines): Remove.
2429 * src/output.c (output_token_translations): Associate 'translate'
2430 table with a macro. No output to the table obstack.
2431 (output_gram): Same for 'rhs' and 'prhs'.
2432 (output_stos): Same for 'stos'.
2433 (output_rule_data): Same for 'r1' and 'r2'.
2434 (token_actions): Same for 'defact'.
2435 (goto_actions): Same for 'defgoto'.
2436 (output_base): Same for 'pact' and 'pgoto'.
2437 (output_table): Same for 'table'.
2438 (output_check): Same for 'check'.
2440 * src/output.c (output_table_data): New function.
2441 (output_short_table): Remove.
2442 (output_short_or_char_table): Remove.
2444 * src/output.c (output_parser): Replace most of the skeleton copy code
2445 with something new. Skeletons are now processed character by character
2446 rather than line by line, and Bison looks for '%%' macros. This is the
2447 first step in making Bison's output process (a lot) more flexible.
2448 (output_parser): Use the macro table.
2450 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
2452 * src/main.c (main): Initialize the macro table.
2454 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
2456 * src/lex.c (percent_table): Add tok_define.
2457 * src/lex.h: Add tok_define.
2459 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
2461 * src/macrotab.c: New file.
2462 * src/macrotab.h: New file.
2463 * src/Makefile.am: Update.
2465 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
2467 * lib/hash.c: New file.
2468 * lib/hash.h: New file.
2469 * lib/Makefile.am: Update.
2471 2001-08-15 Akim Demaille <akim@epita.fr>
2475 2001-08-15 Marc Autret <autret_m@epita.fr>
2477 * src/reader.c (readgram): Indent output macro YYSTYPE.
2478 (packsymbols): Likewise.
2479 (output_token_defines): Likewise.
2480 * src/files.c: Standardize.
2481 (compute_header_macro): New.
2482 (defines_obstack_save): New. Use compute_header_macro.
2483 (output_files): Update. Use defines_obstack_save.
2485 2001-08-15 Akim Demaille <akim@epita.fr>
2487 * doc/bison.texinfo (Table of Symbols): Document
2490 2001-08-15 Akim Demaille <akim@epita.fr>
2492 * missing: Update from CVS Automake.
2493 * config/config.guess, config/config.sub, config/texinfo.tex:
2494 Update from gnu.org.
2496 2001-08-15 Akim Demaille <akim@epita.fr>
2498 * Makefile.maint: Sync with CVS Autoconf.
2500 2001-08-14 Pascal Bart <pascal.bart@epita.fr>
2502 * doc/bison.texinfo: Include GNU Free Documentation License from
2504 * doc/fdl.texi: Add to package.
2506 2001-08-14 Marc Autret <autret_m@epita.fr>
2508 Turn on %{source,header}_extension features.
2510 * src/lex.c (percent_table): Un-CPP out header_extension and
2512 * src/files.c (compute_exts_from_gf): Compare pointers with NULL.
2513 (compute_exts_from_src): Remove conditions. It restores priorities
2516 2001-08-14 Marc Autret <autret_m@epita.fr>
2518 * src/files.c (compute_base_names): Add extensions computing when
2519 `--file-prefix' used.
2520 Standardize function calls.
2522 2001-08-13 Marc Autret <autret_m@epita.fr>
2524 * src/bison.simple (YYSTACK_USE_ALLOCA): Changed to allow users
2525 defining it (defined but null disables alloca).
2527 2001-08-13 Marc Autret <autret_m@epita.fr>
2529 * src/bison.simple (_yy_memcpy): CPP reformat.
2531 2001-08-13 Pascal Bart <pascal.bart@epita.fr>
2533 * tests/atconfig.in (CPPFLAGS): Fix.
2535 2001-08-10 Pascal Bart <pascal.bart@epita.fr>
2537 * doc/bison.texinfo: Include GNU General Public License from
2539 * doc/gpl.texi: Add to package.
2541 2001-08-10 Marc Autret <autret_m@epita.fr>
2543 * src/print_graph.h: Fix.
2544 * src/reader.c (read_declarations): Use parse_header_extension_decl ().
2546 2001-08-10 Akim Demaille <akim@epita.fr>
2548 * src/system.h: Provide default declarations for stpcpy, strndup,
2551 2001-08-10 Robert Anisko <anisko_r@epita.fr>
2553 * doc/bison.texinfo (Locations): Update @$ stuff.
2555 2001-08-09 Robert Anisko <anisko_r@epita.fr>
2557 * src/bison.simple (YYLLOC_DEFAULT): Update.
2560 2001-08-08 Marc Autret <autret_m@epita.fr>
2562 * doc/bison.texinfo: Change @samp{$<@dots{}>} to
2563 @samp{$<@dots{}>@var{n}} in Section Actions in Mid-Rule.
2564 Reported by Fabrice Bauzac.
2566 2001-08-08 Marc Autret <autret_m@epita.fr>
2568 * src/vcg_default.h: Use NULL instead of 0 to initialize pointers.
2569 * src/vcg.c (output_node): Fix.
2570 * src/vcg.h: Cleanup.
2571 * src/print_graph.c: Add comments.
2572 (node_output_size): New global variable. Simplify the formatting of
2573 the VCG graph output.
2574 (print_actions): Unused code is now used. It notifies the final state
2575 and no action states in the VCG graph. It also give the reduce actions.
2576 The `shift and goto' edges are red and the `go to state' edges are
2578 Get the current node name and node_obstack by argument.
2579 (node_obstack): New variable.
2580 (print_state): Manage node_obstack.
2581 (print_core): Use node_obstack given by argument.
2582 A node is not only computed here but in print_actions also.
2583 (print_graph): CPP out useless code instead of commenting it.
2585 2001-08-07 Pascal Bart <pascal.bart@epita.fr>
2587 * tests/atconfig.in (CPPFLAGS): Fix.
2589 2001-08-07 Akim Demaille <akim@epita.fr>
2591 * src/print_graph.c (quote): New.
2592 (print_core): Use it.
2594 2001-08-06 Akim Demaille <akim@epita.fr>, Marc Autret <autret_m@epita.fr>
2596 * src/vcg.c (complain.h): Include it.
2597 Unepitaize `return' invocations.
2598 [NDEBUG] (main): Remove.
2599 * src/vcg.h (node_t, edge_t, graph_t): Constify the char * members.
2600 * src/files.c (open_files): Initialize graph_obstack.
2601 * src/print_graph.c (print_actions): CPP out useless code.
2602 (print_core): Don't output the last `\n' in labels.
2604 * src/files.c (output_files): Output the VCG file.
2605 * src/main.c (main): Invoke print_graph ();
2607 2001-08-06 Marc Autret <autret_m@epita.fr>
2609 Automaton VCG graph output.
2610 Using option ``-g'' or long option ``--graph'', you can generate
2611 a gram_filename.vcg file containing a VCG description of the LALR (1)
2612 automaton of your grammar.
2614 * src/main.c: Call to print_graph() function.
2615 * src/getargs.h: Update.
2616 * src/getargs.c (options): Update to catch `-g' and `--graph' options.
2617 (graph_flag): New flag.
2619 (getargs): Add case `g'.
2620 * src/files.c (graph_obstack): New obstack struct.
2621 (open_files): Initialize new obstack.
2622 (output_files): Saves graph_obstack if required.
2623 * src/files.h (graph_obstack): New extern declaration.
2624 * src/Makefile.am: Add new source files.
2626 2001-08-06 Marc Autret <autret_m@epita.fr>
2628 * src/print_graph.c, src/print_graph.h (graph): New.
2629 * src/vcg.h: New file.
2630 * src/vcg.c: New file, VCG graph handling.
2632 2001-08-06 Marc Autret <autret_m@epita.fr>
2634 Add of %source_extension and %header_extension which specify
2635 the source or/and the header output file extension.
2637 * src/files.c (compute_base_names): Remove initialisation of
2638 src_extension and header_extension.
2639 (compute_exts_from_gf): Update.
2640 (compute_exts_from_src): Update.
2641 (output_files): Update.
2642 * src/reader.c (parse_header_extension_decl): New.
2643 (parse_source_extension_decl): New.
2644 (read_declarations): New case statements for the new tokens.
2645 * src/lex.c (percent_table): Add entries for %source_extension
2646 and %header_extension.
2647 * src/lex.h (token_e): New tokens tok_hdrext and tok_srcext.
2649 2001-08-06 Marc Autret <autret_m@epita.fr>
2651 * configure.in: Bump to 1.28c.
2652 * doc/bison.texinfo: Texinfo thingies.
2654 2001-08-04 Pascal Bart <pascal.bart@epita.fr>
2656 * tests/atconfig.in (CPPFLAGS): Add.
2657 * tests/calc.at (AT_CHECK): Use CPPFLAGS.
2659 2001-08-03 Akim Demaille <akim@epita.fr>
2663 2001-08-03 Akim Demaille <akim@epita.fr>
2665 * tests/Makefile.am (check-local): Ship testsuite.
2666 * tests/calc.at (_AT_DATA_CALC_Y): Prototype all the functions.
2669 2001-08-03 Akim Demaille <akim@epita.fr>
2671 * configure.in: Try using -Wformat when compiling.
2673 2001-08-03 Akim Demaille <akim@epita.fr>
2675 * configure.in: Bump to 1.28b.
2677 2001-08-03 Akim Demaille <akim@epita.fr>
2679 * src/complain.c: Adjust strerror_r portability issues.
2681 2001-08-03 Akim Demaille <akim@epita.fr>
2685 2001-08-03 Akim Demaille <akim@epita.fr>
2687 * src/getargs.c, src/getarg.h (skeleton)): Constify.
2688 * src/lex.c (literalchar): Avoid name clashes on `buf'.
2689 * src/getargs.c: Include complain.h.
2690 * src/files.c, src/files.h (skeleton_find): Avoid name clashes.
2691 * lib/quotearg.c, lib/quotearg.h: Update from fileutils 4.1.
2693 2001-08-03 Akim Demaille <akim@epita.fr>
2695 * src/reader.c (readgram): Display hidden chars in error messages.
2697 2001-08-03 Akim Demaille <akim@epita.fr>
2699 Update to gettext 0.10.39.
2701 2001-08-03 Akim Demaille <akim@epita.fr>
2703 * lib/strspn.c: New.
2705 2001-08-01 Marc Autret <autret_m@epita.fr>
2707 * doc/bison.texinfo: Update.
2708 * doc/bison.1 (mandoc): Update.
2709 * src/system.h (EXT_GUARD_C, EXT_STYPE_H): Remove .c and .h.
2710 * src/files.c: Support output files extensions computing.
2711 (src_extension): New static variable.
2712 (header_extension): New static variable.
2714 (get_extension_index): New function, gets the index of an extension
2715 filename in a string.
2716 (compute_exts_from_gf): New function, computes extensions from the
2717 grammar file extension.
2718 (compute_exts_from_src): New functions, computes extensions from the
2719 C source file extension, file given by ``-o'' option.
2720 (compute_base_names): Update.
2721 (output_files): Update.
2723 2001-08-01 Robert Anisko <anisko_r@epita.fr>
2725 * doc/bison.texi: Document @$.
2726 (Locations): New section.
2728 2001-07-18 Akim Demaille <akim@epita.fr>
2730 * Makefile.maint, GNUmakefile: New, from Autoconf 2.52.
2731 * config/prev-version.txt, config/move-if-change: New.
2732 * Makefile.am: Adjust.
2734 2001-07-08 Pascal Bart <pascal.bart@epita.fr>
2736 * src/bison.simple (yyparse): Suppress warning `comparaison
2737 between signed and unsigned'.
2739 2001-07-05 Pascal Bart <pascal.bart@epita.fr>
2741 * src/getargs.h (raw_flag): Remove.
2742 * src/getargs.c: Die on `-r'/`--raw'.
2743 * src/lex.c (parse_percent_token): Die on `%raw'.
2744 * src/reader.c (output_token_defines): Suppress call to `raw_flag'.
2745 * tests/calc.at: Suppress test with option `--raw'.
2747 2001-07-14 Akim Demaille <akim@epita.fr>
2750 * configure.in: Require Autoconf 2.50.
2751 Update to gettext 0.10.38.
2753 2001-03-16 Akim Demaille <akim@epita.fr>
2755 * doc/bison.texinfo: ANSIfy the examples.
2757 2001-03-16 Akim Demaille <akim@epita.fr>
2759 * getargs.c (skeleton): New variable.
2760 (longopts): --skeleton is a new option.
2761 (shortopts, getargs): -S is a new option.
2762 * getargs.h: Declare skeleton.
2763 * output.c (output_parser): Use it.
2765 2001-03-16 Akim Demaille <akim@epita.fr>
2767 * m4/strerror_r.m4: New.
2768 * m4/error.m4: Run AC_FUNC_STRERROR_R.
2769 * lib/error.h, lib/error.c: Update.
2771 2001-03-16 Akim Demaille <akim@epita.fr>
2773 * src/getargs.c (longopts): Clean up.
2775 2001-02-21 Akim Demaille <akim@epita.fr>
2777 * src/reader.c (gensym): `gensym_count' is your own.
2778 Use a static buf to create the symbol name, as token_buffer is no
2781 2001-02-08 Akim Demaille <akim@epita.fr>
2783 * src/conflicts.c (conflict_report): Be sure not to append to res
2784 between two calls, which could happen if both first sprintf were
2785 skipped, but not the first cp += strlen.
2787 2001-02-08 Akim Demaille <akim@epita.fr>
2789 * lib/memchr.c, lib/stpcpy.c, lib/strndup.c, lib/strnlen.c:
2790 New, from fileutils 4.0.37.
2791 * configure.in: Require Autoconf 2.49c. I took some time before
2792 making this decision. This is the only way out for portability
2793 issues in Bison, it would mean way too much duplicate effort to
2794 import in Bison features implemented in 2.49c since 2.13.
2795 AC_REPLACE_FUNCS and AC_CHECK_DECLS the functions above.
2797 2001-02-02 Akim Demaille <akim@epita.fr>
2799 * lib/malloc.c, lib/realloc.c: New, from the fileutils 4.0.37.
2800 * lib/xalloc.h, lib/xmalloc.c: Update.
2802 2001-01-19 Akim Demaille <akim@epita.fr>
2804 Get rid of the ad hoc handling of token_buffer in the scanner: use
2807 * src/lex.c (token_obstack): New.
2808 (init_lex): Initialize it. No longer call...
2809 (grow_token_buffer): this. Remove it.
2810 Adjust all the places which used it to use the obstack.
2812 2001-01-19 Akim Demaille <akim@epita.fr>
2814 * src/lex.h: Rename all the tokens:
2815 s/\bENDFILE\b/tok_eof/g;
2816 s/\bIDENTIFIER\b/tok_identifier/g;
2818 Let them be enums, not #define, to ease debugging.
2819 Adjust all the code.
2821 2001-01-18 Akim Demaille <akim@epita.fr>
2823 * src/lex.h (MAXTOKEN, maxtoken, grow_token_buffer): Remove, private.
2824 * src/lex.c (maxtoken, grow_token_buffer): Static.
2826 2001-01-18 Akim Demaille <akim@epita.fr>
2828 Since we now use obstacks, more % directives can be enabled.
2830 * src/lex.c (percent_table): Also accept `%yacc',
2831 `%fixed_output_files', `%defines', `%no_parser', `%verbose', and
2833 Handle the actions for `%semantic_parser' and `%pure_parser' here,
2834 instead of returning a token.
2835 * src/lex.h (SEMANTIC_PARSER, PURE_PARSER): Remove, unused.
2836 * src/reader.c (read_declarations): Adjust.
2837 * src/files.c (open_files): Don't call `compute_base_names', don't
2838 compute `attrsfile' since they depend upon data which might be
2839 *in* the input file now.
2840 (output_files): Do it here.
2841 * src/output.c (output_headers): Document the fact that this patch
2842 introduces a guaranteed SEGV for semantic parsers.
2843 * doc/bison.texinfo: Document them.
2844 * tests/suite.at: Exercise these %options.
2846 2000-12-20 Akim Demaille <akim@epita.fr>
2848 Also handle the output file (--verbose) with obstacks.
2850 * files.c (foutput): Remove.
2851 (output_obstack): New.
2852 Adjust all dependencies.
2853 * src/conflicts.c: Return a string.
2854 * src/system.h (obstack_grow_string): Rename as...
2855 (obstack_sgrow): this. Be ready to work with non literals.
2856 (obstack_fgrow4): New.
2858 2000-12-20 Akim Demaille <akim@epita.fr>
2860 * src/files.c (open_files): Fix the computation of short_base_name
2861 in the case of `-o foo.tab.c'.
2863 2000-12-20 Akim Demaille <akim@epita.fr>
2865 * src/reader.c (copy_string, copy_comment, copy_comment2, copy_at)
2866 (copy_dollar): Now that everything uses obstacks, get rid of the
2869 2000-12-20 Akim Demaille <akim@epita.fr>
2871 * src/files.c (open_files): Actually the `.output' file is based
2872 on the short_base_name, not base_name.
2873 * tests/suite.at (Checking output file names): Adjust.
2875 2000-12-20 Akim Demaille <akim@epita.fr>
2877 * src/bison.s1: Remove, we now use directly...
2878 * src/bison.simple: this.
2879 * src/Makefile.am: Use pkgdata instead of data.
2881 2000-12-20 Akim Demaille <akim@epita.fr>
2883 * src/files.c (guard_obstack): New.
2884 (open_files): Initialize it.
2885 (output_files): Dump it...
2886 * src/files.h: Export it.
2887 * src/reader.c (copy_guard): Use it.
2889 2000-12-19 Akim Demaille <akim@epita.fr>
2891 * src/files.c (outfile, defsfile, actfile): Removed as global
2893 (open_files): Don't compute them.
2894 (output_files): Adjust.
2895 (base_name, short_base_name): Be global.
2896 Adjust dependencies.
2898 2000-12-19 Akim Demaille <akim@epita.fr>
2900 * src/files.c (strsuffix): New.
2901 (stringappend): Be just like strcat but allocate.
2902 (base_names): Eve out from open_files.
2903 Try to simplify the rather hairy computation of base_name and
2905 (open_files): Use it.
2906 * tests/suite.at (Checking output file names): New test.
2908 2000-12-19 Akim Demaille <akim@epita.fr>
2910 * src/system.h (obstack_grow_literal_string): Rename as...
2911 (obstack_grow_string): this.
2912 * src/output.c (output_parser): Recognize `%% actions' instead of
2914 * src/bison.s1: s/$/%% actions/.
2915 * src/bison.hairy: Likewise.
2917 2000-12-19 Akim Demaille <akim@epita.fr>
2919 * src/output.c (output_parser): Compute the `#line' lines when
2921 * src/Makefile.am (bison.simple): Be a simple copy of bison.s1.
2922 Suggested by Hans Aberg.
2924 2000-12-19 Akim Demaille <akim@epita.fr>
2926 Let the handling of the skeleton files be local to the procedures
2929 * src/files.c (xfopen, xfclose, skeleton_find, guardfile): No
2931 (fparser, open_extra_files): Remove.
2932 (open_files, output_files): Don't take care of fparser.
2933 * src/files.h: Adjust.
2934 * src/output.c (output_parser): Open and close the file to the
2936 * src/reader.c (read_declarations): When %semantic_parser, open
2939 2000-12-19 Akim Demaille <akim@epita.fr>
2941 * src/file.h (BISON_SIMPLE, BISON_HAIRY): Move from here...
2942 * src/system.h (BISON_SIMPLE, BISON_HAIRY): ... to here.
2944 2000-12-19 Akim Demaille <akim@epita.fr>
2946 * src/files.c (open_files): Yipee! We no longer need all the code
2947 looking for `/tmp' since we have no tmp file.
2949 2000-12-19 Akim Demaille <akim@epita.fr>
2951 * src/system.h (EXT_TAB, EXT_OUTPUT, EXT_STYPE_H, EXT_GUARD_C):
2953 * src/files.c (open_files): Less dependency on MSDOS etc.
2955 2000-12-14 Akim Demaille <akim@epita.fr>
2957 * src/bison.s1 (YYLLOC_DEFAULT): New macro.
2958 Provide a default definition.
2959 Use it when executing the default @ action.
2960 * src/reader.c (reader_output_yylsp): No longer include
2961 `timestamp' and `text' in the default YYLTYPE.
2963 2000-12-12 Akim Demaille <akim@epita.fr>
2965 * src/reader.c (copy_definition, parse_union_decl, copy_action)
2966 (copy_guard): Quote the file names.
2967 Reported by Laurent Mascherpa.
2969 2000-12-12 Akim Demaille <akim@epita.fr>
2971 * src/output.c (output_headers, output_program, output): Be sure
2972 to escape special characters when outputting filenames.
2973 (ACTSTR_PROLOGUE, ACTSTR_EPILOGUE): Remove.
2974 (output_headers): Don't depend on them, Use ACTSTR.
2976 2000-11-17 Akim Demaille <akim@epita.fr>
2978 * lib/obstack.h: Formatting changes.
2979 (obstack_grow, obstack_grow0): Don't cast WHERE at all: it
2980 prevents type checking.
2981 (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
2982 cast the value to (void *): assigning a `foo *' to a `void *'
2984 (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
2985 * src/reader.c (parse_union_decl): Typo: use obstack_1grow to
2988 2000-11-17 Akim Demaille <akim@epita.fr>
2990 * tests/Makefile.am (suite.m4, regression.m4, calc.m4): Rename
2992 (suite.m4, regression.m4, calc.m4): these.
2993 * tests/atgeneral.m4: Update from CVS Autoconf.
2995 2000-11-17 Akim Demaille <akim@epita.fr>
2997 * tests/regression.m4 (%union and --defines): New test,
2998 demonstrating a current bug in the obstack implementation.
3000 2000-11-17 Akim Demaille <akim@epita.fr>
3002 * src/bison.s1 (_YY_DECL_VARIABLES, YY_DECL_VARIABLES): New
3004 Use them to declare the variables which are global or local to
3007 2000-11-17 Akim Demaille <akim@epita.fr>
3009 * acconfig.h: Remove, no longer used.
3011 2000-11-07 Akim Demaille <akim@epita.fr>
3013 * src: s/Copyright (C)/Copyright/g.
3015 2000-11-07 Akim Demaille <akim@epita.fr>
3017 * src/reader.c (reader): #define YYLSP_NEEDED to 1 instead of just
3019 * src/bison.s1: s/#ifdef YYLSP_NEEDED/#if YYLSP_NEEDED/.
3021 2000-11-07 Akim Demaille <akim@epita.fr>
3023 * src/bison.s1 (YYLEX): Use #if instead of #ifdef.
3024 Merge in a single CPP if/else.
3026 2000-11-07 Akim Demaille <akim@epita.fr>
3028 * src/output.c (output): Remove useless variables.
3029 * lib/obstack.c (obstack_grow, obstack_grow0): Rename the second
3030 argument `data' for consistency with the prototypes.
3032 (obstack_copy, obstack_copy0): Rename the second argument as
3033 `address' for consistency. Qualify it `const'.
3034 * lib/obstack.h (obstack_copy, obstack_copy0, obstack_grow)
3035 (obstack_grow0, obstack_ptr_grow, obstack_ptr_grow_fast): Qualify
3036 `const' their input argument (`data' or `address').
3037 Adjust the corresponding macros to include `const' in casts.
3039 2000-11-03 Akim Demaille <akim@epita.fr>
3041 * src/Makefile.am (INCLUDES): s/PFILE/BISON_SIMPLE/.
3042 s/PFILE1/BISON_HAIRY/.
3043 Adjust dependencies.
3045 2000-11-03 Akim Demaille <akim@epita.fr>
3047 For some reason, this was not applied.
3049 * src/files.c [VMS]: No longer include `ssdef.h', no longer define
3050 `unlink': it's no longer used.
3052 2000-11-03 Akim Demaille <akim@epita.fr>
3054 * src/files.c (skeleton_find): New function, eved out of...
3055 (open_files, open_extra_files): here.
3057 2000-11-03 Akim Demaille <akim@epita.fr>
3061 * src/files.c (obstack_save): New function.
3062 (done): Rename as...
3063 (output_files): this.
3065 * src/main.c (main): Don't use `atexit' to register `done', since
3066 it no longer has to remove tmp files, just call `output_files'
3067 when there are no errors.
3069 2000-11-02 Akim Demaille <akim@epita.fr>
3071 * src/files.c [VMS]: No longer include `ssdef.h', no longer define
3072 `unlink': it's no longer used.
3073 * src/files.h: Formatting changes.
3075 2000-11-02 Akim Demaille <akim@epita.fr>
3077 Remove the last uses of mktemp and unlink/delete.
3079 * src/files.c (fdefines, ftable): Removed.
3080 (defines_ostack, table_obstack): New.
3081 Adjust dependencies of the former into uses of the latter.
3082 * src/output.c (output_short_or_char_table, output_short_table):
3083 Convert to using obstacks.
3084 * src/reader.c (copy_comment2): Accept one FILE * and two
3086 (output_token_defines, reader_output_yylsp): Use obstacks.
3087 * src/system.h (obstack_fgrow3): New.
3089 2000-11-01 Akim Demaille <akim@epita.fr>
3091 Change each use of `fattrs' into a use of `attrs_obstack'.
3093 * src/reader.c (copy_at): Typo: s/yylloc/yyloc/.
3094 * src/files.c (fattrs): Remove.
3095 (attrs_obstack): New.
3096 Adjust all dependencies.
3097 (done): If SEMANTIC_PARSER, dump attrs_obstack into attrsfile.
3099 2000-11-01 Akim Demaille <akim@epita.fr>
3102 Change each use of `faction' into a use of `action_obstack'.
3104 * lib/obstack.h, lib/obstack.c: New files.
3105 * src/files.c (faction): Remove.
3106 (action_obstack): New.
3107 Adjust all dependencies.
3109 2000-10-20 Akim Demaille <akim@epita.fr>
3111 * lib/quote.h (PARAMS): New macro. Use it.
3113 2000-10-16 Akim Demaille <akim@epita.fr>
3115 * src/output.c (output_short_or_char_table): New function.
3116 (output_short_table, output_token_translations): Use it.
3117 (goto_actions): Use output_short_table.
3119 2000-10-16 Akim Demaille <akim@epita.fr>
3121 * src/symtab.c (bucket_new): New function.
3124 * src/output.c (output_short_table): New argument to display the
3125 comment associated with the table.
3126 Adjust dependencies.
3127 (output_gram): Use it.
3128 (output_rule_data): Nicer output layout for YYTNAME.
3130 2000-10-16 Akim Demaille <akim@epita.fr>
3132 * src/lex.c (read_typename): New function.
3134 * src/reader.c (copy_dollar): Likewise.
3136 2000-10-16 Akim Demaille <akim@epita.fr>
3138 * src/reader.c (copy_comment2): Expect the input stream to be on
3139 the `/' which is suspected to open a comment, instead of being
3140 called after `//' or `/*' was read.
3141 (copy_comment, copy_definition, parse_union_decl, copy_action)
3142 (copy_guard): Adjust.
3144 2000-10-16 Akim Demaille <akim@epita.fr>
3146 * src/reader.c (parse_expect_decl): Use `skip_white_space' and
3147 `read_signed_integer'.
3149 2000-10-16 Akim Demaille <akim@epita.fr>
3151 * src/reader.c (copy_dollar): New function.
3152 (copy_guard, copy_action): Use it.
3154 2000-10-16 Akim Demaille <akim@epita.fr>
3156 * lib/quote.h, lib/quote.c, lib/quotearg.h, lib/quotearg.c:
3157 * m4/prereq.m4, m4/c-bs-a.m4, m4/mbstate.m4:
3158 New files, from Fileutils 4.0.27.
3159 * src/main.c (printable_version): Remove.
3160 * src/lex.c, src/reader.c: Use `quote'.
3162 2000-10-04 Akim Demaille <akim@epita.fr>
3164 * lib/error.c, lib/error.h: New files, needed by xmalloc.c.
3166 2000-10-04 Akim Demaille <akim@epita.fr>
3168 * doc/bison.texinfo: Various typos spotted by Neil Booth.
3170 2000-10-04 Akim Demaille <akim@epita.fr>
3172 When a literal string is used to define two different tokens,
3173 `bison -v' segfaults.
3174 Reported by Piotr Gackiewicz, and fixed by Neil Booth.
3176 * tests/regression.m4: New file.
3177 Include the core of the sample provided by Piotr Gackiewicz.
3178 * src/reader.c (parse_token_decl): Diagnose bad cases, and proceed
3181 2000-10-04 Akim Demaille <akim@epita.fr>
3183 * src/reader.c (parse_expect_decl): Keep `count' within the size
3187 2000-10-02 Paul Eggert <eggert@twinsun.com>
3189 * bison.s1 (yyparse): Assign the default value
3190 unconditionally, to avoid a GCC warning and make the parser a
3193 2000-10-02 Akim Demaille <akim@epita.fr>
3195 * src/getargs.c (getargs): Don't dump `--help' on unrecognized
3198 2000-10-02 Akim Demaille <akim@epita.fr>
3200 * src/derives.c, src/print.c, src/reduce.c: To ease the
3201 translation, move some `\n' out of the translated strings.
3203 2000-10-02 Akim Demaille <akim@epita.fr>
3205 The location tracking mechanism is precious for parse error
3206 messages. Nevertheless, it is enabled only when `@n' is used in
3207 the grammar, which is a different issue (you can use it in error
3208 message, but not in the grammar per se). Therefore, there should
3209 be another means to enable it.
3211 * src/getargs.c (getargs): Support `--locations'.
3213 * src/getargs.h (locationsflag): Export it.
3214 * src/lex.c (percent_table): Support `%locations'.
3215 * src/reader.c (yylsp_needed): Remove this variable, now replaced
3216 with `locationsflag'.
3217 * doc/bison.texinfo: Document `--locations' and `%locations'.
3219 * tests/calc.m4: Test it.
3221 For regularity of the names, replace each
3222 (nolineflag, toknumflag, rawtokenumflag, noparserflag): with...
3223 (no_lineflag, token_tableflag, rawflag, no_parserflag): this.
3224 In addition replace each `flag' with `_flag'.
3226 2000-10-02 Akim Demaille <akim@epita.fr>
3228 Also test parse error messages, including with YYERROR_VERBOSE.
3230 * tests/calc.m4 (calc.y): Add support for `exp = exp' (non
3232 Use it to check the computations.
3233 Use it to check `nonassoc' is honored.
3234 (AT_DATA_CALC_Y): Equip `calc.y' with YYERROR_VERBOSE when passed
3235 `--yyerror-verbose'.
3236 (_AT_CHECK_CALC): Adjust to this option.
3237 (_AT_CHECK_CALC_ERROR): New macro to check parse error messages.
3239 2000-10-02 Akim Demaille <akim@epita.fr>
3241 Test also `--verbose', `--defines' and `--name-prefix'. Testing
3242 the latter demonstrates a flaw in the handling of non debugging
3243 parsers introduced by myself on 2000-03-16: `#define yydebug 0'
3244 was used in order to simplify:
3260 unfortunately this leads to a CPP conflict when
3261 `--name-prefix=foo' is used since it produces `#define yydebug
3264 * src/bison.s1 [!YYDEBUG]: Do not define yydebug.
3265 (YYDPRINTF): New macro.
3267 * tests/calc.m4 (AT_CHECK_CALC): Do require a title, build it from
3269 Also test `--verbose', `--defines' and `--name-prefix'.
3271 2000-10-02 Akim Demaille <akim@epita.fr>
3273 Improve the readability of the produced parsers.
3275 * src/bison.s1: Formatting changes.
3276 Improve the comment related to the `$' mark.
3277 (yydefault): Don't fall through to `yyresume': `goto' there.
3278 * src/output.c (output_parser): When the `$' is met, skip the end
3280 New variable, `number_of_dollar_signs', to check there's exactly
3281 one `$' in the parser skeleton.
3283 2000-10-02 Akim Demaille <akim@epita.fr>
3285 * lib/xstrdup.c: New file, from the fileutils.
3286 * src/reader.c (parse_token_decl, get_type_name, parse_type_decl)
3287 (parse_assoc_decl, parse_thong_decl, get_type): Use `xstrdup'
3288 instead of strlen + xmalloc + strcpy.
3289 * src/symtab.c (copys): Remove, use xstrdup instead.
3291 2000-10-02 Akim Demaille <akim@epita.fr>
3293 * src/gram.h (associativity): New enum type which replaces the
3294 former CPP macros `RIGHT_ASSOC', `LEFT_ASSOC' and `NON_ASSOC' with
3295 `right_assoc', `left_assoc' and `non_assoc'.
3296 Adjust all dependencies.
3297 * src/reader.c: Formatting changes.
3298 (LTYPESTR): Don't define it, use it as a literal in
3299 `reader_output_yylsp'.
3300 * src/symtab.h (symbol_class): New enum type which replaces the
3301 former CPP macros `SUNKNOWN', `STOKEN and `SNTERM' with
3302 `sunknown', `stoken and `snterm'.
3304 2000-10-02 Akim Demaille <akim@epita.fr>
3306 * src/getargs.c (fixed_outfiles): Rename as...
3307 (yaccflag): for consistency and accuracy.
3308 Adjust dependencies.
3310 2000-10-02 Akim Demaille <akim@epita.fr>
3312 Use the more standard files `xalloc.h' and `xmalloc.c' instead of
3313 Bison's `allocate.c' and `alloc.h'. This patch was surprisingly
3314 difficult and introduced a lot of core dump. It turns out that
3315 Bison used an implementation of `xmalloc' based on `calloc', and
3316 at various places it does depend upon the initialization to 0. I
3317 have not tried to isolate the pertinent places, and all the former
3318 calls to Bison's `xmalloc' are now using `XCALLOC'. Someday,
3319 someone should address this issue.
3321 * src/allocate.c, src/alloc.h, m4/bison-decl.m4: Remove.
3322 * lib/xmalloc.c, lib/xalloc.h, m4/malloc.m4, m4/realloc.m4: New
3324 Adjust dependencies.
3325 * src/warshall.h: New file.
3328 2000-10-02 Akim Demaille <akim@epita.fr>
3330 Various anti-`extern in *.c' changes.
3332 * src/system.h: Include `assert.h'.
3334 2000-10-02 Akim Demaille <akim@epita.fr>
3336 * src/state.h (nstates, final_state, first_state, first_shift)
3337 (first_reduction): Move their exportation from here...
3338 * src/LR0.h: to here.
3339 Adjust dependencies.
3340 * src/getargs.c (statisticsflag): New variable.
3341 Add support for `--statistics'.
3342 Adjust dependencies.
3344 Remove a lot of now useless `extern' statements in most files.
3346 2000-10-02 Akim Demaille <akim@epita.fr>
3348 * src/LR0.h: New file.
3351 2000-10-02 Akim Demaille <akim@epita.fr>
3353 * src/print.h: New file.
3355 * src/print.c: Formatting and ordering changes.
3356 (verbose, terse): Replace with...
3357 (print_results): this new function.
3358 Adjust dependencies.
3360 2000-10-02 Akim Demaille <akim@epita.fr>
3362 * src/conflicts.c (conflict_report): New function.
3363 (conflict_log, verbose_conflict_log): Replace with...
3364 (print_conflicts): this function.
3365 Adjust dependencies.
3366 * src/conflicts.h: New file.
3367 Propagate its inclusion.
3369 2000-10-02 Akim Demaille <akim@epita.fr>
3371 * src/nullable.h: New file.
3372 Propagate its inclusion.
3373 * src/nullable.c: Formatting changes.
3375 2000-10-02 Akim Demaille <akim@epita.fr>
3377 * src/reduce.h: New file.
3378 Propagate its inclusion.
3379 * src/reduce.c: Topological sort and other formatting changes.
3380 (bool, TRUE, FALSE): Move their definition to...
3381 * src/system.h: here.
3383 2000-10-02 Akim Demaille <akim@epita.fr>
3385 * src/files.c: Formatting changes.
3386 (tryopen, tryclose, openfiles): Rename as...
3387 (xfopen, xfclose, open_files): this.
3388 (stringappend): static.
3389 * src/files.h: Complete the list of exported symbols.
3392 2000-10-02 Akim Demaille <akim@epita.fr>
3394 * src/reader.h: New file.
3395 Propagate its use instead of tedious list of `extern' and
3397 * src/reader.c: Formatting changes, topological sort,
3400 2000-10-02 Akim Demaille <akim@epita.fr>
3402 * src/lex.h: Prototype `lex.c' exported functions.
3403 * src/reader.c: Adjust.
3404 * src/lex.c: Formatting changes.
3405 (safegetc): Rename as...
3408 2000-10-02 Akim Demaille <akim@epita.fr>
3410 * src/lalr.h: New file.
3411 Propagate its inclusion instead of prototypes and `extern'.
3412 * src/lalr.c: Formatting changes, topological sorting etc.
3414 2000-10-02 Akim Demaille <akim@epita.fr>
3416 * src/output.c (token_actions): Introduce a temporary array,
3417 YYDEFACT, that makes it possible for this function to use
3420 2000-10-02 Akim Demaille <akim@epita.fr>
3422 `user_toknums' is output as a `short[]' in `output.c', while it is
3423 defined as a `int[]' in `reader.c'. For consistency with the
3424 other output tables, `user_toknums' is now defined as a table of
3427 * src/reader.c (user_toknums): Be a short table instead of an int
3429 Adjust dependencies.
3431 Factor the short table outputs.
3433 * src/output.c (output_short_table): New function.
3434 * src/output.c (output_gram, output_stos, output_rule_data)
3435 (output_base, output_table, output_check): Use it.
3437 2000-10-02 Akim Demaille <akim@epita.fr>
3439 * src/output.c (output): Topological sort of the functions, in
3440 order to get rid of the `static' prototypes.
3441 No longer use `register'.
3442 * src/output.h: New file.
3443 Propagate its inclusion in files explicitly prototyping functions
3446 2000-09-21 Akim Demaille <akim@epita.fr>
3448 * src/atgeneral.m4: Update from Autoconf.
3450 2000-09-21 Akim Demaille <akim@epita.fr>
3452 * src/closure.h: New file.
3453 * src/closure.c: Formatting changes, topological sort over the
3454 functions, use of closure.h.
3455 (initialize_closure, finalize_closure): Rename as...
3456 (new_closure, free_closure): these. Adjust dependencies.
3457 * src/LR0.c: Formatting changes, topological sort, use of
3459 (initialize_states): Rename as...
3461 * src/Makefile.am (noinst_HEADERS): Adjust.
3463 2000-09-20 Akim Demaille <akim@epita.fr>
3465 * src/acconfig.h: Don't protect config.h against multiple
3467 Don't define PARAMS.
3468 * src/system.h: Define PARAMS.
3469 Remove some of the ad-hoc CPP magic for DOS, VMS etc.: this is the
3470 purpose of config.h. system.h must not try to fix wrong
3471 definitions in config.h.
3473 2000-09-20 Akim Demaille <akim@epita.fr>
3475 * src/derives.h: New file.
3476 * src/main.c, src/derives.h: Use it.
3478 * src/Makefile.am (noinst_HEADERS): Adjust.
3480 2000-09-20 Akim Demaille <akim@epita.fr>
3482 * tests/atgeneral.m4: Update from Autoconf.
3483 * tests/calc.m4 (_AT_DATA_CALC_Y, AT_DATA_CALC_Y, _AT_CHECK_CALC)
3484 (AT_CHECK_CALC): New macros.
3485 Use these macros to test bison with options `', `--raw',
3486 `--debug', `--yacc', `--yacc --debug'.
3488 2000-09-19 Akim Demaille <akim@epita.fr>
3490 * src/output.c: Formatting changes.
3491 * src/machine.h: Remove, leaving its contents in...
3492 * src/system.h: here.
3494 Adjust all dependencies on stdio.h and machine.h.
3495 * src/getargs.h: New file.
3496 Let all `extern' declarations about getargs.c be replaced with
3497 inclusion of `getargs.h'.
3498 * src/Makefile.am (noinst_HEADERS): Adjust.
3500 * tests/calc.m4 (yyin): Be initialized in main, not on the global
3502 (yyerror): Returns void, not int.
3503 * doc/bison.texinfo: Formatting changes.
3505 2000-09-19 Akim Demaille <akim@epita.fr>
3507 * tests/calc.m4 (calc.y): Do not assign to stdin, as it's not
3510 2000-09-18 Akim Demaille <akim@epita.fr>
3512 * configure.in: Append WARNING_CFLAGS to CFLAGS.
3513 * src/Makefile.am (INCLUDES): Don't.
3514 Be ready to fetch headers in lib/.
3516 2000-09-18 Akim Demaille <akim@epita.fr>
3518 * doc/bison.texinfo: Update the copyright.
3519 ANSIfy and GNUify the examples.
3520 Remove the old menu.
3522 2000-09-18 Akim Demaille <akim@epita.fr>
3524 First set of tests: use the `calc' example from the documentation.
3526 * src/bison.s1 (yyparse): Condition the code using `yytname' which
3527 is defined only when YYDEBUG is.
3528 * m4/atconfig.m4 (AT_CONFIG): Adjust to Autoconf 2.13.
3529 * src/files.c (tryopen, tryclose): Formatting changes.
3530 Move to the top and be static.
3531 * src/reader.c (read_signed_integer): Likewise.
3532 * tests/calc.m4: New file.
3533 * Makefile.am, suite.m4: Adjust.
3534 * m4/atconfig.m4: Set BISON_SIMPLE and BISON_HAIRY.
3536 2000-09-18 Akim Demaille <akim@epita.fr>
3538 Add support for an Autotest test suite for Bison.
3540 * m4/m4.m4, m4/atconfig.m4: New files.
3541 * m4/Makefile.am (EXTRA_DIST): Adjust.
3542 * tests/suite.m4, tests/Makefile.am, tests/atgeneral.m4: New
3544 * src/getargs.c: Display a more standard --version message.
3545 * src/reader.c (reader): Formatting changes.
3546 No longer depend upon VERSION_STRING.
3547 * configure.in: No longer use `dnl'.
3548 Set up the test suite and the new directory `tests/.
3549 (VERSION_STRING): Remove.
3551 2000-04-14 Akim Demaille <akim@epita.fr>
3553 * src/reader.c (copy_comment2): New function, same as former
3554 `copy_comment', but outputs into two FILE *.
3555 (copy_comment): Use it.
3556 (parse_union_decl): Use it.
3557 (get_type, parse_start_decl): Use the same `invalid' message.
3558 (parse_start_decl, parse_union_decl): Use the same `multiple'
3560 (parse_union_decl, copy_guard, copy_action): Use the same
3561 `unmatched' message.
3562 * m4/Makefile.am (EXTRA_DIST): Add `warning.m4'.
3564 2000-03-31 Akim Demaille <akim@epita.fr>
3566 * src/files.c (tryopen, tryclose): Move to the top.
3569 2000-03-31 Akim Demaille <akim@epita.fr>
3571 * src/main.c (main): Don't call `done', exit does it.
3573 2000-03-31 Akim Demaille <akim@epita.fr>
3575 * allocate.c: s/return (foo)/return foo/.
3578 * output.c: Likewise.
3579 * reader.c: Likewise.
3580 * symtab.c: Likewise.
3581 * vmsgetargs.c: Likewise.
3583 2000-03-31 Akim Demaille <akim@epita.fr>
3585 Clean up the error reporting functions.
3587 * src/report.c: New file.
3588 * src/report.h: Likewise.
3589 * src/Makefile.am: Adjust.
3590 * m4/error.m4: New file.
3591 * m4/Makefile.am: Adjust.
3592 * configure.in (jm_PREREQ_ERROR): Call it.
3593 * src/main.c (int_to_string, banner, fatal_banner, warn_banner):
3595 (fatal, fatals): Remove. All callers use complain.c::fatal.
3596 (warn, warni, warns, warnss, warnss): Remove. All callers use
3597 complain.c::complain.
3598 (toomany): Remove, use fatal instead.
3599 * src/files.c (done): No argument, use complain_message_count.
3600 * src/main.c (main): Register `done' to `atexit'.
3602 * src/getargs.c (usage): More `fputs', less `fprintf'.
3604 2000-03-28 Akim Demaille <akim@epita.fr>
3606 * lib/: New directory.
3607 * Makefile.am (SUBDIRS): Adjust.
3608 * configure.in: Adjust.
3609 (LIBOBJS): Although not used yet, AC_SUBST it, otherwise it's
3611 * src/alloca.c: Moved to lib/.
3612 * src/getopt.c: Likewise.
3613 * src/getopt1.c: Likewise.
3614 * src/getopt.h: Likewise.
3615 * src/ansi2knr.c: Likewise.
3616 * src/ansi2knr.1: Likewise.
3617 * src/Makefile.am: Adjust.
3618 * lib/Makefile.am: New file.
3620 2000-03-28 Akim Demaille <akim@epita.fr>
3622 * src/getargs.c (usage): Refresh the help message.
3624 2000-03-17 Akim Demaille <akim@epita.fr>
3626 * src/getopt1.c: Updated from textutils 2.0e
3627 * src/getopt.c: Likewise.
3628 * src/getopt.h: Likewise.
3630 2000-03-17 Akim Demaille <akim@epita.fr>
3632 * src/Makefile.am (bison.simple): Fix the awk program: quote only
3633 the file name, not the whole `#line LINE FILE'.
3635 2000-03-17 Akim Demaille <akim@epita.fr>
3637 On syntax errors, report the token on which we choked.
3639 * src/bison.s1 (yyparse): In the label yyerrlab, when
3640 YYERROR_VERBOSE, add yychar in msg.
3642 2000-03-17 Akim Demaille <akim@epita.fr>
3644 * src/reader.c (copy_at): New function.
3645 (copy_guard): Use it.
3646 (copy_action): Use it.
3648 2000-03-17 Akim Demaille <akim@epita.fr>
3650 Be kind to translators, save some useless translations.
3652 * src/main.c (banner): New function.
3653 (fatal_banner): Use it.
3654 (warn_banner): Use it.
3656 2000-03-17 Akim Demaille <akim@epita.fr>
3658 * src/reader.c (copy_definition): Use copy_string and
3659 copy_comment. Removed now unused `match', `ended',
3661 (copy_comment, copy_string): Moved, to be visible from
3664 2000-03-17 Akim Demaille <akim@epita.fr>
3666 * src/reader.c (copy_string): Declare `static inline'. No
3667 problems with inline, since it is checked by configure.
3668 (copy_comment): Likewise.
3670 2000-03-17 Akim Demaille <akim@epita.fr>
3672 * src/reader.c (packsymbols): Formatting changes.
3674 2000-03-17 Akim Demaille <akim@epita.fr>
3676 * src/reader.c (copy_comment): New function, factored out from:
3677 (copy_action): Use it. Removed now unused `match', `ended',
3679 (copy_guard): Likewise.
3681 2000-03-17 Akim Demaille <akim@epita.fr>
3683 * src/reader.c (copy_string): New function, factored out from:
3684 (copy_action): Use it.
3685 (copy_guard): Likewise.
3687 2000-03-17 Akim Demaille <akim@epita.fr>
3689 Change the handling of @s so that they behave exactly like $s.
3690 There is now a pseudo variable @$ (readble and writable), location
3691 of the lhs of the rule (by default ranging from the location of
3692 the first symbol of the rhs, to the location of the last symbol,
3693 or, if the rhs is empty, YYLLOC).
3695 * src/bison.s1 [YYLSP_NEEDED] (yyloc): New variable, twin of
3697 (yyparse): When providing a default semantic action, provide a
3698 default location action.
3699 (after the $): No longer change `*YYLSP', just stack YYLOC the
3700 same way you stack YYVAL.
3701 * src/reader.c (read_declarations): Use warns.
3702 (copy_guard, case '@'): Also recognize `@$', expanded as `YYLOC'.
3703 (copy_action, case '@'): Likewise.
3704 Use a standard error message, to save useless work from
3707 2000-03-17 Akim Demaille <akim@epita.fr>
3709 * src/bison.s1: Formatting and cosmetics changes.
3710 * src/reader.c: Likewise.
3711 Update the Copyright notice.
3713 2000-03-17 Akim Demaille <akim@epita.fr>
3715 * src/bison.s1 (#line): All set to `#line' only, since the
3716 Makefile now handles them.
3718 2000-03-16 Akim Demaille <akim@epita.fr>
3720 * src/output.c (output_rule_data): Output the documentation of
3722 (Copyright notice): Update.
3725 2000-03-16 Akim Demaille <akim@epita.fr>
3727 * src/bison.s1 [!YYDEBUG]: Define yydebug to 0. This allows to
3728 remove most `#if YYDEBUG != 0', since `if (yydebug)' is enough.
3729 One `#if YYDEBUG' remains, since it uses variables which are
3730 defined only if `YYDEBUG != 0'.
3732 2000-03-16 Akim Demaille <akim@epita.fr>
3734 * src/bison.s1 (yyparse): Reorganize the definitions of the stacks
3735 and related variables so that the similarities are highlighted.
3737 2000-03-16 Akim Demaille <akim@epita.fr>
3739 * src/bison.s1: Properly indent CPP directives.
3741 2000-03-16 Akim Demaille <akim@epita.fr>
3743 * src/bison.s1: Properly indent the `alloca' CPP section.
3745 2000-03-16 Akim Demaille <akim@epita.fr>
3747 Do not hard code values of directories in `configure.in'.
3748 Update the `configure' tool chain.
3750 * configure.in (XPFILE, XPFILE1, LOCALEDIR): Remove, handled by
3752 (VERSION_STRING): Use the third arg of AC_DEFINE_UNQUOTED.
3753 (AC_OUTPUT): Add m4/Makefile.
3754 Bump to bison 1.28a, 1.29 has never been released.
3755 * acconfig.h (XPFILE, XPFILE1, LOCALEDIR): Remove, since they are
3756 handled via src/Makefile.am.
3757 (VERSION_STRING, PROTOTYPES, ENABLE_NLS, HAVE_CATGETS,
3758 HAVE_GETTEXT, HAVE_LC_MESSAGES, HAVE_STPCPY): Remove, handled by
3760 * Makefile.am (SUBDIRS): Add m4.
3761 (ACLOCAL_AM_FLAGS): New variable.
3762 (AUTOMAKE_OPTIONS): Add check-news.
3763 * src/Makefile.am (bison.simple): Use awk to replace #line lines with
3764 the proper line number and file name.
3765 (DEFS): Propagate the location of bison library files and of the
3767 (INCLUDES): Added `-I ..' so that one can compile with srcdir !=
3769 * acinclude.m4: Remove, replaced by the directory m4.
3770 * m4/Makefile.am (EXTRA_DIST): New variable.
3771 * m4/gettext.m4: New file, from the fileutils.
3772 * m4/lcmessage.m4: Likewise
3773 * m4/progtest.m4: Likewise.
3774 * m4/bison-decl.m4: New file, extracted from former acinclude.m4.
3776 2000-03-10 Akim Demaille <akim@epita.fr>
3779 Formatting changes of various comments.
3780 Respect the GNU coding standards at various places.
3781 Don't use `_()' when no translation is needed.
3783 1999-12-13 Jesse Thilo <jthilo@gnu.org>
3786 OS/2 honors TMPDIR environment variable.
3788 1999-12-13 Jesse Thilo <jthilo@gnu.org>
3790 * doc/bison.texinfo: Tweaked spelling and grammar.
3792 Removed reference to price of printed copy.
3793 Mention BISON_SIMPLE and BISON_HAIRY.
3795 1999-12-13 Jesse Thilo <jthilo@gnu.org>
3797 * configure.in, NEWS:
3798 Bison 1.29 released.
3800 1999-10-27 Jesse Thilo <jthilo@gnu.org>
3802 * doc/.cvsignore, doc/Makefile.am, doc/refcard.tex:
3803 Added reference card.
3805 1999-07-26 Jesse Thilo <jthilo@gnu.org>
3807 * po/ru.po: Added Russian translation.
3809 1999-07-26 Jesse Thilo <jthilo@gnu.org>
3811 * configure.in: Added Russian translation.
3813 1999-07-06 Jesse Thilo <jthilo@gnu.org>
3815 * configure.in, NEWS, README:
3816 Released version 1.28.
3818 1999-06-14 Jesse Thilo <jthilo@gnu.org>
3821 Squashed redefinition warning on some systems.
3823 * src/getargs.c, src/Makefile.am, src/reader.c, src/version.c:
3824 Have configure build version string instead of relying on ANSI string
3827 1999-06-14 Jesse Thilo <jthilo@gnu.org>
3829 * po/POTFILES.in: Got rid of version.c.
3831 1999-06-14 Jesse Thilo <jthilo@gnu.org>
3833 * acconfig.h, configure.in:
3834 Have configure build version string instead of relying on ANSI string
3837 1999-06-08 Jesse Thilo <jthilo@gnu.org>
3840 Dropped mention of `+' for long-named options.
3842 1999-05-30 Jesse Thilo <jthilo@gnu.org>
3844 * src/files.c: Added <unistd.h> for unlink().
3846 * src/Makefile.am, src/system.h:
3849 1999-05-30 Jesse Thilo <jthilo@gnu.org>
3851 * README: Added a FAQ list.
3853 * configure.in, acconfig.h:
3856 1999-05-30 Jesse Thilo <jthilo@gnu.org>
3858 * doc/FAQ, doc/Makefile.am:
3861 1999-05-19 Jesse Thilo <jthilo@gnu.org>
3863 * src/alloc.h, src/symtab.h, src/version.c:
3864 Protected inclusion of "config.h" with HAVE_CONFIG_H.
3866 1999-04-18 Jesse Thilo <jthilo@gnu.org>
3868 * src/.cvsignore, src/Makefile.am:
3869 Reorganized: sources in `src', documentation in `doc'.
3871 * src/lex.c (literalchar):
3872 fixed the code for escaping double quotes (thanks
3875 1999-04-18 Jesse Thilo <jthilo@gnu.org>
3877 * po/de.po, po/es.po, po/fr.po, po/nl.po, po/POTFILES.in:
3878 Adjusted paths to reflect directory reorganization.
3880 1999-04-18 Jesse Thilo <jthilo@gnu.org>
3882 * doc/.cvsignore, doc/Makefile.am:
3883 Reorganized: sources in `src', documentation in `doc'.
3885 1999-04-18 Jesse Thilo <jthilo@gnu.org>
3888 Updated AC_INIT file to reflect directory reorganization.
3890 * configure.in, .cvsignore, Makefile.am, POTFILES.in:
3891 Reorganized: sources in `src', documentation in `doc'.
3893 1999-04-13 Jesse Thilo <jthilo@gnu.org>
3896 Don't declare calloc() and realloc() if not necessary.
3898 1999-04-13 Jesse Thilo <jthilo@gnu.org>
3900 * configure.in, acconfig.h, acinclude.m4:
3901 Don't declare calloc() and realloc() if not necessary.
3903 1999-03-23 Jesse Thilo <jthilo@gnu.org>
3905 * po/.cvsignore: Added i18n support.
3907 1999-03-23 Jesse Thilo <jthilo@gnu.org>
3909 * acconfig.h, configure.in, Makefile.am:
3912 1999-03-22 Jesse Thilo <jthilo@gnu.org>
3914 * src/bison.s1: Fixed #line numbers.
3916 1999-03-15 Jesse Thilo <jthilo@gnu.org>
3918 * po/es.po, po/fr.po, po/nl.po, po/de.po:
3919 Added PO files from Translation Project.
3921 1999-03-03 Jesse Thilo <jthilo@gnu.org>
3924 Added support for non-ANSI compilers (ansi2knr).
3926 1999-02-16 Jesse Thilo <jthilo@gnu.org>
3928 * configure.in: Bumped version number to 1.27.
3931 Added `bison.simple' to list of files removed by `make distclean'.
3933 1999-02-12 Jesse Thilo <jthilo@gnu.org>
3935 * src/files.c, src/files.h:
3936 Defined locations of parser files in config.h instead of Makefile.
3938 1999-02-12 Jesse Thilo <jthilo@gnu.org>
3940 * acconfig.h, acinclude.m4, configure.in, Makefile.am:
3941 Defined locations of parser files in config.h instead of Makefile.
3943 1999-02-09 Jesse Thilo <jthilo@gnu.org>
3946 Removed inappropriate use of $< macro.
3948 1999-02-05 Jesse Thilo <jthilo@gnu.org>
3950 * po/Makefile.in.in, po/POTFILES.in:
3951 Add `po' directory skeleton.
3953 1999-01-27 Jesse Thilo <jthilo@gnu.org>
3955 * README: Document help-bison list.
3957 * configure.in: Add check for mkstemp().
3959 1999-01-20 Jesse Thilo <jthilo@gnu.org>
3961 * src/conflicts.c, src/LR0.c, src/output.c, src/reader.c:
3962 Hush a few compiler warnings.
3965 Add tryclose(), which verifies that fclose was successful.
3966 Hush a couple of compiler warnings.
3968 1999-01-20 Jesse Thilo <jthilo@gnu.org>
3970 * Makefile.am, OChangeLog:
3971 ChangeLog is now automatically generated. Include the old version as
3974 1999-01-14 Jesse Thilo <jthilo@gnu.org>
3976 * 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:
3979 1999-01-14 Jesse Thilo <jthilo@gnu.org>
3981 * doc/bison.texinfo: Fix formatting glitch.
3983 * doc/bison.texinfo: Update FSF address.
3985 1999-01-14 Jesse Thilo <jthilo@gnu.org>
3987 * acconfig.h: Update FSF address.
3989 1999-01-08 Jesse Thilo <jthilo@gnu.org>
3992 Don't define PACKAGE here, since config.h defines it.
3994 1998-12-30 Jesse Thilo <jthilo@gnu.org>
3996 * src/reader.c: Update copyright date.
3999 Ditch sprintf to statically-sized buffers in fatal/warn functions in
4000 favor of output directly to stderr (avoids buffer overruns).
4002 * src/reader.c: Some checks for premature EOF.
4004 * 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:
4005 Use prototypes if the compiler understands them.
4007 * src/files.c: Honor TMPDIR on Unix hosts.
4008 Use prototypes if the compiler understands them.
4011 Fix a couple of buffer overrun bugs.
4012 Use prototypes if the compiler understands them.
4014 * src/system.h: Include unistd.h and ctype.h.
4015 Use #ifdef instead of #if for NLS symbols.
4017 1998-12-30 Jesse Thilo <jthilo@gnu.org>
4019 * doc/bison.texinfo:
4020 Delete comment "consider using @set for edition number, etc..." since
4021 we now are doing so.
4023 1998-12-30 Jesse Thilo <jthilo@gnu.org>
4026 Use prototypes if the compiler understands them.
4028 * NEWS: Document 1.26 highlights.
4030 * Makefile.am: Require Automake 1.3 or later.
4033 Use prototypes if the compiler understands them.
4035 1998-12-29 Jesse Thilo <jthilo@gnu.org>
4038 Use VERSION symbol from automake for version number.
4040 1998-12-29 Jesse Thilo <jthilo@gnu.org>
4042 * acconfig.h, configure.in, version.cin:
4043 Use VERSION symbol from automake for version number.
4045 1998-11-28 Jesse Thilo <jthilo@gnu.org>
4048 Distribute original version of simple parser (bison.s1), not built
4049 version (bison.simple).
4051 1998-11-28 Jesse Thilo <jthilo@gnu.org>
4053 * doc/bison.texinfo: Add info dir entry.
4055 * doc/bison.texinfo:
4056 Let automake put version number into documentation.
4058 1998-11-26 Jesse Thilo <jthilo@gnu.org>
4060 * src/bison.cld, src/build.com, src/vmshlp.mar:
4061 Add non-RCS files from /gd/gnu/bison.
4063 1998-11-26 Jesse Thilo <jthilo@gnu.org>
4066 Document the BISON_HAIRY and BISON_SIMPLE variables.
4068 1998-11-25 Jesse Thilo <jthilo@gnu.org>
4070 * src/version.c: Build version.c automatically.
4073 Fix token numbering (used to start at 258, not 257).
4075 * src/system.h: Include config.h.
4077 * src/getargs.c: Update bug report address.
4079 * src/alloca.c, src/getopt1.c, src/getopt.c, src/getopt.h:
4080 Get latest copies of alloca.c, getopt.c, getopt.h, getopt1.c from gnu.org.
4082 1998-11-25 Jesse Thilo <jthilo@gnu.org>
4085 Rename bison.simple to bison.s1 (bison.simple is then built from bison.s1).
4087 * configure.in, version.cin:
4088 Build version.c automatically.
4090 * AUTHORS: Add AUTHORS file.
4092 * README: Update bug report address.
4095 Rename bison.simple to bison.s1 (bison.simple is then built from bison.s1).
4097 * configure.in, Makefile.am, Makefile.in, stamp-h.in:
4100 1998-11-25 Jesse Thilo <jthilo@gnu.org>
4102 * doc/bison.texinfo: Clean up some formatting.
4104 1998-05-05 Richard Stallman <rms@gnu.org>
4106 * doc/bison.texinfo:
4107 Explain better why to make a pure parser.
4109 1998-01-05 Richard Stallman <rms@gnu.org>
4111 * src/files.c (openfiles):
4112 [_WIN32 && !__CYGWIN32__] Use TEMP or Temp to
4113 find a temporary directory, if possible. Do not unlink files while
4116 1997-08-25 Richard Stallman <rms@gnu.org>
4118 * src/reader.c (stack_offset;):
4119 Change some warni to warns.
4121 * src/lex.c (literalchar): Use warns, not warni.
4123 1997-06-28 Richard Stallman <rms@gnu.org>
4125 * src/bison.s1: Add a Bison version comment.
4127 * src/main.c (fatal, warn, berror):
4130 1997-06-28 Richard Stallman <rms@gnu.org>
4132 * Makefile.in (bison_version): New variable.
4133 (dist): Use that variable.
4134 (bison.s1): Substitute the Bison version into bison.simple.
4136 * bison.simple: Add a Bison version comment.
4138 1997-06-18 Richard Stallman <rms@gnu.org>
4140 * src/main.c (fatal, warn, berror):
4141 Make error messages standard.
4142 (toomany): Improve error message text.
4144 * 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:
4145 new.h renamed to alloc.h.
4147 1997-06-18 Richard Stallman <rms@gnu.org>
4149 * Makefile.in: new.h renamed to alloc.h.
4151 1997-05-24 Richard Stallman <rms@gnu.org>
4153 * src/lex.c (literalchar):
4154 Fix the code for escaping \, " and '.
4156 (lex): Avoid trouble when there are many chars
4157 to discard in a char literal with just several chars in it.
4159 1997-05-17 Richard Stallman <rms@gnu.org>
4162 Use malloc, if using alloca is troublesome.
4163 (YYSTACK_USE_ALLOCA): New flag macro.
4164 Define it for some systems and compilers.
4165 (YYSTACK_ALLOC): New macro.
4166 (yyparse): Use YYSTACK_ALLOC to allocate stack.
4167 If it was malloc'd, free it.
4169 1997-05-17 Richard Stallman <rms@gnu.org>
4172 Use malloc, if using alloca is troublesome.
4173 (YYSTACK_USE_ALLOCA): New flag macro.
4174 Define it for some systems and compilers.
4175 (YYSTACK_ALLOC): New macro.
4176 (yyparse): Use YYSTACK_ALLOC to allocate stack.
4177 If it was malloc'd, free it.
4179 1997-04-23 Richard Stallman <rms@gnu.org>
4182 (alloca) [__hpux]: Always define as __builtin_alloca.
4184 1997-04-23 Richard Stallman <rms@gnu.org>
4187 (alloca) [__hpux]: Always define as __builtin_alloca.
4189 1997-04-22 Richard Stallman <rms@gnu.org>
4192 [__hpux]: Include alloca.h (right for HPUX 10)
4193 instead of declaring alloca (right for HPUX 9).
4195 * src/bison.s1 (__yy_memcpy):
4196 Declare arg `count' as unsigned int.
4197 (yyparse): Cast third arg to __yy_memcpy to unsigned int.
4199 1997-04-22 Richard Stallman <rms@gnu.org>
4202 [__hpux]: Include alloca.h (right for HPUX 10)
4203 instead of declaring alloca (right for HPUX 9).
4205 * bison.simple (__yy_memcpy):
4206 Declare arg `count' as unsigned int.
4207 (yyparse): Cast third arg to __yy_memcpy to unsigned int.
4209 1997-01-03 Richard Stallman <rms@gnu.org>
4211 * src/allocate.c: [__STDC__ or _MSC_VER]:
4212 Declare calloc and realloc to return void *.
4214 1997-01-02 Richard Stallman <rms@gnu.org>
4217 [_MSC_VER]: Include stdlib.h and process.h.
4218 [_MSC_VER] (getpid): Define as macro--translate it to _getpid.
4220 * src/main.c (main): Return FAILURE as a value.
4221 (printable_version): Declare arg as int, not char.
4223 1997-01-02 Richard Stallman <rms@gnu.org>
4225 * Makefile.in (dist):
4226 Explicitly check for symlinks, and copy them.
4228 1996-12-19 Richard Stallman <rms@gnu.org>
4231 [_MSC_VER] (XPFILE, XPFILE1): Define, if not already defined.
4233 1996-12-18 Paul Eggert <eggert@gnu.org>
4235 * src/bison.s1 (yyparse):
4236 If __GNUC__ and YYPARSE_PARAM are both defined,
4237 declare yyparse to have a void * argument.
4239 1996-12-18 Paul Eggert <eggert@gnu.org>
4241 * bison.simple (yyparse):
4242 If __GNUC__ and YYPARSE_PARAM are both defined,
4243 declare yyparse to have a void * argument.
4245 1996-12-17 Richard Stallman <rms@gnu.org>
4247 * src/reduce.c (nbits): Add some casts.
4249 1996-08-12 Richard Stallman <rms@gnu.org>
4251 * src/bison.s1: Test _MSDOS as well as _MSDOS_.
4253 1996-08-12 Richard Stallman <rms@gnu.org>
4255 * bison.simple: Test _MSDOS as well as _MSDOS_.
4257 1996-07-31 Richard Stallman <rms@gnu.org>
4260 [__sun && __i386]: Include alloca.h.
4262 1996-07-31 Richard Stallman <rms@gnu.org>
4265 [__sun && __i386]: Include alloca.h.
4267 1996-07-30 Richard Stallman <rms@gnu.org>
4269 * src/bison.s1: Comment change.
4271 * src/bison.s1: Test _MSDOS_, not MSDOS.
4273 1996-07-30 Richard Stallman <rms@gnu.org>
4275 * bison.simple: Comment change.
4277 * bison.simple: Test _MSDOS_, not MSDOS.
4279 1996-06-01 Richard Stallman <rms@gnu.org>
4281 * 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:
4282 Insert `_' macro around many string constants.
4285 Insert `_' macro around many string constants.
4287 (main): Call setlocale, bindtextdomain and textdomain.
4289 * src/system.h: [HAVE_LOCALE_H]: Include locale.h.
4290 [! HAVE_LOCALE_H] (setlocale): Define as no-op.
4291 [ENABLE_NLS]: Include libintl.h.
4292 [ENABLE_NLS] (gettext): Define.
4293 [! ENABLE_NLS] (bintextdomain, textdomain, _): Consolation definitions.
4294 (N_, PACKAGE, LOCALEDIR): New macros.
4296 1996-06-01 Richard Stallman <rms@gnu.org>
4298 * POTFILES.in: New file.
4300 * Makefile.in (allocate.o):
4301 Define target explicitly.
4303 * Makefile.in (CFLAGS): Set to @CFLAGS@.
4304 (LDFLAGS): Set to @LDFLAGS@.
4305 (configure): Run autoconf only if preceding `cd' succeeds.
4306 (bison.s1): Redirect output to temporary file then move the
4307 temporary to the target, rather than redirecting directly to bison.s1.
4308 (clean): Remove config.status and config.log.
4309 (distclean): Don't remove config.status here.
4311 1996-05-12 Richard Stallman <rms@gnu.org>
4314 (__yy_memcpy) [__cplusplus]: Reorder declarations of variables f and t.
4316 1996-05-12 Richard Stallman <rms@gnu.org>
4319 (__yy_memcpy) [__cplusplus]: Reorder declarations of variables f and t.
4321 1996-05-11 Richard Stallman <rms@gnu.org>
4323 * src/bison.s1 (__yy_memcpy):
4324 Really reorder the args, as was supposedly done on Feb 14 1995.
4325 (yyparse): Calls changed accordingly.
4327 1996-05-11 Richard Stallman <rms@gnu.org>
4329 * Makefile.in (dist): Don't use $(srcdir).
4331 * bison.simple (__yy_memcpy):
4332 Really reorder the args, as was supposedly done on Feb 14 1995.
4333 (yyparse): Calls changed accordingly.
4335 1996-01-27 Richard Stallman <rms@gnu.org>
4337 * src/output.c (output_rule_data):
4338 Test YYERROR_VERBOSE in the conditional
4339 around the definition of ttyname.
4341 1995-12-29 Richard Stallman <rms@gnu.org>
4344 Fix line numbers in #line commands.
4346 1995-12-29 Richard Stallman <rms@gnu.org>
4349 Fix line numbers in #line commands.
4351 1995-12-27 Richard Stallman <rms@gnu.org>
4353 * src/bison.s1 (YYPARSE_PARAM_DECL):
4354 In C++, make it always null.
4355 (YYPARSE_PARAM_ARG): New macro.
4356 (yyparse): Use YYPARSE_PARAM_ARG.
4358 1995-12-27 Richard Stallman <rms@gnu.org>
4360 * bison.simple (YYPARSE_PARAM_DECL):
4361 In C++, make it always null.
4362 (YYPARSE_PARAM_ARG): New macro.
4363 (yyparse): Use YYPARSE_PARAM_ARG.
4365 1995-11-29 Richard Stallman <rms@gnu.org>
4367 * doc/bison.texinfo:
4368 Describe literal string tokens, %raw, %no_lines, %token_table.
4370 1995-11-29 Daniel Hagerty <hag@gnu.org>
4372 * doc/bison.texinfo: Fixed update date
4374 1995-10-16 Richard Stallman <rms@gnu.org>
4376 * src/version.c: Version 1.25.
4378 1995-10-16 Richard Stallman <rms@gnu.org>
4380 * NEWS: *** empty log message ***
4382 1995-10-16 Richard Stallman <rms@gnu.org>
4384 * doc/bison.1, doc/bison.rnh:
4387 1995-10-15 Richard Stallman <rms@gnu.org>
4389 * src/vmsgetargs.c, src/getargs.c:
4390 Added -n, -k, and -raw switches.
4391 (noparserflag, toknumflag, rawtoknumflag): New variables.
4393 * src/symtab.h (SALIAS):
4394 New #define for adding aliases to %token.
4395 (struct bucket): Added `alias' field.
4397 * src/reduce.c (reduce_grammar):
4398 Revise error message.
4399 (print_notices): Remove final `.' from error message.
4401 * src/reader.c (reader_output_yylsp):
4403 (readgram): Use `#if 0' around code that accepted %command
4404 inside grammar rules: The documentation doesn't allow it,
4405 and it will fail since the %command processors scan for the next %.
4406 (parse_token_decl): Extended the %token
4407 declaration to allow a multi-character symbol as an alias.
4408 (parse_thong_decl): New function.
4409 (read_declarations): Added %thong declarations.
4410 (read_declarations): Handle NOOP to deal with allowing
4411 % declarations as another means to specify the flags.
4412 (readgram): Allow %prec prior to semantics embedded in a rule.
4413 (skip_to_char, read_declarations, copy_definition)
4414 (parse_token_decl, parse_start_decl, parse_type_decl)
4415 (parse_assoc_decl, parse_union_decl, parse_expect_decl)
4416 (get_type_name, copy_guard, copy_action, readgram)
4417 (get_type, packsymbols): Revised most error messages.
4418 Changed `fatal' to `warnxxx' to avoid aborting for error.
4419 Revised and use multiple warnxxx functions to avoid using VARARGS1.
4420 (read_declarations): Improve the error message for
4421 an invalid character. Do not abort.
4422 (read_declarations, copy_guard, copy_action): Use
4423 printable_version to avoid unprintable characters in printed output.
4424 (parse_expect_decl): Error if argument to %expect exceeds 10 digits.
4425 (parse_token_decl, parse_assoc_decl, parse_type_decl, get_type):
4426 Allow the type of a non-terminal can be given
4427 more than once, as long as all specifications give the same type.
4430 (output_headers, output_trailers, output, output_gram)
4431 (output_rule_data): Implement noparserflag variable.
4432 Implement toknumflag variable.
4433 (output): Call reader_output_yylsp to output LTYPESTR.
4435 * src/main.c (main):
4436 If reader sees an error, don't process the grammar.
4437 (fatals): Updated to not use VARARGS1.
4438 (printable_version, int_to_string, warn, warni, warns, warnss)
4439 (warnsss): New error reporting functions. Avoid abort for error.
4442 Added THONG and NOOP for alias processing.
4443 Added SETOPT for the new code that allows setting options with %flags.
4446 Include getopt.h. Add some extern decls.
4447 (safegetc): New function to deal with EOF gracefully.
4448 (literalchar); new function to deal with reading \ escapes.
4449 (lex): Use literalchar.
4450 (lex): Implemented "..." tokens.
4451 (literalchar, lex, parse_percent_token): Made tokenbuffer
4452 always contain the token. This includes growing the token
4453 buffer while reading an integer.
4454 (parse_percent_token): Replaced if-else statement with percent_table.
4455 (parse_percent_token): Added % declarations as another
4456 way to specify the flags -n, -l, and -r. Also added hooks for
4457 -d, -k, -y, -v, -t, -p, -b, -o, but implementation requires
4458 major changes to files.c.
4459 (lex) Retain in the incoming stream a character following
4461 (skip_white_space, lex): Revised most error messages
4462 and changed fatal to warn to avoid aborting.
4463 (percent_table): Added %thong declarations.
4465 * src/gram.h: Comment changes.
4467 * src/files.c (openfiles, open_extra_files, done):
4469 and actfile file. Handle noparserflag. Both for -n switch.
4471 * src/conflicts.c (resolve_sr_conflict):
4472 Remove use of alloca.
4474 1995-06-01 Jim Meyering <meyering@gnu.org>
4476 * doc/bison.texinfo: *** empty log message ***
4478 1995-05-06 Richard Stallman <rms@gnu.org>
4480 * src/bison.s1: Comment change.
4482 1995-05-06 Richard Stallman <rms@gnu.org>
4484 * bison.simple: Comment change.
4486 1995-05-03 Richard Stallman <rms@gnu.org>
4488 * src/version.c: Version now 1.24.
4490 * src/bison.s1: Change distribution terms.
4492 * src/version.c: Version now 1.23.
4494 1995-05-03 Richard Stallman <rms@gnu.org>
4496 * doc/bison.texinfo:
4497 Rewrite "Conditions for Using Bison".
4498 Update version to 1.24.
4500 1995-05-03 Richard Stallman <rms@gnu.org>
4502 * bison.simple: Change distribution terms.
4504 1995-02-23 Richard Stallman <rms@gnu.org>
4506 * src/files.c: Test __VMS_POSIX as well as VMS.
4508 1995-02-14 Jim Meyering <meyering@gnu.org>
4510 * src/bison.s1 (__yy_memcpy):
4511 Renamed from __yy_bcopy to avoid
4512 confusion. Reverse FROM and TO arguments to be consistent with
4515 1995-02-14 Jim Meyering <meyering@gnu.org>
4517 * bison.simple (__yy_memcpy):
4518 Renamed from __yy_bcopy to avoid
4519 confusion. Reverse FROM and TO arguments to be consistent with
4522 1994-11-10 David J. MacKenzie <djm@gnu.org>
4528 * Makefile.in (DISTFILES): Include NEWS.
4530 * Makefile.in (DISTFILES):
4531 Include install-sh, not install.sh.
4533 * configure.in: Update to Autoconf v2 macro names.
4535 1994-10-05 David J. MacKenzie <djm@gnu.org>
4537 * Makefile.in: fix typo
4539 * Makefile.in (prefix, exec_prefix):
4540 Let configure set them.
4542 1994-09-28 David J. MacKenzie <djm@gnu.org>
4544 * Makefile.in: Set datadir to $(prefix)/share.
4546 1994-09-15 Richard Stallman <rms@gnu.org>
4549 Update copyright notice and GPL version.
4551 1994-09-15 Richard Stallman <rms@gnu.org>
4554 Update copyright notice and GPL version.
4556 1994-07-12 Richard Stallman <rms@gnu.org>
4558 * src/reduce.c, src/reader.c:
4561 1994-05-05 David J. MacKenzie <djm@gnu.org>
4563 * Makefile.in: entered into RCS
4565 1994-03-26 Richard Stallman <rms@gnu.org>
4567 * src/bison.s1: entered into RCS
4569 1994-03-26 Richard Stallman <rms@gnu.org>
4571 * bison.simple: entered into RCS
4573 1994-03-25 Richard Stallman <rms@gnu.org>
4575 * src/main.c: entered into RCS
4577 1994-03-24 Richard Stallman <rms@gnu.org>
4579 * src/conflicts.c: entered into RCS
4581 1994-01-02 Richard Stallman <rms@gnu.org>
4583 * Makefile.in: *** empty log message ***
4585 1993-11-21 Richard Stallman <rms@gnu.org>
4587 * src/bison.s1: *** empty log message ***
4589 1993-11-21 Richard Stallman <rms@gnu.org>
4591 * doc/bison.texinfo: entered into RCS
4593 * doc/bison.texinfo: *** empty log message ***
4595 1993-11-21 Richard Stallman <rms@gnu.org>
4597 * bison.simple: *** empty log message ***
4599 1993-10-25 David J. MacKenzie <djm@gnu.org>
4601 * doc/bison.texinfo: *** empty log message ***
4603 1993-10-19 Richard Stallman <rms@gnu.org>
4605 * src/bison.s1: *** empty log message ***
4607 1993-10-19 Richard Stallman <rms@gnu.org>
4609 * bison.simple: *** empty log message ***
4611 1993-10-14 Richard Stallman <rms@gnu.org>
4613 * src/bison.s1: *** empty log message ***
4615 1993-10-14 Richard Stallman <rms@gnu.org>
4617 * bison.simple: *** empty log message ***
4619 1993-09-14 David J. MacKenzie <djm@gnu.org>
4621 * doc/bison.texinfo: *** empty log message ***
4623 1993-09-13 Noah Friedman <friedman@gnu.org>
4625 * Makefile.in: *** empty log message ***
4627 1993-09-10 Richard Stallman <rms@gnu.org>
4629 * src/conflicts.c: *** empty log message ***
4631 * src/system.h: entered into RCS
4633 1993-09-10 Richard Stallman <rms@gnu.org>
4635 * doc/bison.1: entered into RCS
4637 1993-09-06 Noah Friedman <friedman@gnu.org>
4639 * src/version.c: entered into RCS
4641 1993-09-06 Noah Friedman <friedman@gnu.org>
4643 * Makefile.in: *** empty log message ***
4645 1993-07-30 David J. MacKenzie <djm@gnu.org>
4647 * Makefile.in: *** empty log message ***
4649 1993-07-24 Richard Stallman <rms@gnu.org>
4651 * src/bison.s1: *** empty log message ***
4653 1993-07-24 Richard Stallman <rms@gnu.org>
4655 * bison.simple: *** empty log message ***
4657 1993-07-08 David J. MacKenzie <djm@gnu.org>
4659 * Makefile.in: *** empty log message ***
4661 1993-07-04 Richard Stallman <rms@gnu.org>
4663 * src/bison.s1: *** empty log message ***
4665 1993-07-04 Richard Stallman <rms@gnu.org>
4667 * bison.simple: *** empty log message ***
4669 1993-06-26 David J. MacKenzie <djm@gnu.org>
4671 * src/getargs.c: entered into RCS
4673 1993-06-26 David J. MacKenzie <djm@gnu.org>
4675 * doc/bison.texinfo: *** empty log message ***
4677 * doc/bison.1: New file.
4679 1993-06-25 Richard Stallman <rms@gnu.org>
4681 * src/getargs.c: New file.
4683 1993-06-16 Richard Stallman <rms@gnu.org>
4685 * src/bison.s1: *** empty log message ***
4687 1993-06-16 Richard Stallman <rms@gnu.org>
4689 * bison.simple: *** empty log message ***
4691 1993-06-03 Richard Stallman <rms@gnu.org>
4693 * src/bison.s1: New file.
4695 1993-06-03 Richard Stallman <rms@gnu.org>
4697 * doc/bison.texinfo: *** empty log message ***
4699 1993-06-03 Richard Stallman <rms@gnu.org>
4701 * bison.simple: New file.
4703 1993-05-19 Richard Stallman <rms@gnu.org>
4705 * doc/bison.texinfo: New file.
4707 1993-05-07 Noah Friedman <friedman@gnu.org>
4709 * Makefile.in: *** empty log message ***
4711 1993-04-28 Noah Friedman <friedman@gnu.org>
4713 * src/reader.c: *** empty log message ***
4715 1993-04-23 Noah Friedman <friedman@gnu.org>
4717 * src/alloc.h: entered into RCS
4719 1993-04-20 David J. MacKenzie <djm@gnu.org>
4721 * src/version.c: *** empty log message ***
4723 * src/files.c, src/allocate.c:
4726 * src/reader.c: *** empty log message ***
4728 * src/lex.c: entered into RCS
4730 * src/conflicts.c: New file.
4732 * src/symtab.c: entered into RCS
4734 * src/alloc.h: New file.
4736 * src/LR0.c: entered into RCS
4738 1993-04-18 Noah Friedman <friedman@gnu.org>
4740 * src/reader.c: New file.
4742 * src/version.c: *** empty log message ***
4744 1993-04-18 Noah Friedman <friedman@gnu.org>
4746 * Makefile.in: *** empty log message ***
4748 1993-04-17 Noah Friedman <friedman@gnu.org>
4750 * Makefile.in: *** empty log message ***
4752 1993-04-15 Richard Stallman <rms@gnu.org>
4754 * src/main.c, src/files.c:
4757 1993-04-15 Noah Friedman <friedman@gnu.org>
4759 * configure.in: entered into RCS
4761 * configure.in: *** empty log message ***
4763 * configure.in: New file.
4765 1993-04-14 Richard Stallman <rms@gnu.org>
4767 * Makefile.in: New file.
4769 1993-04-13 Richard Stallman <rms@gnu.org>
4771 * src/version.c: New file.
4773 1993-03-25 Richard Stallman <rms@gnu.org>
4775 * src/output.c: entered into RCS
4777 1992-09-25 Richard Stallman <rms@gnu.org>
4779 * configure.bat: entered into RCS
4781 1992-06-22 Richard Stallman <rms@gnu.org>
4783 * src/vmsgetargs.c: entered into RCS
4785 1992-06-22 Richard Stallman <rms@gnu.org>
4787 * doc/bison.rnh: entered into RCS
4789 1992-04-20 David J. MacKenzie <djm@gnu.org>
4791 * README: entered into RCS
4793 1992-01-22 Richard Stallman <rms@gnu.org>
4795 * src/machine.h: entered into RCS
4797 1991-12-21 Richard Stallman <rms@gnu.org>
4799 * src/lalr.c, src/closure.c:
4802 1991-12-20 Richard Stallman <rms@gnu.org>
4804 * src/state.h: entered into RCS
4806 1991-12-18 Richard Stallman <rms@gnu.org>
4808 * src/print.c, src/nullable.c, src/derives.c:
4811 1991-11-03 David J. MacKenzie <djm@gnu.org>
4813 * src/warshall.c, src/types.h, src/symtab.h, src/lex.h, src/gram.c, src/gram.h, src/files.h:
4816 1988-09-09 Richard Stallman <rms@gnu.org>
4818 * src/bison.hairy: entered into RCS
4820 1987-12-16 Richard Stallman <rms@gnu.org>
4822 * REFERENCES: entered into RCS