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