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