]> git.saurik.com Git - bison.git/blob - ChangeLog
Now that states have a complete set of members, the linked list of
[bison.git] / ChangeLog
1 2001-12-10 Akim Demaille <akim@epita.fr>
2
3 Now that states have a complete set of members, the linked list of
4 reductions is useless: just fill directly the state's reductions
5 member.
6
7 * src/state.h (struct reductions): Remove member `number' and
8 `next'.
9 * src/LR0.c (first_reduction, last_reduction): Remove.
10 (save_reductions): Don't link the new reductions, store them in
11 this_state.
12 * src/lalr.c (set_state_table): No need to attach reductions to
13 states, it's already done.
14 * src/output.c (output_actions): No longer free the shifts, then
15 the reductions, then the states: free all the states and their
16 members.
17
18
19 2001-12-10 Akim Demaille <akim@epita.fr>
20
21 * src/options.c (OPTN, DRTV, BOTH): New.
22 (option_table): Use them.
23
24
25 * src/muscle_tab.c: Don't include xalloc.h and string.h: that's
26 the job of system.h.
27 * src/options.c: Don't include stdio.h and xalloc.h for the same
28 reasons.
29
30
31 2001-12-10 Akim Demaille <akim@epita.fr>
32
33 * src/output.c (output, prepare): Make sure the values of the
34 muscles `action' and `prologue' are 0-terminated.
35
36 2001-12-10 Akim Demaille <akim@epita.fr>
37
38 Clean up GCC warnings.
39
40 * src/reader.c (copy_action): `buf' is not used.
41 (parse_skel_decl): Be static.
42 * src/muscle_tab.c (mhash1, mhash2, muscle_insert): Preserve `const'.
43 * src/options.h (create_long_option_table): Have a real prototype.
44 * lib/hash.c, lib/hash.h (hash_insert, hash_insert_at, hash_delete)
45 (hash_delete_at): Return const void *.
46 Adjust casts to preserve the const.
47
48 2001-12-10 Akim Demaille <akim@epita.fr>
49
50 * configure.in: Require 2.52g.
51 M4 is not needed, but AUTOM4TE is.
52 * m4/m4.m4: Remove.
53 * tests/Makefile.am: Adjust.
54
55
56 2001-12-10 Akim Demaille <akim@epita.fr>
57
58 One structure for states is enough, even though theoretically
59 there are LR(0) states and LALR(1) states.
60
61 * src/lalr.h (state_t): Remove.
62 (state_table): Be state_t **, not state_t *.
63 * src/state.h (core, CORE_ALLOC): Rename as...
64 (state_t, STATE_ALLOC): this.
65 Add the LALR(1) members: shifts, reductions, errs.
66 * src/LR0.c (state_table): Rename as...
67 (state_hash): this, to avoid name clashes with the global
68 `state_table'.
69 * src/print_graph.c, src/LR0.c, src/LR0.h, src/conflicts.c
70 * src/lalr.c, src/lalr.h, src/output.c, src/print.c: Adjust.
71
72
73 2001-12-10 Akim Demaille <akim@epita.fr>
74
75 Bison dumps core on bash.y.
76 Reported by Pascal Bart.
77
78 * src/warshall.c (bitmatrix_print): New.
79 (TC): Use it.
80 When performing a transitive closure R(i, j) && R(j, k) => R(i, k),
81 j must be the outer loop.
82 * tests/regression.at (Broken Closure): New.
83
84 2001-12-05 Akim Demaille <akim@epita.fr>
85
86 * tests/atlocal.in (CPPFLAGS): Do not leave a space between -I and
87 its argument.
88 Reported by Peter Hámorský.
89
90 2001-12-05 Akim Demaille <akim@epita.fr>
91
92 * src/conflicts.c (err_table): Remove.
93 (resolve_sr_conflict): Adjust.
94 * src/lalr.h (state_t.reduction_table, state_t.shift_table):
95 Rename as...
96 (state_t.reductions, state_t.shifts): this.
97
98 2001-12-05 Akim Demaille <akim@epita.fr>
99
100 * src/reduce.c (reduce_grammar_tables): No longer disable the
101 removal of useless rules via CPP but via `if (0)', so that the
102 compiler still check the code is valid.
103 For instance, it should have noticed `rline' no longer exists: use
104 the `line' member of rule_t.
105 * src/gram.c (dummy, rline): Remove, unused.
106
107 2001-12-05 Akim Demaille <akim@epita.fr>
108
109 * src/output.c (pack_vector): Use assert, not berror.
110 * src/main.c (berror): Remove, unused.
111
112 2001-12-05 Akim Demaille <akim@epita.fr>
113
114 New experimental feature: if --verbose --trace output all the
115 items of a state, not only its kernel.
116
117 * src/print.c (print_core): If `trace_flag', then invoke closure
118 before outputting the items of the state (print_core is no longer
119 a correct name them).
120 (print_results): Invoke new_closure/free_closure if needed.
121
122 2001-12-05 Akim Demaille <akim@epita.fr>
123
124 * src/LR0.c (new_itemsets): Use nshifts only, not shiftcount.
125 * src/closure.c, src/closure.h (itemsetsize): Rename as...
126 (nitemset): for consistency with the rest of the project.
127
128 2001-12-05 Akim Demaille <akim@epita.fr>
129
130 * src/closure.c (print_closure): Improve.
131 (closure): Use it for printing input and output.
132
133 2001-12-05 Akim Demaille <akim@epita.fr>
134
135 * src/closure.c (FIRSTS, FDERIVES): Adjust to reality: they are
136 indexed by nonterminals.
137
138 2001-12-05 Akim Demaille <akim@epita.fr>
139
140 * src/warshall.c (TC, RTC): De-obsfucate (source reduced to 22% of
141 what it was!).
142 * src/warshall.h: Remove accidental duplication of the content.
143
144 2001-12-05 Akim Demaille <akim@epita.fr>
145
146 * src/closure.c (set_fderives): De-obfuscate.
147
148 2001-12-05 Akim Demaille <akim@epita.fr>
149
150 * src/closure.c (print_firsts, print_fderives): De-obfuscate.
151
152 2001-12-05 Akim Demaille <akim@epita.fr>
153
154 * src/closure.c (set_firsts): De-obfuscate.
155
156 2001-12-05 Akim Demaille <akim@epita.fr>
157
158 * src/output.c (action_row): De-obfuscate
159 using the good o' techniques: arrays not pointers, variable
160 locality, BITISSET, RESETBIT etc.
161
162 2001-12-05 Akim Demaille <akim@epita.fr>
163
164 Pessimize the code to simplify it: from now on, all the states
165 have a valid SHIFTS, which NSHIFTS is possibly 0.
166
167 * src/LR0.c (shifts_new): Be global and move to..
168 * src/state.c, src/state.h: here.
169 * src/conflicts, src/lalr.c, src/output.c, src/print.c,
170 * src/print_graph: Adjust.
171
172 2001-12-05 Akim Demaille <akim@epita.fr>
173
174 * src/state.h (SHIFT_DISABLE, SHIFT_IS_DISABLED): New.
175 * src/conflicts.c: Use it.
176 Restore a few missing `if (!SHIFT_IS_DISABLED)' which were
177 incorrectly ``simplified''.
178
179 2001-12-05 Akim Demaille <akim@epita.fr>
180
181 * src/conflicts.c (flush_shift, resolve_sr_conflict): De-obfuscate
182 using the good o' techniques: arrays not pointers, variable
183 locality, BITISSET, RESETBIT etc.
184
185 2001-12-05 Akim Demaille <akim@epita.fr>
186
187 * src/state.h (SHIFT_SYMBOL): New.
188 * src/conflicts.c: Use it to deobfuscate.
189
190 2001-12-05 Akim Demaille <akim@epita.fr>
191
192 * src/conflicts.c (count_sr_conflicts, count_rr_conflicts)
193 (print_reductions): De-obfuscate using the good o' techniques:
194 arrays not pointers, variable locality, BITISSET.
195
196 2001-12-05 Akim Demaille <akim@epita.fr>
197
198 * src/conflicts.c (print_reductions): Arrays, not pointers.
199 Use BITISSET.
200
201 2001-12-05 Akim Demaille <akim@epita.fr>
202
203 * src/conflicts.c (print_reductions): Pessimize, but clarify.
204
205 2001-12-05 Akim Demaille <akim@epita.fr>
206
207 * src/conflicts.c (print_reductions): Improve variable locality.
208
209 2001-12-05 Akim Demaille <akim@epita.fr>
210
211 * src/conflicts.c (print_reductions): Pessimize, but clarify.
212
213 2001-12-05 Akim Demaille <akim@epita.fr>
214
215 * src/conflicts.c (print_reductions): Improve variable locality.
216
217 2001-12-05 Akim Demaille <akim@epita.fr>
218
219 * src/state.h (SHIFT_IS_ERROR, SHIFT_IS_GOTO, SHIFT_IS_SHIFT): New.
220 * src/lalr.c: Use them.
221
222 2001-12-05 Akim Demaille <akim@epita.fr>
223
224 * src/LR0.c (augment_automaton): Formatting changes.
225 Better variable locality.
226
227 2001-12-05 Akim Demaille <akim@epita.fr>
228
229 * src/lalr.c (matrix_print): New.
230 (transpose): Use it.
231 Use arrays instead of pointers.
232
233 2001-12-05 Akim Demaille <akim@epita.fr>
234
235 * src/lalr.c (maxrhs): Move to...
236 * src/gram.c, src/gram.h (ritem_longest_rhs): here.
237 * src/lalr.c (build_relations): Adjust.
238
239 2001-12-05 Akim Demaille <akim@epita.fr>
240
241 * src/lalr.c (transpose): Free the memory allocated to the
242 argument, as it is replaced by the results by the unique caller.
243 (build_relations): Merely invoke transpose: it handles the memory
244 deallocation.
245 Improve variable locality.
246 Avoid variables used as mere abbreviations.
247 (compute_lookaheads): Use arrays instead of pointers.
248
249 2001-12-05 Akim Demaille <akim@epita.fr>
250
251 * src/lalr.c (initialize_F): Improve variable locality.
252 Avoid variables used as mere abbreviations.
253
254 2001-12-05 Akim Demaille <akim@epita.fr>
255
256 * src/derives.c (print_derives): Display the ruleno.
257 * src/lalr.c (initialize_F, transpose): Better variable locality
258 to improve readability.
259 Avoid variables used as mere abbreviations.
260
261 2001-12-05 Akim Demaille <akim@epita.fr>
262
263 * src/lalr.c (traverse): Use arrays instead of pointers.
264
265 2001-12-05 Akim Demaille <akim@epita.fr>
266
267 * src/nullable.c (set_nullable): Use a for loop to de-obfuscate
268 the handling of squeue.
269 `symbol >= 0' is wrong now, use `rule_table[ruleno].useful'.
270
271 2001-12-05 Akim Demaille <akim@epita.fr>
272
273 Because useless nonterminals are now kept alive (instead of being
274 `destroyed'), we now sometimes examine them, and store information
275 related to them. Hence we need to know their number, and adjust
276 memory allocations.
277
278 * src/reduce.c, src/reduce.h (nuseless_nonterminals): No longer
279 static.
280 * src/LR0.c (allocate_itemsets): The memory allocated to
281 `symbol_count' was used for two different purpose: once to count
282 the number of occurrences of each symbol, and later reassigned to
283 `shift_symbol', containing the symbol that can be shifted from a
284 given state.
285 Deobfuscate, i.e., allocate, use and free `symbol_count' here
286 only, and...
287 (new_itemsets): Allocate `shift_symbol' here.
288 (allocate_itemsets): symbol_count includes useless nonterminals.
289 Make room for them.
290 (free_storage): Use `free', not `XFREE', for pointers that cannot
291 be null.
292
293 2001-12-05 Akim Demaille <akim@epita.fr>
294
295 * src/nullable.c (set_nullable): Deobfuscate the handling of
296 ritem.
297 `symbol >= 0' is wrong now, use `rule_table[ruleno].useful'.
298
299 2001-12-05 Akim Demaille <akim@epita.fr>
300
301 * src/gram.c, src/gram.h (ritem_print): New.
302 * src/gram.c (dummy): Remove, now there is actual code in gram.c.
303 (This useless function was defined only to work around VMS linkers
304 that can't handle compilation units with variables only).
305 * src/reduce.c (dump_grammar): Use it to trace the construction of
306 ritem.
307
308 2001-12-04 Paul Eggert <eggert@twinsun.com>
309
310 * src/bison.simple (union yyalloc): Change member names
311 to be the same as the stack names.
312 (yyparse): yyptr is now union yyalloc *, not char *.
313 (YYSTACK_RELOCATE): Likewise. This avoids a GCC warning,
314 and may generate better code on some machines.
315 (yystpcpy): Use prototype if __STDC__ is defined, not just
316 if __cplusplus is defined.
317
318 2001-11-30 Akim Demaille <akim@epita.fr>
319
320 * configure.in (WARNING_CFLAGS): Add -Werror when possible.
321 (CFLAGS): Do not include the WARNING_CFLAGS here, since GNU
322 Gettext doesn't compile cleanly, and dies with -Werror.
323 * src/Makefile.am, lib/Makefile.am, tests/atlocal.in (CFLAGS):
324 Include WARNING_CFLAGS here.
325 * lib/xstrdup.c: Include xalloc.h, so that xstrdup be declared
326 before being defined.
327
328 2001-11-27 Paul Eggert <eggert@twinsun.com>
329
330 * lib/quotearg.h (quotearg_n, quotearg_n_style):
331 First arg is int, not unsigned.
332 * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
333 (SIZE_MAX, UINT_MAX): New macros.
334 (quotearg_n_options): Abort if N is negative.
335 Avoid overflow check on hosts where size_t is 64 bits and int
336 is 32 bits, as overflow is impossible there.
337 Fix off-by-one typo that caused unnecessary reallocation.
338
339 2001-11-29 Paul Eggert <eggert@twinsun.com>
340
341 Name space cleanup in generated parser.
342
343 * doc/bison.texinfo (Bison Parser): Discuss system headers
344 and their effect on the user name space.
345
346 * src/bison.simple:
347 (YYSTACK_ALLOC, YYSTACK_FREE, union yyalloc, YYSTACK_GAP_MAX,
348 YYSTACK_BYTES, YYSTACK_RELOCATE): Do not define unless necessary,
349 i.e. unless ! defined (yyoverflow) || defined (YYERROR_VERBOSE).
350
351 (YYSIZE_T): New macro. Use it instead of size_t, to avoid infringing
352 on user names when possible.
353
354 (YYSTACK_USE_ALLOCA): Do not define; just use any existing defn.
355 Simplify test for whather <alloca.h> exists.
356
357 (<stdlib.h>): Include if we will use malloc, and if standard C or C++.
358
359 (<stdio.h>): Include if YYDEBUG.
360
361 (yymemcpy): Renamed from __yy_memcpy. Do not define unless
362 ! defined (yyoverflow) && ! defined (yymemcpy).
363
364 (yymemcpy, yyparse): Rename local variables as needed so that
365 they all begin with 'yy'.
366
367 (yystrlen, yystpcpy): New functions.
368
369 (YY_DECL_NON_LSP_VARIABLES): Renamed from _YY_DECL_VARIABLES.
370 All uses changed.
371
372 (yyparse): size_t -> YYSIZE_T. Use yystrlen and yystpcpy
373 instead of relying on string.h functions. Use YYSTACK_ALLOC
374 and YYSTACK_FREE instead of malloc and free.
375
376 2001-11-30 Akim Demaille <akim@epita.fr>
377
378 * src/bison.simple (YYSTYPE, YYLTYPE): Move their definitions
379 before their first uses.
380 (YYBISON, YYPURE): Move to the top of the output.
381
382 2001-11-30 Akim Demaille <akim@epita.fr>
383
384 * tests/reduce.at (Useless Nonterminals): Fix.
385
386 2001-11-30 Akim Demaille <akim@epita.fr>
387
388 * src/bison.simple (YYSTACK_FREE): Use `do {;} while (0)' as empty
389 if body instead of `;' to pacify GCC's warnings.
390
391 2001-11-30 Akim Demaille <akim@epita.fr>
392
393 Instead of mapping the LHS of unused rules to -1, keep the LHS
394 valid, but flag the rules as invalid.
395
396 * src/gram.h (rule_t): `useful' is a new member.
397 * src/print.c (print_grammar): Adjust.
398 * src/derives.c (set_derives): Likewise.
399 * src/reader.c (packgram, reduce_output): Likewise.
400 * src/reduce.c (reduce_grammar_tables): Likewise.
401 * tests/reduce.at (Underivable Rules, Useless Rules): New.
402
403 2001-11-30 Akim Demaille <akim@epita.fr>
404
405 * src/reduce.c (reduce_output): Formatting changes.
406 * src/print.c (print_results, print_grammar): Likewise.
407 * tests/regression.at (Rule Line Numbers)
408 (Solved SR Conflicts, Unresolved SR Conflicts): Adjust.
409
410 2001-11-30 Akim Demaille <akim@epita.fr>
411
412 * src/reduce.c (nonterminals_reduce): Instead of throwing away
413 useless nonterminals, move them at the end of the symbol arrays.
414 (reduce_output): Adjust.
415 * tests/reduce.at (Useless Nonterminals): Adjust.
416
417 2001-11-30 Akim Demaille <akim@epita.fr>
418
419 * src/reduce.c: Various comment/formatting changes.
420 (nonterminals_reduce): New, extracted from...
421 (reduce_grammar_tables): here.
422 (reduce_grammar): Call nonterminals_reduce.
423
424 2001-11-29 Paul Eggert <eggert@twinsun.com>
425
426 * src/bison.simple (YYSTACK_REALLOC): Remove.
427 (YYSTACK_ALLOC): Resurrect this macro, with its old meaning.
428 (YYSTACK_FREE, YYSTACK_GAP_MAX, YYSTACK_BYTES, YYSTACK_RELOCATE):
429 New macros.
430 (union yyalloc): New type.
431 (__yy_memcpy): Last arg is size_t, not unsigned int, to remove
432 an arbitrary restriction on hosts where size_t is wider than int.
433
434 (yyparse): Don't dump core if alloca or malloc fails; instead, report
435 a parser stack overflow. Allocate just one block of memory for all
436 three stacks, instead of allocating three blocks; this typically is
437 faster and reduces fragmentation.
438
439 Do not limit the number of items in the stack to a value that fits
440 in 'int', as this is an arbitrary limit on hosts with 64-bit
441 size_t and 32-bit int.
442
443 2001-11-29 Marc Autret <autret_m@epita.fr>
444
445 * tests/calc.at [AT_DATA_CALC_Y]: Use %error-verbose instead
446 of defining YYERROR_VERBOSE.
447 [AT_DATA]: $4 is now out of C declarations in the prologue.
448
449 2001-11-28 Marc Autret <autret_m@epita.fr>
450
451 * src/reader.c (parse_dquoted_param): New.
452 (parse_skel_decl): Use it.
453 * src/lex.h: Add its prototype.
454 * src/lex.c (literalchar): Become not static.
455
456 2001-11-28 Marc Autret <autret_m@epita.fr>
457
458 * src/output.h: And put its extern declaration here.
459 * src/output.c (error_verbose): Define here.
460 (prepare): Echo name modification.
461 * src/getargs.h: Clean its extern declaration.
462 * src/getargs.c (error_verbose_flag): Remove.
463 (getargs): Remove case 'e'.
464 * src/options.c (option_table): 'error-verbose' is now seen as simple
465 percent option.
466 Include output.h.
467
468 * src/reader.c (read_declarations): Remove case tok_include.
469 (parse_include_decl): Remove.
470 * src/lex.h (token_t): Remove tok_include.
471 * src/options.c (option_table): 'include' is now a simple command line
472 option.
473
474 2001-11-28 Marc Autret <autret_m@epita.fr>
475
476 * src/bison.simple: Adjust muscle names.
477 * src/muscle_tab.c (muscle_init): Also rename the muscles.
478 * src/output.c (prepare): s/_/-/ for the muscles names.
479 (output_parser): When scanning for a muscle, allow '-' instead of '_'.
480
481 2001-11-28 Marc Autret <autret_m@epita.fr>
482
483 * src/bison.simple: Fix debug.
484 [YYERROR_VERBOSE]: Re-integrate as an internal macro.
485
486 2001-11-28 Akim Demaille <akim@epita.fr>
487
488 * src/LR0.c (shifts_new): New.
489 (save_shifts, insert_start_shift, augment_automaton): Use it.
490
491 2001-11-28 Akim Demaille <akim@epita.fr>
492
493 * src/closure.c (closure): `b' and `ruleno' denote the same value:
494 keep ruleno only.
495
496 2001-11-28 Akim Demaille <akim@epita.fr>
497
498 * src/closure.c (closure): Instead of looping over word in array
499 then bits in words, loop over bits in array.
500
501 2001-11-28 Akim Demaille <akim@epita.fr>
502
503 * src/closure.c (closure): No longer optimize the special case
504 where all the bits of `ruleset[r]' are set to 0, to make the code
505 clearer.
506
507 2001-11-28 Akim Demaille <akim@epita.fr>
508
509 * src/closure.c (closure): `r' and `c' are new variables, used to
510 de-obfuscate accesses to RULESET and CORE.
511
512 2001-11-28 Akim Demaille <akim@epita.fr>
513
514 * src/reduce.c (reduce_print): Use ngettext.
515 (dump_grammar): Improve the trace accuracy.
516
517 2001-11-28 Akim Demaille <akim@epita.fr>
518
519 * src/reduce.c (dump_grammar): Don't translate trace messages.
520
521 2001-11-28 Akim Demaille <akim@epita.fr>
522
523 * tests/reduce.at (Useless Terminals, Useless Nonterminals): New.
524 * src/reduce.c (reduce_grammar_tables): Do not free useless tags,
525 as all tags are free'ed afterwards.
526 From Enrico Scholz.
527
528 2001-11-27 Paul Eggert <eggert@twinsun.com>
529
530 * src/bison.simple (YYSTACK_REALLOC): Fix typo that caused us to
531 use alloca when we didn't want to, and vice versa.
532
533 2001-11-27 Marc Autret <autret_m@epita.fr>
534
535 * src/muscle_tab.c (muscle_init): Remove 'verbose' muscle
536 initialization.
537 * src/output.c (prepare): Remove its update.
538
539 2001-11-27 Marc Autret <autret_m@epita.fr>
540
541 * tests/torture.at [AT_DATA]: Remove YYERROR_VERBOSE definition.
542 Use %error-verbose.
543
544 2001-11-27 Marc Autret <autret_m@epita.fr>
545
546 * src/bison.simple: Remove YYERROR_VERBOSE using.
547 Use %%error_verbose.
548 (yyparse): Likewise.
549 * src/output.c (prepare): Give its final value.
550 * src/muscle_tab.c (muscle_init): Init new muscle 'error_verbose'.
551 * src/getargs.h: Add its extern declaration.
552 * src/getargs.c (error_verbose_flag): New int.
553 (getargs): Update to catch new case.
554 * src/options.c (option_table): 'error-verbose' is a new option.
555 (shortopts): Update.
556
557 2001-11-27 Akim Demaille <akim@epita.fr>
558
559 * src/system.h: Use intl/libgettext.h.
560 * src/Makefile.am (INCLUDES): Add -I $(top_srcdir).
561
562 2001-11-27 Akim Demaille <akim@epita.fr>
563
564 * tests/torture.at (Exploding the Stack Size with Malloc):
565 s/YYSTACK_USE_ALLOCA_ALLOCA/YYSTACK_USE_ALLOCA/.
566
567 2001-11-27 Akim Demaille <akim@epita.fr>
568
569 * src/files.c: Include error.h.
570 Reported by Hans Aberg.
571
572 2001-11-26 Marc Autret <autret_m@epita.fr>
573
574 * src/reader.c (parse_include_decl): New, not yet implemented.
575 (read_declarations): Add case tok_include.
576 * src/getargs.h (include): Add its extern definition.
577 * src/getargs.c (include): New const char *.
578 (getargs): Add case '-I'.
579 * src/options.c (option_table): Add include as command line and
580 percent option.
581 * src/lex.h (token_t): Add tok_include.
582
583 2001-11-26 Akim Demaille <akim@epita.fr>
584
585 * src/reader.c (readgram): Make sure rules for mid-rule actions
586 have a lineno equal to that of their host rule.
587 Reported by Hans Aberg.
588 * tests/regression.at (Rule Line Numbers): New.
589
590 2001-11-26 Akim Demaille <akim@epita.fr>
591
592 * src/LR0.c (allocate_itemsets): kernel_size contains ints, not
593 size_ts.
594
595 2001-11-26 Akim Demaille <akim@epita.fr>
596
597 * src/complain.c, src/complain.h (error): Remove, provided by
598 lib/error.[ch].
599
600 2001-11-26 Akim Demaille <akim@epita.fr>
601
602 * src/reader.c (read_declarations): Don't abort on tok_illegal,
603 issue an error message.
604 * tests/regression.at (Invalid %directive): New.
605 Reported by Hans Aberg.
606
607 2001-11-26 Akim Demaille <akim@epita.fr>
608
609 * configure.in: Invoke AC_FUNC_OBSTACK and AC_FUNC_ERROR_AT_LINE.
610 * lib/Makefile.am (libbison_a_SOURCES): Adjust.
611
612 2001-11-26 Akim Demaille <akim@epita.fr>
613
614 * src/conflicts.c (conflicts_print): Don't complain at all when
615 there are no reduce/reduce conflicts, and as many shift/reduce
616 conflicts as expected.
617 * tests/regression.at (%expect right): Adjust.
618
619 2001-11-23 Akim Demaille <akim@epita.fr>
620
621 * lib/alloca.c: Update, from fileutils.
622
623 2001-11-23 Akim Demaille <akim@epita.fr>
624
625 * lib/Makefile.am (libbison_a_LIBADD): Add @ALLOCA@.
626
627 2001-11-23 Akim Demaille <akim@epita.fr>
628
629 * src/system.h: Include alloca.h.
630 * src/main.c (main) [C_ALLOCA]: Call alloca (0).
631
632 2001-11-23 Akim Demaille <akim@epita.fr>
633
634 * src/print_graph.c (print_actions): Remove `rule', unused.
635 * src/LR0.c (kernel_size): Contain `int' instead of `size_t' to
636 pacify GCC's signed < unsigned warnings.
637 * src/closure.c (itemsetsize): Likewise.
638 * src/reader.c (symbol_list_new): Static.
639
640 2001-11-23 Akim Demaille <akim@epita.fr>
641
642 Attaching lineno to buckets is stupid, since only one copy of each
643 symbol is kept, only the line of the first occurrence is kept too.
644
645 * src/symtab.h, src/symtab.c (bucket): Remove the line member.
646 * src/reader.c (rline_allocated): Remove, unused.
647 (symbol_list): Have a `line' member.
648 (symbol_list_new): New.
649 (readgram): Use it.
650 * src/print.c (print_grammar): Output the rule line numbers.
651 * tests/regression.at (Solved SR Conflicts)
652 (Unresolved SR Conflicts): Adjust.
653 Reported by Hans Aberg.
654
655 2001-11-22 Marc Autret <autret_m@epita.fr>
656
657 * src/bison.simple [YYERROR_VERBOSE]: Force its value to be 1 or 0.
658
659 2001-11-22 Marc Autret <autret_m@epita.fr>
660
661 * src/muscle_tab.c (muscle_init): Remove initialization of
662 skeleton muscle.
663 * src/output.c (output_master_parser): Do it here.
664
665 2001-11-20 Akim Demaille <akim@epita.fr>
666
667 * po/sv.po: New.
668 * configure.in (ALL_LINGUAS): Adjust.
669 * po/POTFILE.in: Remove `nullable.c' and `derives.c' which no
670 longer contains strings to translate.
671
672 2001-11-19 Akim Demaille <akim@epita.fr>
673
674 * src/conflicts.c (conflicts_print): Add a missing \n.
675
676 2001-11-19 Akim Demaille <akim@epita.fr>
677
678 * src/nullable.c (nullable_print): New.
679 (set_nullable): Call it when tracing.
680 Better locality of variables.
681
682 2001-11-19 Akim Demaille <akim@epita.fr>
683
684 * src/print.c (print_actions): Better locality of variables.
685
686 2001-11-19 Akim Demaille <akim@epita.fr>
687
688 * src/derives.c (print_derives): Fix and enrich.
689 * src/closure.c (print_fderives): Likewise.
690
691 2001-11-19 Akim Demaille <akim@epita.fr>
692
693 * src/closure.c (itemsetend): Remove, replaced with...
694 (itemsetsize): new.
695
696 2001-11-19 Akim Demaille <akim@epita.fr>
697
698 * src/LR0.c (kernel_end): Remove, replaced with...
699 (kernel_size): new.
700
701 2001-11-19 Akim Demaille <akim@epita.fr>
702
703 * src/conflicts.c (set_conflicts): Use arrays instead of pointers
704 to clarify.
705
706 2001-11-19 Akim Demaille <akim@epita.fr>
707
708 * src/closure.c (closure): Use arrays instead of pointers to clarify.
709
710 2001-11-19 Akim Demaille <akim@epita.fr>
711
712 * src/closure.c, src/derives.c, src/nullable.c: Adjust various
713 trace messages.
714 * src/LR0.c: Likewise.
715 (allocate_itemsets): Use arrays instead of pointers to clarify.
716
717 2001-11-19 Akim Demaille <akim@epita.fr>
718
719 * src/getargs.c (statistics_flag): Replace with...
720 (trace_flag): New.
721 (longopts): Accept --trace instead of --statistics.
722 * src/getargs.h, src/options.c: Adjust.
723 * src/LR0.c, src/closure.c, src/derives.c, src/nullable.c,
724 * src/reduce.c: Use trace_flags instead of the CPP conditional TRACE.
725
726 2001-11-19 Akim Demaille <akim@epita.fr>
727
728 * src/LR0.c (new_itemsets, get_state): Use more arrays and fewer
729 pointers to clarify the code.
730 (save_reductions, save_shifts): Factor common parts of alternatives.
731
732 2001-11-19 Akim Demaille <akim@epita.fr>
733
734 * src/LR0.c (new_state, get_state): Complete TRACE code.
735 * src/closure.c: Include `reader.h' to get `tags', needed by the
736 trace code.
737 Rename the conditional DEBUG as TRACE.
738 Output consistently TRACEs to stderr, not stdout.
739 * src/derives.c: Likewise.
740 * src/reduce.c: (inaccessable_symbols): Using if is better style
741 than goto.
742 Use `#if TRACE' instead of `#if 0' for tracing code.
743
744 2001-11-19 Akim Demaille <akim@epita.fr>
745
746 * src/system.h (LIST_FREE, shortcpy): New.
747 * src/LR0.c: Use them.
748 * src/output.c (free_itemsets, free_reductions, free_shifts):
749 Remove, replaced by LIST_FREE.
750
751 2001-11-19 Akim Demaille <akim@epita.fr>
752
753 * src/state.h (CORE_ALLOC, SHIFTS_ALLOC, ERRS_ALLOC)
754 (REDUCTIONS_ALLOC): New.
755 * src/LR0.c, src/conflicts.c: Use them to de-obfuscate memory
756 allocation.
757
758 2001-11-19 Akim Demaille <akim@epita.fr>
759
760 * src/LR0.c (new_state): Complete trace code.
761 * src/nullable.c (set_nullable): Don't translate traces.
762
763 2001-11-19 Akim Demaille <akim@epita.fr>
764
765 * src/print_graph.c (print_core): Better locality of variables.
766 * src/print.c (print_core): Likewise.
767
768 2001-11-19 Akim Demaille <akim@epita.fr>
769
770 * src/vcg.c: You do the output, so you are responsible of the
771 handling of VCG syntax, in particular: use quotearg.
772 * src/print_graph.c: Don't.
773 (print_actions): Don't output the actions as part of the nodes,
774 since that's the job of the edges.
775 (print_state): Don't output by hand: fill the node description,
776 and ask for its output.
777
778 2001-11-19 Akim Demaille <akim@epita.fr>
779
780 * src/bison.simple (yyparse): When verbosely reporting an error,
781 no longer put additional quotes around token names.
782 * tests/calc.at: Adjust.
783
784 2001-11-19 Akim Demaille <akim@epita.fr>
785
786 * src/symtab.h, src/symtab.c: `line' is a new member of `bucket'.
787 * src/reader.c (record_rule_lines, rline, rline_allocated): Remove.
788 * src/output.c: Adjust.
789
790 2001-11-19 Akim Demaille <akim@epita.fr>
791
792 * src/gram.h (rprec, rprecsym, rassoc): Remove, now part of...
793 (rule_t): this.
794 * src/conflicts.c, src/reader.c, src/reduce.c: Adjust.
795
796 2001-11-19 Akim Demaille <akim@epita.fr>
797
798 * src/gram.h (rule_t): New.
799 (rule_table): New.
800 (rrhs, rlhs): Remove, part of state_t.
801 * src/print_graph.c, src/closure.c, src/conflicts.c, src/derives.c,
802 * src/lalr.c, src/nullable.c, src/output.c, src/print.c,
803 * src/reader.c, src/reduce.c: Adjust.
804
805 2001-11-19 Akim Demaille <akim@epita.fr>
806
807 * src/reader.c (symbols_output): New, extracted from...
808 (packsymbols): Here.
809 (reader): Call it.
810
811 2001-11-19 Akim Demaille <akim@epita.fr>
812
813 * src/lalr.c (set_maxrhs, maxrhs): Remove, replaced with...
814 (maxrhs): this new function.
815
816 2001-11-19 Akim Demaille <akim@epita.fr>
817
818 * src/lalr.c (F): New macro to access the variable F.
819 Adjust.
820
821 2001-11-19 Akim Demaille <akim@epita.fr>
822
823 * src/lalr.h (LA): New macro to access the variable LA.
824 * src/output.c, src/lalr.c, src/print_graph.c, src/conflicts.c:
825 * src/lalr.c: Adjust.
826
827 2001-11-19 Akim Demaille <akim@epita.fr>
828
829 * src/lalr.c (initialize_LA): Only initialize LA. Let...
830 (set_state_table): handle the `lookaheads' members.
831
832 2001-11-19 Akim Demaille <akim@epita.fr>
833
834 * src/lalr.h (lookaheads): Removed array, whose contents is now
835 a member of...
836 (state_t): this structure.
837 * src/output.c, src/lalr.c, src/print_graph.c, src/conflicts.c:
838 Adjust.
839
840 2001-11-19 Akim Demaille <akim@epita.fr>
841
842 * src/lalr.h (consistent): Removed array, whose contents is now
843 a member of...
844 (state_t): this structure.
845 * src/output.c, src/lalr.c, src/print_graph.c, src/conflicts.c:
846 Adjust.
847
848 2001-11-19 Akim Demaille <akim@epita.fr>
849
850 * src/lalr.h (reduction_table, shift_table): Removed arrays, whose
851 contents are now members of...
852 (state_t): this structure.
853 * src/output.c, src/lalr.c, src/print_graph.c, src/conflicts.c:
854 Adjust.
855
856 2001-11-19 Akim Demaille <akim@epita.fr>
857
858 * src/lalr.h (state_t): New.
859 (state_table): Be a state_t * instead of a core **.
860 (accessing_symbol): Remove, part of state_t.
861 * src/lalr.c: Adjust.
862 (set_accessing_symbol): Merge into...
863 (set_state_table): this.
864 * src/print_graph.c, src/conflicts.c: Adjust.
865
866 2001-11-14 Akim Demaille <akim@epita.fr>
867
868 * tests/calc.at, tests/output.at, tests/regression.at,
869 * tests/testsuite.at, tests/torture.at: Rely on Autotest 2.52g:
870 now the tests are run in private dirs, therefore AC_CLEANUP and
871 family can be simplified to 0-ary.
872 * tests/atlocal.in: Now that we run `elsewhere' than in tests/,
873 use abs. path to find config.h.
874 * tests/calc.at (AT_CHECK_CALC): Don't try to check the compiler's
875 stderr, there can be way too much random noise.
876 Instead pass -Werror to GCC and rely on the exit status.
877 Reported by Wolfram Wagner.
878
879 2001-11-14 Akim Demaille <akim@epita.fr>
880
881 * src/bison.simple (yyparse): Let yyls1, yyss1 and yyvs1 be
882 defined only if yyoverflow is defined, to avoid `warning: unused
883 variable `yyvs1''.
884 Reported by The Test Suite.
885
886 2001-11-14 Akim Demaille <akim@epita.fr>
887
888 * src/print.c: Include reduce.h.
889 Reported by Hans Aberg.
890
891 2001-11-14 Akim Demaille <akim@epita.fr>
892
893 * src/lex.c, src/lex.h (token_buffer, unlexed_token_buffer):
894 Revert a previous patch: these are really const.
895 * src/conflicts.c (conflict_report): Additional useless pair of
896 braces to pacify GCC's warnings for `if () if () {} else {}'.
897 * src/lex.c (parse_percent_token): Replace equal_offset with
898 arg_offset.
899 arg is const.
900 Be sure to strdup `arg' when used, since there is no reason for
901 token_buffer not to change.
902
903 2001-11-14 Akim Demaille <akim@epita.fr>
904
905 * src/system.h (EXIT_SUCCESS, EXIT_FAILURE): Ensure a proper
906 definition.
907 * src/main.c (main): Use them.
908 Suggested by Hans Aberg.
909
910 2001-11-12 Akim Demaille <akim@epita.fr>
911
912 * src/system.h (ngettext): Now that we use ngettext, be sure to
913 provide a default definition when NLS are not used.
914
915 2001-11-12 Akim Demaille <akim@epita.fr>
916
917 * doc/bison.texinfo: Use `$' as shell prompt, not `%'.
918 Use @kbd to denote user input.
919 (Language and Grammar): ANSIfy the example.
920 Adjust its layout for info/notinfo.
921 (Location Tracking Calc): Output error messages to stderr.
922 Output locations in a more GNUtically correct way.
923 Fix a couple of Englishos.
924 Adjust @group/@end group pairs.
925
926 2001-11-12 Akim Demaille <akim@epita.fr>
927
928 %expext was not functioning at all.
929
930 * src/conflicts.c (expected_conflicts): Set to -1.
931 (conflict_report): Use ngettext.
932 (conflicts_print): Check %expect and make its violation an error.
933 * doc/bison.texinfo (Expect Decl): Adjust.
934 * configure.in (AM_GNU_GETTEXT): Ask for ngettext.
935 * tests/regression.at (%expect not enough, %expect right)
936 (%expect too much): New.
937
938 2001-11-12 Akim Demaille <akim@epita.fr>
939
940 * tests/regression.at (Conflicts): Rename as...
941 (Unresolved SR Conflicts): this.
942 (Solved SR Conflicts): New.
943
944 2001-11-12 Akim Demaille <akim@epita.fr>
945
946 * src/reduce.c (print_results): Rename as...
947 (reduce_output): This.
948 Output to OUT, passed as argument, instead of output_obstack.
949 (dump_grammar): Likewise.
950 (reduce_free): New.
951 Also free V1.
952 (reduce_grammar): No longer call reduce_output, since...
953 * src/print.c (print_results): do it.
954 * src/main.c (main): Call reduce_free;
955
956 2001-11-12 Akim Demaille <akim@epita.fr>
957
958 * src/conflicts.c (print_reductions): Accept OUT as argument.
959 Output to it, not to output_obstack.
960 * src/print.c (print_actions): Adjust.
961
962 2001-11-12 Akim Demaille <akim@epita.fr>
963
964 * src/conflicts.c (count_sr_conflicts, count_rr_conflicts): Return
965 the result instead of using...
966 (src_total, rrc_total, src_count, rrc_count): Remove.
967 (any_conflicts): Remove.
968 (print_conflicts): Split into...
969 (conflicts_print, conflicts_output): New.
970 * src/conflicts.h: Adjust.
971 * src/main.c (main): Invoke both conflicts_output and conflicts_print.
972 * src/print.c (print_grammar): Issue `\n' between two rules.
973 * tests/regression.at (Conflicts): New.
974 Reported by Tom Lane.
975
976 2001-11-12 Akim Demaille <akim@epita.fr>
977
978 * tests/regression.at (Invalid input): Remove, duplicate with
979 ``Invalid input: 1''.
980
981 2001-11-12 Akim Demaille <akim@epita.fr>
982
983 * tests/torture.at (AT_DATA_STACK_TORTURE)
984 (Exploding the Stack Size with Alloca)
985 (Exploding the Stack Size with Malloc): New.
986
987 2001-11-12 Akim Demaille <akim@epita.fr>
988
989 * src/bison.simple (YYSTACK_REALLOC): New.
990 (yyparse) [!yyoverflow]: Use it and free the old stack.
991 Reported by Per Allansson.
992
993 2001-11-12 Pascal Bart <pascal.bart@epita.fr>
994
995 * src/bison.simple: Define type yystype instead of YYSTYPE, and
996 define CPP macro, which substitute YYSTYPE by yystype.
997 * src/reader.c (parse_union_decl): Output yystype/YYSTYPE as we do
998 with yyltype/YYLTYPE. This allows inclusion of the generated
999 header within the parser if the compiler, such as GGC, accepts
1000 multiple equivalent #defines.
1001 From Akim.
1002
1003 2001-11-05 Akim Demaille <akim@epita.fr>
1004
1005 * src/reader.c (symbols_output): New, extracted from...
1006 (packsymbols): here.
1007 (reader): Adjust.
1008
1009 2001-11-05 Akim Demaille <akim@epita.fr>
1010
1011 * src/lex.c (parse_percent_token): s/quotearg/quote/.
1012
1013 2001-11-05 Akim Demaille <akim@epita.fr>
1014
1015 * tests/regression.at (AT_TEST_CPP_GUARD_H): Adjust the clean up
1016 pattern.
1017
1018 2001-11-05 Akim Demaille <akim@epita.fr>
1019
1020 * src/options.h (struct option_table_struct): set_flags is void*.
1021 * src/options.c (longopts): Support `--output' and `%output'.
1022 (usage): Adjust.
1023 * src/lex.h (tok_setopt): Remove, replaced with...
1024 (tok_intopt, tok_stropt): these new guys.
1025 * src/lex.c (getopt.h): Not needed.
1026 (token_buffer, unlexed_token_buffer): Not const.
1027 (percent_table): Promote `-' over `_' in directive names.
1028 Active `%name-prefix', `file-prefix', and `output'.
1029 (parse_percent_token): Accept possible arguments to directives.
1030 Promote `-' over `_' in directive names.
1031
1032 2001-11-04 Akim Demaille <akim@epita.fr>
1033
1034 * doc/bison.texinfo (Decl Summary): Split the list into
1035 `directives for grammars' and `directives for bison'.
1036 Sort'em.
1037 Add description of `%name-prefix', `file-prefix', and `output'.
1038 Promote `-' over `_' in directive names.
1039 (Bison Options): s/%locactions/%locations/. Nice Freudian slip.
1040 Simplify the description of `--name-prefix'.
1041 Promote `-' over `_' in directive names.
1042 Promote `--output' over `--output-file'.
1043 Fix the description of `--defines'.
1044 * tests/output.at: Exercise %file-prefix and %output.
1045
1046 2001-11-02 Akim Demaille <akim@epita.fr>
1047
1048 * doc/refcard.tex: Update.
1049
1050 2001-11-02 Akim Demaille <akim@epita.fr>
1051
1052 * src/symtab.h (SUNDEF): New.
1053 * src/symtab.c (bucket_new): Init user_token_number to SUNDEF to
1054 stand for `uninitialized', instead of 0.
1055 * src/reader.c (packsymbols, parse_thong_decl): Adjust.
1056 * src/lex.c (lex): Adjust.
1057
1058 * tests/calc.at (_AT_DATA_CALC_Y): Declare a token for EOF.
1059 Number it 0.
1060 Let yylex return it instead of a plain 0.
1061 Reported by Dick Streefland.
1062
1063 2001-11-02 Akim Demaille <akim@epita.fr>
1064
1065 * tests/regression.at (Mixing %token styles): New test.
1066
1067 2001-11-02 Akim Demaille <akim@epita.fr>
1068
1069 * src/reader.c (parse_thong_decl): Formatting changes.
1070 (token_translations_init): New, extracted from...
1071 (packsymbols): Here.
1072 Adjust.
1073
1074 2001-11-01 Akim Demaille <akim@epita.fr>
1075
1076 * tests/regression.at (AT_TEST_CPP_GUARD_H): New.
1077 Check that `9foo.y' produces correct cpp guards.
1078 * src/files.c (compute_header_macro): Prepend `BISON_' to CPP
1079 guards.
1080 Reported by Wwp.
1081
1082 2001-11-01 Akim Demaille <akim@epita.fr>
1083
1084 * tests/regression.at (Invalid input: 2): New.
1085 * src/lex.c (unlexed_token_buffer): New.
1086 (lex, unlex): Adjust: when unlexing, be sure to save token_buffer
1087 too.
1088 Reported by Wwp.
1089
1090 2001-11-01 Akim Demaille <akim@epita.fr>
1091
1092 * tests/calc.at: Catch up with 1.30.
1093 * configure.in: Bump to 1.49a.
1094 Adjust to newer Autotest.
1095
1096 2001-10-19 Pascal Bart <pascal.bart@epita.fr>
1097
1098 * src/conflicts.c: Move global variables rrc_total and src_total ...
1099 (print_conflicts): here.
1100 * src/output.c (output): Free global variable user_toknums.
1101 * src/lex.c (token_obstack): Become static.
1102
1103 2001-10-18 Akim Demaille <akim@epita.fr>
1104
1105 * tests/atlocal.in (GCC): Add.
1106 * tests/calc.at: s/m4_match/m4_bmatch/.
1107 s/m4_patsubst/m4_bpatsubst/.
1108 (AT_CHECK_CALC): Check the compiler's stderr only if it's GCC.
1109 * configure.in: AC_SUBST(GCC).
1110
1111 2001-10-14 Marc Autret <autret_m@epita.fr>
1112
1113 * src/options.c (create_long_option_table): Fix.
1114
1115 2001-10-10 Akim Demaille <akim@epita.fr>
1116
1117 * src/bison.simple: Be sure to set YYSTACK_USE_ALLOCA.
1118
1119 2001-10-04 Akim Demaille <akim@epita.fr>
1120
1121 * src/reader.c (parse_union_decl): Push the caracters in
1122 union_obstack, not attrs_obstack.
1123
1124 2001-10-04 Akim Demaille <akim@epita.fr>
1125
1126 Merge in the branch 1.29.
1127
1128 * src/reader.c (packsymbols): Use a temporary obstack for
1129 `%%tokendef', since output_stack is already used elsewhere.
1130
1131 2001-10-02 Akim Demaille <akim@epita.fr>
1132
1133 Bump 1.29d.
1134
1135 2001-10-02 Akim Demaille <akim@epita.fr>
1136
1137 Version 1.29c.
1138
1139 2001-10-02 Akim Demaille <akim@epita.fr>
1140
1141 * tests/regression.at (Invalid CPP headers): New.
1142 From Alexander Belopolsky.
1143 * src/files.c (compute_header_macro): Map non alnum chars to `_'.
1144
1145 2001-10-02 Akim Demaille <akim@epita.fr>
1146
1147 * tests/regression.at (Invalid input): New.
1148 * src/lex.c (lex): Be sure to set `token_buffer' in any case.
1149 Reported by Shura.
1150
1151 2001-10-02 Akim Demaille <akim@epita.fr>
1152
1153 * tests/calc.at: Now that --debug works, the tests must be adjusted.
1154
1155 2001-10-02 Akim Demaille <akim@epita.fr>
1156
1157 * src/output.c (output_parser): Assert `skeleton'.
1158 * src/files.c (skeleton_find): Look harder for skeletons on DOSish
1159 systems.
1160 From Shura.
1161
1162 2001-10-01 Marc Autret <autret_m@epita.fr>
1163
1164 * src/lex.h: Echo modifications.
1165 * src/lex.c (unlex): Parameter is now token_t.
1166 From Hans Aberg.
1167
1168 2001-10-01 Marc Autret <autret_m@epita.fr>
1169
1170 * src/main.c: Include lex.h.
1171 From Hans Aberg.
1172
1173 2001-09-29 Akim Demaille <akim@epita.fr>
1174
1175 * src/getargs.c (longopts): `--debug' is `-t', not `-d'.
1176
1177 2001-09-28 Akim Demaille <akim@epita.fr>
1178
1179 * tests/testsuite.at: Update to newer Autotest.
1180 * tests/Makefile.am (EXTRA_DIST): bison is not to be shipped.
1181
1182 2001-09-27 Akim Demaille <akim@epita.fr>
1183
1184 Position independent wrapper.
1185
1186 * tests/bison: Remove.
1187 * tests/bison.in: New.
1188 * configure.in: Adjust.
1189
1190 2001-09-27 Paul Eggert <eggert@twinsun.com>
1191
1192 Port quotearg fixes from tar 1.13.24.
1193
1194 * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
1195 tm to be declared.
1196 (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
1197 (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
1198
1199 * m4/Makefile.am (EXTRA_DIST): Add mbrtowc.m4.
1200 * m4/mbrtowc.m4: New file.
1201 * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for mbsinit and stddef.h.
1202 Use jm_FUNC_MBRTOWC instead of AC_CHECK_FUNCS(mbrtowc).
1203
1204 2001-09-27 Akim Demaille <akim@epita.fr>
1205
1206 Bump to 1.29c.
1207
1208 2001-09-27 Akim Demaille <akim@epita.fr>
1209
1210 Version 1.29b.
1211
1212 2001-09-25 Akim Demaille <akim@epita.fr>
1213
1214 * src/system.h: Include `xalloc.h'.
1215 Remove it from the C files.
1216 * src/files.c (output_files): Free the obstacks.
1217 * src/lex.c (init_lex): Rename as...
1218 (lex_init): this.
1219 (lex_free): New.
1220 * src/main.c (main): Use it.
1221
1222 2001-09-24 Marc Autret <autret_m@epita.fr>
1223
1224 * src/vcg.c (open_edge, close_edge, open_node, close_node): Change
1225 to output informations in fout (FILE*).
1226 (open_graph, close_graph): Likewise.
1227 (output_graph, output_edge, output_node): Likewise.
1228 * src/vcg.h: Update function prototypes.
1229 * src/print_graph.c (print_graph): Open output graph file.
1230 (print_actions): Adjust.
1231 * src/files.h: Remove extern declaration.
1232 * src/files.c: Remove graph_obstack declaration.
1233 (open_files): Remove graph_obstack initialization.
1234 (output_files): Remove graph_obstack saving.
1235
1236 2001-09-24 Marc Autret <autret_m@epita.fr>
1237
1238 * src/files.c (compute_output_file_names): Fix.
1239
1240 2001-09-24 Marc Autret <autret_m@epita.fr>,
1241 Akim Demaille <akim@epita.fr>
1242
1243 * src/reader.c (reader): Remove call to free_symtab ().
1244 * src/main.c (main): Call it here.
1245 Include symtab.h.
1246 * src/conflicts.c (initialize_conflicts): Rename as...
1247 (solve_conflicts): this.
1248 * src/print.c (print_core, print_actions, print_state)
1249 (print_grammar): Dump to a file instead a `output_obstack'.
1250 (print_results): Dump `output_obstack', and then proceed with the
1251 FILE *.
1252 * src/files.c (compute_output_file_names, close_files): New.
1253 (output_files): Adjust.
1254 * src/main.c (main): Adjust.
1255
1256 2001-09-23 Marc Autret <autret_m@epita.fr>
1257
1258 * src/files.c (compute_header_macro): Computes header macro name
1259 from spec_defines_file when given.
1260
1261 2001-09-23 Marc Autret <autret_m@epita.fr>
1262
1263 * src/files.c (output_files): Add default extensions.
1264
1265 2001-09-22 Akim Demaille <akim@epita.fr>
1266
1267 * src/conflicts.c (finalize_conflicts): Rename as...
1268 (free_conflicts): this.
1269
1270 2001-09-22 Akim Demaille <akim@epita.fr>
1271
1272 * src/gram.c (gram_free): Rename back as...
1273 (dummy): this.
1274 (output_token_translations): Free `token_translations'.
1275 * src/symtab.c (free_symtab): Free the tag field.
1276
1277 2001-09-22 Akim Demaille <akim@epita.fr>
1278
1279 Remove `translations' as it is always set to true.
1280
1281 * src/gram.h: Adjust.
1282 * src/reader.c (packsymbols, parse_token_decl): Adjust
1283 * src/print.c (print_grammar): Adjust.
1284 * src/output.c (output_token_translations): Adjust.
1285 * src/lex.c (lex): Adjust.
1286 * src/gram.c: Be sure the set pointers to NULL.
1287 (dummy): Rename as...
1288 (gram_free): this.
1289
1290 2001-09-22 Akim Demaille <akim@epita.fr>
1291
1292 * configure.in: Invoke AM_LIB_DMALLOC.
1293 * src/system.h: Use dmalloc.
1294 * src/LR0.c: Be sure to have pointers initialized to NULL.
1295 (allocate_itemsets): Allocate kernel_items only if needed.
1296
1297 2001-09-22 Akim Demaille <akim@epita.fr>
1298
1299 * configure.in: Bump to 1.29b.
1300 * tests/Makefile.am (DISTCLEANFILES): Add package.m4.
1301 * tests/calc.at (_AT_DATA_CALC_Y): #undef malloc so that we don't
1302 need xmalloc.c in calc.y.
1303 From Pascal Bart.
1304
1305 2001-09-21 Akim Demaille <akim@epita.fr>
1306
1307 Version 1.29a.
1308 * Makefile.maint, config/config.guess, config/config.sub,
1309 * config/missing: Update from masters.
1310 * tests/Makefile.am ($(srcdir)/$(TESTSUITE)): No longer depend
1311 upon package.m4.
1312 * configure.in (ALL_LINGUAS): Add `tr'.
1313
1314 2001-09-21 Akim Demaille <akim@epita.fr>
1315
1316 * tests/Makefile.am (package.m4): Move to...
1317 ($(srcdir)/$(TESTSUITE)): here.
1318
1319 2001-09-20 Akim Demaille <akim@epita.fr>
1320
1321 * src/complain.c: No longer try to be standalone: use system.h.
1322 Don't assume __STDC__ is defined to 1. Just test if it is defined.
1323 * src/complain.h: Likewise.
1324 * src/reduce.c (useless_nonterminals, inaccessable_symbols):
1325 Remove the unused variable `n'.
1326 From Albert Chin-A-Young.
1327
1328 2001-09-18 Marc Autret <autret_m@epita.fr>
1329
1330 * doc/bison.1: Update.
1331 * doc/bison.texinfo (Bison Options): Update --defines and --graph
1332 descriptions.
1333 (Option Cross Key): Update.
1334 Add --graph.
1335
1336 2001-09-18 Marc Autret <autret_m@epita.fr>
1337
1338 * tests/regression.at: New test (comment in %union).
1339
1340 2001-09-18 Marc Autret <autret_m@epita.fr>
1341
1342 * src/reader.c (parse_union_decl): Do not output '/'. Let copy_comment
1343 do that.
1344 Reported by Keith Browne.
1345
1346 2001-09-18 Marc Autret <autret_m@epita.fr>
1347
1348 * tests/output.at: Add tests for --defines and --graph.
1349
1350 2001-09-18 Marc Autret <autret_m@epita.fr>
1351
1352 * tests/output.at: Removes tests of %{header,src}_extension features.
1353
1354 2001-09-18 Akim Demaille <akim@epita.fr>
1355
1356 * tests/Makefile.am (package.m4): New.
1357 * tests/calc.at (_AT_CHECK_CALC): Just run `calc input'.
1358 (_AT_CHECK_CALC_ERROR): Likewise.
1359 Factor the `, ' part of verbose error messages.
1360
1361 2001-09-18 Marc Autret <autret_m@epita.fr>
1362
1363 * src/getargs.c (longopts): Declare --defines and --graph as options
1364 with optional arguments.
1365 * src/files.h: Add extern declarations.
1366 * src/files.c (spec_graph_file, spec_defines_file): New.
1367 (output_files): Update.
1368 Remove CPP-outed code.
1369
1370 2001-09-18 Marc Autret <autret_m@epita.fr>
1371
1372 Turn off %{source,header}_extension feature.
1373
1374 * src/files.c (compute_exts_from_gf): Update.
1375 (compute_exts_from_src): Update.
1376 (output_files): CPP-out useless code.
1377 * src/files.h: Remove {header,source}_extension extern declarations.
1378 * src/reader.c (parse_dquoted_param): CPP-out.
1379 (parse_header_extension_decl): Remove.
1380 (parse_source_extension_decl): Remove.
1381 (read_declarations): Remove cases tok_{hdrext,srcext}.
1382 * src/lex.c (percent_table): Remove {header,source}_extension entries.
1383 * src/lex.h (token_t): Remove tok_hdrext and tok_srcext.
1384
1385 2001-09-10 Akim Demaille <akim@epita.fr>
1386
1387 * tests/output.at (AT_CHECK_BISON_FLAGS, AT_CHECK_BISON_PERCENT):
1388 (AT_CHECK_BISON_PERCENT_FLAGS): Merge into...
1389 (AT_CHECK_OUTPUT): this.
1390 Merely check ls' exit status, its output is useless.
1391
1392 2001-09-10 Akim Demaille <akim@epita.fr>
1393
1394 * tests/calc.at: Use m4_match.
1395 (_AT_DATA_CALC_Y): Check `yyin != NULL', not `stdin != NULL'.
1396
1397 2001-09-10 Marc Autret <autret_m@epita.fr>,
1398 Akim Demaille <akim@epita.fr>
1399
1400 * src/vcg.h (graph_s): color, textcolor, bordercolor are now
1401 enum color_e.
1402 * src/print_graph.c (print_graph): Initalize graph.layoutalgorithm
1403 to `normal'.
1404 * src/reader.c (parse_token_decl): Initialize token with tok_eof.
1405 * src/lex.h: Adjust prototype.
1406 (token_t): Add `tok_undef'.
1407 * src/lex.c (struct percent_table_struct): Retval is now a token_t.
1408 (parse_percent_token): Now returns token_t.
1409 Add default statement in switch.
1410 (lex): Separate `c' as an input variable, from the token_t result
1411 part.
1412 (unlexed): Is a token_t.
1413
1414 2001-09-10 Akim Demaille <akim@epita.fr>
1415
1416 * configure.in: Bump to 1.29a.
1417
1418 2001-09-07 Akim Demaille <akim@epita.fr>
1419
1420 Version 1.29.
1421
1422 2001-08-30 Akim Demaille <akim@epita.fr>
1423
1424 * tests/atgeneral.m4, tests/atconfig.in, tests/suite.at: Remove.
1425 * m4/atconfig.m4: Remove.
1426 * tests/testsuite.at, tests/atlocal.in, tests/output.at,
1427 * tests/bison: New.
1428 * tests/regression.at, tests/calc.at: Use m4_define, AT_BANNER,
1429 m4_if, m4_patsubst, and m4_regexp.
1430 * tests/calc.at (_AT_CHECK_CALC, _AT_CHECK_CALC_ERROR): Use an
1431 `input' file instead of echo.
1432
1433 2001-08-29 Akim Demaille <akim@epita.fr>
1434
1435 Bump to 1.28e.
1436
1437 2001-08-29 Akim Demaille <akim@epita.fr>
1438
1439 Version 1.28d.
1440
1441 2001-08-29 Paul Eggert <eggert@twinsun.com>
1442
1443 * src/bison.simple (yyparse): Don't take the address of an
1444 item before the start of an array, as that doesn't conform to
1445 the C Standard.
1446
1447 2001-08-29 Robert Anisko <anisko_r@epita.fr>
1448
1449 * doc/bison.texinfo (Location Tracking Calc): New node.
1450
1451 2001-08-29 Paul Eggert <eggert@twinsun.com>
1452
1453 * src/output.c (output): Do not define const, as this now
1454 causes more problems than it cures.
1455
1456 2001-08-29 Akim Demaille <akim@epita.fr>
1457
1458 * doc/bison.texinfo: Modernize `@node' and `@top' use: just name
1459 the nodes.
1460 Be sure to tag the `detailmenu'.
1461
1462 2001-08-29 Akim Demaille <akim@epita.fr>
1463
1464 * Makefile.maint (do-po-update): Wget refuses to overwrite files:
1465 download in a tmp dir.
1466
1467 2001-08-28 Marc Autret <autret_m@epita.fr>
1468
1469 * config/depcomp: New file.
1470
1471 2001-08-28 Marc Autret <autret_m@epita.fr>
1472
1473 * doc/bison.1 (mandoc): Adjust.
1474 From Juan Manuel Guerrero.
1475
1476 2001-08-28 Marc Autret <autret_m@epita.fr>
1477
1478 * src/print_graph.c (print_state): Fix.
1479
1480 2001-08-27 Marc Autret <autret_m@epita.fr>
1481
1482 * src/vcg.h (classname_s, infoname_s, node_s): Constify the
1483 char * members.
1484 Echo modifications to the functions prototypes.
1485 * src/vcg.c (add_classname, add_infoname): Adjust arguments.
1486
1487 2001-08-27 Marc Autret <autret_m@epita.fr>
1488
1489 * src/vcg.c: Include `xalloc.h'.
1490 (add_colorentry): New.
1491 (add_classname): New.
1492 (add_infoname): New.
1493 * src/vcg.h: Add new prototypes.
1494
1495 2001-08-27 Akim Demaille <akim@epita.fr>
1496
1497 * Makefile.maint: Sync. again with CVS Autoconf.
1498
1499 2001-08-27 Akim Demaille <akim@epita.fr>
1500
1501 * Makefile.maint: Formatting changes.
1502 (po-update, cvs-update, update): New targets.
1503 (AMTAR): Remove.
1504
1505 2001-08-27 Akim Demaille <akim@epita.fr>
1506
1507 * Makefile.am (AUTOMAKE_OPTIONS): 1.5.
1508 * Makefile.maint: Sync. with CVS Autoconf.
1509
1510 2001-08-27 Marc Autret <autret_m@epita.fr>
1511
1512 * src/vcg.h (struct infoname_s): New.
1513 (struct colorentry_s): New.
1514 (graph_s): New fields {vertical,horizontal}_order in structure.
1515 Add `infoname' field.
1516 Add `colorentry' field;
1517 * src/vcg_defaults.h (G_VERTICAL_ORDER): New.
1518 (G_HORIZONTAL_ORDER): New.
1519 (G_INFONAME): New.
1520 (G_COLORENTRY): New.
1521 * src/vcg.c (output_graph): Add output of {vertical,horizontal}_order.
1522 Add output of `infoname'.
1523 Add output of `colorentry'.
1524
1525 2001-08-27 Marc Autret <autret_m@epita.fr>
1526
1527 * src/reader.c (parse_dquoted_param): Rename variable `index' to `i'.
1528 This one shadowed a global parameter.
1529
1530 2001-08-24 Marc Autret <autret_m@epita.fr>
1531
1532 * src/print_graph.c (node_output_size): Declared POSIX `size_t' type,
1533 instead of `unsigned'.
1534 (print_state): Do not call obstack_object_size () in obstack_grow ()
1535 to avoid macro variables shadowing.
1536
1537 2001-08-23 Marc Autret <autret_m@epita.fr>
1538
1539 * src/lex.c (percent_table): Typo: s/naem/name/.
1540 Add graph option.
1541 Normalize new options declarations.
1542
1543 2001-08-20 Pascal Bart <pascal.bart@epita.fr>
1544
1545 * tests/suite.at: Exercise %header_extension and %source_extension.
1546
1547 2001-08-16 Marc Autret <autret_m@epita.fr>
1548
1549 * src/reader.c (parse_dquoted_param): New.
1550 (parse_header_extension_decl): Use it.
1551 (parse_source_extension_decl): Likewise.
1552
1553 2001-08-16 Marc Autret <autret_m@epita.fr>
1554
1555 * src/vcg.c: Remove includes of `complain.h' and `xalloc.h'.
1556 (get_xxxx_str): Use assert () instead of complain ().
1557 Remove return invokations in default cases.
1558 (get_decision_str): Modify default behaviour. Remove second argument.
1559 Echo modifications on calls.
1560 (output_graph): Fix.
1561
1562 2001-08-16 Marc Autret <autret_m@epita.fr>
1563
1564 * src/getargs.c (usage): Update with ``-g, --graph''.
1565
1566 2001-08-16 Marc Autret <autret_m@epita.fr>
1567
1568 * doc/bison.texinfo (Bison Options): Add items `-g', `--graph'.
1569 (Option Cross Key): Likewise.
1570 * doc/bison.1: Update.
1571
1572 2001-09-25 Pascal Bart <pascal.bart@epita.fr>
1573
1574 * src/output.c (output_master_parser): Don't finish action_obstack.
1575 (output_parser): Don't care about the muscle action, here.
1576 (prepare): Copy the action_obstack in the action muscle.
1577 (output): Free action_obstack.
1578
1579 2001-09-23 Pascal Bart <pascal.bart@epita.fr>
1580
1581 * src/reader.c (parse_union_decl): Add new obstack union_obstack. Which
1582 will contain `%union' declaration.
1583 (parse_union_decl): Delete #line directive output.
1584 (parse_union_decl): Substitute /attrs_obstack/union_obstack for all
1585 informations about %union.
1586 (parse_union_decl): Copy the union_obstack in the muscle stype.
1587 * src/bison.simple: Add new #line directive.
1588 Add typdef %%stype YYSTYPE.
1589
1590 2001-09-23 Pascal Bart <pascal.bart@epita.fr>
1591
1592 * src/bison.simple: Add new `#line' directive.
1593
1594 2001-09-22 Pascal Bart <pascal.bart@epita.fr>
1595
1596 * src/bison.simple: New `#line' directive.
1597 * src/output.c (output_parser): Support new dynamic muscle input_line.
1598
1599 2001-09-22 Marc Autret <autret_m@epita.fr>
1600
1601 * src/output.c (output_master_parser): New.
1602 (output_parser): Be more re-entrant.
1603
1604 2001-09-21 Marc Autret <autret_m@epita.fr>
1605
1606 * src/reader.c (copy_definition, parse_union_decl): Update and use
1607 `linef' muscle.
1608 (copy_action): Likewise.
1609 Use obstack_1grow ().
1610 * src/muscle_tab.c (muscle_init): Add muscle `linef'.
1611
1612 2001-09-21 Marc Autret <autret_m@epita.fr>
1613
1614 * src/options.c (option_table): Adjust.
1615 * src/lex.c (parse_percent_token): Fix.
1616
1617 2001-09-20 Pascal Bart <pascal.bart@epita.fr>
1618
1619 * src/options.c (symtab.h): Include it, need by lex.h.
1620
1621 2001-09-20 Pascal Bart <pascal.bart@epita.fr>
1622
1623 * src/lex.c (parse_percent_token): Change type of variable `tx', which
1624 is now an option_table_struct*.
1625 (option_strcmp): New function option_strcmp.
1626 (parse_percent_token): Call option_strcmp.
1627 * src/getargs.c (xalloc.h, options.h): Include it.
1628 (getargs): Call create_long_option_table.
1629 (getargs): Free longopts at the end of the function.
1630 (shortopts): Move in options.c.
1631 * src/options.c (create_long_option_table): New function. Convert
1632 information from option_table to option structure.
1633 * src/reader.c (options.h): Include it.
1634
1635 * src/Makefile.am: Adjust.
1636 * src/options.c (option_table): Create from longopts and percent_table.
1637 * src/getargs.c (longopts): Delete.
1638 * src/lex.c (struct percent_table_struct): Delete.
1639 (percent_table): Delete.
1640 (options.h): Include it.
1641 * src/options.c: Create.
1642 * src/options.h: Create.
1643 Declare enum opt_access_e.
1644 Define struct option_table_struct.
1645
1646 2001-09-20 Marc Autret <autret_m@epita.fr>
1647
1648 * doc/bison.texinfo: Adjust terminologies about prologue and epilogue
1649 sections of Bison.
1650
1651 2001-09-19 Pascal Bart <pascal.bart@epita.fr>
1652
1653 * src/bison.simple: s/%%filename/%%skeleton.
1654 * src/muscle_tab.c (getargs.h): Include it.
1655 (muscle_init): Insert new muscle skeleton.
1656
1657 2001-09-18 Pascal Bart <pascal.bart@epita.fr>
1658
1659 * src/output.c (output_parser): Delete unused variable actions_dumped.
1660
1661 2001-09-07 Pascal Bart <pascal.bart@epita.fr>
1662
1663 * src/output.c (output): Delete call to reader_output_yylsp.
1664 * src/reader.c (reader): Likewise.
1665 * src/reader.h: Delete declaration of reader_output_yylsp.
1666
1667 2001-09-02 Marc Autret <autret_m@epita.fr>
1668
1669 * src/reader.c: Include muscle_tab.h.
1670 (parse_union_decl): Update.
1671 (parse_macro_decl): Rename parse_muscle_decl.
1672 Update to use renamed functions and variable.
1673 (read_declarations, copy_action, read_additionnal_code, : Updated
1674 with correct variables and functions names.
1675 (packsymbols, reader): Likewise.
1676
1677 * src/reader.h (muscle_obstack): Extern declaration update.
1678
1679 * src/output.c: Include muscle_tab.h
1680 In all functions using macro_insert, change by using muscle_insert ().
1681 (macro_obstack): Rename muscle_obstack.
1682 Echo modifications in the whole file.
1683 (MACRO_INSERT_INT): Rename MUSCLE_INSERT_INT.
1684 (MACRO_INSERT_STRING): Rename MUSCLE_INSERT_STRING.
1685 (MACRO_INSERT_PREFIX): Rename MUSCLE_INSERT_PREFIX.
1686
1687 * src/muscle_tab.h: Update double inclusion macros.
1688 (macro_entry_s): Rename muscle_entry_s.
1689 Update prototypes.
1690
1691 * src/muscle_tab.c: Include muscle_tab.h.
1692 Rename macro_tabble to muscle_table.
1693 (mhash1, mhash2, mcmp): Use muscle_entry.
1694 (macro_init): Rename muscle_init. Update.
1695 (macro_insert): Rename muscle_insert. Update.
1696 (macro_find): Rename muscle_find. Update.
1697
1698 * src/main.c: Include muscle_tab.h.
1699 (main): Call muscle_init ().
1700 * src/Makefile.am (bison_SOURCES): Echo modifications.
1701
1702 2001-09-02 Marc Autret <autret_m@epita.fr>
1703
1704 Now the files macro_tab.[ch] are named muscle_tab.[ch].
1705
1706 * src/muscle_tab.c, src/muscle_tab.h: Add files.
1707
1708 2001-09-02 Marc Autret <autret_m@epita.fr>
1709
1710 * src/macrotab.c, src/macrotab.h: Remove.
1711
1712 2001-09-01 Pascal Bart <pascal.bart@epita.fr>
1713
1714 * src/reader.c (copy_guard): Use muscle to specify the `#line'
1715 filename.
1716
1717 2001-09-01 Marc Autret <autret_m@epita.fr>
1718
1719 * tests/calc.at (exp): Now, YYERROR_VERBOSE need to be set
1720 to an explicit value to activate the feature. We do it here.
1721
1722 2001-08-31 Pascal Bart <pascal.bart@epita.fr>
1723
1724 * src/output.c (prepare): Delete the `filename' muscule insertion.
1725 * src/reader.c (copy_action): Use `filename' muscule with `#line'.
1726 (parse_union_decl): Likewise.
1727 * src/macrotab.c (macro_init): Initialize filename by infile.
1728
1729 2001-08-31 Marc Autret <autret_m@epita.fr>
1730
1731 * src/bison.simple (YYLSP_NEEDED): New definition.
1732 * src/output.c (prepare): Add macro insertion of `locations_flag'
1733
1734 2001-08-31 Pascal Bart <pascal.bart@epita.fr>
1735
1736 * src/output.c (prepare): Delete insertion of previous muscles,
1737 and insert the `prefix' muscles.
1738 * src/macrotab.c (macro_init): Likewise.
1739 (macro_init): Initialization prefix directive by `yy'.
1740 * src/bison.simple: Substitute all %%yylex, %%yychar, %%yylval,
1741 %%yydebug, %%yyerror, %%yynerrs and %%yyparse by yylex, yychar,
1742 yylval, yydebug, yyerror, yynerrs and yyparse.
1743 New directive `#define' to substitute yydebug, ... with option
1744 name_prefix.
1745
1746 2001-08-31 Pascal Bart <pascal.bart@epita.fr>
1747
1748 * src/main.c (main): Standardize.
1749 * src/output.c (output_table_data, output_parser): Likewise.
1750 * src/macrotab.h, src/macrotab.c, src/bison.simple: Likewise.
1751
1752 2001-08-31 Pascal Bart <pascal.bart@epita.fr>, Marc Autret <autret_m@epita.fr>
1753
1754 * src/reader.c (read_additionnal_code): Rename %%user_code to
1755 %%epilogue.
1756 * src/output.c (output): Rename %%declarations to %%prologue.
1757 * src/bison.simple: Echo modifications.
1758
1759 2001-08-31 Marc Autret <autret_m@epita.fr>
1760
1761 * src/reader.c (readgram): CleanUp.
1762 (output_token_defines): Likewise.
1763 (packsymbols): Likewise.
1764 (reader): Likewise.
1765 * src/output.c (output): CPP-out useless code.
1766
1767 2001-08-31 Pascal Bart <pascal.bart@epita.fr>
1768
1769 * src/reader.c (reader): Delete obsolete call to function
1770 output_trailers and output_headers.
1771 * src/output.h: Remove obsolete functions prototypes of output_headers
1772 and output_trailers.
1773
1774 2001-08-30 Pascal Bart <pascal.bart@epita.fr>
1775
1776 * src/main.c: Include macrotab.h.
1777 * src/macrotab.h (macro_entry_s): Constify fields.
1778 Adjust functions prototypes.
1779 * src/macrotab.c (macro_insert): Constify key and value.
1780 (macro_find): Constify key.
1781 (macro_insert): Include 'xalloc.h'
1782 (macro_insert): Use XMALLOC.
1783 (macro_find): Constify return value.
1784 * src/output.c (output_table_data): Rename table to table_data.
1785 (output_parser): Constify macro_key, macro_value.
1786
1787 2001-08-30 Marc Autret <autret_m@epita.fr>
1788
1789 * src/reader.c (parse_skel_decl): New.
1790 (read_declarations): Add case `tok_skel', call parse_skel_decl ().
1791 * src/lex.h (token_t): New token `tok_skel'.
1792 * src/lex.c (percent_table): Add skeleton option entry.
1793 Standardize.
1794
1795 2001-08-29 Marc Autret <autret_m@epita.fr>
1796
1797 * src/bison.simple: Add %%user_code directive at the end.
1798 * src/reader.c (read_additionnal_code): New.
1799 (reader): Use it.
1800 * src/output.c (output_program): Remove.
1801 (output): Update.
1802
1803 2001-08-28 Marc Autret <autret_m@epita.fr>
1804
1805 * src/output.c (output_actions): Clean up.
1806 (output_gram): CPP-out useless code.
1807 * src/reader.c (reader): Clean up, CPP-out useless code.
1808
1809 2001-08-28 Pascal Bart <pascal.bart@epita.fr>
1810
1811 * src/output.c (output): Copy attrs_obstack in the '%%definitions'
1812 directive.
1813 * src/bison.simple: Add `%%definitions'.
1814
1815 2001-08-28 Marc Autret <autret_m@epita.fr>
1816
1817 * config/depcomp: New file.
1818
1819 2001-08-27 Paul Eggert <eggert@twinsun.com>
1820
1821 * src/bison.simple (yyparse): Don't take the address of an
1822 item before the start of an array, as that doesn't conform to
1823 the C Standard.
1824
1825 2001-08-27 Robert Anisko <robert.anisko@epita.fr>
1826
1827 * src/output.c (output): Remove the initialization of the macro
1828 obstack. It was done too late here.
1829
1830 * src/reader.c (parse_macro_decl): Fix. Use of the macro obstack was
1831 completely wrong.
1832 (reader): Initialize the macro obstack here, since we need it to grow
1833 '%define' directives.
1834
1835 * src/reader.h: Declare the macro obstack as extern.
1836
1837 2001-08-27 Robert Anisko <robert.anisko@epita.fr>
1838
1839 * src/output.c (output_parser): Fix. Store single '%' characters in
1840 the output obstack instead of throwing them away.
1841
1842 2001-08-27 Akim Demaille <akim@epita.fr>
1843
1844 * Makefile.am (AUTOMAKE_OPTIONS): 1.5.
1845
1846 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
1847
1848 * lib/Makefile.am: Adjust.
1849
1850 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
1851
1852 * src/bison.simple: Update and add '%%' directives.
1853
1854 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
1855
1856 * src/reader.c (reader): Remove calls to 'output_headers' and
1857 'output_trailers'. Remove some C output.
1858 (readgram): Disable a piece of code that was writing a default
1859 definition for 'YYSTYPE'.
1860 (reader_output_yylsp): Remove.
1861 (packsymbols): Output token defintions to a macro.
1862 (copy_definition): Disable C output.
1863
1864 * src/reader.c (parse_macro_decl): New function used to parse macro
1865 declarations.
1866 (copy_string2): Put the body of copy_string into this new function.
1867 Add a parameter to let the caller choose whether he wants to copy the
1868 string delimiters or not.
1869 (copy_string): Be a simple call to copy_string2 with the last argument
1870 bound to true.
1871 (read_declarations): Add case for macro definition.
1872 (copy_identifier): New.
1873 (parse_macro_decl): Read macro identifiers using copy_identifier
1874 rather than lex.
1875
1876 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
1877
1878 * src/output.c (prepare): Add prefixed names.
1879 (output_parser): Output semantic actions.
1880 (output_parser): Fix bug on '%%line' directives.
1881
1882 * src/output.c (output_headers): Remove. The C code printed by this
1883 function should now be in the skeletons.
1884 (output_trailers): Remove.
1885 (output): Disable call to 'reader_output_yylsp'.
1886 (output_rule_data): Do not output tables to the table obstack.
1887
1888 * src/output.c: Remove some C dedicated output.
1889 Improve the use of macro and output obstacks.
1890 (output_defines): Remove.
1891
1892 * src/output.c (output_token_translations): Associate 'translate'
1893 table with a macro. No output to the table obstack.
1894 (output_gram): Same for 'rhs' and 'prhs'.
1895 (output_stos): Same for 'stos'.
1896 (output_rule_data): Same for 'r1' and 'r2'.
1897 (token_actions): Same for 'defact'.
1898 (goto_actions): Same for 'defgoto'.
1899 (output_base): Same for 'pact' and 'pgoto'.
1900 (output_table): Same for 'table'.
1901 (output_check): Same for 'check'.
1902
1903 * src/output.c (output_table_data): New function.
1904 (output_short_table): Remove.
1905 (output_short_or_char_table): Remove.
1906
1907 * src/output.c (output_parser): Replace most of the skeleton copy code
1908 with something new. Skeletons are now processed character by character
1909 rather than line by line, and Bison looks for '%%' macros. This is the
1910 first step in making Bison's output process (a lot) more flexible.
1911 (output_parser): Use the macro table.
1912
1913 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
1914
1915 * src/main.c (main): Initialize the macro table.
1916
1917 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
1918
1919 * src/lex.c (percent_table): Add tok_define.
1920 * src/lex.h: Add tok_define.
1921
1922 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
1923
1924 * src/macrotab.c: New file.
1925 * src/macrotab.h: New file.
1926 * src/Makefile.am: Update.
1927
1928 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
1929
1930 * lib/hash.c: New file.
1931 * lib/hash.h: New file.
1932 * lib/Makefile.am: Update.
1933
1934 2001-08-15 Akim Demaille <akim@epita.fr>
1935
1936 Version 1.28c.
1937
1938 2001-08-15 Marc Autret <autret_m@epita.fr>
1939
1940 * src/reader.c (readgram): Indent output macro YYSTYPE.
1941 (packsymbols): Likewise.
1942 (output_token_defines): Likewise.
1943 * src/files.c: Standardize.
1944 (compute_header_macro): New.
1945 (defines_obstack_save): New. Use compute_header_macro.
1946 (output_files): Update. Use defines_obstack_save.
1947
1948 2001-08-15 Akim Demaille <akim@epita.fr>
1949
1950 * doc/bison.texinfo (Table of Symbols): Document
1951 YYSTACK_USE_ALLOCA.
1952
1953 2001-08-15 Akim Demaille <akim@epita.fr>
1954
1955 * missing: Update from CVS Automake.
1956 * config/config.guess, config/config.sub, config/texinfo.tex:
1957 Update from gnu.org.
1958
1959 2001-08-15 Akim Demaille <akim@epita.fr>
1960
1961 * Makefile.maint: Sync with CVS Autoconf.
1962
1963 2001-08-14 Pascal Bart <pascal.bart@epita.fr>
1964
1965 * doc/bison.texinfo: Include GNU Free Documentation License from
1966 `fdl.texi'.
1967 * doc/fdl.texi: Add to package.
1968
1969 2001-08-14 Marc Autret <autret_m@epita.fr>
1970
1971 Turn on %{source,header}_extension features.
1972
1973 * src/lex.c (percent_table): Un-CPP out header_extension and
1974 source_extension.
1975 * src/files.c (compute_exts_from_gf): Compare pointers with NULL.
1976 (compute_exts_from_src): Remove conditions. It restores priorities
1977 between options.
1978
1979 2001-08-14 Marc Autret <autret_m@epita.fr>
1980
1981 * src/files.c (compute_base_names): Add extensions computing when
1982 `--file-prefix' used.
1983 Standardize function calls.
1984
1985 2001-08-13 Marc Autret <autret_m@epita.fr>
1986
1987 * src/bison.simple (YYSTACK_USE_ALLOCA): Changed to allow users
1988 defining it (defined but null disables alloca).
1989
1990 2001-08-13 Marc Autret <autret_m@epita.fr>
1991
1992 * src/bison.simple (_yy_memcpy): CPP reformat.
1993
1994 2001-08-13 Pascal Bart <pascal.bart@epita.fr>
1995
1996 * tests/atconfig.in (CPPFLAGS): Fix.
1997
1998 2001-08-10 Pascal Bart <pascal.bart@epita.fr>
1999
2000 * doc/bison.texinfo: Include GNU General Public License from
2001 `gpl.texi'.
2002 * doc/gpl.texi: Add to package.
2003
2004 2001-08-10 Marc Autret <autret_m@epita.fr>
2005
2006 * src/print_graph.h: Fix.
2007 * src/reader.c (read_declarations): Use parse_header_extension_decl ().
2008
2009 2001-08-10 Akim Demaille <akim@epita.fr>
2010
2011 * src/system.h: Provide default declarations for stpcpy, strndup,
2012 and strnlen.
2013
2014 2001-08-10 Robert Anisko <anisko_r@epita.fr>
2015
2016 * doc/bison.texinfo (Locations): Update @$ stuff.
2017
2018 2001-08-09 Robert Anisko <anisko_r@epita.fr>
2019
2020 * src/bison.simple (YYLLOC_DEFAULT): Update.
2021 (yyparse): Adjust.
2022
2023 2001-08-08 Marc Autret <autret_m@epita.fr>
2024
2025 * doc/bison.texinfo: Change @samp{$<@dots{}>} to
2026 @samp{$<@dots{}>@var{n}} in Section Actions in Mid-Rule.
2027 Reported by Fabrice Bauzac.
2028
2029 2001-08-08 Marc Autret <autret_m@epita.fr>
2030
2031 * src/vcg_default.h: Use NULL instead of 0 to initialize pointers.
2032 * src/vcg.c (output_node): Fix.
2033 * src/vcg.h: Cleanup.
2034 * src/print_graph.c: Add comments.
2035 (node_output_size): New global variable. Simplify the formatting of
2036 the VCG graph output.
2037 (print_actions): Unused code is now used. It notifies the final state
2038 and no action states in the VCG graph. It also give the reduce actions.
2039 The `shift and goto' edges are red and the `go to state' edges are
2040 blue.
2041 Get the current node name and node_obstack by argument.
2042 (node_obstack): New variable.
2043 (print_state): Manage node_obstack.
2044 (print_core): Use node_obstack given by argument.
2045 A node is not only computed here but in print_actions also.
2046 (print_graph): CPP out useless code instead of commenting it.
2047
2048 2001-08-07 Pascal Bart <pascal.bart@epita.fr>
2049
2050 * tests/atconfig.in (CPPFLAGS): Fix.
2051
2052 2001-08-07 Akim Demaille <akim@epita.fr>
2053
2054 * src/print_graph.c (quote): New.
2055 (print_core): Use it.
2056
2057 2001-08-06 Akim Demaille <akim@epita.fr>, Marc Autret <autret_m@epita.fr>
2058
2059 * src/vcg.c (complain.h): Include it.
2060 Unepitaize `return' invocations.
2061 [NDEBUG] (main): Remove.
2062 * src/vcg.h (node_t, edge_t, graph_t): Constify the char * members.
2063 * src/files.c (open_files): Initialize graph_obstack.
2064 * src/print_graph.c (print_actions): CPP out useless code.
2065 (print_core): Don't output the last `\n' in labels.
2066 Use `quote'.
2067 * src/files.c (output_files): Output the VCG file.
2068 * src/main.c (main): Invoke print_graph ();
2069
2070 2001-08-06 Marc Autret <autret_m@epita.fr>
2071
2072 Automaton VCG graph output.
2073 Using option ``-g'' or long option ``--graph'', you can generate
2074 a gram_filename.vcg file containing a VCG description of the LALR (1)
2075 automaton of your grammar.
2076
2077 * src/main.c: Call to print_graph() function.
2078 * src/getargs.h: Update.
2079 * src/getargs.c (options): Update to catch `-g' and `--graph' options.
2080 (graph_flag): New flag.
2081 (longopts): Update.
2082 (getargs): Add case `g'.
2083 * src/files.c (graph_obstack): New obstack struct.
2084 (open_files): Initialize new obstack.
2085 (output_files): Saves graph_obstack if required.
2086 * src/files.h (graph_obstack): New extern declaration.
2087 * src/Makefile.am: Add new source files.
2088
2089 2001-08-06 Marc Autret <autret_m@epita.fr>
2090
2091 * src/print_graph.c, src/print_graph.h (graph): New.
2092 * src/vcg.h: New file.
2093 * src/vcg.c: New file, VCG graph handling.
2094
2095 2001-08-06 Marc Autret <autret_m@epita.fr>
2096
2097 Add of %source_extension and %header_extension which specify
2098 the source or/and the header output file extension.
2099
2100 * src/files.c (compute_base_names): Remove initialisation of
2101 src_extension and header_extension.
2102 (compute_exts_from_gf): Update.
2103 (compute_exts_from_src): Update.
2104 (output_files): Update.
2105 * src/reader.c (parse_header_extension_decl): New.
2106 (parse_source_extension_decl): New.
2107 (read_declarations): New case statements for the new tokens.
2108 * src/lex.c (percent_table): Add entries for %source_extension
2109 and %header_extension.
2110 * src/lex.h (token_e): New tokens tok_hdrext and tok_srcext.
2111
2112 2001-08-06 Marc Autret <autret_m@epita.fr>
2113
2114 * configure.in: Bump to 1.28c.
2115 * doc/bison.texinfo: Texinfo thingies.
2116
2117 2001-08-04 Pascal Bart <pascal.bart@epita.fr>
2118
2119 * tests/atconfig.in (CPPFLAGS): Add.
2120 * tests/calc.at (AT_CHECK): Use CPPFLAGS.
2121
2122 2001-08-03 Akim Demaille <akim@epita.fr>
2123
2124 Version 1.28b.
2125
2126 2001-08-03 Akim Demaille <akim@epita.fr>
2127
2128 * tests/Makefile.am (check-local): Ship testsuite.
2129 * tests/calc.at (_AT_DATA_CALC_Y): Prototype all the functions.
2130 Include `string.h'.
2131
2132 2001-08-03 Akim Demaille <akim@epita.fr>
2133
2134 * configure.in: Try using -Wformat when compiling.
2135
2136 2001-08-03 Akim Demaille <akim@epita.fr>
2137
2138 * configure.in: Bump to 1.28b.
2139
2140 2001-08-03 Akim Demaille <akim@epita.fr>
2141
2142 * src/complain.c: Adjust strerror_r portability issues.
2143
2144 2001-08-03 Akim Demaille <akim@epita.fr>
2145
2146 Version 1.28a.
2147
2148 2001-08-03 Akim Demaille <akim@epita.fr>
2149
2150 * src/getargs.c, src/getarg.h (skeleton)): Constify.
2151 * src/lex.c (literalchar): Avoid name clashes on `buf'.
2152 * src/getargs.c: Include complain.h.
2153 * src/files.c, src/files.h (skeleton_find): Avoid name clashes.
2154 * lib/quotearg.c, lib/quotearg.h: Update from fileutils 4.1.
2155
2156 2001-08-03 Akim Demaille <akim@epita.fr>
2157
2158 * src/reader.c (readgram): Display hidden chars in error messages.
2159
2160 2001-08-03 Akim Demaille <akim@epita.fr>
2161
2162 Update to gettext 0.10.39.
2163
2164 2001-08-03 Akim Demaille <akim@epita.fr>
2165
2166 * lib/strspn.c: New.
2167
2168 2001-08-01 Marc Autret <autret_m@epita.fr>
2169
2170 * doc/bison.texinfo: Update.
2171 * doc/bison.1 (mandoc): Update.
2172 * src/system.h (EXT_GUARD_C, EXT_STYPE_H): Remove .c and .h.
2173 * src/files.c: Support output files extensions computing.
2174 (src_extension): New static variable.
2175 (header_extension): New static variable.
2176 (tr): New function.
2177 (get_extension_index): New function, gets the index of an extension
2178 filename in a string.
2179 (compute_exts_from_gf): New function, computes extensions from the
2180 grammar file extension.
2181 (compute_exts_from_src): New functions, computes extensions from the
2182 C source file extension, file given by ``-o'' option.
2183 (compute_base_names): Update.
2184 (output_files): Update.
2185
2186 2001-08-01 Robert Anisko <anisko_r@epita.fr>
2187
2188 * doc/bison.texi: Document @$.
2189 (Locations): New section.
2190
2191 2001-07-18 Akim Demaille <akim@epita.fr>
2192
2193 * Makefile.maint, GNUmakefile: New, from Autoconf 2.52.
2194 * config/prev-version.txt, config/move-if-change: New.
2195 * Makefile.am: Adjust.
2196
2197 2001-07-08 Pascal Bart <pascal.bart@epita.fr>
2198
2199 * src/bison.simple (yyparse): Suppress warning `comparaison
2200 between signed and unsigned'.
2201
2202 2001-07-05 Pascal Bart <pascal.bart@epita.fr>
2203
2204 * src/getargs.h (raw_flag): Remove.
2205 * src/getargs.c: Die on `-r'/`--raw'.
2206 * src/lex.c (parse_percent_token): Die on `%raw'.
2207 * src/reader.c (output_token_defines): Suppress call to `raw_flag'.
2208 * tests/calc.at: Suppress test with option `--raw'.
2209
2210 2001-07-14 Akim Demaille <akim@epita.fr>
2211
2212 * config/: New.
2213 * configure.in: Require Autoconf 2.50.
2214 Update to gettext 0.10.38.
2215
2216 2001-03-16 Akim Demaille <akim@epita.fr>
2217
2218 * doc/bison.texinfo: ANSIfy the examples.
2219
2220 2001-03-16 Akim Demaille <akim@epita.fr>
2221
2222 * getargs.c (skeleton): New variable.
2223 (longopts): --skeleton is a new option.
2224 (shortopts, getargs): -S is a new option.
2225 * getargs.h: Declare skeleton.
2226 * output.c (output_parser): Use it.
2227
2228 2001-03-16 Akim Demaille <akim@epita.fr>
2229
2230 * m4/strerror_r.m4: New.
2231 * m4/error.m4: Run AC_FUNC_STRERROR_R.
2232 * lib/error.h, lib/error.c: Update.
2233
2234 2001-03-16 Akim Demaille <akim@epita.fr>
2235
2236 * src/getargs.c (longopts): Clean up.
2237
2238 2001-02-21 Akim Demaille <akim@epita.fr>
2239
2240 * src/reader.c (gensym): `gensym_count' is your own.
2241 Use a static buf to create the symbol name, as token_buffer is no
2242 longer a buffer.
2243
2244 2001-02-08 Akim Demaille <akim@epita.fr>
2245
2246 * src/conflicts.c (conflict_report): Be sure not to append to res
2247 between two calls, which could happen if both first sprintf were
2248 skipped, but not the first cp += strlen.
2249
2250 2001-02-08 Akim Demaille <akim@epita.fr>
2251
2252 * lib/memchr.c, lib/stpcpy.c, lib/strndup.c, lib/strnlen.c:
2253 New, from fileutils 4.0.37.
2254 * configure.in: Require Autoconf 2.49c. I took some time before
2255 making this decision. This is the only way out for portability
2256 issues in Bison, it would mean way too much duplicate effort to
2257 import in Bison features implemented in 2.49c since 2.13.
2258 AC_REPLACE_FUNCS and AC_CHECK_DECLS the functions above.
2259
2260 2001-02-02 Akim Demaille <akim@epita.fr>
2261
2262 * lib/malloc.c, lib/realloc.c: New, from the fileutils 4.0.37.
2263 * lib/xalloc.h, lib/xmalloc.c: Update.
2264
2265 2001-01-19 Akim Demaille <akim@epita.fr>
2266
2267 Get rid of the ad hoc handling of token_buffer in the scanner: use
2268 the obstacks.
2269
2270 * src/lex.c (token_obstack): New.
2271 (init_lex): Initialize it. No longer call...
2272 (grow_token_buffer): this. Remove it.
2273 Adjust all the places which used it to use the obstack.
2274
2275 2001-01-19 Akim Demaille <akim@epita.fr>
2276
2277 * src/lex.h: Rename all the tokens:
2278 s/\bENDFILE\b/tok_eof/g;
2279 s/\bIDENTIFIER\b/tok_identifier/g;
2280 etc.
2281 Let them be enums, not #define, to ease debugging.
2282 Adjust all the code.
2283
2284 2001-01-18 Akim Demaille <akim@epita.fr>
2285
2286 * src/lex.h (MAXTOKEN, maxtoken, grow_token_buffer): Remove, private.
2287 * src/lex.c (maxtoken, grow_token_buffer): Static.
2288
2289 2001-01-18 Akim Demaille <akim@epita.fr>
2290
2291 Since we now use obstacks, more % directives can be enabled.
2292
2293 * src/lex.c (percent_table): Also accept `%yacc',
2294 `%fixed_output_files', `%defines', `%no_parser', `%verbose', and
2295 `%debug'.
2296 Handle the actions for `%semantic_parser' and `%pure_parser' here,
2297 instead of returning a token.
2298 * src/lex.h (SEMANTIC_PARSER, PURE_PARSER): Remove, unused.
2299 * src/reader.c (read_declarations): Adjust.
2300 * src/files.c (open_files): Don't call `compute_base_names', don't
2301 compute `attrsfile' since they depend upon data which might be
2302 *in* the input file now.
2303 (output_files): Do it here.
2304 * src/output.c (output_headers): Document the fact that this patch
2305 introduces a guaranteed SEGV for semantic parsers.
2306 * doc/bison.texinfo: Document them.
2307 * tests/suite.at: Exercise these %options.
2308
2309 2000-12-20 Akim Demaille <akim@epita.fr>
2310
2311 Also handle the output file (--verbose) with obstacks.
2312
2313 * files.c (foutput): Remove.
2314 (output_obstack): New.
2315 Adjust all dependencies.
2316 * src/conflicts.c: Return a string.
2317 * src/system.h (obstack_grow_string): Rename as...
2318 (obstack_sgrow): this. Be ready to work with non literals.
2319 (obstack_fgrow4): New.
2320
2321 2000-12-20 Akim Demaille <akim@epita.fr>
2322
2323 * src/files.c (open_files): Fix the computation of short_base_name
2324 in the case of `-o foo.tab.c'.
2325
2326 2000-12-20 Akim Demaille <akim@epita.fr>
2327
2328 * src/reader.c (copy_string, copy_comment, copy_comment2, copy_at)
2329 (copy_dollar): Now that everything uses obstacks, get rid of the
2330 FILE * parameters.
2331
2332 2000-12-20 Akim Demaille <akim@epita.fr>
2333
2334 * src/files.c (open_files): Actually the `.output' file is based
2335 on the short_base_name, not base_name.
2336 * tests/suite.at (Checking output file names): Adjust.
2337
2338 2000-12-20 Akim Demaille <akim@epita.fr>
2339
2340 * src/bison.s1: Remove, we now use directly...
2341 * src/bison.simple: this.
2342 * src/Makefile.am: Use pkgdata instead of data.
2343
2344 2000-12-20 Akim Demaille <akim@epita.fr>
2345
2346 * src/files.c (guard_obstack): New.
2347 (open_files): Initialize it.
2348 (output_files): Dump it...
2349 * src/files.h: Export it.
2350 * src/reader.c (copy_guard): Use it.
2351
2352 2000-12-19 Akim Demaille <akim@epita.fr>
2353
2354 * src/files.c (outfile, defsfile, actfile): Removed as global
2355 vars.
2356 (open_files): Don't compute them.
2357 (output_files): Adjust.
2358 (base_name, short_base_name): Be global.
2359 Adjust dependencies.
2360
2361 2000-12-19 Akim Demaille <akim@epita.fr>
2362
2363 * src/files.c (strsuffix): New.
2364 (stringappend): Be just like strcat but allocate.
2365 (base_names): Eve out from open_files.
2366 Try to simplify the rather hairy computation of base_name and
2367 short_base_name.
2368 (open_files): Use it.
2369 * tests/suite.at (Checking output file names): New test.
2370
2371 2000-12-19 Akim Demaille <akim@epita.fr>
2372
2373 * src/system.h (obstack_grow_literal_string): Rename as...
2374 (obstack_grow_string): this.
2375 * src/output.c (output_parser): Recognize `%% actions' instead of
2376 `$'.
2377 * src/bison.s1: s/$/%% actions/.
2378 * src/bison.hairy: Likewise.
2379
2380 2000-12-19 Akim Demaille <akim@epita.fr>
2381
2382 * src/output.c (output_parser): Compute the `#line' lines when
2383 there are.
2384 * src/Makefile.am (bison.simple): Be a simple copy of bison.s1.
2385 Suggested by Hans Aberg.
2386
2387 2000-12-19 Akim Demaille <akim@epita.fr>
2388
2389 Let the handling of the skeleton files be local to the procedures
2390 that use it.
2391
2392 * src/files.c (xfopen, xfclose, skeleton_find, guardfile): No
2393 longer static.
2394 (fparser, open_extra_files): Remove.
2395 (open_files, output_files): Don't take care of fparser.
2396 * src/files.h: Adjust.
2397 * src/output.c (output_parser): Open and close the file to the
2398 skeleton.
2399 * src/reader.c (read_declarations): When %semantic_parser, open
2400 fguard.
2401
2402 2000-12-19 Akim Demaille <akim@epita.fr>
2403
2404 * src/file.h (BISON_SIMPLE, BISON_HAIRY): Move from here...
2405 * src/system.h (BISON_SIMPLE, BISON_HAIRY): ... to here.
2406
2407 2000-12-19 Akim Demaille <akim@epita.fr>
2408
2409 * src/files.c (open_files): Yipee! We no longer need all the code
2410 looking for `/tmp' since we have no tmp file.
2411
2412 2000-12-19 Akim Demaille <akim@epita.fr>
2413
2414 * src/system.h (EXT_TAB, EXT_OUTPUT, EXT_STYPE_H, EXT_GUARD_C):
2415 New macros.
2416 * src/files.c (open_files): Less dependency on MSDOS etc.
2417
2418 2000-12-14 Akim Demaille <akim@epita.fr>
2419
2420 * src/bison.s1 (YYLLOC_DEFAULT): New macro.
2421 Provide a default definition.
2422 Use it when executing the default @ action.
2423 * src/reader.c (reader_output_yylsp): No longer include
2424 `timestamp' and `text' in the default YYLTYPE.
2425
2426 2000-12-12 Akim Demaille <akim@epita.fr>
2427
2428 * src/reader.c (copy_definition, parse_union_decl, copy_action)
2429 (copy_guard): Quote the file names.
2430 Reported by Laurent Mascherpa.
2431
2432 2000-12-12 Akim Demaille <akim@epita.fr>
2433
2434 * src/output.c (output_headers, output_program, output): Be sure
2435 to escape special characters when outputting filenames.
2436 (ACTSTR_PROLOGUE, ACTSTR_EPILOGUE): Remove.
2437 (output_headers): Don't depend on them, Use ACTSTR.
2438
2439 2000-11-17 Akim Demaille <akim@epita.fr>
2440
2441 * lib/obstack.h: Formatting changes.
2442 (obstack_grow, obstack_grow0): Don't cast WHERE at all: it
2443 prevents type checking.
2444 (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
2445 cast the value to (void *): assigning a `foo *' to a `void *'
2446 variable is valid.
2447 (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
2448 * src/reader.c (parse_union_decl): Typo: use obstack_1grow to
2449 append characters.
2450
2451 2000-11-17 Akim Demaille <akim@epita.fr>
2452
2453 * tests/Makefile.am (suite.m4, regression.m4, calc.m4): Rename
2454 as...
2455 (suite.m4, regression.m4, calc.m4): these.
2456 * tests/atgeneral.m4: Update from CVS Autoconf.
2457
2458 2000-11-17 Akim Demaille <akim@epita.fr>
2459
2460 * tests/regression.m4 (%union and --defines): New test,
2461 demonstrating a current bug in the obstack implementation.
2462
2463 2000-11-17 Akim Demaille <akim@epita.fr>
2464
2465 * src/bison.s1 (_YY_DECL_VARIABLES, YY_DECL_VARIABLES): New
2466 macros.
2467 Use them to declare the variables which are global or local to
2468 `yyparse'.
2469
2470 2000-11-17 Akim Demaille <akim@epita.fr>
2471
2472 * acconfig.h: Remove, no longer used.
2473
2474 2000-11-07 Akim Demaille <akim@epita.fr>
2475
2476 * src: s/Copyright (C)/Copyright/g.
2477
2478 2000-11-07 Akim Demaille <akim@epita.fr>
2479
2480 * src/reader.c (reader): #define YYLSP_NEEDED to 1 instead of just
2481 defining.
2482 * src/bison.s1: s/#ifdef YYLSP_NEEDED/#if YYLSP_NEEDED/.
2483
2484 2000-11-07 Akim Demaille <akim@epita.fr>
2485
2486 * src/bison.s1 (YYLEX): Use #if instead of #ifdef.
2487 Merge in a single CPP if/else.
2488
2489 2000-11-07 Akim Demaille <akim@epita.fr>
2490
2491 * src/output.c (output): Remove useless variables.
2492 * lib/obstack.c (obstack_grow, obstack_grow0): Rename the second
2493 argument `data' for consistency with the prototypes.
2494 Qualify it `const'.
2495 (obstack_copy, obstack_copy0): Rename the second argument as
2496 `address' for consistency. Qualify it `const'.
2497 * lib/obstack.h (obstack_copy, obstack_copy0, obstack_grow)
2498 (obstack_grow0, obstack_ptr_grow, obstack_ptr_grow_fast): Qualify
2499 `const' their input argument (`data' or `address').
2500 Adjust the corresponding macros to include `const' in casts.
2501
2502 2000-11-03 Akim Demaille <akim@epita.fr>
2503
2504 * src/Makefile.am (INCLUDES): s/PFILE/BISON_SIMPLE/.
2505 s/PFILE1/BISON_HAIRY/.
2506 Adjust dependencies.
2507
2508 2000-11-03 Akim Demaille <akim@epita.fr>
2509
2510 For some reason, this was not applied.
2511
2512 * src/files.c [VMS]: No longer include `ssdef.h', no longer define
2513 `unlink': it's no longer used.
2514
2515 2000-11-03 Akim Demaille <akim@epita.fr>
2516
2517 * src/files.c (skeleton_find): New function, eved out of...
2518 (open_files, open_extra_files): here.
2519
2520 2000-11-03 Akim Demaille <akim@epita.fr>
2521
2522 Don't use `atexit'.
2523
2524 * src/files.c (obstack_save): New function.
2525 (done): Rename as...
2526 (output_files): this.
2527 Use `obstack_save'.
2528 * src/main.c (main): Don't use `atexit' to register `done', since
2529 it no longer has to remove tmp files, just call `output_files'
2530 when there are no errors.
2531
2532 2000-11-02 Akim Demaille <akim@epita.fr>
2533
2534 * src/files.c [VMS]: No longer include `ssdef.h', no longer define
2535 `unlink': it's no longer used.
2536 * src/files.h: Formatting changes.
2537
2538 2000-11-02 Akim Demaille <akim@epita.fr>
2539
2540 Remove the last uses of mktemp and unlink/delete.
2541
2542 * src/files.c (fdefines, ftable): Removed.
2543 (defines_ostack, table_obstack): New.
2544 Adjust dependencies of the former into uses of the latter.
2545 * src/output.c (output_short_or_char_table, output_short_table):
2546 Convert to using obstacks.
2547 * src/reader.c (copy_comment2): Accept one FILE * and two
2548 obstacks.
2549 (output_token_defines, reader_output_yylsp): Use obstacks.
2550 * src/system.h (obstack_fgrow3): New.
2551
2552 2000-11-01 Akim Demaille <akim@epita.fr>
2553
2554 Change each use of `fattrs' into a use of `attrs_obstack'.
2555
2556 * src/reader.c (copy_at): Typo: s/yylloc/yyloc/.
2557 * src/files.c (fattrs): Remove.
2558 (attrs_obstack): New.
2559 Adjust all dependencies.
2560 (done): If SEMANTIC_PARSER, dump attrs_obstack into attrsfile.
2561
2562 2000-11-01 Akim Demaille <akim@epita.fr>
2563
2564 Introduce obstacks.
2565 Change each use of `faction' into a use of `action_obstack'.
2566
2567 * lib/obstack.h, lib/obstack.c: New files.
2568 * src/files.c (faction): Remove.
2569 (action_obstack): New.
2570 Adjust all dependencies.
2571
2572 2000-10-20 Akim Demaille <akim@epita.fr>
2573
2574 * lib/quote.h (PARAMS): New macro. Use it.
2575
2576 2000-10-16 Akim Demaille <akim@epita.fr>
2577
2578 * src/output.c (output_short_or_char_table): New function.
2579 (output_short_table, output_token_translations): Use it.
2580 (goto_actions): Use output_short_table.
2581
2582 2000-10-16 Akim Demaille <akim@epita.fr>
2583
2584 * src/symtab.c (bucket_new): New function.
2585 (getsym): Use it.
2586
2587 * src/output.c (output_short_table): New argument to display the
2588 comment associated with the table.
2589 Adjust dependencies.
2590 (output_gram): Use it.
2591 (output_rule_data): Nicer output layout for YYTNAME.
2592
2593 2000-10-16 Akim Demaille <akim@epita.fr>
2594
2595 * src/lex.c (read_typename): New function.
2596 (lex): Use it.
2597 * src/reader.c (copy_dollar): Likewise.
2598
2599 2000-10-16 Akim Demaille <akim@epita.fr>
2600
2601 * src/reader.c (copy_comment2): Expect the input stream to be on
2602 the `/' which is suspected to open a comment, instead of being
2603 called after `//' or `/*' was read.
2604 (copy_comment, copy_definition, parse_union_decl, copy_action)
2605 (copy_guard): Adjust.
2606
2607 2000-10-16 Akim Demaille <akim@epita.fr>
2608
2609 * src/reader.c (parse_expect_decl): Use `skip_white_space' and
2610 `read_signed_integer'.
2611
2612 2000-10-16 Akim Demaille <akim@epita.fr>
2613
2614 * src/reader.c (copy_dollar): New function.
2615 (copy_guard, copy_action): Use it.
2616
2617 2000-10-16 Akim Demaille <akim@epita.fr>
2618
2619 * lib/quote.h, lib/quote.c, lib/quotearg.h, lib/quotearg.c:
2620 * m4/prereq.m4, m4/c-bs-a.m4, m4/mbstate.m4:
2621 New files, from Fileutils 4.0.27.
2622 * src/main.c (printable_version): Remove.
2623 * src/lex.c, src/reader.c: Use `quote'.
2624
2625 2000-10-04 Akim Demaille <akim@epita.fr>
2626
2627 * lib/error.c, lib/error.h: New files, needed by xmalloc.c.
2628
2629 2000-10-04 Akim Demaille <akim@epita.fr>
2630
2631 * doc/bison.texinfo: Various typos spotted by Neil Booth.
2632
2633 2000-10-04 Akim Demaille <akim@epita.fr>
2634
2635 When a literal string is used to define two different tokens,
2636 `bison -v' segfaults.
2637 Reported by Piotr Gackiewicz, and fixed by Neil Booth.
2638
2639 * tests/regression.m4: New file.
2640 Include the core of the sample provided by Piotr Gackiewicz.
2641 * src/reader.c (parse_token_decl): Diagnose bad cases, and proceed
2642 properly.
2643
2644 2000-10-04 Akim Demaille <akim@epita.fr>
2645
2646 * src/reader.c (parse_expect_decl): Keep `count' within the size
2647 of `buffer'.
2648 From Neil Booth.
2649
2650 2000-10-02 Paul Eggert <eggert@twinsun.com>
2651
2652 * bison.s1 (yyparse): Assign the default value
2653 unconditionally, to avoid a GCC warning and make the parser a
2654 tad smaller.
2655
2656 2000-10-02 Akim Demaille <akim@epita.fr>
2657
2658 * src/getargs.c (getargs): Don't dump `--help' on unrecognized
2659 options.
2660
2661 2000-10-02 Akim Demaille <akim@epita.fr>
2662
2663 * src/derives.c, src/print.c, src/reduce.c: To ease the
2664 translation, move some `\n' out of the translated strings.
2665
2666 2000-10-02 Akim Demaille <akim@epita.fr>
2667
2668 The location tracking mechanism is precious for parse error
2669 messages. Nevertheless, it is enabled only when `@n' is used in
2670 the grammar, which is a different issue (you can use it in error
2671 message, but not in the grammar per se). Therefore, there should
2672 be another means to enable it.
2673
2674 * src/getargs.c (getargs): Support `--locations'.
2675 (usage): Report it.
2676 * src/getargs.h (locationsflag): Export it.
2677 * src/lex.c (percent_table): Support `%locations'.
2678 * src/reader.c (yylsp_needed): Remove this variable, now replaced
2679 with `locationsflag'.
2680 * doc/bison.texinfo: Document `--locations' and `%locations'.
2681 Sort the options.
2682 * tests/calc.m4: Test it.
2683
2684 For regularity of the names, replace each
2685 (nolineflag, toknumflag, rawtokenumflag, noparserflag): with...
2686 (no_lineflag, token_tableflag, rawflag, no_parserflag): this.
2687 In addition replace each `flag' with `_flag'.
2688
2689 2000-10-02 Akim Demaille <akim@epita.fr>
2690
2691 Also test parse error messages, including with YYERROR_VERBOSE.
2692
2693 * tests/calc.m4 (calc.y): Add support for `exp = exp' (non
2694 associative).
2695 Use it to check the computations.
2696 Use it to check `nonassoc' is honored.
2697 (AT_DATA_CALC_Y): Equip `calc.y' with YYERROR_VERBOSE when passed
2698 `--yyerror-verbose'.
2699 (_AT_CHECK_CALC): Adjust to this option.
2700 (_AT_CHECK_CALC_ERROR): New macro to check parse error messages.
2701
2702 2000-10-02 Akim Demaille <akim@epita.fr>
2703
2704 Test also `--verbose', `--defines' and `--name-prefix'. Testing
2705 the latter demonstrates a flaw in the handling of non debugging
2706 parsers introduced by myself on 2000-03-16: `#define yydebug 0'
2707 was used in order to simplify:
2708
2709 #if YYDEBUG
2710 if (yydebug)
2711 {
2712 ...
2713 }
2714 #endif
2715
2716 into
2717
2718 if (yydebug)
2719 {
2720 ...
2721 }
2722
2723 unfortunately this leads to a CPP conflict when
2724 `--name-prefix=foo' is used since it produces `#define yydebug
2725 foodebug'.
2726
2727 * src/bison.s1 [!YYDEBUG]: Do not define yydebug.
2728 (YYDPRINTF): New macro.
2729 Spread its use.
2730 * tests/calc.m4 (AT_CHECK_CALC): Do require a title, build it from
2731 the bison options.
2732 Also test `--verbose', `--defines' and `--name-prefix'.
2733
2734 2000-10-02 Akim Demaille <akim@epita.fr>
2735
2736 Improve the readability of the produced parsers.
2737
2738 * src/bison.s1: Formatting changes.
2739 Improve the comment related to the `$' mark.
2740 (yydefault): Don't fall through to `yyresume': `goto' there.
2741 * src/output.c (output_parser): When the `$' is met, skip the end
2742 of its line.
2743 New variable, `number_of_dollar_signs', to check there's exactly
2744 one `$' in the parser skeleton.
2745
2746 2000-10-02 Akim Demaille <akim@epita.fr>
2747
2748 * lib/xstrdup.c: New file, from the fileutils.
2749 * src/reader.c (parse_token_decl, get_type_name, parse_type_decl)
2750 (parse_assoc_decl, parse_thong_decl, get_type): Use `xstrdup'
2751 instead of strlen + xmalloc + strcpy.
2752 * src/symtab.c (copys): Remove, use xstrdup instead.
2753
2754 2000-10-02 Akim Demaille <akim@epita.fr>
2755
2756 * src/gram.h (associativity): New enum type which replaces the
2757 former CPP macros `RIGHT_ASSOC', `LEFT_ASSOC' and `NON_ASSOC' with
2758 `right_assoc', `left_assoc' and `non_assoc'.
2759 Adjust all dependencies.
2760 * src/reader.c: Formatting changes.
2761 (LTYPESTR): Don't define it, use it as a literal in
2762 `reader_output_yylsp'.
2763 * src/symtab.h (symbol_class): New enum type which replaces the
2764 former CPP macros `SUNKNOWN', `STOKEN and `SNTERM' with
2765 `sunknown', `stoken and `snterm'.
2766
2767 2000-10-02 Akim Demaille <akim@epita.fr>
2768
2769 * src/getargs.c (fixed_outfiles): Rename as...
2770 (yaccflag): for consistency and accuracy.
2771 Adjust dependencies.
2772
2773 2000-10-02 Akim Demaille <akim@epita.fr>
2774
2775 Use the more standard files `xalloc.h' and `xmalloc.c' instead of
2776 Bison's `allocate.c' and `alloc.h'. This patch was surprisingly
2777 difficult and introduced a lot of core dump. It turns out that
2778 Bison used an implementation of `xmalloc' based on `calloc', and
2779 at various places it does depend upon the initialization to 0. I
2780 have not tried to isolate the pertinent places, and all the former
2781 calls to Bison's `xmalloc' are now using `XCALLOC'. Someday,
2782 someone should address this issue.
2783
2784 * src/allocate.c, src/alloc.h, m4/bison-decl.m4: Remove.
2785 * lib/xmalloc.c, lib/xalloc.h, m4/malloc.m4, m4/realloc.m4: New
2786 files.
2787 Adjust dependencies.
2788 * src/warshall.h: New file.
2789 Propagate.
2790
2791 2000-10-02 Akim Demaille <akim@epita.fr>
2792
2793 Various anti-`extern in *.c' changes.
2794
2795 * src/system.h: Include `assert.h'.
2796
2797 2000-10-02 Akim Demaille <akim@epita.fr>
2798
2799 * src/state.h (nstates, final_state, first_state, first_shift)
2800 (first_reduction): Move their exportation from here...
2801 * src/LR0.h: to here.
2802 Adjust dependencies.
2803 * src/getargs.c (statisticsflag): New variable.
2804 Add support for `--statistics'.
2805 Adjust dependencies.
2806
2807 Remove a lot of now useless `extern' statements in most files.
2808
2809 2000-10-02 Akim Demaille <akim@epita.fr>
2810
2811 * src/LR0.h: New file.
2812 Propagate its use.
2813
2814 2000-10-02 Akim Demaille <akim@epita.fr>
2815
2816 * src/print.h: New file.
2817 Propagate its use.
2818 * src/print.c: Formatting and ordering changes.
2819 (verbose, terse): Replace with...
2820 (print_results): this new function.
2821 Adjust dependencies.
2822
2823 2000-10-02 Akim Demaille <akim@epita.fr>
2824
2825 * src/conflicts.c (conflict_report): New function.
2826 (conflict_log, verbose_conflict_log): Replace with...
2827 (print_conflicts): this function.
2828 Adjust dependencies.
2829 * src/conflicts.h: New file.
2830 Propagate its inclusion.
2831
2832 2000-10-02 Akim Demaille <akim@epita.fr>
2833
2834 * src/nullable.h: New file.
2835 Propagate its inclusion.
2836 * src/nullable.c: Formatting changes.
2837
2838 2000-10-02 Akim Demaille <akim@epita.fr>
2839
2840 * src/reduce.h: New file.
2841 Propagate its inclusion.
2842 * src/reduce.c: Topological sort and other formatting changes.
2843 (bool, TRUE, FALSE): Move their definition to...
2844 * src/system.h: here.
2845
2846 2000-10-02 Akim Demaille <akim@epita.fr>
2847
2848 * src/files.c: Formatting changes.
2849 (tryopen, tryclose, openfiles): Rename as...
2850 (xfopen, xfclose, open_files): this.
2851 (stringappend): static.
2852 * src/files.h: Complete the list of exported symbols.
2853 Propagate its use.
2854
2855 2000-10-02 Akim Demaille <akim@epita.fr>
2856
2857 * src/reader.h: New file.
2858 Propagate its use instead of tedious list of `extern' and
2859 prototypes.
2860 * src/reader.c: Formatting changes, topological sort,
2861 s/register//.
2862
2863 2000-10-02 Akim Demaille <akim@epita.fr>
2864
2865 * src/lex.h: Prototype `lex.c' exported functions.
2866 * src/reader.c: Adjust.
2867 * src/lex.c: Formatting changes.
2868 (safegetc): Rename as...
2869 (xgetc): this.
2870
2871 2000-10-02 Akim Demaille <akim@epita.fr>
2872
2873 * src/lalr.h: New file.
2874 Propagate its inclusion instead of prototypes and `extern'.
2875 * src/lalr.c: Formatting changes, topological sorting etc.
2876
2877 2000-10-02 Akim Demaille <akim@epita.fr>
2878
2879 * src/output.c (token_actions): Introduce a temporary array,
2880 YYDEFACT, that makes it possible for this function to use
2881 output_short_table.
2882
2883 2000-10-02 Akim Demaille <akim@epita.fr>
2884
2885 `user_toknums' is output as a `short[]' in `output.c', while it is
2886 defined as a `int[]' in `reader.c'. For consistency with the
2887 other output tables, `user_toknums' is now defined as a table of
2888 shorts.
2889
2890 * src/reader.c (user_toknums): Be a short table instead of an int
2891 table.
2892 Adjust dependencies.
2893
2894 Factor the short table outputs.
2895
2896 * src/output.c (output_short_table): New function.
2897 * src/output.c (output_gram, output_stos, output_rule_data)
2898 (output_base, output_table, output_check): Use it.
2899
2900 2000-10-02 Akim Demaille <akim@epita.fr>
2901
2902 * src/output.c (output): Topological sort of the functions, in
2903 order to get rid of the `static' prototypes.
2904 No longer use `register'.
2905 * src/output.h: New file.
2906 Propagate its inclusion in files explicitly prototyping functions
2907 from output.c.
2908
2909 2000-09-21 Akim Demaille <akim@epita.fr>
2910
2911 * src/atgeneral.m4: Update from Autoconf.
2912
2913 2000-09-21 Akim Demaille <akim@epita.fr>
2914
2915 * src/closure.h: New file.
2916 * src/closure.c: Formatting changes, topological sort over the
2917 functions, use of closure.h.
2918 (initialize_closure, finalize_closure): Rename as...
2919 (new_closure, free_closure): these. Adjust dependencies.
2920 * src/LR0.c: Formatting changes, topological sort, use of
2921 cloture.h.
2922 (initialize_states): Rename as...
2923 (new_states): this.
2924 * src/Makefile.am (noinst_HEADERS): Adjust.
2925
2926 2000-09-20 Akim Demaille <akim@epita.fr>
2927
2928 * src/acconfig.h: Don't protect config.h against multiple
2929 inclusion.
2930 Don't define PARAMS.
2931 * src/system.h: Define PARAMS.
2932 Remove some of the ad-hoc CPP magic for DOS, VMS etc.: this is the
2933 purpose of config.h. system.h must not try to fix wrong
2934 definitions in config.h.
2935
2936 2000-09-20 Akim Demaille <akim@epita.fr>
2937
2938 * src/derives.h: New file.
2939 * src/main.c, src/derives.h: Use it.
2940 Formatting changes.
2941 * src/Makefile.am (noinst_HEADERS): Adjust.
2942
2943 2000-09-20 Akim Demaille <akim@epita.fr>
2944
2945 * tests/atgeneral.m4: Update from Autoconf.
2946 * tests/calc.m4 (_AT_DATA_CALC_Y, AT_DATA_CALC_Y, _AT_CHECK_CALC)
2947 (AT_CHECK_CALC): New macros.
2948 Use these macros to test bison with options `', `--raw',
2949 `--debug', `--yacc', `--yacc --debug'.
2950
2951 2000-09-19 Akim Demaille <akim@epita.fr>
2952
2953 * src/output.c: Formatting changes.
2954 * src/machine.h: Remove, leaving its contents in...
2955 * src/system.h: here.
2956 Include stdio.h.
2957 Adjust all dependencies on stdio.h and machine.h.
2958 * src/getargs.h: New file.
2959 Let all `extern' declarations about getargs.c be replaced with
2960 inclusion of `getargs.h'.
2961 * src/Makefile.am (noinst_HEADERS): Adjust.
2962
2963 * tests/calc.m4 (yyin): Be initialized in main, not on the global
2964 scope.
2965 (yyerror): Returns void, not int.
2966 * doc/bison.texinfo: Formatting changes.
2967
2968 2000-09-19 Akim Demaille <akim@epita.fr>
2969
2970 * tests/calc.m4 (calc.y): Do not assign to stdin, as it's not
2971 portable.
2972
2973 2000-09-18 Akim Demaille <akim@epita.fr>
2974
2975 * configure.in: Append WARNING_CFLAGS to CFLAGS.
2976 * src/Makefile.am (INCLUDES): Don't.
2977 Be ready to fetch headers in lib/.
2978
2979 2000-09-18 Akim Demaille <akim@epita.fr>
2980
2981 * doc/bison.texinfo: Update the copyright.
2982 ANSIfy and GNUify the examples.
2983 Remove the old menu.
2984
2985 2000-09-18 Akim Demaille <akim@epita.fr>
2986
2987 First set of tests: use the `calc' example from the documentation.
2988
2989 * src/bison.s1 (yyparse): Condition the code using `yytname' which
2990 is defined only when YYDEBUG is.
2991 * m4/atconfig.m4 (AT_CONFIG): Adjust to Autoconf 2.13.
2992 * src/files.c (tryopen, tryclose): Formatting changes.
2993 Move to the top and be static.
2994 * src/reader.c (read_signed_integer): Likewise.
2995 * tests/calc.m4: New file.
2996 * Makefile.am, suite.m4: Adjust.
2997 * m4/atconfig.m4: Set BISON_SIMPLE and BISON_HAIRY.
2998
2999 2000-09-18 Akim Demaille <akim@epita.fr>
3000
3001 Add support for an Autotest test suite for Bison.
3002
3003 * m4/m4.m4, m4/atconfig.m4: New files.
3004 * m4/Makefile.am (EXTRA_DIST): Adjust.
3005 * tests/suite.m4, tests/Makefile.am, tests/atgeneral.m4: New
3006 files.
3007 * src/getargs.c: Display a more standard --version message.
3008 * src/reader.c (reader): Formatting changes.
3009 No longer depend upon VERSION_STRING.
3010 * configure.in: No longer use `dnl'.
3011 Set up the test suite and the new directory `tests/.
3012 (VERSION_STRING): Remove.
3013
3014 2000-04-14 Akim Demaille <akim@epita.fr>
3015
3016 * src/reader.c (copy_comment2): New function, same as former
3017 `copy_comment', but outputs into two FILE *.
3018 (copy_comment): Use it.
3019 (parse_union_decl): Use it.
3020 (get_type, parse_start_decl): Use the same `invalid' message.
3021 (parse_start_decl, parse_union_decl): Use the same `multiple'
3022 message.
3023 (parse_union_decl, copy_guard, copy_action): Use the same
3024 `unmatched' message.
3025 * m4/Makefile.am (EXTRA_DIST): Add `warning.m4'.
3026
3027 2000-03-31 Akim Demaille <akim@epita.fr>
3028
3029 * src/files.c (tryopen, tryclose): Move to the top.
3030 Be static.
3031
3032 2000-03-31 Akim Demaille <akim@epita.fr>
3033
3034 * src/main.c (main): Don't call `done', exit does it.
3035
3036 2000-03-31 Akim Demaille <akim@epita.fr>
3037
3038 * allocate.c: s/return (foo)/return foo/.
3039 * lalr.c: Likewise.
3040 * LR0.c: Likewise.
3041 * output.c: Likewise.
3042 * reader.c: Likewise.
3043 * symtab.c: Likewise.
3044 * vmsgetargs.c: Likewise.
3045
3046 2000-03-31 Akim Demaille <akim@epita.fr>
3047
3048 Clean up the error reporting functions.
3049
3050 * src/report.c: New file.
3051 * src/report.h: Likewise.
3052 * src/Makefile.am: Adjust.
3053 * m4/error.m4: New file.
3054 * m4/Makefile.am: Adjust.
3055 * configure.in (jm_PREREQ_ERROR): Call it.
3056 * src/main.c (int_to_string, banner, fatal_banner, warn_banner):
3057 Remove.
3058 (fatal, fatals): Remove. All callers use complain.c::fatal.
3059 (warn, warni, warns, warnss, warnss): Remove. All callers use
3060 complain.c::complain.
3061 (toomany): Remove, use fatal instead.
3062 * src/files.c (done): No argument, use complain_message_count.
3063 * src/main.c (main): Register `done' to `atexit'.
3064
3065 * src/getargs.c (usage): More `fputs', less `fprintf'.
3066
3067 2000-03-28 Akim Demaille <akim@epita.fr>
3068
3069 * lib/: New directory.
3070 * Makefile.am (SUBDIRS): Adjust.
3071 * configure.in: Adjust.
3072 (LIBOBJS): Although not used yet, AC_SUBST it, otherwise it's
3073 useless.
3074 * src/alloca.c: Moved to lib/.
3075 * src/getopt.c: Likewise.
3076 * src/getopt1.c: Likewise.
3077 * src/getopt.h: Likewise.
3078 * src/ansi2knr.c: Likewise.
3079 * src/ansi2knr.1: Likewise.
3080 * src/Makefile.am: Adjust.
3081 * lib/Makefile.am: New file.
3082
3083 2000-03-28 Akim Demaille <akim@epita.fr>
3084
3085 * src/getargs.c (usage): Refresh the help message.
3086
3087 2000-03-17 Akim Demaille <akim@epita.fr>
3088
3089 * src/getopt1.c: Updated from textutils 2.0e
3090 * src/getopt.c: Likewise.
3091 * src/getopt.h: Likewise.
3092
3093 2000-03-17 Akim Demaille <akim@epita.fr>
3094
3095 * src/Makefile.am (bison.simple): Fix the awk program: quote only
3096 the file name, not the whole `#line LINE FILE'.
3097
3098 2000-03-17 Akim Demaille <akim@epita.fr>
3099
3100 On syntax errors, report the token on which we choked.
3101
3102 * src/bison.s1 (yyparse): In the label yyerrlab, when
3103 YYERROR_VERBOSE, add yychar in msg.
3104
3105 2000-03-17 Akim Demaille <akim@epita.fr>
3106
3107 * src/reader.c (copy_at): New function.
3108 (copy_guard): Use it.
3109 (copy_action): Use it.
3110
3111 2000-03-17 Akim Demaille <akim@epita.fr>
3112
3113 Be kind to translators, save some useless translations.
3114
3115 * src/main.c (banner): New function.
3116 (fatal_banner): Use it.
3117 (warn_banner): Use it.
3118
3119 2000-03-17 Akim Demaille <akim@epita.fr>
3120
3121 * src/reader.c (copy_definition): Use copy_string and
3122 copy_comment. Removed now unused `match', `ended',
3123 `cplus_comment'.
3124 (copy_comment, copy_string): Moved, to be visible from
3125 copy_definition.
3126
3127 2000-03-17 Akim Demaille <akim@epita.fr>
3128
3129 * src/reader.c (copy_string): Declare `static inline'. No
3130 problems with inline, since it is checked by configure.
3131 (copy_comment): Likewise.
3132
3133 2000-03-17 Akim Demaille <akim@epita.fr>
3134
3135 * src/reader.c (packsymbols): Formatting changes.
3136
3137 2000-03-17 Akim Demaille <akim@epita.fr>
3138
3139 * src/reader.c (copy_comment): New function, factored out from:
3140 (copy_action): Use it. Removed now unused `match', `ended',
3141 `cplus_comment'.
3142 (copy_guard): Likewise.
3143
3144 2000-03-17 Akim Demaille <akim@epita.fr>
3145
3146 * src/reader.c (copy_string): New function, factored out from:
3147 (copy_action): Use it.
3148 (copy_guard): Likewise.
3149
3150 2000-03-17 Akim Demaille <akim@epita.fr>
3151
3152 Change the handling of @s so that they behave exactly like $s.
3153 There is now a pseudo variable @$ (readble and writable), location
3154 of the lhs of the rule (by default ranging from the location of
3155 the first symbol of the rhs, to the location of the last symbol,
3156 or, if the rhs is empty, YYLLOC).
3157
3158 * src/bison.s1 [YYLSP_NEEDED] (yyloc): New variable, twin of
3159 yyval.
3160 (yyparse): When providing a default semantic action, provide a
3161 default location action.
3162 (after the $): No longer change `*YYLSP', just stack YYLOC the
3163 same way you stack YYVAL.
3164 * src/reader.c (read_declarations): Use warns.
3165 (copy_guard, case '@'): Also recognize `@$', expanded as `YYLOC'.
3166 (copy_action, case '@'): Likewise.
3167 Use a standard error message, to save useless work from
3168 translators.
3169
3170 2000-03-17 Akim Demaille <akim@epita.fr>
3171
3172 * src/bison.s1: Formatting and cosmetics changes.
3173 * src/reader.c: Likewise.
3174 Update the Copyright notice.
3175
3176 2000-03-17 Akim Demaille <akim@epita.fr>
3177
3178 * src/bison.s1 (#line): All set to `#line' only, since the
3179 Makefile now handles them.
3180
3181 2000-03-16 Akim Demaille <akim@epita.fr>
3182
3183 * src/output.c (output_rule_data): Output the documentation of
3184 some of the tables.
3185 (Copyright notice): Update.
3186 Formatting changes.
3187
3188 2000-03-16 Akim Demaille <akim@epita.fr>
3189
3190 * src/bison.s1 [!YYDEBUG]: Define yydebug to 0. This allows to
3191 remove most `#if YYDEBUG != 0', since `if (yydebug)' is enough.
3192 One `#if YYDEBUG' remains, since it uses variables which are
3193 defined only if `YYDEBUG != 0'.
3194
3195 2000-03-16 Akim Demaille <akim@epita.fr>
3196
3197 * src/bison.s1 (yyparse): Reorganize the definitions of the stacks
3198 and related variables so that the similarities are highlighted.
3199
3200 2000-03-16 Akim Demaille <akim@epita.fr>
3201
3202 * src/bison.s1: Properly indent CPP directives.
3203
3204 2000-03-16 Akim Demaille <akim@epita.fr>
3205
3206 * src/bison.s1: Properly indent the `alloca' CPP section.
3207
3208 2000-03-16 Akim Demaille <akim@epita.fr>
3209
3210 Do not hard code values of directories in `configure.in'.
3211 Update the `configure' tool chain.
3212
3213 * configure.in (XPFILE, XPFILE1, LOCALEDIR): Remove, handled by
3214 src/makefile.am.
3215 (VERSION_STRING): Use the third arg of AC_DEFINE_UNQUOTED.
3216 (AC_OUTPUT): Add m4/Makefile.
3217 Bump to bison 1.28a, 1.29 has never been released.
3218 * acconfig.h (XPFILE, XPFILE1, LOCALEDIR): Remove, since they are
3219 handled via src/Makefile.am.
3220 (VERSION_STRING, PROTOTYPES, ENABLE_NLS, HAVE_CATGETS,
3221 HAVE_GETTEXT, HAVE_LC_MESSAGES, HAVE_STPCPY): Remove, handled by
3222 autoheader.
3223 * Makefile.am (SUBDIRS): Add m4.
3224 (ACLOCAL_AM_FLAGS): New variable.
3225 (AUTOMAKE_OPTIONS): Add check-news.
3226 * src/Makefile.am (bison.simple): Use awk to replace #line lines with
3227 the proper line number and file name.
3228 (DEFS): Propagate the location of bison library files and of the
3229 locale files.
3230 (INCLUDES): Added `-I ..' so that one can compile with srcdir !=
3231 builddir.
3232 * acinclude.m4: Remove, replaced by the directory m4.
3233 * m4/Makefile.am (EXTRA_DIST): New variable.
3234 * m4/gettext.m4: New file, from the fileutils.
3235 * m4/lcmessage.m4: Likewise
3236 * m4/progtest.m4: Likewise.
3237 * m4/bison-decl.m4: New file, extracted from former acinclude.m4.
3238
3239 2000-03-10 Akim Demaille <akim@epita.fr>
3240
3241 * src/closure.c:
3242 Formatting changes of various comments.
3243 Respect the GNU coding standards at various places.
3244 Don't use `_()' when no translation is needed.
3245
3246 1999-12-13 Jesse Thilo <jthilo@gnu.org>
3247
3248 * src/files.c:
3249 OS/2 honors TMPDIR environment variable.
3250
3251 1999-12-13 Jesse Thilo <jthilo@gnu.org>
3252
3253 * doc/bison.texinfo: Tweaked spelling and grammar.
3254 Updated ISBN.
3255 Removed reference to price of printed copy.
3256 Mention BISON_SIMPLE and BISON_HAIRY.
3257
3258 1999-12-13 Jesse Thilo <jthilo@gnu.org>
3259
3260 * configure.in, NEWS:
3261 Bison 1.29 released.
3262
3263 1999-10-27 Jesse Thilo <jthilo@gnu.org>
3264
3265 * doc/.cvsignore, doc/Makefile.am, doc/refcard.tex:
3266 Added reference card.
3267
3268 1999-07-26 Jesse Thilo <jthilo@gnu.org>
3269
3270 * po/ru.po: Added Russian translation.
3271
3272 1999-07-26 Jesse Thilo <jthilo@gnu.org>
3273
3274 * configure.in: Added Russian translation.
3275
3276 1999-07-06 Jesse Thilo <jthilo@gnu.org>
3277
3278 * configure.in, NEWS, README:
3279 Released version 1.28.
3280
3281 1999-06-14 Jesse Thilo <jthilo@gnu.org>
3282
3283 * src/system.h:
3284 Squashed redefinition warning on some systems.
3285
3286 * src/getargs.c, src/Makefile.am, src/reader.c, src/version.c:
3287 Have configure build version string instead of relying on ANSI string
3288 concatentation.
3289
3290 1999-06-14 Jesse Thilo <jthilo@gnu.org>
3291
3292 * po/POTFILES.in: Got rid of version.c.
3293
3294 1999-06-14 Jesse Thilo <jthilo@gnu.org>
3295
3296 * acconfig.h, configure.in:
3297 Have configure build version string instead of relying on ANSI string
3298 concatentation.
3299
3300 1999-06-08 Jesse Thilo <jthilo@gnu.org>
3301
3302 * doc/bison.1:
3303 Dropped mention of `+' for long-named options.
3304
3305 1999-05-30 Jesse Thilo <jthilo@gnu.org>
3306
3307 * src/files.c: Added <unistd.h> for unlink().
3308
3309 * src/Makefile.am, src/system.h:
3310 I18n fixes.
3311
3312 1999-05-30 Jesse Thilo <jthilo@gnu.org>
3313
3314 * README: Added a FAQ list.
3315
3316 * configure.in, acconfig.h:
3317 I18n fixes.
3318
3319 1999-05-30 Jesse Thilo <jthilo@gnu.org>
3320
3321 * doc/FAQ, doc/Makefile.am:
3322 Added a FAQ list.
3323
3324 1999-05-19 Jesse Thilo <jthilo@gnu.org>
3325
3326 * src/alloc.h, src/symtab.h, src/version.c:
3327 Protected inclusion of "config.h" with HAVE_CONFIG_H.
3328
3329 1999-04-18 Jesse Thilo <jthilo@gnu.org>
3330
3331 * src/.cvsignore, src/Makefile.am:
3332 Reorganized: sources in `src', documentation in `doc'.
3333
3334 * src/lex.c (literalchar):
3335 fixed the code for escaping double quotes (thanks
3336 Jonathan Czisny.)
3337
3338 1999-04-18 Jesse Thilo <jthilo@gnu.org>
3339
3340 * po/de.po, po/es.po, po/fr.po, po/nl.po, po/POTFILES.in:
3341 Adjusted paths to reflect directory reorganization.
3342
3343 1999-04-18 Jesse Thilo <jthilo@gnu.org>
3344
3345 * doc/.cvsignore, doc/Makefile.am:
3346 Reorganized: sources in `src', documentation in `doc'.
3347
3348 1999-04-18 Jesse Thilo <jthilo@gnu.org>
3349
3350 * configure.in:
3351 Updated AC_INIT file to reflect directory reorganization.
3352
3353 * configure.in, .cvsignore, Makefile.am, POTFILES.in:
3354 Reorganized: sources in `src', documentation in `doc'.
3355
3356 1999-04-13 Jesse Thilo <jthilo@gnu.org>
3357
3358 * src/allocate.c:
3359 Don't declare calloc() and realloc() if not necessary.
3360
3361 1999-04-13 Jesse Thilo <jthilo@gnu.org>
3362
3363 * configure.in, acconfig.h, acinclude.m4:
3364 Don't declare calloc() and realloc() if not necessary.
3365
3366 1999-03-23 Jesse Thilo <jthilo@gnu.org>
3367
3368 * po/.cvsignore: Added i18n support.
3369
3370 1999-03-23 Jesse Thilo <jthilo@gnu.org>
3371
3372 * acconfig.h, configure.in, Makefile.am:
3373 Added i18n support.
3374
3375 1999-03-22 Jesse Thilo <jthilo@gnu.org>
3376
3377 * src/bison.s1: Fixed #line numbers.
3378
3379 1999-03-15 Jesse Thilo <jthilo@gnu.org>
3380
3381 * po/es.po, po/fr.po, po/nl.po, po/de.po:
3382 Added PO files from Translation Project.
3383
3384 1999-03-03 Jesse Thilo <jthilo@gnu.org>
3385
3386 * Makefile.am:
3387 Added support for non-ANSI compilers (ansi2knr).
3388
3389 1999-02-16 Jesse Thilo <jthilo@gnu.org>
3390
3391 * configure.in: Bumped version number to 1.27.
3392
3393 * Makefile.am:
3394 Added `bison.simple' to list of files removed by `make distclean'.
3395
3396 1999-02-12 Jesse Thilo <jthilo@gnu.org>
3397
3398 * src/files.c, src/files.h:
3399 Defined locations of parser files in config.h instead of Makefile.
3400
3401 1999-02-12 Jesse Thilo <jthilo@gnu.org>
3402
3403 * acconfig.h, acinclude.m4, configure.in, Makefile.am:
3404 Defined locations of parser files in config.h instead of Makefile.
3405
3406 1999-02-09 Jesse Thilo <jthilo@gnu.org>
3407
3408 * Makefile.am:
3409 Removed inappropriate use of $< macro.
3410
3411 1999-02-05 Jesse Thilo <jthilo@gnu.org>
3412
3413 * po/Makefile.in.in, po/POTFILES.in:
3414 Add `po' directory skeleton.
3415
3416 1999-01-27 Jesse Thilo <jthilo@gnu.org>
3417
3418 * README: Document help-bison list.
3419
3420 * configure.in: Add check for mkstemp().
3421
3422 1999-01-20 Jesse Thilo <jthilo@gnu.org>
3423
3424 * src/conflicts.c, src/LR0.c, src/output.c, src/reader.c:
3425 Hush a few compiler warnings.
3426
3427 * src/files.c:
3428 Add tryclose(), which verifies that fclose was successful.
3429 Hush a couple of compiler warnings.
3430
3431 1999-01-20 Jesse Thilo <jthilo@gnu.org>
3432
3433 * Makefile.am, OChangeLog:
3434 ChangeLog is now automatically generated. Include the old version as
3435 OChangeLog.
3436
3437 1999-01-14 Jesse Thilo <jthilo@gnu.org>
3438
3439 * 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:
3440 Update FSF address.
3441
3442 1999-01-14 Jesse Thilo <jthilo@gnu.org>
3443
3444 * doc/bison.texinfo: Fix formatting glitch.
3445
3446 * doc/bison.texinfo: Update FSF address.
3447
3448 1999-01-14 Jesse Thilo <jthilo@gnu.org>
3449
3450 * acconfig.h: Update FSF address.
3451
3452 1999-01-08 Jesse Thilo <jthilo@gnu.org>
3453
3454 * src/system.h:
3455 Don't define PACKAGE here, since config.h defines it.
3456
3457 1998-12-30 Jesse Thilo <jthilo@gnu.org>
3458
3459 * src/reader.c: Update copyright date.
3460
3461 * src/main.c:
3462 Ditch sprintf to statically-sized buffers in fatal/warn functions in
3463 favor of output directly to stderr (avoids buffer overruns).
3464
3465 * src/reader.c: Some checks for premature EOF.
3466
3467 * 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:
3468 Use prototypes if the compiler understands them.
3469
3470 * src/files.c: Honor TMPDIR on Unix hosts.
3471 Use prototypes if the compiler understands them.
3472
3473 * src/reader.c:
3474 Fix a couple of buffer overrun bugs.
3475 Use prototypes if the compiler understands them.
3476
3477 * src/system.h: Include unistd.h and ctype.h.
3478 Use #ifdef instead of #if for NLS symbols.
3479
3480 1998-12-30 Jesse Thilo <jthilo@gnu.org>
3481
3482 * doc/bison.texinfo:
3483 Delete comment "consider using @set for edition number, etc..." since
3484 we now are doing so.
3485
3486 1998-12-30 Jesse Thilo <jthilo@gnu.org>
3487
3488 * configure.in:
3489 Use prototypes if the compiler understands them.
3490
3491 * NEWS: Document 1.26 highlights.
3492
3493 * Makefile.am: Require Automake 1.3 or later.
3494
3495 * acconfig.h:
3496 Use prototypes if the compiler understands them.
3497
3498 1998-12-29 Jesse Thilo <jthilo@gnu.org>
3499
3500 * src/version.c:
3501 Use VERSION symbol from automake for version number.
3502
3503 1998-12-29 Jesse Thilo <jthilo@gnu.org>
3504
3505 * acconfig.h, configure.in, version.cin:
3506 Use VERSION symbol from automake for version number.
3507
3508 1998-11-28 Jesse Thilo <jthilo@gnu.org>
3509
3510 * Makefile.am:
3511 Distribute original version of simple parser (bison.s1), not built
3512 version (bison.simple).
3513
3514 1998-11-28 Jesse Thilo <jthilo@gnu.org>
3515
3516 * doc/bison.texinfo: Add info dir entry.
3517
3518 * doc/bison.texinfo:
3519 Let automake put version number into documentation.
3520
3521 1998-11-26 Jesse Thilo <jthilo@gnu.org>
3522
3523 * src/bison.cld, src/build.com, src/vmshlp.mar:
3524 Add non-RCS files from /gd/gnu/bison.
3525
3526 1998-11-26 Jesse Thilo <jthilo@gnu.org>
3527
3528 * doc/bison.1:
3529 Document the BISON_HAIRY and BISON_SIMPLE variables.
3530
3531 1998-11-25 Jesse Thilo <jthilo@gnu.org>
3532
3533 * src/version.c: Build version.c automatically.
3534
3535 * src/reader.c:
3536 Fix token numbering (used to start at 258, not 257).
3537
3538 * src/system.h: Include config.h.
3539
3540 * src/getargs.c: Update bug report address.
3541
3542 * src/alloca.c, src/getopt1.c, src/getopt.c, src/getopt.h:
3543 Get latest copies of alloca.c, getopt.c, getopt.h, getopt1.c from gnu.org.
3544
3545 1998-11-25 Jesse Thilo <jthilo@gnu.org>
3546
3547 * Makefile.am:
3548 Rename bison.simple to bison.s1 (bison.simple is then built from bison.s1).
3549
3550 * configure.in, version.cin:
3551 Build version.c automatically.
3552
3553 * AUTHORS: Add AUTHORS file.
3554
3555 * README: Update bug report address.
3556
3557 * bison.simple:
3558 Rename bison.simple to bison.s1 (bison.simple is then built from bison.s1).
3559
3560 * configure.in, Makefile.am, Makefile.in, stamp-h.in:
3561 Add automake stuff.
3562
3563 1998-11-25 Jesse Thilo <jthilo@gnu.org>
3564
3565 * doc/bison.texinfo: Clean up some formatting.
3566
3567 1998-05-05 Richard Stallman <rms@gnu.org>
3568
3569 * doc/bison.texinfo:
3570 Explain better why to make a pure parser.
3571
3572 1998-01-05 Richard Stallman <rms@gnu.org>
3573
3574 * src/files.c (openfiles):
3575 [_WIN32 && !__CYGWIN32__] Use TEMP or Temp to
3576 find a temporary directory, if possible. Do not unlink files while
3577 they are open.
3578
3579 1997-08-25 Richard Stallman <rms@gnu.org>
3580
3581 * src/reader.c (stack_offset;):
3582 Change some warni to warns.
3583
3584 * src/lex.c (literalchar): Use warns, not warni.
3585
3586 1997-06-28 Richard Stallman <rms@gnu.org>
3587
3588 * src/bison.s1: Add a Bison version comment.
3589
3590 * src/main.c (fatal, warn, berror):
3591 Use program_name.
3592
3593 1997-06-28 Richard Stallman <rms@gnu.org>
3594
3595 * Makefile.in (bison_version): New variable.
3596 (dist): Use that variable.
3597 (bison.s1): Substitute the Bison version into bison.simple.
3598
3599 * bison.simple: Add a Bison version comment.
3600
3601 1997-06-18 Richard Stallman <rms@gnu.org>
3602
3603 * src/main.c (fatal, warn, berror):
3604 Make error messages standard.
3605 (toomany): Improve error message text.
3606
3607 * 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:
3608 new.h renamed to alloc.h.
3609
3610 1997-06-18 Richard Stallman <rms@gnu.org>
3611
3612 * Makefile.in: new.h renamed to alloc.h.
3613
3614 1997-05-24 Richard Stallman <rms@gnu.org>
3615
3616 * src/lex.c (literalchar):
3617 Fix the code for escaping \, " and '.
3618
3619 (lex): Avoid trouble when there are many chars
3620 to discard in a char literal with just several chars in it.
3621
3622 1997-05-17 Richard Stallman <rms@gnu.org>
3623
3624 * src/bison.s1:
3625 Use malloc, if using alloca is troublesome.
3626 (YYSTACK_USE_ALLOCA): New flag macro.
3627 Define it for some systems and compilers.
3628 (YYSTACK_ALLOC): New macro.
3629 (yyparse): Use YYSTACK_ALLOC to allocate stack.
3630 If it was malloc'd, free it.
3631
3632 1997-05-17 Richard Stallman <rms@gnu.org>
3633
3634 * bison.simple:
3635 Use malloc, if using alloca is troublesome.
3636 (YYSTACK_USE_ALLOCA): New flag macro.
3637 Define it for some systems and compilers.
3638 (YYSTACK_ALLOC): New macro.
3639 (yyparse): Use YYSTACK_ALLOC to allocate stack.
3640 If it was malloc'd, free it.
3641
3642 1997-04-23 Richard Stallman <rms@gnu.org>
3643
3644 * src/bison.s1:
3645 (alloca) [__hpux]: Always define as __builtin_alloca.
3646
3647 1997-04-23 Richard Stallman <rms@gnu.org>
3648
3649 * bison.simple:
3650 (alloca) [__hpux]: Always define as __builtin_alloca.
3651
3652 1997-04-22 Richard Stallman <rms@gnu.org>
3653
3654 * src/bison.s1:
3655 [__hpux]: Include alloca.h (right for HPUX 10)
3656 instead of declaring alloca (right for HPUX 9).
3657
3658 * src/bison.s1 (__yy_memcpy):
3659 Declare arg `count' as unsigned int.
3660 (yyparse): Cast third arg to __yy_memcpy to unsigned int.
3661
3662 1997-04-22 Richard Stallman <rms@gnu.org>
3663
3664 * bison.simple:
3665 [__hpux]: Include alloca.h (right for HPUX 10)
3666 instead of declaring alloca (right for HPUX 9).
3667
3668 * bison.simple (__yy_memcpy):
3669 Declare arg `count' as unsigned int.
3670 (yyparse): Cast third arg to __yy_memcpy to unsigned int.
3671
3672 1997-01-03 Richard Stallman <rms@gnu.org>
3673
3674 * src/allocate.c: [__STDC__ or _MSC_VER]:
3675 Declare calloc and realloc to return void *.
3676
3677 1997-01-02 Richard Stallman <rms@gnu.org>
3678
3679 * src/system.h:
3680 [_MSC_VER]: Include stdlib.h and process.h.
3681 [_MSC_VER] (getpid): Define as macro--translate it to _getpid.
3682
3683 * src/main.c (main): Return FAILURE as a value.
3684 (printable_version): Declare arg as int, not char.
3685
3686 1997-01-02 Richard Stallman <rms@gnu.org>
3687
3688 * Makefile.in (dist):
3689 Explicitly check for symlinks, and copy them.
3690
3691 1996-12-19 Richard Stallman <rms@gnu.org>
3692
3693 * src/files.c:
3694 [_MSC_VER] (XPFILE, XPFILE1): Define, if not already defined.
3695
3696 1996-12-18 Paul Eggert <eggert@gnu.org>
3697
3698 * src/bison.s1 (yyparse):
3699 If __GNUC__ and YYPARSE_PARAM are both defined,
3700 declare yyparse to have a void * argument.
3701
3702 1996-12-18 Paul Eggert <eggert@gnu.org>
3703
3704 * bison.simple (yyparse):
3705 If __GNUC__ and YYPARSE_PARAM are both defined,
3706 declare yyparse to have a void * argument.
3707
3708 1996-12-17 Richard Stallman <rms@gnu.org>
3709
3710 * src/reduce.c (nbits): Add some casts.
3711
3712 1996-08-12 Richard Stallman <rms@gnu.org>
3713
3714 * src/bison.s1: Test _MSDOS as well as _MSDOS_.
3715
3716 1996-08-12 Richard Stallman <rms@gnu.org>
3717
3718 * bison.simple: Test _MSDOS as well as _MSDOS_.
3719
3720 1996-07-31 Richard Stallman <rms@gnu.org>
3721
3722 * src/bison.s1:
3723 [__sun && __i386]: Include alloca.h.
3724
3725 1996-07-31 Richard Stallman <rms@gnu.org>
3726
3727 * bison.simple:
3728 [__sun && __i386]: Include alloca.h.
3729
3730 1996-07-30 Richard Stallman <rms@gnu.org>
3731
3732 * src/bison.s1: Comment change.
3733
3734 * src/bison.s1: Test _MSDOS_, not MSDOS.
3735
3736 1996-07-30 Richard Stallman <rms@gnu.org>
3737
3738 * bison.simple: Comment change.
3739
3740 * bison.simple: Test _MSDOS_, not MSDOS.
3741
3742 1996-06-01 Richard Stallman <rms@gnu.org>
3743
3744 * 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:
3745 Insert `_' macro around many string constants.
3746
3747 * src/main.c:
3748 Insert `_' macro around many string constants.
3749
3750 (main): Call setlocale, bindtextdomain and textdomain.
3751
3752 * src/system.h: [HAVE_LOCALE_H]: Include locale.h.
3753 [! HAVE_LOCALE_H] (setlocale): Define as no-op.
3754 [ENABLE_NLS]: Include libintl.h.
3755 [ENABLE_NLS] (gettext): Define.
3756 [! ENABLE_NLS] (bintextdomain, textdomain, _): Consolation definitions.
3757 (N_, PACKAGE, LOCALEDIR): New macros.
3758
3759 1996-06-01 Richard Stallman <rms@gnu.org>
3760
3761 * POTFILES.in: New file.
3762
3763 * Makefile.in (allocate.o):
3764 Define target explicitly.
3765
3766 * Makefile.in (CFLAGS): Set to @CFLAGS@.
3767 (LDFLAGS): Set to @LDFLAGS@.
3768 (configure): Run autoconf only if preceding `cd' succeeds.
3769 (bison.s1): Redirect output to temporary file then move the
3770 temporary to the target, rather than redirecting directly to bison.s1.
3771 (clean): Remove config.status and config.log.
3772 (distclean): Don't remove config.status here.
3773
3774 1996-05-12 Richard Stallman <rms@gnu.org>
3775
3776 * src/bison.s1:
3777 (__yy_memcpy) [__cplusplus]: Reorder declarations of variables f and t.
3778
3779 1996-05-12 Richard Stallman <rms@gnu.org>
3780
3781 * bison.simple:
3782 (__yy_memcpy) [__cplusplus]: Reorder declarations of variables f and t.
3783
3784 1996-05-11 Richard Stallman <rms@gnu.org>
3785
3786 * src/bison.s1 (__yy_memcpy):
3787 Really reorder the args, as was supposedly done on Feb 14 1995.
3788 (yyparse): Calls changed accordingly.
3789
3790 1996-05-11 Richard Stallman <rms@gnu.org>
3791
3792 * Makefile.in (dist): Don't use $(srcdir).
3793
3794 * bison.simple (__yy_memcpy):
3795 Really reorder the args, as was supposedly done on Feb 14 1995.
3796 (yyparse): Calls changed accordingly.
3797
3798 1996-01-27 Richard Stallman <rms@gnu.org>
3799
3800 * src/output.c (output_rule_data):
3801 Test YYERROR_VERBOSE in the conditional
3802 around the definition of ttyname.
3803
3804 1995-12-29 Richard Stallman <rms@gnu.org>
3805
3806 * src/bison.s1:
3807 Fix line numbers in #line commands.
3808
3809 1995-12-29 Richard Stallman <rms@gnu.org>
3810
3811 * bison.simple:
3812 Fix line numbers in #line commands.
3813
3814 1995-12-27 Richard Stallman <rms@gnu.org>
3815
3816 * src/bison.s1 (YYPARSE_PARAM_DECL):
3817 In C++, make it always null.
3818 (YYPARSE_PARAM_ARG): New macro.
3819 (yyparse): Use YYPARSE_PARAM_ARG.
3820
3821 1995-12-27 Richard Stallman <rms@gnu.org>
3822
3823 * bison.simple (YYPARSE_PARAM_DECL):
3824 In C++, make it always null.
3825 (YYPARSE_PARAM_ARG): New macro.
3826 (yyparse): Use YYPARSE_PARAM_ARG.
3827
3828 1995-11-29 Richard Stallman <rms@gnu.org>
3829
3830 * doc/bison.texinfo:
3831 Describe literal string tokens, %raw, %no_lines, %token_table.
3832
3833 1995-11-29 Daniel Hagerty <hag@gnu.org>
3834
3835 * doc/bison.texinfo: Fixed update date
3836
3837 1995-10-16 Richard Stallman <rms@gnu.org>
3838
3839 * src/version.c: Version 1.25.
3840
3841 1995-10-16 Richard Stallman <rms@gnu.org>
3842
3843 * NEWS: *** empty log message ***
3844
3845 1995-10-16 Richard Stallman <rms@gnu.org>
3846
3847 * doc/bison.1, doc/bison.rnh:
3848 Add new options.
3849
3850 1995-10-15 Richard Stallman <rms@gnu.org>
3851
3852 * src/vmsgetargs.c, src/getargs.c:
3853 Added -n, -k, and -raw switches.
3854 (noparserflag, toknumflag, rawtoknumflag): New variables.
3855
3856 * src/symtab.h (SALIAS):
3857 New #define for adding aliases to %token.
3858 (struct bucket): Added `alias' field.
3859
3860 * src/reduce.c (reduce_grammar):
3861 Revise error message.
3862 (print_notices): Remove final `.' from error message.
3863
3864 * src/reader.c (reader_output_yylsp):
3865 New function.
3866 (readgram): Use `#if 0' around code that accepted %command
3867 inside grammar rules: The documentation doesn't allow it,
3868 and it will fail since the %command processors scan for the next %.
3869 (parse_token_decl): Extended the %token
3870 declaration to allow a multi-character symbol as an alias.
3871 (parse_thong_decl): New function.
3872 (read_declarations): Added %thong declarations.
3873 (read_declarations): Handle NOOP to deal with allowing
3874 % declarations as another means to specify the flags.
3875 (readgram): Allow %prec prior to semantics embedded in a rule.
3876 (skip_to_char, read_declarations, copy_definition)
3877 (parse_token_decl, parse_start_decl, parse_type_decl)
3878 (parse_assoc_decl, parse_union_decl, parse_expect_decl)
3879 (get_type_name, copy_guard, copy_action, readgram)
3880 (get_type, packsymbols): Revised most error messages.
3881 Changed `fatal' to `warnxxx' to avoid aborting for error.
3882 Revised and use multiple warnxxx functions to avoid using VARARGS1.
3883 (read_declarations): Improve the error message for
3884 an invalid character. Do not abort.
3885 (read_declarations, copy_guard, copy_action): Use
3886 printable_version to avoid unprintable characters in printed output.
3887 (parse_expect_decl): Error if argument to %expect exceeds 10 digits.
3888 (parse_token_decl, parse_assoc_decl, parse_type_decl, get_type):
3889 Allow the type of a non-terminal can be given
3890 more than once, as long as all specifications give the same type.
3891
3892 * src/output.c:
3893 (output_headers, output_trailers, output, output_gram)
3894 (output_rule_data): Implement noparserflag variable.
3895 Implement toknumflag variable.
3896 (output): Call reader_output_yylsp to output LTYPESTR.
3897
3898 * src/main.c (main):
3899 If reader sees an error, don't process the grammar.
3900 (fatals): Updated to not use VARARGS1.
3901 (printable_version, int_to_string, warn, warni, warns, warnss)
3902 (warnsss): New error reporting functions. Avoid abort for error.
3903
3904 * src/lex.h:
3905 Added THONG and NOOP for alias processing.
3906 Added SETOPT for the new code that allows setting options with %flags.
3907
3908 * src/lex.c:
3909 Include getopt.h. Add some extern decls.
3910 (safegetc): New function to deal with EOF gracefully.
3911 (literalchar); new function to deal with reading \ escapes.
3912 (lex): Use literalchar.
3913 (lex): Implemented "..." tokens.
3914 (literalchar, lex, parse_percent_token): Made tokenbuffer
3915 always contain the token. This includes growing the token
3916 buffer while reading an integer.
3917 (parse_percent_token): Replaced if-else statement with percent_table.
3918 (parse_percent_token): Added % declarations as another
3919 way to specify the flags -n, -l, and -r. Also added hooks for
3920 -d, -k, -y, -v, -t, -p, -b, -o, but implementation requires
3921 major changes to files.c.
3922 (lex) Retain in the incoming stream a character following
3923 an incorrect '/'.
3924 (skip_white_space, lex): Revised most error messages
3925 and changed fatal to warn to avoid aborting.
3926 (percent_table): Added %thong declarations.
3927
3928 * src/gram.h: Comment changes.
3929
3930 * src/files.c (openfiles, open_extra_files, done):
3931 Add faction flag
3932 and actfile file. Handle noparserflag. Both for -n switch.
3933
3934 * src/conflicts.c (resolve_sr_conflict):
3935 Remove use of alloca.
3936
3937 1995-06-01 Jim Meyering <meyering@gnu.org>
3938
3939 * doc/bison.texinfo: *** empty log message ***
3940
3941 1995-05-06 Richard Stallman <rms@gnu.org>
3942
3943 * src/bison.s1: Comment change.
3944
3945 1995-05-06 Richard Stallman <rms@gnu.org>
3946
3947 * bison.simple: Comment change.
3948
3949 1995-05-03 Richard Stallman <rms@gnu.org>
3950
3951 * src/version.c: Version now 1.24.
3952
3953 * src/bison.s1: Change distribution terms.
3954
3955 * src/version.c: Version now 1.23.
3956
3957 1995-05-03 Richard Stallman <rms@gnu.org>
3958
3959 * doc/bison.texinfo:
3960 Rewrite "Conditions for Using Bison".
3961 Update version to 1.24.
3962
3963 1995-05-03 Richard Stallman <rms@gnu.org>
3964
3965 * bison.simple: Change distribution terms.
3966
3967 1995-02-23 Richard Stallman <rms@gnu.org>
3968
3969 * src/files.c: Test __VMS_POSIX as well as VMS.
3970
3971 1995-02-14 Jim Meyering <meyering@gnu.org>
3972
3973 * src/bison.s1 (__yy_memcpy):
3974 Renamed from __yy_bcopy to avoid
3975 confusion. Reverse FROM and TO arguments to be consistent with
3976 those of memcpy.
3977
3978 1995-02-14 Jim Meyering <meyering@gnu.org>
3979
3980 * bison.simple (__yy_memcpy):
3981 Renamed from __yy_bcopy to avoid
3982 confusion. Reverse FROM and TO arguments to be consistent with
3983 those of memcpy.
3984
3985 1994-11-10 David J. MacKenzie <djm@gnu.org>
3986
3987 * NEWS: reformat
3988
3989 * NEWS: New file.
3990
3991 * Makefile.in (DISTFILES): Include NEWS.
3992
3993 * Makefile.in (DISTFILES):
3994 Include install-sh, not install.sh.
3995
3996 * configure.in: Update to Autoconf v2 macro names.
3997
3998 1994-10-05 David J. MacKenzie <djm@gnu.org>
3999
4000 * Makefile.in: fix typo
4001
4002 * Makefile.in (prefix, exec_prefix):
4003 Let configure set them.
4004
4005 1994-09-28 David J. MacKenzie <djm@gnu.org>
4006
4007 * Makefile.in: Set datadir to $(prefix)/share.
4008
4009 1994-09-15 Richard Stallman <rms@gnu.org>
4010
4011 * src/bison.s1:
4012 Update copyright notice and GPL version.
4013
4014 1994-09-15 Richard Stallman <rms@gnu.org>
4015
4016 * bison.simple:
4017 Update copyright notice and GPL version.
4018
4019 1994-07-12 Richard Stallman <rms@gnu.org>
4020
4021 * src/reduce.c, src/reader.c:
4022 entered into RCS
4023
4024 1994-05-05 David J. MacKenzie <djm@gnu.org>
4025
4026 * Makefile.in: entered into RCS
4027
4028 1994-03-26 Richard Stallman <rms@gnu.org>
4029
4030 * src/bison.s1: entered into RCS
4031
4032 1994-03-26 Richard Stallman <rms@gnu.org>
4033
4034 * bison.simple: entered into RCS
4035
4036 1994-03-25 Richard Stallman <rms@gnu.org>
4037
4038 * src/main.c: entered into RCS
4039
4040 1994-03-24 Richard Stallman <rms@gnu.org>
4041
4042 * src/conflicts.c: entered into RCS
4043
4044 1994-01-02 Richard Stallman <rms@gnu.org>
4045
4046 * Makefile.in: *** empty log message ***
4047
4048 1993-11-21 Richard Stallman <rms@gnu.org>
4049
4050 * src/bison.s1: *** empty log message ***
4051
4052 1993-11-21 Richard Stallman <rms@gnu.org>
4053
4054 * doc/bison.texinfo: entered into RCS
4055
4056 * doc/bison.texinfo: *** empty log message ***
4057
4058 1993-11-21 Richard Stallman <rms@gnu.org>
4059
4060 * bison.simple: *** empty log message ***
4061
4062 1993-10-25 David J. MacKenzie <djm@gnu.org>
4063
4064 * doc/bison.texinfo: *** empty log message ***
4065
4066 1993-10-19 Richard Stallman <rms@gnu.org>
4067
4068 * src/bison.s1: *** empty log message ***
4069
4070 1993-10-19 Richard Stallman <rms@gnu.org>
4071
4072 * bison.simple: *** empty log message ***
4073
4074 1993-10-14 Richard Stallman <rms@gnu.org>
4075
4076 * src/bison.s1: *** empty log message ***
4077
4078 1993-10-14 Richard Stallman <rms@gnu.org>
4079
4080 * bison.simple: *** empty log message ***
4081
4082 1993-09-14 David J. MacKenzie <djm@gnu.org>
4083
4084 * doc/bison.texinfo: *** empty log message ***
4085
4086 1993-09-13 Noah Friedman <friedman@gnu.org>
4087
4088 * Makefile.in: *** empty log message ***
4089
4090 1993-09-10 Richard Stallman <rms@gnu.org>
4091
4092 * src/conflicts.c: *** empty log message ***
4093
4094 * src/system.h: entered into RCS
4095
4096 1993-09-10 Richard Stallman <rms@gnu.org>
4097
4098 * doc/bison.1: entered into RCS
4099
4100 1993-09-06 Noah Friedman <friedman@gnu.org>
4101
4102 * src/version.c: entered into RCS
4103
4104 1993-09-06 Noah Friedman <friedman@gnu.org>
4105
4106 * Makefile.in: *** empty log message ***
4107
4108 1993-07-30 David J. MacKenzie <djm@gnu.org>
4109
4110 * Makefile.in: *** empty log message ***
4111
4112 1993-07-24 Richard Stallman <rms@gnu.org>
4113
4114 * src/bison.s1: *** empty log message ***
4115
4116 1993-07-24 Richard Stallman <rms@gnu.org>
4117
4118 * bison.simple: *** empty log message ***
4119
4120 1993-07-08 David J. MacKenzie <djm@gnu.org>
4121
4122 * Makefile.in: *** empty log message ***
4123
4124 1993-07-04 Richard Stallman <rms@gnu.org>
4125
4126 * src/bison.s1: *** empty log message ***
4127
4128 1993-07-04 Richard Stallman <rms@gnu.org>
4129
4130 * bison.simple: *** empty log message ***
4131
4132 1993-06-26 David J. MacKenzie <djm@gnu.org>
4133
4134 * src/getargs.c: entered into RCS
4135
4136 1993-06-26 David J. MacKenzie <djm@gnu.org>
4137
4138 * doc/bison.texinfo: *** empty log message ***
4139
4140 * doc/bison.1: New file.
4141
4142 1993-06-25 Richard Stallman <rms@gnu.org>
4143
4144 * src/getargs.c: New file.
4145
4146 1993-06-16 Richard Stallman <rms@gnu.org>
4147
4148 * src/bison.s1: *** empty log message ***
4149
4150 1993-06-16 Richard Stallman <rms@gnu.org>
4151
4152 * bison.simple: *** empty log message ***
4153
4154 1993-06-03 Richard Stallman <rms@gnu.org>
4155
4156 * src/bison.s1: New file.
4157
4158 1993-06-03 Richard Stallman <rms@gnu.org>
4159
4160 * doc/bison.texinfo: *** empty log message ***
4161
4162 1993-06-03 Richard Stallman <rms@gnu.org>
4163
4164 * bison.simple: New file.
4165
4166 1993-05-19 Richard Stallman <rms@gnu.org>
4167
4168 * doc/bison.texinfo: New file.
4169
4170 1993-05-07 Noah Friedman <friedman@gnu.org>
4171
4172 * Makefile.in: *** empty log message ***
4173
4174 1993-04-28 Noah Friedman <friedman@gnu.org>
4175
4176 * src/reader.c: *** empty log message ***
4177
4178 1993-04-23 Noah Friedman <friedman@gnu.org>
4179
4180 * src/alloc.h: entered into RCS
4181
4182 1993-04-20 David J. MacKenzie <djm@gnu.org>
4183
4184 * src/version.c: *** empty log message ***
4185
4186 * src/files.c, src/allocate.c:
4187 entered into RCS
4188
4189 * src/reader.c: *** empty log message ***
4190
4191 * src/lex.c: entered into RCS
4192
4193 * src/conflicts.c: New file.
4194
4195 * src/symtab.c: entered into RCS
4196
4197 * src/alloc.h: New file.
4198
4199 * src/LR0.c: entered into RCS
4200
4201 1993-04-18 Noah Friedman <friedman@gnu.org>
4202
4203 * src/reader.c: New file.
4204
4205 * src/version.c: *** empty log message ***
4206
4207 1993-04-18 Noah Friedman <friedman@gnu.org>
4208
4209 * Makefile.in: *** empty log message ***
4210
4211 1993-04-17 Noah Friedman <friedman@gnu.org>
4212
4213 * Makefile.in: *** empty log message ***
4214
4215 1993-04-15 Richard Stallman <rms@gnu.org>
4216
4217 * src/main.c, src/files.c:
4218 New file.
4219
4220 1993-04-15 Noah Friedman <friedman@gnu.org>
4221
4222 * configure.in: entered into RCS
4223
4224 * configure.in: *** empty log message ***
4225
4226 * configure.in: New file.
4227
4228 1993-04-14 Richard Stallman <rms@gnu.org>
4229
4230 * Makefile.in: New file.
4231
4232 1993-04-13 Richard Stallman <rms@gnu.org>
4233
4234 * src/version.c: New file.
4235
4236 1993-03-25 Richard Stallman <rms@gnu.org>
4237
4238 * src/output.c: entered into RCS
4239
4240 1992-09-25 Richard Stallman <rms@gnu.org>
4241
4242 * configure.bat: entered into RCS
4243
4244 1992-06-22 Richard Stallman <rms@gnu.org>
4245
4246 * src/vmsgetargs.c: entered into RCS
4247
4248 1992-06-22 Richard Stallman <rms@gnu.org>
4249
4250 * doc/bison.rnh: entered into RCS
4251
4252 1992-04-20 David J. MacKenzie <djm@gnu.org>
4253
4254 * README: entered into RCS
4255
4256 1992-01-22 Richard Stallman <rms@gnu.org>
4257
4258 * src/machine.h: entered into RCS
4259
4260 1991-12-21 Richard Stallman <rms@gnu.org>
4261
4262 * src/lalr.c, src/closure.c:
4263 entered into RCS
4264
4265 1991-12-20 Richard Stallman <rms@gnu.org>
4266
4267 * src/state.h: entered into RCS
4268
4269 1991-12-18 Richard Stallman <rms@gnu.org>
4270
4271 * src/print.c, src/nullable.c, src/derives.c:
4272 entered into RCS
4273
4274 1991-11-03 David J. MacKenzie <djm@gnu.org>
4275
4276 * src/warshall.c, src/types.h, src/symtab.h, src/lex.h, src/gram.c, src/gram.h, src/files.h:
4277 entered into RCS
4278
4279 1988-09-09 Richard Stallman <rms@gnu.org>
4280
4281 * src/bison.hairy: entered into RCS
4282
4283 1987-12-16 Richard Stallman <rms@gnu.org>
4284
4285 * REFERENCES: entered into RCS