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