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