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