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