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