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