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