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