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