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