]> git.saurik.com Git - bison.git/blob - ChangeLog
* data/bison.c++ (yy::b4_name::parse): Error recovery is back.
[bison.git] / ChangeLog
1 2002-02-07 Robert Anisko <robert@lrde.epita.fr>
2
3 * data/bison.c++ (yy::b4_name::parse): Error recovery is back.
4
5 2002-02-07 Robert Anisko <robert@lrde.epita.fr>
6
7 * data/bison.c++ (yy::b4_name::error_): New method, replaces yyerror in
8 C++ parsers.
9 (yy::b4_name::parse): Build verbose error messages, and use error_.
10
11 2002-02-06 Robert Anisko <robert@lrde.epita.fr>
12
13 * data/bison.c++: Fix m4 quoting in comments.
14
15 2002-02-06 Robert Anisko <robert@lrde.epita.fr>
16
17 * data/bison.c++: Adjust the parser code. Fix some muscles that were
18 not expanded by m4.
19
20 2002-02-05 Akim Demaille <akim@epita.fr>
21
22 * data/bison.c++: Adjust to the M4 back end.
23 More is certainly needed.
24
25 2002-02-05 Akim Demaille <akim@epita.fr>
26
27 Give a try to M4 as a back end.
28
29 * lib/readpipe.c: New, from wdiff.
30 * src/Makefile.am (DEFS): Define PKGDATADIR, not BISON_SIMPLE and
31 BISON_HAIRY.
32 * src/system.h (BISON_HAIRY, BISON_SIMPLE): Remove the DOS and VMS
33 specific values. Now it is m4 that performs the lookup.
34 * src/parse-skel.y: Remove.
35 * src/muscle_tab.c, src/muscle_tab.h (muscles_m4_output): New.
36 * src/output.c (actions_output, guards_output)
37 (token_definitions_output): No longer keeps track of the output
38 line number, hence remove the second argument.
39 (guards_output): Check against the guard member of a rule, not the
40 action member.
41 Adjust callers.
42 (output_skeleton): Don't look for the skeleton location, let m4 do
43 that.
44 Create `/tmp/muscles.m4'. This is temporary, a proper temporary
45 file will be used.
46 Invoke `m4' on m4sugar.m4, muscles.m4, and the skeleton.
47 (prepare): Given that for the time being changesyntax is not
48 usable in M4, rename the muscles using `-' to `_'.
49 Define `defines_flag', `output_parser_name' and `output_header_name'.
50 * src/output.h (actions_output, guards_output)
51 (token_definitions_output): Adjust prototypes.
52 * src/scan-skel.l: Instead of scanning the skeletons, it now
53 processes the output of m4: `__oline__' and `#output'.
54 * data/bison.simple: Adjust to be used by M4(sugar).
55 * tests/Makefile.am: Use check_SCRIPTS to make sure `bison' is up
56 to date.
57 * tests/bison.in: Use the secrete envvar `BISON_PKGDATADIR'
58 instead of the dead `BISON_SIMPLE' and `BISON_HAIRY'.
59 * data/m4sugar/m4sugar.m4, data/m4sugar/version.m4: New,
60 shamelessly stolen from CVS Autoconf.
61
62 2002-02-05 Akim Demaille <akim@epita.fr>
63
64 * lib/hash.c, lib/hash.h: Replace with Fileutils 4.1's version.
65 * configure.in: Check for the declarations of free and malloc.
66 * src/muscle_tab.c: Adjust.
67
68 2002-02-05 Akim Demaille <akim@epita.fr>
69
70 * src/muscle_tab.c (muscle_init): Don't default to NULL muscle
71 which have no values.
72
73 2002-02-05 Akim Demaille <akim@epita.fr>
74
75 * src/bison.simple, src/bison.hairy, src/bison.c++: Move to...
76 * data/: here.
77
78 2002-01-29 Paul Eggert <eggert@twinsun.com>
79
80 * src/bison.simple (YYSIZE_T): Do not define merely because
81 YYSTACK_USE_ALLOCA is nonzero or alloca or _ALLOCA_H are defined.
82 On some platforms, <alloca.h> does not declare YYSTD (size_t).
83
84 2002-01-27 Akim Demaille <akim@epita.fr>
85
86 Fix `%nonassoc and eof'.
87
88 * src/state.c (errs_dup): Aaaah! The failure was due to bytes
89 which were not properly copied! Replace
90 memcpy (res->errs, src->errs, src->nerrs);
91 with
92 memcpy (res->errs, src->errs, src->nerrs * sizeof (src->errs[0]));
93 !!!
94 * tests/regression.at (%nonassoc and eof): Adjust to newest
95 Autotest: `.' is not in the PATH.
96
97 2002-01-27 Akim Demaille <akim@epita.fr>
98
99 * tests/sets.at (AT_EXTRACT_SETS): New.
100 (Nullable): Use it.
101 (Firsts): New.
102
103 2002-01-26 Akim Demaille <akim@epita.fr>
104
105 * tests/actions.at, tests/calc.at, tests/headers.at,
106 * tests/torture.at: Adjust to the newest Autotest which no longer
107 forces `.' in the PATH.
108
109 2002-01-25 Akim Demaille <akim@epita.fr>
110
111 * tests/regression.at (%nonassoc and eof): New.
112 Suggested by Robert Anisko.
113
114 2002-01-24 Akim Demaille <akim@epita.fr>
115
116 Bison dumps core when trying to complain about broken input files.
117 Reported by Cris van Pelt.
118
119 * src/lex.c (parse_percent_token): Be sure to set token_buffer.
120 * tests/regression.at (Invalid input: 1, Invalid input: 2): Merge
121 into...
122 (Invalid inputs): Strengthen: exercise parse_percent_token.
123
124 2002-01-24 Robert Anisko <robert.anisko@epita.fr>
125
126 * src/Makefile.am: Add bison.c++.
127 * src/bison.c++: New skeleton.
128
129 2002-01-21 Paolo Bonzini <bonzini@gnu.org>
130
131 * po/it.po: New.
132
133 2002-01-21 Kees Zeelenberg <kzlg@users.sourceforge.net>
134
135 * src/files.c (skeleton_find) [MSDOS]: Fix cp definition.
136
137 2002-01-20 Marc Autret <marc@gnu.org>
138
139 * src/files.c (compute_output_file_names): Fix
140
141 2002-01-20 Marc Autret <marc@gnu.org>
142
143 * tests/output.at: New test.
144 * src/files.c (compute_base_names): Don't map extensions when
145 the YACC flag is set, use defaults.
146 Reported by Evgeny Stambulchik.
147
148 2002-01-20 Marc Autret <marc@gnu.org>
149
150 * src/system.h: Need to define __attribute__ away for non-GCC
151 compilers as well (i.e. the vendor C compiler).
152 Suggested by Albert Chin-A-Young.
153
154 2002-01-11 Tim Van Holder <tim.van.holder@pandora.be>
155
156 * lib/hash.h, lib/hash.c: Renamed __P to PARAMS and used the
157 canonical definition.
158 * src/system.h: Use the canonical definition for PARAMS (avoids
159 a conflict with the macro from lib/hash.h).
160
161 2002-01-11 Akim Demaille <akim@epita.fr>
162
163 * configure.in: Use AC_FUNC_STRNLEN.
164 Fixes the failures observed on AIX 4.3 by H.Merijn Brand.
165
166 2002-01-09 Akim Demaille <akim@epita.fr>
167
168 * src/files.c, src/files.h (output_infix): New.
169 (tab_extension): Remove.
170 (compute_base_names): Compute the former, drop the latter.
171 * src/output.c (prepare): Insert the muscles `output-infix', and
172 `output-suffix'.
173 * src/parse-skel.y (string, string.1): New.
174 (section.header): Use it.
175 (section.yacc): Remove.
176 (prefix): Remove too.
177 * src/scan-skel.l: Adjust.
178 * src/bison.simple, src/bison.hairy: Adjust.
179
180 2002-01-09 Akim Demaille <akim@epita.fr>
181
182 * configure.in (WERROR_CFLAGS): Compute it.
183 * src/Makefile.am (CFLAGS): Pass it.
184 * tests/atlocal.in (CFLAGS): Idem.
185 * src/files.c: Fix a few warnings.
186 (get_extension_index): Remove, unused.
187
188 2002-01-08 Akim Demaille <akim@epita.fr>
189
190 * src/getargs.c (AS_FILE_NAME): New.
191 (getargs): Use it to convert DOSish file names.
192 * src/files.c (base_name): Rename as full_base_name to avoid
193 clashes with `base_name ()'.
194 (filename_split): New.
195 (compute_base_names): N-th rewrite, using filename_split.
196
197 2002-01-08 Akim Demaille <akim@epita.fr>
198
199 * lib/basename.c, lib/dirname.h, lib/dirname.c, lib/memrchr.c:
200 New, stolen from the Fileutils 4.1.
201 * lib/Makefile.am (libbison_a_SOURCES): Adjust.
202 * configure.in: Check for the presence of memrchr, and of its
203 prototype.
204
205 2002-01-07 Tim Van Holder <tim.van.holder@pandora.be>
206
207 * lib/hash.h (__P): Added definition for this macro.
208 * src/Makefile.am: Add parse-skel.c and scan-skel.c to
209 BUILT_SOURCES, to ensure they are generated first.
210 * src/parse-skel.y: Use YYERROR_VERBOSE instead of
211 %error-verbose to allow bootstrapping with bison 1.30x.
212
213 2002-01-06 Akim Demaille <akim@epita.fr>
214
215 * src/reader.c (parse_braces): Don't fetch the next char, the
216 convention is to fetch on entry.
217 * tests/torture.at (GNU Cim Grammar): Reintroduce their weird
218 'switch' without a following semicolon.
219 * tests/regression.at (braces parsing): New.
220
221 2002-01-06 Akim Demaille <akim@epita.fr>
222
223 Bison is dead wrong in its RR conflict reports.
224
225 * tests/torture.at (GNU Cim Grammar): New.
226 * src/conflicts.c (count_rr_conflicts): Fix.
227
228 2002-01-06 Akim Demaille <akim@epita.fr>
229
230 Creating package.m4 from configure.ac causes too many problems.
231
232 * tests/Makefile.am (package.m4): Create it by hand,
233 AC_CONFIG_TESTDIR no longer does in the most recent CVS Autoconf.
234
235 2002-01-06 Akim Demaille <akim@epita.fr>
236
237 * src/Makefile.am (bison_SOURCES): Add parse-skel.h and
238 skeleton.h.
239
240 2002-01-04 Paul Eggert <eggert@twinsun.com>
241
242 * doc/bison.texinfo (Debugging):
243 Remove YYSTDERR; it's no longer defined or used.
244 Also, s/cstdio.h/cstdio/.
245
246 2002-01-03 Akim Demaille <akim@epita.fr>
247
248 * tests/bison.in, tests/atlocal.in: Adjust to CVS Autoconf.
249
250 2002-01-03 Akim Demaille <akim@epita.fr>
251
252 * src/parse-skel.y (process_skeleton): Don't bind the parser's
253 tracing code to --trace, wait for a better --trace option, with
254 args.
255
256 2002-01-03 Akim Demaille <akim@epita.fr>
257
258 * src/bison.simple (YYSTDERR): Remove, replace `stderr'.
259 The ISO C++ standard is extremely clear about it: stderr is
260 considered a macro, not a regular symbol (see table 94 `Header
261 <cstdio> synopsis', [lib.c.files] 27.8.2 C Library files).
262 Therefore std:: does not apply to it. It still does with fprintf.
263 Also, s/cstdio.h/cstdio/.
264
265 2002-01-03 Akim Demaille <akim@epita.fr>
266
267 * lib/quotearg.c: Use `#include "..."' instead of `#include <...>'
268 for non system headers.
269
270 2002-01-02 Akim Demaille <akim@epita.fr>
271
272 Equip the skeleton chain with location tracking, runtime trace,
273 pure parser and scanner.
274
275 * src/parse-skel.y: Request a pure parser, locations, and prefix
276 renaming.
277 (%union): Having several members with the same type does not help
278 type mismatches, simplify.
279 (YYPRINT, yyprint): New.
280 (yyerror): ``Rename'' (there is a #define yyerror skel_error) as...
281 (skel_error): this.
282 Handle locations.
283 * src/scan-skel.l: Adjust to these changes.
284 * src/skeleton.h (LOCATION_RESET, LOCATION_LINES, LOCATION_STEP)
285 (LOCATION_PRINT, skel_control_t): New.
286
287 2001-12-30 Akim Demaille <akim@epita.fr>
288
289 * src/parse-skel.y: Get rid of the shift/reduce conflict:
290 replace `gb' with BLANKS.
291 * src/scan-skel.l: Adjust.
292
293 2001-12-30 Akim Demaille <akim@epita.fr>
294
295 * src/system.h: We don't need nor want bcopy.
296 Throw away MS-DOS crap: we don't need getpid.
297 * configure.in: We don't need strndup. It was even causing
298 problems: because Flex includes the headers *before* us,
299 _GNU_SOURCE is not defined by config.h, and therefore strndup was
300 not visible.
301 * lib/xstrndup.c: New.
302 * src/scan-skel.l: Use it.
303 Be sure to initialize yylval.muscle member when scanning a MUSCLE.
304 * src/parse-skel.y: Use %directives instead of #defines.
305
306 2001-12-30 Akim Demaille <akim@epita.fr>
307
308 * src/skeleton.h: New.
309 * src/output.c (output_parser, output_master_parser): Remove, dead
310 code.
311 * src/output.h (get_lines_number, actions_output, guards_output)
312 (token_definitions_output): Prototype them.
313 * src/parse-skel.y: Add the license notice.
314 Include output.h and skeleton.h.
315 (process_skeleton): Returns void, and takes a single parameter.
316 * src/scan-skel.l: Add the license notice.
317 Include skeleton.h.
318 Don't use %option yylineno: it seems that then Flex imagines
319 REJECT has been used, and therefore it won't reallocate its
320 buffers (which makes no other sense to me than a bug). It results
321 in warnings for `unused: yy_flex_realloc'.
322
323 2001-12-30 Robert Anisko <robert.anisko@epita.fr>
324
325 * src/muscle_tab.h (MUSCLE_INSERT_INT, MUSCLE_INSERT_STRING)
326 (MUSCLE_INSERT_PREFIX): ...to there.
327 * src/output.c (MUSCLE_INSERT_INT, MUSCLE_INSERT_STRING)
328 (MUSCLE_INSERT_PREFIX): Move from here...
329
330 * src/bison.hairy: Add a section directive. Put braces around muscle
331 names. This parser skeleton is still broken, but Bison should not
332 choke on a bad muscle 'syntax'.
333 * src/bison.simple: Add a section directive. Put braces around muscle
334 names.
335
336 * src/files.h (strsuffix, stringappend): Add declarations.
337 (tab_extension): Add declaration.
338 (short_base_name): Add declaration.
339
340 * src/files.c (strsuffix, stringappend): No longer static. These
341 functions are used in the skeleton parser.
342 (tab_extension): New.
343 (compute_base_names): Use the computations done in this function
344 to guess if the generated parsers should have '.tab' in their
345 names.
346 (short_base_name): No longer static.
347
348 * src/output.c (output_skeleton): New.
349 (output): Disable call to output_master_parser, and give a try to
350 a new skeleton handling system.
351 (guards_output, actions_output): No longer static.
352 (token_definitions_output, get_lines_number): No longer static.
353
354 * configure.in: Use AM_PROG_LEX and AC_PROG_YACC.
355
356 * src/Makefile.am (bison_SOURCES): Add scan-skel.l and
357 parse-skel.y.
358
359 * src/parse-skel.y: New file.
360 * src/scan-skel.l: New file.
361
362 2001-12-29 Akim Demaille <akim@epita.fr>
363
364 %name-prefix is broken.
365
366 * src/files.c (spec_name_prefix): Initialize to NULL, not to "yy".
367 Adjust all dependencies.
368 * tests/headers.at (export YYLTYPE): Strengthen this test: use
369 %name-prefix.
370
371 Renaming yylval but not yylloc is not consistent. Now we do.
372
373 * src/bison.simple: Prefix yylloc if used.
374 * doc/bison.texinfo (Decl Summary): Document that.
375
376 2001-12-29 Akim Demaille <akim@epita.fr>
377
378 * doc/bison.texinfo: Promote `%long-directive' over
379 `%long_directive'.
380 Remove all references to fixed-output-files, yacc is enough.
381
382 2001-12-29 Akim Demaille <akim@epita.fr>
383
384 * src/bison.simple: Define YYDEBUG and YYERROR_VERBOSE *after* the
385 user prologue. These are defaults.
386 * tests/actions.at (Mid-rule actions): Make sure the user can
387 define YYDEBUG and YYERROR_VERBOSE.
388
389 2001-12-29 Akim Demaille <akim@epita.fr>
390
391 * src/output.c (header_output): Don't forget to export YYLTYPE and
392 yylloc.
393 * tests/headers.at (export YYLTYPE): New, make sure it does.
394 * tests/regression.at (%union and --defines, Invalid CPP headers):
395 Move to...
396 * tests/headers.at: here.
397
398 2001-12-29 Akim Demaille <akim@epita.fr>
399
400 * src/gram.h (rule_s): Member `assoc' is of type `associativity'.
401
402 2001-12-29 Akim Demaille <akim@epita.fr>
403
404 * tests/actions.at (Mid-rule actions): Output on a single line
405 instead of several.
406
407 2001-12-29 Akim Demaille <akim@epita.fr>
408
409 * doc/bison.texinfo: Formatting changes.
410
411 2001-12-29 Akim Demaille <akim@epita.fr>
412
413 Don't store the token defs in a muscle, just be ready to output it
414 on command. Now possible via `symbols'. Fixes a memory leak.
415
416 * src/output.c (token_definitions_output): New.
417 (output_parser, header_output): Use it.
418 * src/reader.c (symbols_save): Remove.
419
420 2001-12-29 Akim Demaille <akim@epita.fr>
421
422 * src/bison.simple: Do not provide a default for YYSTYPE and
423 YYLTYPE before the user's prologue. Otherwise it's hardly... a
424 default.
425
426 2001-12-29 Akim Demaille <akim@epita.fr>
427
428 Mid-rule actions are simply... ignored!
429
430 * src/reader.c (readgram): Be sure to attach mid-rule actions to
431 the empty-rule associated to the dummy symbol, not to the host
432 rule.
433 * tests/actions.at (Mid-rule actions): New.
434
435 2001-12-29 Akim Demaille <akim@epita.fr>
436
437 Memory leak.
438
439 * src/reader.c (reader): Free grammar.
440
441 2001-12-29 Akim Demaille <akim@epita.fr>
442
443 Memory leak.
444
445 * src/LR0.c (new_itemsets): Don't allocate `shift_symbol' here,
446 since it allocates it for each state, although only one is needed.
447 (allocate_storage): Do it here.
448
449 2001-12-29 Akim Demaille <akim@epita.fr>
450
451 * src/options.h, src/options.c (create_long_option_table): Rename
452 as...
453 (long_option_table_new): this, with a clearer prototype.
454 (percent_table): Remove, unused,
455 * src/getargs.c (getargs): Adjust.
456
457 2001-12-29 Akim Demaille <akim@epita.fr>
458
459 * src/LR0.c, src/conflicts.c, src/lalr.c, src/lalr.h, src/output.c
460 * src/print.c, src/print_graph.c, src/state.h: Rename state_table
461 as states.
462
463 2001-12-29 Akim Demaille <akim@epita.fr>
464
465 * src/lalr.c (build_relations): Rename `states' as `states1'.
466 Sorry, I don't understand exactly what it is, no better name...
467
468 2001-12-29 Akim Demaille <akim@epita.fr>
469
470 * src/closure.c, src/conflicts.c, src/derives.c, src/gram.c
471 * src/gram.h, src/lalr.c, src/nullable.c, src/output.c, src/print.c
472 * src/print_graph.c, src/reader.c, src/reduce.c: Rename rule_table
473 as rules.
474
475 2001-12-29 Akim Demaille <akim@epita.fr>
476
477 * src/gram.c (rprec, rprecsym, rassoc): Remove, unused since long
478 ago.
479
480 2001-12-29 Akim Demaille <akim@epita.fr>
481
482 * src/reader.c, src/reader.h (user_toknums): Remove.
483 Adjust all users to use symbols[i]->user_token_number.
484
485 2001-12-29 Akim Demaille <akim@epita.fr>
486
487 * src/gram.c, src/gram.h (sprec, sassoc): Remove.
488 Adjust all users to use symbols[i]->prec or ->assoc.
489
490 2001-12-29 Akim Demaille <akim@epita.fr>
491
492 * src/reader.c, src/reader.h (tags): Remove.
493 Adjust all users to use symbols[i]->tag.
494
495 2001-12-29 Akim Demaille <akim@epita.fr>
496
497 * src/gram.h, src/gram.c (symbols): New, similar to state_table
498 and rule_table.
499 * src/reader.c (packsymbols): Fill this table.
500 Drop sprec.
501 * src/conflicts.c (resolve_sr_conflict): Adjust.
502 * src/reduce.c (reduce_grammar): Adjust: just sort symbols, a
503 single table.
504 Use symbols[i]->tag instead of tags[i].
505
506 2001-12-29 Akim Demaille <akim@epita.fr>
507
508 * tests/calc.at (_AT_DATA_CALC_Y): Also use %union.
509 In addition, put a comment in there, to replace...
510 * tests/regression.at (%union and C comments): Remove.
511
512 2001-12-29 Akim Demaille <akim@epita.fr>
513
514 * tests/regression.at (Web2c Actions): Blindly move the actual
515 output as expected output. The contents *seem* right to me, but I
516 can't pretend reading perfectly parser tables... Nonetheless, all
517 the other tests pass correctly, the table look OK, even though the
518 presence of `$axiom' is to be noted: AFAICS it is useless (but
519 harmless).
520
521 2001-12-29 Akim Demaille <akim@epita.fr>
522
523 * src/reader.c (readgram): Don't add the rule 0 if there were no
524 rules read. In other words, add it _after_ having performed
525 grammar sanity checks.
526 Fixes the `tests/regression.at (Invalid input: 1)' Failure.
527
528 2001-12-29 Akim Demaille <akim@epita.fr>
529
530 * tests/regression.at (Web2c Report): Catch up: the rule 0 is now
531 visible, and some states have now a different number.
532
533 2001-12-29 Akim Demaille <akim@epita.fr>
534
535 * src/reader.c (readgram): Bind the initial rule's lineno to that
536 of the first rule.
537 * tests/regression.at (Rule Line Numbers, Unresolved SR Conflicts):
538 (Solved SR Conflicts): Adjust rule 0's line number.
539
540 2001-12-29 Akim Demaille <akim@epita.fr>
541
542 Fix the `GAWK Grammar' failure.
543
544 * src/LR0.c (final_state): Initialize to -1 so that we do compute
545 the reductions of the first state which was mistakenly confused
546 with the final state because precisely final_state was initialized
547 to 0.
548 * tests/sets.at (Nullable): Adjust: state 0 does have lookaheads,
549 now noticed by Bison.
550 * tests/regression.at (Rule Line Numbers): Adjust: state 0 does
551 have a reduction on $default.
552
553 2001-12-29 Akim Demaille <akim@epita.fr>
554
555 * src/gram.c (ritem_print): Be sure to subtract 1 when displaying
556 rule line numbers.
557 * src/closure.c (print_closure): Likewise.
558 * src/derives.c (print_derives): Likewise.
559 * tests/sets.at (Nullable): Adjust: the rule numbers are correct
560 now.
561
562 2001-12-29 Akim Demaille <akim@epita.fr>
563
564 * src/lalr.c (lookaheads_print): New.
565 (lalr): Call it when --trace-flag.
566 * tests/sets.at (Nullable): Adjust: when tracing, the lookaheads
567 are dumped.
568
569 2001-12-29 Akim Demaille <akim@epita.fr>
570
571 * src/derives.c (print_derives): Be sure to use `>= 0', not `> 0',
572 when walking through ritem, even via rule->rhs.
573 * src/reduce.c (dump_grammar, useful_production, reduce_output)
574 (useful_production, useless_nonterminals): Likewise.
575 (reduce_grammar_tables): Likewise, plus update nritems.
576 * src/nullable.c (set_nullable): Likewise.
577 * src/lalr.c (build_relations): Likewise.
578 * tests/sets.at (Nullable): Adjust.
579 Fortunately, now, the $axiom is no longer nullable.
580
581 2001-12-29 Akim Demaille <akim@epita.fr>
582
583 * src/LR0.c (generate_states): Use nritems, not nitems, nor using
584 the 0-sentinel.
585 * src/gram.c (ritem_longest_rhs): Likewise.
586 * src/reduce.c (nonterminals_reduce): Likewise.
587 * src/print_graph.c (print_graph): Likewise.
588 * src/output.c (output_rule_data): Likewise.
589 * src/nullable.c (set_nullable): Likewise.
590
591 2001-12-29 Akim Demaille <akim@epita.fr>
592
593 * src/output.c: Comment changes.
594
595 2001-12-27 Paul Eggert <eggert@twinsun.com>
596
597 * src/bison.simple (YYSTACK_ALLOC, YYSIZE_T): Remove special
598 cases for non-GNU systems like AIX, HP-UX, SGI, Sun, and
599 Sparc, as they were causing more porting problems than the
600 (minor) performance improvement was worth.
601
602 Also, catch up with 1.31's YYSTD.
603
604 2001-12-27 Akim Demaille <akim@epita.fr>
605
606 * src/output.c (output_gram): Rely on nritems, not the
607 0-sentinel. See below.
608 Use -1 as separator, not 0.
609 * src/bison.simple (yyparse): Subtract 1 to the rule numbers.
610 Rely on -1 as separator in yyrhs, instead of 0.
611 * tests/calc.at (AT_CHECK_CALC): Now, the parsers no longer issue
612 twice `Now at end of input', therefore there are two lines less to
613 expect.
614
615 2001-12-27 Akim Demaille <akim@epita.fr>
616
617 * tests/regression.at (Unresolved SR Conflicts):
618 (Solved SR Conflicts, Rule Line Numbers): Adjust to the changes
619 below.
620
621 2001-12-27 Akim Demaille <akim@epita.fr>
622
623 * src/LR0.c (new_state): Recognize the final state by the fact it
624 is reached by eoftoken.
625 (insert_start_shifting_state, insert_eof_shifting_state)
626 (insert_accepting_state, augment_automaton): Remove, since now
627 these states are automatically computed from the initial state.
628 (generate_states): Adjust.
629 * src/print.c: When reporting a rule number to the user, substract
630 1, so that the axiom rule is rule 0, and the first user rule is 1.
631 * src/reduce.c: Likewise.
632 * src/print_graph.c (print_core): For the time being, just as for
633 the report, depend upon --trace-flags to dump the full set of
634 items.
635 * src/reader.c (readgram): Once the grammar read, insert the rule
636 0: `$axiom: START-SYMBOL $'.
637 * tests/set.at: Adjust: rule 0 is now displayed, and since the
638 number of the states has changed (the final state is no longer
639 necessarily the last), catch up.
640
641 2001-12-27 Akim Demaille <akim@epita.fr>
642
643 Try to make the use of the eoftoken valid. Given that its value
644 is 0 which was also used as a sentinel in ritem, (i) make sure >= 0
645 is used instead of > 0 where appropriate, (ii), depend upon nritems
646 instead of the 0-sentinel.
647
648 * src/gram.h, src/gram.c (nritems): New.
649 Expected to be duplication of nitems, but for the time being...
650 * src/reader.c (packgram): Assert nritems and nitems are equal.
651 * src/LR0.c (allocate_itemsets, new_itemsets): Adjust.
652 * src/closure.c (print_closure, print_fderives): Likewise.
653 * src/gram.c (ritem_print): Likewise.
654 * src/print.c (print_core, print_grammar): Likewise.
655 * src/print_graph.c: Likewise.
656
657 2001-12-27 Akim Demaille <akim@epita.fr>
658
659 * src/main.c (main): If there are complains after grammar
660 reductions, then output the report anyway if requested, then die.
661 * src/symtab.c (bucket_new): Initialize `value' to -1, not 0.
662 * src/reader.c (eoftoken): New.
663 (parse_token_decl): If the token being defined has value `0', it
664 is the eoftoken.
665 (packsymbols): No longer hack `tags' to insert `$' by hand.
666 Be sure to preserve the value of the eoftoken.
667 (reader): Make sure eoftoken is defined.
668 Initialize nsyms to 0: now eoftoken is created just like the others.
669 * src/print.c (print_grammar): Don't special case the eof token.
670 * src/regression.at: Adjust: `$' has value 0, not -1, which was a
671 lie anyway, albeit pleasant.
672 * tests/calc.at: Exercise error messages with eoftoken.
673 Change the grammar so that empty input is invalid.
674 Adjust expectations.
675 When yyungeting, be sure to use a valid yylloc: use last_yylloc.
676
677 2001-12-27 Akim Demaille <akim@epita.fr>
678
679 * configure.in: Check the protos of strchr ans strspn.
680 Replace strchr if needed.
681 * src/system.h: Provide the protos of strchr, strspn and memchr if
682 missing.
683 * lib/strchr.c: New.
684 * src/reader.c (symbols_save): Use strchr.
685
686 2001-12-27 Akim Demaille <akim@epita.fr>
687
688 * src/print.c, src/print_graph.c (escape): New.
689 Use it to quote the TAGS outputs.
690 * src/print_graph.c (print_state): Now errors are in red, and
691 reductions in green.
692 Prefer high to wide: output the state number on a line of its own.
693
694 2001-12-27 Akim Demaille <akim@epita.fr>
695
696 * src/state.h, src/state.c (reductions_new): New.
697 * src/LR0.c (set_state_table): Let all the states have a
698 `reductions', even if reduced to 0.
699 (save_reductions): Adjust.
700 * src/lalr.c (initialize_LA, initialize_lookaheads): Adjust.
701 * src/print.c (print_reductions, print_actions): Adjust.
702 * src/output.c (action_row): Adjust.
703
704 2001-12-27 Akim Demaille <akim@epita.fr>
705
706 * src/state.h, src/state.c (errs_new, errs_dup): New.
707 * src/LR0.c (set_state_table): Let all the states have an errs,
708 even if reduced to 0.
709 * src/print.c (print_errs, print_reductions): Adjust.
710 * src/output.c (output_actions, action_row): Adjust.
711 * src/conflicts.c (resolve_sr_conflict): Adjust.
712
713 2001-12-27 Akim Demaille <akim@epita.fr>
714
715 * src/lalr.c (set_goto_map, initialize_F): Use SHIFT_SYMBOL.
716
717 2001-12-27 Akim Demaille <akim@epita.fr>
718
719 * src/conflicts.c, src/conflicts.h (print_reductions): Move to...
720 * src/print.c: here.
721 (lookaheadset, shiftset): New, used as additional storage by
722 print_reductions.
723 (print_results): Adjust.
724 (print_shifts, print_gotos, print_errs): New, extracted from...
725 (print_actions): here.
726 * src/print_graph.c (print_actions): Remove dead code.
727
728 2001-12-27 Akim Demaille <akim@epita.fr>
729
730 * src/reader.c (copy_dollar, copy_at): Better checking of `n' in
731 `$n' and `@n'.
732
733 2001-12-27 Akim Demaille <akim@epita.fr>
734
735 * src/lalr.c (add_lookback_edge): Use state_t instead of ints.
736 (build_relations): Adjust.
737
738 2001-12-27 Akim Demaille <akim@epita.fr>
739
740 * src/lalr.c (set_goto_map): Remove a wrong but benign loop
741 duplication.
742
743 2001-12-27 Akim Demaille <akim@epita.fr>
744
745 * src/reader.c (packgram): Catch nitems overflows.
746
747 2001-12-27 Akim Demaille <akim@epita.fr>
748
749 * src/files.c, src/files.h (guard_obstack): Remove.
750 * src/output.c (output): Adjust.
751 * src/reader.c (parse_braces): New, factoring...
752 (copy_action, copy_guard): these two which are renamed as...
753 (parse_action, parse_guard): these.
754 As a voluntary consequence, using braces around guards is now
755 mandatory.
756
757 2001-12-27 Akim Demaille <akim@epita.fr>
758
759 * src/gram.h (rule_t): `guard' and `guard_line' are new members.
760 * src/reader.c (symbol_list): `guard' and `guard_line' are new
761 members.
762 (symbol_list_new): Adjust.
763 (copy_action): action_line is the first line, not the last.
764 (copy_guard): Just as for actions, store the `action' only, not
765 the switch/case/break flesh.
766 Don't parse the user action that might follow the guard, let...
767 (readgram): do it, i.e., now, there can be an action after a
768 guard.
769 In other words the guard is just explicitly optional.
770 (packgram): Adjust.
771 * src/output.c (guards_output): New.
772 (output_parser): Call it when needed.
773 (output): Also free the guard and attrs obstacks.
774 * src/files.c, src/files.h (obstack_save): Remove.
775 (output_files): Remove.
776 As a result, if one needs the former `.act' file, using an
777 appropriate skeleton which requires actions and guards is now
778 required.
779 * src/main.c (main): Adjust.
780 * tests/semantic.at: New.
781 * tests/regression.at: Use `input.y' as input file name.
782 Avoid 8+3 problems by requiring input.c when the test needs the
783 parser.
784
785 2001-12-27 Akim Demaille <akim@epita.fr>
786
787 * src/reader.c (symbol_list_new): Be sure to initialize all the
788 fields.
789
790 2001-12-27 Akim Demaille <akim@epita.fr>
791
792 All the hacks using a final pseudo state are now useless.
793
794 * src/LR0.c (set_state_table): state_table holds exactly nstates.
795 * src/lalr.c (nLA): New.
796 (initialize_LA, compute_lookaheads, initialize_lookaheads): Use it
797 instead of lookaheadsp from the pseudo state (nstate + 1).
798
799 2001-12-27 Akim Demaille <akim@epita.fr>
800
801 * src/output.c (action_row, token_actions): Use a state_t instead
802 of a integer, and nlookaheads instead of the following state's
803 lookaheadsp.
804
805 2001-12-27 Akim Demaille <akim@epita.fr>
806
807 * src/conflicts.c (log_resolution, flush_shift)
808 (resolve_sr_conflict, set_conflicts, solve_conflicts)
809 (count_sr_conflicts, count_rr_conflicts, conflicts_output)
810 (conflicts_print, print_reductions): Use a state_t instead of an
811 integer when referring to a state.
812 As much as possible, depend upon nlookaheads, instead of the
813 `lookaheadsp' member of the following state (since lookaheads of
814 successive states are successive, the difference between state n + 1
815 and n served as the number of lookaheads for state n).
816 * src/lalr.c (add_lookback_edge): Likewise.
817 * src/print.c (print_core, print_actions, print_state)
818 (print_results): Likewise.
819 * src/print_graph.c (print_core, print_actions, print_state)
820 (print_graph): Likewise.
821 * src/conflicts.h: Adjust.
822
823 2001-12-27 Akim Demaille <akim@epita.fr>
824
825 * src/bison.hairy: Formatting/comment changes.
826 ANSIfy.
827 Remove `register' indications.
828 Add plenty of `static'.
829
830 2001-12-27 Akim Demaille <akim@epita.fr>
831
832 * src/output.c (prepare): Drop the muscle `ntbase' which
833 duplicates ntokens.
834 * src/bison.simple: Formatting/comment changes.
835 Use YYNTOKENS only, which is documented, but not YYNTBASE, which
836 is an undocumented synonym.
837
838 2001-12-22 Akim Demaille <akim@epita.fr>
839
840 * src/output.c (output_table_data): Change the prototype to use
841 `int' for array ranges: some invocations do pass an int, not a
842 short.
843 Reported by Wayne Green.
844
845 2001-12-22 Akim Demaille <akim@epita.fr>
846
847 Some actions of web2c.y are improperly triggered.
848 Reported by Mike Castle.
849
850 * src/lalr.c (traverse): s/F (i)[k] = F (j)[k]/F (j)[k] = F (i)[k]/.
851 * tests/regression.at (Web2c): Rename as...
852 (Web2c Report): this.
853 (Web2c Actions): New.
854
855 2001-12-22 Akim Demaille <akim@epita.fr>
856
857 Reductions in web2c.y are improperly reported.
858 Reported by Mike Castle.
859
860 * src/conflicts.c (print_reductions): Fix.
861 * tests/regression.at (Web2c): New.
862
863 2001-12-18 Akim Demaille <akim@epita.fr>
864
865 Some host fail on `assert (!"foo")', which expands to
866 ((!"foo") ? (void)0 : __assert("!"foo."", __FILE__, __LINE__))
867 Reported by Nelson Beebee.
868
869 * src/output.c, src/vcg.c: Replace `assert (!"it succeeded")' with
870 `#define it_succeeded 0' and `assert (it_succeeded)'.
871
872 2001-12-17 Marc Autret <autret_m@epita.fr>
873
874 * src/bison.simple: Don't hard code the skeleton line and filename.
875 * src/output.c (output_parser): Rename 'line' as 'output_line'.
876 New line counter 'skeleton_line' (skeleton-line muscle).
877
878 2001-12-17 Paul Eggert <eggert@twinsun.com>
879
880 * NEWS, doc/bison.texinfo, doc/bison.1, doc/bison.rnh: Document that
881 YYDEBUG must be defined to a nonzero value.
882
883 * src/bison.simple (yytname): Do not assume that the user defines
884 YYDEBUG to a properly parenthesized expression.
885
886 2001-12-17 Akim Demaille <akim@epita.fr>
887
888 * src/state.h (state_t): Rename lookaheads as lookaheadsp.
889 nlookaheads is a new member.
890 Adjust all users.
891 * src/lalr.h (nlookaheads): Remove this orphan declaration.
892 * src/lalr.c (initialize_lookaheads): Set nlookaheads for each
893 state.
894
895 2001-12-17 Akim Demaille <akim@epita.fr>
896
897 * src/files.h, src/files.c (open_files, close_files): Remove.
898 * src/main.c (main): Don't open/close files, nor invoke lex_free,
899 let...
900 * src/reader.c (reader): Do it.
901
902 2001-12-17 Akim Demaille <akim@epita.fr>
903
904 * src/conflicts.c (print_reductions): Formatting changes.
905
906 2001-12-17 Akim Demaille <akim@epita.fr>
907
908 * src/conflicts.c (flush_shift): Also adjust lookaheadset.
909 (flush_reduce): New.
910 (resolve_sr_conflict): Adjust.
911
912 2001-12-17 Akim Demaille <akim@epita.fr>
913
914 * src/output.c (output_obstack): Be static and rename as...
915 (format_obstack): this, to avoid any confusion with files.c's
916 output_obstack.
917 * src/reader.h (muscle_obstack): Move to...
918 * src/output.h: here, since it's defined in output.c.
919
920 2001-12-17 Akim Demaille <akim@epita.fr>
921
922 * src/output.c (action_row, save_column, default_goto)
923 (sort_actions, matching_state, pack_vector): Better variable
924 locality.
925
926 2001-12-17 Akim Demaille <akim@epita.fr>
927
928 * src/output.c: Various formatting changes.
929
930 2001-12-17 Akim Demaille <akim@epita.fr>
931
932 * src/files.c (output_files): Free the output_obstack.
933 * src/main.c (main): Call print and print_graph conditionally.
934 * src/print.c (print): Work unconditionally.
935 * src/print_graph.c (print_graph): Work unconditionally.
936 * src/conflicts.c (log_resolution): Output only if verbose_flag.
937
938 2001-12-16 Marc Autret <autret_m@epita.fr>
939
940 * src/output.c (actions_output): Fix. When we use %no-lines,
941 there is one less line per action.
942
943 2001-12-16 Marc Autret <autret_m@epita.fr>
944
945 * src/bison.simple: Remove a useless #line directive.
946 s/#line %%line %%skeleton/#line %%line "%%parser-file-name"/'.
947 * src/output.c (get_lines_number): New.
948 (output_parser): Adjust, now takes care about the lines of a
949 output muscles.
950 Fix line numbering.
951 (actions_output): Computes the number of lines taken by actions.
952 (output_master_parser): Insert new skeleton which is the name of
953 the output parser file name.
954
955 2001-12-15 Marc Autret <autret_m@epita.fr>
956
957 * src/bison.simple [YYERROR_VERBOSE]: Restore backward compatibility.
958
959 2001-12-15 Marc Autret <autret_m@epita.fr>
960
961 * src/output.c (output_gram): Keep track of the hairy one.
962
963 2001-12-15 Akim Demaille <akim@epita.fr>
964
965 Make `make distcheck' work.
966
967 * lib/Makefile.am (INCLUDES): Add top_srcdir/intl, since hash uses
968 system.h which uses libgettext.h.
969
970 2001-12-15 Akim Demaille <akim@epita.fr>
971
972 * src/nullable.c (set_nullable): Useless rules must be skipped,
973 otherwise, since we range over their symbols, we might look at a
974 nonterminal which no longer ``exists'', i.e., it is not counted in
975 `nvars', hence we overflow our arrays.
976
977 2001-12-15 Akim Demaille <akim@epita.fr>
978
979 The header can also be produced directly, without any obstack!
980 Yahoo!
981
982 * src/files.c, src/files.h (defines_obstack): Remove.
983 (compute_header_macro): Global.
984 (defines_obstack_save): Remove.
985 * src/reader.c (parse_union_decl): No longer output to
986 defines_obstack: its content can be found in the `stype' muscle
987 anyway.
988 (output_token_translations): Merge into...
989 (symbols_output): this.
990 Rename as...
991 (symbols_save): this.
992 (reader): Adjust.
993 * src/output.c (header_output): New.
994 (output): Call it.
995
996 2001-12-15 Akim Demaille <akim@epita.fr>
997
998 * src/reader.c (parse_union_decl): Instead of handling two obstack
999 simultaneously, use one to define the `stype' muscle, and use the
1000 value of the latter to fill defines_obstack.
1001 (copy_comment): Remove.
1002 (copy_comment2): Work for a single obstack.
1003 Rename as...
1004 (copy_comment): this.
1005
1006 2001-12-15 Akim Demaille <akim@epita.fr>
1007
1008 * src/lex.c, src/lex.h (xgetc): No longer static.
1009 * src/reader.c (parse_union_decl): Revamp.
1010
1011 2001-12-15 Akim Demaille <akim@epita.fr>
1012
1013 Still making progress in separating Bison into (i) input, (ii)
1014 process, (iii) output: now we can directly output the parser file
1015 without using table_obstack at all.
1016
1017 * src/files.c, src/files.h (table_obstack): Bye bye.
1018 (parser_file_name): New.
1019 * src/files.c (compute_output_file_names): Compute it.
1020 * src/output.c (actions_output, output_parser)
1021 (output_master_parser): To a file instead of an obstack.
1022
1023 2001-12-15 Akim Demaille <akim@epita.fr>
1024
1025 Attach actions to rules, instead of pre-outputting them to
1026 actions_obstack.
1027
1028 * src/gram.h (rule_t): action and action_line are new members.
1029 * src/reader.c (symbol_list): Likewise.
1030 (copy_action): Save the actions within the rule.
1031 (packgram): Save them in rule_table.
1032 * src/output.c (actions_output): New.
1033 (output_parser): Use it on `%%actions'.
1034 (output_rule_data): Don't free rule_table.
1035 (output): Do it.
1036 (prepare): Don't save the `action' muscle.
1037 * src/bison.simple: s/%%action/%%actions/.
1038
1039 2001-12-15 Akim Demaille <akim@epita.fr>
1040
1041 * src/reader.c (copy_action): When --yacc, don't append a `;'
1042 to the user action: let it fail if lacking.
1043 Suggested by Arnold Robbins and Tom Tromey.
1044
1045 2001-12-14 Akim Demaille <akim@epita.fr>
1046
1047 * src/lex.c (literalchar): Simply return the char you decoded, non
1048 longer mess around with obstacks and int pointers.
1049 Adjust all callers.
1050
1051 2001-12-14 Akim Demaille <akim@epita.fr>
1052
1053 * src/lex.c (literalchar): Don't escape the special characters,
1054 just decode them, and keep them as char (before, eol was output as
1055 the 2 char string `\n' etc.).
1056 * src/output.c (output_rule_data): Use quotearg to output the
1057 token strings.
1058
1059 2001-12-13 Paul Eggert <eggert@twinsun.com>
1060
1061 * src/bison.simple (YYSIZE_T, YYSTACK_ALLOC, YYSTACK_FREE):
1062 Do not infringe on the global user namespace when using C++.
1063 (YYFPRINTF, YYSTDERR): New macros, needed for the above.
1064 All uses of `fprintf' and `stderr' changed.
1065
1066 * doc/bison.texinfo: Document YYFPRINTF, YYSTDERR.
1067
1068 2001-12-13 Akim Demaille <akim@epita.fr>
1069
1070 The computation of nullable is broken: it doesn't handle empty
1071 RHS's properly.
1072
1073 * tests/torture.at (GNU AWK Grammar): New.
1074 * tests/sets.at (Nullable): New.
1075 * src/nullable.c (set_nullable): Instead of blindly looping over
1076 `ritems', loop over the rules, and then over their rhs's.
1077
1078 Work around Autotest bugs.
1079
1080 * src/warshall.c (bitmatrix_print): Don't use `+--+' as table
1081 frame, because Autotest understand lines starting with a `+' as
1082 traces from the shell. Then, they are not processed properly.
1083 Admittedly an Autotest bug, but we don't have time to wait for
1084 Autotest to catch up.
1085 * tests/regression.at (Broken Closure): Adjust to the new table
1086 frames.
1087 Move to...
1088 * tests/sets.at: here.
1089
1090 2001-12-13 Akim Demaille <akim@epita.fr>
1091
1092 * src/closure.c (closure): Use nrules instead of playing tricks
1093 with BITS_PER_WORD.
1094
1095 2001-12-13 Akim Demaille <akim@epita.fr>
1096
1097 * src/print.c (print_actions): Output the handling of `$' as the
1098 traces do: shifting the token EOF. Before EOF was treated as a
1099 nonterminal.
1100 * tests/regression.at: Adjust some tests.
1101 * src/print_graph.c (print_core): Complete the set of items via
1102 closure. The next-to-final and final states are still unsatisfying,
1103 but that's to be addressed elsewhere.
1104 No longer output the rule numbers, but do output the state number.
1105 A single loop for the shifts + gotos is enough, but picked a
1106 distinct color for each.
1107 (print_graph): Initialize and finalize closure.
1108
1109 2001-12-13 Akim Demaille <akim@epita.fr>
1110
1111 * src/reader.c (readgram): Remove dead code, an strip useless
1112 braces.
1113 (get_type): Remove, unused.
1114
1115 2001-12-12 Akim Demaille <akim@epita.fr>
1116
1117 * src/complain.h, src/complain.c: Remove error_one_per_line, rely
1118 on that of lib/error.c.
1119
1120 2001-12-12 Akim Demaille <akim@epita.fr>
1121
1122 Some hosts don't like `/' in includes.
1123
1124 * src/system.h: Include libgettext.h without qualifying the path.
1125 * src/Makefile.am (INCLUDES): Add $(top_srcdir)/intl, remove
1126 $(top_srcdir).
1127
1128 2001-12-11 Marc Autret <autret_m@epita.fr>
1129
1130 * src/output.c (output_parser): Remove useless muscle.
1131
1132 2001-12-11 Marc Autret <autret_m@epita.fr>
1133
1134 * src/bison.simple: Remove #line just before %%epilogue. It
1135 is now handled in ...
1136 * src/reader.c (read_additionnal_code): Add the output of a
1137 #line for the epilogue.
1138
1139 2001-12-10 Marc Autret <autret_m@epita.fr>
1140
1141 * src/reader.c (copy_definition): Re-use CPP-outed code which
1142 replace precedent remove.
1143 * src/bison.simple: Remove #line before %%prologue because
1144 %%input-line is wrong at this time.
1145
1146 2001-12-10 Marc Autret <autret_m@epita.fr>
1147
1148 * src/reader.c (symbols_output): Clean up.
1149 * src/output.c (output_gram, output): Clean up.
1150
1151 2001-12-10 Akim Demaille <akim@epita.fr>
1152
1153 * src/lalr.c (initialize_lookaheads): New. Extracted from...
1154 * src/LR0.c (set_state_table): here.
1155 * src/lalr.c (lalr): Call it.
1156
1157 2001-12-10 Akim Demaille <akim@epita.fr>
1158
1159 * src/state.h (shifts): Remove the `number' member: shifts are
1160 attached to state, hence no longer need to be labelled with a
1161 state number.
1162
1163 2001-12-10 Akim Demaille <akim@epita.fr>
1164
1165 Now that states have a complete set of members, the linked list of
1166 shifts is useless: just fill directly the state's shifts member.
1167
1168 * src/state.h (shifts): Remove the `next' member.
1169 * src/LR0.c (first_state, last_state): Remove.
1170 Adjust the callers.
1171 (augment_automaton): Don't look for the shifts that must be added
1172 a shift on EOF: it is those of the state we looked for! But now,
1173 since shifts are attached, it is no longer needed to looking
1174 merely by its id: its number.
1175
1176 2001-12-10 Akim Demaille <akim@epita.fr>
1177
1178 * src/LR0.c (augment_automaton): Better variable locality.
1179 Remove an impossible branch: if there is a state corresponding to
1180 the start symbol being shifted, then there is shift for the start
1181 symbol from the initial state.
1182
1183 2001-12-10 Akim Demaille <akim@epita.fr>
1184
1185 * src/LR0.c (augment_automaton): Call `insert_eof_shifting_state'
1186 only when appropriate: when insert_start_shifting_state' is not
1187 invoked.
1188 * tests/regression.at (Rule Line Numbers): Adjust.
1189
1190 2001-12-10 Akim Demaille <akim@epita.fr>
1191
1192 * src/LR0.c (augment_automaton): Now that all states have shifts,
1193 merge the two cases addition shifts to the initial state.
1194
1195 2001-12-10 Akim Demaille <akim@epita.fr>
1196
1197 * src/lalr.c (set_state_table): Move to...
1198 * src/LR0.c: here.
1199 * src/lalr.c (lalr): Don't call it...
1200 * src/LR0.c (generate_states): do it.
1201 * src/LR0.h (first_state): Remove, only the table is used.
1202
1203 2001-12-10 Akim Demaille <akim@epita.fr>
1204
1205 * src/LR0.h (first_shift, first_reduction): Remove.
1206 * src/lalr.c: Don't use first_shift: find shifts through the
1207 states.
1208
1209 2001-12-10 Akim Demaille <akim@epita.fr>
1210
1211 * src/LR0.c: Attach shifts to states as soon as they are
1212 computed.
1213 * src/lalr.c (set_state_table): Instead of assigning shifts to
1214 state, just assert that the mapping was properly done.
1215
1216 2001-12-10 Akim Demaille <akim@epita.fr>
1217
1218 * src/LR0.c (insert_start_shift): Rename as...
1219 (insert_start_shifting_state): this.
1220 (insert_eof_shifting_state, insert_accepting_state): New.
1221 (augment_automaton): Adjust.
1222 Better locality of the variables.
1223 When looking if the start_symbol is shifted from the initial
1224 state, using `while (... symbol != start_symbol ...)' sounds
1225 better than `while (... symbol < start_symbol ...)': If fail
1226 to see how the order between symbols could be relevant!
1227
1228 2001-12-10 Akim Demaille <akim@epita.fr>
1229
1230 * src/getargs.h: Don't declare `spec_name_prefix' and
1231 `spec_file_prefix', declared by src/files.h.
1232 * src/files.c, src/files.h: Default for spec_name_prefix is "yy".
1233 * src/muscle_tab.c (muscle_init): Default prefix to NULL.
1234 * src/output.c (prepare): Adjust.
1235 * src/reader.c (symbols_output): Likewise.
1236 * src/vmsgetargs.c: Vaguely adjust, but who cares?
1237
1238 2001-12-10 Akim Demaille <akim@epita.fr>
1239
1240 * src/muscle_tab.c (muscle_init): NULL is a better default than
1241 `"0"'.
1242
1243 2001-12-10 Akim Demaille <akim@epita.fr>
1244
1245 * src/reader.c (reader): Calling symbols_output once is enough.
1246
1247 2001-12-10 Akim Demaille <akim@epita.fr>
1248
1249 Now that states have a complete set of members, the linked list of
1250 reductions is useless: just fill directly the state's reductions
1251 member.
1252
1253 * src/state.h (struct reductions): Remove member `number' and
1254 `next'.
1255 * src/LR0.c (first_reduction, last_reduction): Remove.
1256 (save_reductions): Don't link the new reductions, store them in
1257 this_state.
1258 * src/lalr.c (set_state_table): No need to attach reductions to
1259 states, it's already done.
1260 * src/output.c (output_actions): No longer free the shifts, then
1261 the reductions, then the states: free all the states and their
1262 members.
1263
1264 2001-12-10 Akim Demaille <akim@epita.fr>
1265
1266 * src/options.c (OPTN, DRTV, BOTH): New.
1267 (option_table): Use them.
1268
1269 * src/muscle_tab.c: Don't include xalloc.h and string.h: that's
1270 the job of system.h.
1271 * src/options.c: Don't include stdio.h and xalloc.h for the same
1272 reasons.
1273
1274 2001-12-10 Akim Demaille <akim@epita.fr>
1275
1276 * src/output.c (output, prepare): Make sure the values of the
1277 muscles `action' and `prologue' are 0-terminated.
1278
1279 2001-12-10 Akim Demaille <akim@epita.fr>
1280
1281 Clean up GCC warnings.
1282
1283 * src/reader.c (copy_action): `buf' is not used.
1284 (parse_skel_decl): Be static.
1285 * src/muscle_tab.c (mhash1, mhash2, muscle_insert): Preserve `const'.
1286 * src/options.h (create_long_option_table): Have a real prototype.
1287 * lib/hash.c, lib/hash.h (hash_insert, hash_insert_at, hash_delete)
1288 (hash_delete_at): Return const void *.
1289 Adjust casts to preserve the const.
1290
1291 2001-12-10 Akim Demaille <akim@epita.fr>
1292
1293 * configure.in: Require 2.52g.
1294 M4 is not needed, but AUTOM4TE is.
1295 * m4/m4.m4: Remove.
1296 * tests/Makefile.am: Adjust.
1297
1298 2001-12-10 Akim Demaille <akim@epita.fr>
1299
1300 One structure for states is enough, even though theoretically
1301 there are LR(0) states and LALR(1) states.
1302
1303 * src/lalr.h (state_t): Remove.
1304 (state_table): Be state_t **, not state_t *.
1305 * src/state.h (core, CORE_ALLOC): Rename as...
1306 (state_t, STATE_ALLOC): this.
1307 Add the LALR(1) members: shifts, reductions, errs.
1308 * src/LR0.c (state_table): Rename as...
1309 (state_hash): this, to avoid name clashes with the global
1310 `state_table'.
1311 * src/print_graph.c, src/LR0.c, src/LR0.h, src/conflicts.c
1312 * src/lalr.c, src/lalr.h, src/output.c, src/print.c: Adjust.
1313
1314 2001-12-10 Akim Demaille <akim@epita.fr>
1315
1316 Bison dumps core on bash.y.
1317 Reported by Pascal Bart.
1318
1319 * src/warshall.c (bitmatrix_print): New.
1320 (TC): Use it.
1321 When performing a transitive closure R(i, j) && R(j, k) => R(i, k),
1322 j must be the outer loop.
1323 * tests/regression.at (Broken Closure): New.
1324
1325 2001-12-05 Akim Demaille <akim@epita.fr>
1326
1327 * tests/atlocal.in (CPPFLAGS): Do not leave a space between -I and
1328 its argument.
1329 Reported by Peter Hámorský.
1330
1331 2001-12-05 Akim Demaille <akim@epita.fr>
1332
1333 * src/conflicts.c (err_table): Remove.
1334 (resolve_sr_conflict): Adjust.
1335 * src/lalr.h (state_t.reduction_table, state_t.shift_table):
1336 Rename as...
1337 (state_t.reductions, state_t.shifts): this.
1338
1339 2001-12-05 Akim Demaille <akim@epita.fr>
1340
1341 * src/reduce.c (reduce_grammar_tables): No longer disable the
1342 removal of useless rules via CPP but via `if (0)', so that the
1343 compiler still check the code is valid.
1344 For instance, it should have noticed `rline' no longer exists: use
1345 the `line' member of rule_t.
1346 * src/gram.c (dummy, rline): Remove, unused.
1347
1348 2001-12-05 Akim Demaille <akim@epita.fr>
1349
1350 * src/output.c (pack_vector): Use assert, not berror.
1351 * src/main.c (berror): Remove, unused.
1352
1353 2001-12-05 Akim Demaille <akim@epita.fr>
1354
1355 New experimental feature: if --verbose --trace output all the
1356 items of a state, not only its kernel.
1357
1358 * src/print.c (print_core): If `trace_flag', then invoke closure
1359 before outputting the items of the state (print_core is no longer
1360 a correct name them).
1361 (print_results): Invoke new_closure/free_closure if needed.
1362
1363 2001-12-05 Akim Demaille <akim@epita.fr>
1364
1365 * src/LR0.c (new_itemsets): Use nshifts only, not shiftcount.
1366 * src/closure.c, src/closure.h (itemsetsize): Rename as...
1367 (nitemset): for consistency with the rest of the project.
1368
1369 2001-12-05 Akim Demaille <akim@epita.fr>
1370
1371 * src/closure.c (print_closure): Improve.
1372 (closure): Use it for printing input and output.
1373
1374 2001-12-05 Akim Demaille <akim@epita.fr>
1375
1376 * src/closure.c (FIRSTS, FDERIVES): Adjust to reality: they are
1377 indexed by nonterminals.
1378
1379 2001-12-05 Akim Demaille <akim@epita.fr>
1380
1381 * src/warshall.c (TC, RTC): De-obsfucate (source reduced to 22% of
1382 what it was!).
1383 * src/warshall.h: Remove accidental duplication of the content.
1384
1385 2001-12-05 Akim Demaille <akim@epita.fr>
1386
1387 * src/closure.c (set_fderives): De-obfuscate.
1388
1389 2001-12-05 Akim Demaille <akim@epita.fr>
1390
1391 * src/closure.c (print_firsts, print_fderives): De-obfuscate.
1392
1393 2001-12-05 Akim Demaille <akim@epita.fr>
1394
1395 * src/closure.c (set_firsts): De-obfuscate.
1396
1397 2001-12-05 Akim Demaille <akim@epita.fr>
1398
1399 * src/output.c (action_row): De-obfuscate
1400 using the good o' techniques: arrays not pointers, variable
1401 locality, BITISSET, RESETBIT etc.
1402
1403 2001-12-05 Akim Demaille <akim@epita.fr>
1404
1405 Pessimize the code to simplify it: from now on, all the states
1406 have a valid SHIFTS, which NSHIFTS is possibly 0.
1407
1408 * src/LR0.c (shifts_new): Be global and move to..
1409 * src/state.c, src/state.h: here.
1410 * src/conflicts, src/lalr.c, src/output.c, src/print.c,
1411 * src/print_graph: Adjust.
1412
1413 2001-12-05 Akim Demaille <akim@epita.fr>
1414
1415 * src/state.h (SHIFT_DISABLE, SHIFT_IS_DISABLED): New.
1416 * src/conflicts.c: Use it.
1417 Restore a few missing `if (!SHIFT_IS_DISABLED)' which were
1418 incorrectly ``simplified''.
1419
1420 2001-12-05 Akim Demaille <akim@epita.fr>
1421
1422 * src/conflicts.c (flush_shift, resolve_sr_conflict): De-obfuscate
1423 using the good o' techniques: arrays not pointers, variable
1424 locality, BITISSET, RESETBIT etc.
1425
1426 2001-12-05 Akim Demaille <akim@epita.fr>
1427
1428 * src/state.h (SHIFT_SYMBOL): New.
1429 * src/conflicts.c: Use it to deobfuscate.
1430
1431 2001-12-05 Akim Demaille <akim@epita.fr>
1432
1433 * src/conflicts.c (count_sr_conflicts, count_rr_conflicts)
1434 (print_reductions): De-obfuscate using the good o' techniques:
1435 arrays not pointers, variable locality, BITISSET.
1436
1437 2001-12-05 Akim Demaille <akim@epita.fr>
1438
1439 * src/conflicts.c (print_reductions): Arrays, not pointers.
1440 Use BITISSET.
1441
1442 2001-12-05 Akim Demaille <akim@epita.fr>
1443
1444 * src/conflicts.c (print_reductions): Pessimize, but clarify.
1445
1446 2001-12-05 Akim Demaille <akim@epita.fr>
1447
1448 * src/conflicts.c (print_reductions): Improve variable locality.
1449
1450 2001-12-05 Akim Demaille <akim@epita.fr>
1451
1452 * src/conflicts.c (print_reductions): Pessimize, but clarify.
1453
1454 2001-12-05 Akim Demaille <akim@epita.fr>
1455
1456 * src/conflicts.c (print_reductions): Improve variable locality.
1457
1458 2001-12-05 Akim Demaille <akim@epita.fr>
1459
1460 * src/state.h (SHIFT_IS_ERROR, SHIFT_IS_GOTO, SHIFT_IS_SHIFT): New.
1461 * src/lalr.c: Use them.
1462
1463 2001-12-05 Akim Demaille <akim@epita.fr>
1464
1465 * src/LR0.c (augment_automaton): Formatting changes.
1466 Better variable locality.
1467
1468 2001-12-05 Akim Demaille <akim@epita.fr>
1469
1470 * src/lalr.c (matrix_print): New.
1471 (transpose): Use it.
1472 Use arrays instead of pointers.
1473
1474 2001-12-05 Akim Demaille <akim@epita.fr>
1475
1476 * src/lalr.c (maxrhs): Move to...
1477 * src/gram.c, src/gram.h (ritem_longest_rhs): here.
1478 * src/lalr.c (build_relations): Adjust.
1479
1480 2001-12-05 Akim Demaille <akim@epita.fr>
1481
1482 * src/lalr.c (transpose): Free the memory allocated to the
1483 argument, as it is replaced by the results by the unique caller.
1484 (build_relations): Merely invoke transpose: it handles the memory
1485 deallocation.
1486 Improve variable locality.
1487 Avoid variables used as mere abbreviations.
1488 (compute_lookaheads): Use arrays instead of pointers.
1489
1490 2001-12-05 Akim Demaille <akim@epita.fr>
1491
1492 * src/lalr.c (initialize_F): Improve variable locality.
1493 Avoid variables used as mere abbreviations.
1494
1495 2001-12-05 Akim Demaille <akim@epita.fr>
1496
1497 * src/derives.c (print_derives): Display the ruleno.
1498 * src/lalr.c (initialize_F, transpose): Better variable locality
1499 to improve readability.
1500 Avoid variables used as mere abbreviations.
1501
1502 2001-12-05 Akim Demaille <akim@epita.fr>
1503
1504 * src/lalr.c (traverse): Use arrays instead of pointers.
1505
1506 2001-12-05 Akim Demaille <akim@epita.fr>
1507
1508 * src/nullable.c (set_nullable): Use a for loop to de-obfuscate
1509 the handling of squeue.
1510 `symbol >= 0' is wrong now, use `rule_table[ruleno].useful'.
1511
1512 2001-12-05 Akim Demaille <akim@epita.fr>
1513
1514 Because useless nonterminals are now kept alive (instead of being
1515 `destroyed'), we now sometimes examine them, and store information
1516 related to them. Hence we need to know their number, and adjust
1517 memory allocations.
1518
1519 * src/reduce.c, src/reduce.h (nuseless_nonterminals): No longer
1520 static.
1521 * src/LR0.c (allocate_itemsets): The memory allocated to
1522 `symbol_count' was used for two different purpose: once to count
1523 the number of occurrences of each symbol, and later reassigned to
1524 `shift_symbol', containing the symbol that can be shifted from a
1525 given state.
1526 Deobfuscate, i.e., allocate, use and free `symbol_count' here
1527 only, and...
1528 (new_itemsets): Allocate `shift_symbol' here.
1529 (allocate_itemsets): symbol_count includes useless nonterminals.
1530 Make room for them.
1531 (free_storage): Use `free', not `XFREE', for pointers that cannot
1532 be null.
1533
1534 2001-12-05 Akim Demaille <akim@epita.fr>
1535
1536 * src/nullable.c (set_nullable): Deobfuscate the handling of
1537 ritem.
1538 `symbol >= 0' is wrong now, use `rule_table[ruleno].useful'.
1539
1540 2001-12-05 Akim Demaille <akim@epita.fr>
1541
1542 * src/gram.c, src/gram.h (ritem_print): New.
1543 * src/gram.c (dummy): Remove, now there is actual code in gram.c.
1544 (This useless function was defined only to work around VMS linkers
1545 that can't handle compilation units with variables only).
1546 * src/reduce.c (dump_grammar): Use it to trace the construction of
1547 ritem.
1548
1549 2001-12-04 Paul Eggert <eggert@twinsun.com>
1550
1551 * src/bison.simple (union yyalloc): Change member names
1552 to be the same as the stack names.
1553 (yyparse): yyptr is now union yyalloc *, not char *.
1554 (YYSTACK_RELOCATE): Likewise. This avoids a GCC warning,
1555 and may generate better code on some machines.
1556 (yystpcpy): Use prototype if __STDC__ is defined, not just
1557 if __cplusplus is defined.
1558
1559 2001-11-30 Akim Demaille <akim@epita.fr>
1560
1561 * configure.in (WARNING_CFLAGS): Add -Werror when possible.
1562 (CFLAGS): Do not include the WARNING_CFLAGS here, since GNU
1563 Gettext doesn't compile cleanly, and dies with -Werror.
1564 * src/Makefile.am, lib/Makefile.am, tests/atlocal.in (CFLAGS):
1565 Include WARNING_CFLAGS here.
1566 * lib/xstrdup.c: Include xalloc.h, so that xstrdup be declared
1567 before being defined.
1568
1569 2001-11-27 Paul Eggert <eggert@twinsun.com>
1570
1571 * lib/quotearg.h (quotearg_n, quotearg_n_style):
1572 First arg is int, not unsigned.
1573 * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
1574 (SIZE_MAX, UINT_MAX): New macros.
1575 (quotearg_n_options): Abort if N is negative.
1576 Avoid overflow check on hosts where size_t is 64 bits and int
1577 is 32 bits, as overflow is impossible there.
1578 Fix off-by-one typo that caused unnecessary reallocation.
1579
1580 2001-11-29 Paul Eggert <eggert@twinsun.com>
1581
1582 Name space cleanup in generated parser.
1583
1584 * doc/bison.texinfo (Bison Parser): Discuss system headers
1585 and their effect on the user name space.
1586
1587 * src/bison.simple:
1588 (YYSTACK_ALLOC, YYSTACK_FREE, union yyalloc, YYSTACK_GAP_MAX,
1589 YYSTACK_BYTES, YYSTACK_RELOCATE): Do not define unless necessary,
1590 i.e. unless ! defined (yyoverflow) || defined (YYERROR_VERBOSE).
1591
1592 (YYSIZE_T): New macro. Use it instead of size_t, to avoid infringing
1593 on user names when possible.
1594
1595 (YYSTACK_USE_ALLOCA): Do not define; just use any existing defn.
1596 Simplify test for whather <alloca.h> exists.
1597
1598 (<stdlib.h>): Include if we will use malloc, and if standard C or C++.
1599
1600 (<stdio.h>): Include if YYDEBUG.
1601
1602 (yymemcpy): Renamed from __yy_memcpy. Do not define unless
1603 ! defined (yyoverflow) && ! defined (yymemcpy).
1604
1605 (yymemcpy, yyparse): Rename local variables as needed so that
1606 they all begin with 'yy'.
1607
1608 (yystrlen, yystpcpy): New functions.
1609
1610 (YY_DECL_NON_LSP_VARIABLES): Renamed from _YY_DECL_VARIABLES.
1611 All uses changed.
1612
1613 (yyparse): size_t -> YYSIZE_T. Use yystrlen and yystpcpy
1614 instead of relying on string.h functions. Use YYSTACK_ALLOC
1615 and YYSTACK_FREE instead of malloc and free.
1616
1617 2001-11-30 Akim Demaille <akim@epita.fr>
1618
1619 * src/bison.simple (YYSTYPE, YYLTYPE): Move their definitions
1620 before their first uses.
1621 (YYBISON, YYPURE): Move to the top of the output.
1622
1623 2001-11-30 Akim Demaille <akim@epita.fr>
1624
1625 * tests/reduce.at (Useless Nonterminals): Fix.
1626
1627 2001-11-30 Akim Demaille <akim@epita.fr>
1628
1629 * src/bison.simple (YYSTACK_FREE): Use `do {;} while (0)' as empty
1630 if body instead of `;' to pacify GCC's warnings.
1631
1632 2001-11-30 Akim Demaille <akim@epita.fr>
1633
1634 Instead of mapping the LHS of unused rules to -1, keep the LHS
1635 valid, but flag the rules as invalid.
1636
1637 * src/gram.h (rule_t): `useful' is a new member.
1638 * src/print.c (print_grammar): Adjust.
1639 * src/derives.c (set_derives): Likewise.
1640 * src/reader.c (packgram, reduce_output): Likewise.
1641 * src/reduce.c (reduce_grammar_tables): Likewise.
1642 * tests/reduce.at (Underivable Rules, Useless Rules): New.
1643
1644 2001-11-30 Akim Demaille <akim@epita.fr>
1645
1646 * src/reduce.c (reduce_output): Formatting changes.
1647 * src/print.c (print_results, print_grammar): Likewise.
1648 * tests/regression.at (Rule Line Numbers)
1649 (Solved SR Conflicts, Unresolved SR Conflicts): Adjust.
1650
1651 2001-11-30 Akim Demaille <akim@epita.fr>
1652
1653 * src/reduce.c (nonterminals_reduce): Instead of throwing away
1654 useless nonterminals, move them at the end of the symbol arrays.
1655 (reduce_output): Adjust.
1656 * tests/reduce.at (Useless Nonterminals): Adjust.
1657
1658 2001-11-30 Akim Demaille <akim@epita.fr>
1659
1660 * src/reduce.c: Various comment/formatting changes.
1661 (nonterminals_reduce): New, extracted from...
1662 (reduce_grammar_tables): here.
1663 (reduce_grammar): Call nonterminals_reduce.
1664
1665 2001-11-29 Paul Eggert <eggert@twinsun.com>
1666
1667 * src/bison.simple (YYSTACK_REALLOC): Remove.
1668 (YYSTACK_ALLOC): Resurrect this macro, with its old meaning.
1669 (YYSTACK_FREE, YYSTACK_GAP_MAX, YYSTACK_BYTES, YYSTACK_RELOCATE):
1670 New macros.
1671 (union yyalloc): New type.
1672 (__yy_memcpy): Last arg is size_t, not unsigned int, to remove
1673 an arbitrary restriction on hosts where size_t is wider than int.
1674
1675 (yyparse): Don't dump core if alloca or malloc fails; instead, report
1676 a parser stack overflow. Allocate just one block of memory for all
1677 three stacks, instead of allocating three blocks; this typically is
1678 faster and reduces fragmentation.
1679
1680 Do not limit the number of items in the stack to a value that fits
1681 in 'int', as this is an arbitrary limit on hosts with 64-bit
1682 size_t and 32-bit int.
1683
1684 2001-11-29 Marc Autret <autret_m@epita.fr>
1685
1686 * tests/calc.at [AT_DATA_CALC_Y]: Use %error-verbose instead
1687 of defining YYERROR_VERBOSE.
1688 [AT_DATA]: $4 is now out of C declarations in the prologue.
1689
1690 2001-11-28 Marc Autret <autret_m@epita.fr>
1691
1692 * src/reader.c (parse_dquoted_param): New.
1693 (parse_skel_decl): Use it.
1694 * src/lex.h: Add its prototype.
1695 * src/lex.c (literalchar): Become not static.
1696
1697 2001-11-28 Marc Autret <autret_m@epita.fr>
1698
1699 * src/output.h: And put its extern declaration here.
1700 * src/output.c (error_verbose): Define here.
1701 (prepare): Echo name modification.
1702 * src/getargs.h: Clean its extern declaration.
1703 * src/getargs.c (error_verbose_flag): Remove.
1704 (getargs): Remove case 'e'.
1705 * src/options.c (option_table): 'error-verbose' is now seen as simple
1706 percent option.
1707 Include output.h.
1708
1709 * src/reader.c (read_declarations): Remove case tok_include.
1710 (parse_include_decl): Remove.
1711 * src/lex.h (token_t): Remove tok_include.
1712 * src/options.c (option_table): 'include' is now a simple command line
1713 option.
1714
1715 2001-11-28 Marc Autret <autret_m@epita.fr>
1716
1717 * src/bison.simple: Adjust muscle names.
1718 * src/muscle_tab.c (muscle_init): Also rename the muscles.
1719 * src/output.c (prepare): s/_/-/ for the muscles names.
1720 (output_parser): When scanning for a muscle, allow '-' instead of '_'.
1721
1722 2001-11-28 Marc Autret <autret_m@epita.fr>
1723
1724 * src/bison.simple: Fix debug.
1725 [YYERROR_VERBOSE]: Re-integrate as an internal macro.
1726
1727 2001-11-28 Akim Demaille <akim@epita.fr>
1728
1729 * src/LR0.c (shifts_new): New.
1730 (save_shifts, insert_start_shift, augment_automaton): Use it.
1731
1732 2001-11-28 Akim Demaille <akim@epita.fr>
1733
1734 * src/closure.c (closure): `b' and `ruleno' denote the same value:
1735 keep ruleno only.
1736
1737 2001-11-28 Akim Demaille <akim@epita.fr>
1738
1739 * src/closure.c (closure): Instead of looping over word in array
1740 then bits in words, loop over bits in array.
1741
1742 2001-11-28 Akim Demaille <akim@epita.fr>
1743
1744 * src/closure.c (closure): No longer optimize the special case
1745 where all the bits of `ruleset[r]' are set to 0, to make the code
1746 clearer.
1747
1748 2001-11-28 Akim Demaille <akim@epita.fr>
1749
1750 * src/closure.c (closure): `r' and `c' are new variables, used to
1751 de-obfuscate accesses to RULESET and CORE.
1752
1753 2001-11-28 Akim Demaille <akim@epita.fr>
1754
1755 * src/reduce.c (reduce_print): Use ngettext.
1756 (dump_grammar): Improve the trace accuracy.
1757
1758 2001-11-28 Akim Demaille <akim@epita.fr>
1759
1760 * src/reduce.c (dump_grammar): Don't translate trace messages.
1761
1762 2001-11-28 Akim Demaille <akim@epita.fr>
1763
1764 * tests/reduce.at (Useless Terminals, Useless Nonterminals): New.
1765 * src/reduce.c (reduce_grammar_tables): Do not free useless tags,
1766 as all tags are free'ed afterwards.
1767 From Enrico Scholz.
1768
1769 2001-11-27 Paul Eggert <eggert@twinsun.com>
1770
1771 * src/bison.simple (YYSTACK_REALLOC): Fix typo that caused us to
1772 use alloca when we didn't want to, and vice versa.
1773
1774 2001-11-27 Marc Autret <autret_m@epita.fr>
1775
1776 * src/muscle_tab.c (muscle_init): Remove 'verbose' muscle
1777 initialization.
1778 * src/output.c (prepare): Remove its update.
1779
1780 2001-11-27 Marc Autret <autret_m@epita.fr>
1781
1782 * tests/torture.at [AT_DATA]: Remove YYERROR_VERBOSE definition.
1783 Use %error-verbose.
1784
1785 2001-11-27 Marc Autret <autret_m@epita.fr>
1786
1787 * src/bison.simple: Remove YYERROR_VERBOSE using.
1788 Use %%error_verbose.
1789 (yyparse): Likewise.
1790 * src/output.c (prepare): Give its final value.
1791 * src/muscle_tab.c (muscle_init): Init new muscle 'error_verbose'.
1792 * src/getargs.h: Add its extern declaration.
1793 * src/getargs.c (error_verbose_flag): New int.
1794 (getargs): Update to catch new case.
1795 * src/options.c (option_table): 'error-verbose' is a new option.
1796 (shortopts): Update.
1797
1798 2001-11-27 Akim Demaille <akim@epita.fr>
1799
1800 * src/system.h: Use intl/libgettext.h.
1801 * src/Makefile.am (INCLUDES): Add -I $(top_srcdir).
1802
1803 2001-11-27 Akim Demaille <akim@epita.fr>
1804
1805 * tests/torture.at (Exploding the Stack Size with Malloc):
1806 s/YYSTACK_USE_ALLOCA_ALLOCA/YYSTACK_USE_ALLOCA/.
1807
1808 2001-11-27 Akim Demaille <akim@epita.fr>
1809
1810 * src/files.c: Include error.h.
1811 Reported by Hans Aberg.
1812
1813 2001-11-26 Marc Autret <autret_m@epita.fr>
1814
1815 * src/reader.c (parse_include_decl): New, not yet implemented.
1816 (read_declarations): Add case tok_include.
1817 * src/getargs.h (include): Add its extern definition.
1818 * src/getargs.c (include): New const char *.
1819 (getargs): Add case '-I'.
1820 * src/options.c (option_table): Add include as command line and
1821 percent option.
1822 * src/lex.h (token_t): Add tok_include.
1823
1824 2001-11-26 Akim Demaille <akim@epita.fr>
1825
1826 * src/reader.c (readgram): Make sure rules for mid-rule actions
1827 have a lineno equal to that of their host rule.
1828 Reported by Hans Aberg.
1829 * tests/regression.at (Rule Line Numbers): New.
1830
1831 2001-11-26 Akim Demaille <akim@epita.fr>
1832
1833 * src/LR0.c (allocate_itemsets): kernel_size contains ints, not
1834 size_ts.
1835
1836 2001-11-26 Akim Demaille <akim@epita.fr>
1837
1838 * src/complain.c, src/complain.h (error): Remove, provided by
1839 lib/error.[ch].
1840
1841 2001-11-26 Akim Demaille <akim@epita.fr>
1842
1843 * src/reader.c (read_declarations): Don't abort on tok_illegal,
1844 issue an error message.
1845 * tests/regression.at (Invalid %directive): New.
1846 Reported by Hans Aberg.
1847
1848 2001-11-26 Akim Demaille <akim@epita.fr>
1849
1850 * configure.in: Invoke AC_FUNC_OBSTACK and AC_FUNC_ERROR_AT_LINE.
1851 * lib/Makefile.am (libbison_a_SOURCES): Adjust.
1852
1853 2001-11-26 Akim Demaille <akim@epita.fr>
1854
1855 * src/conflicts.c (conflicts_print): Don't complain at all when
1856 there are no reduce/reduce conflicts, and as many shift/reduce
1857 conflicts as expected.
1858 * tests/regression.at (%expect right): Adjust.
1859
1860 2001-11-23 Akim Demaille <akim@epita.fr>
1861
1862 * lib/alloca.c: Update, from fileutils.
1863
1864 2001-11-23 Akim Demaille <akim@epita.fr>
1865
1866 * lib/Makefile.am (libbison_a_LIBADD): Add @ALLOCA@.
1867
1868 2001-11-23 Akim Demaille <akim@epita.fr>
1869
1870 * src/system.h: Include alloca.h.
1871 * src/main.c (main) [C_ALLOCA]: Call alloca (0).
1872
1873 2001-11-23 Akim Demaille <akim@epita.fr>
1874
1875 * src/print_graph.c (print_actions): Remove `rule', unused.
1876 * src/LR0.c (kernel_size): Contain `int' instead of `size_t' to
1877 pacify GCC's signed < unsigned warnings.
1878 * src/closure.c (itemsetsize): Likewise.
1879 * src/reader.c (symbol_list_new): Static.
1880
1881 2001-11-23 Akim Demaille <akim@epita.fr>
1882
1883 Attaching lineno to buckets is stupid, since only one copy of each
1884 symbol is kept, only the line of the first occurrence is kept too.
1885
1886 * src/symtab.h, src/symtab.c (bucket): Remove the line member.
1887 * src/reader.c (rline_allocated): Remove, unused.
1888 (symbol_list): Have a `line' member.
1889 (symbol_list_new): New.
1890 (readgram): Use it.
1891 * src/print.c (print_grammar): Output the rule line numbers.
1892 * tests/regression.at (Solved SR Conflicts)
1893 (Unresolved SR Conflicts): Adjust.
1894 Reported by Hans Aberg.
1895
1896 2001-11-22 Marc Autret <autret_m@epita.fr>
1897
1898 * src/bison.simple [YYERROR_VERBOSE]: Force its value to be 1 or 0.
1899
1900 2001-11-22 Marc Autret <autret_m@epita.fr>
1901
1902 * src/muscle_tab.c (muscle_init): Remove initialization of
1903 skeleton muscle.
1904 * src/output.c (output_master_parser): Do it here.
1905
1906 2001-11-20 Akim Demaille <akim@epita.fr>
1907
1908 * po/sv.po: New.
1909 * configure.in (ALL_LINGUAS): Adjust.
1910 * po/POTFILE.in: Remove `nullable.c' and `derives.c' which no
1911 longer contains strings to translate.
1912
1913 2001-11-19 Akim Demaille <akim@epita.fr>
1914
1915 * src/conflicts.c (conflicts_print): Add a missing \n.
1916
1917 2001-11-19 Akim Demaille <akim@epita.fr>
1918
1919 * src/nullable.c (nullable_print): New.
1920 (set_nullable): Call it when tracing.
1921 Better locality of variables.
1922
1923 2001-11-19 Akim Demaille <akim@epita.fr>
1924
1925 * src/print.c (print_actions): Better locality of variables.
1926
1927 2001-11-19 Akim Demaille <akim@epita.fr>
1928
1929 * src/derives.c (print_derives): Fix and enrich.
1930 * src/closure.c (print_fderives): Likewise.
1931
1932 2001-11-19 Akim Demaille <akim@epita.fr>
1933
1934 * src/closure.c (itemsetend): Remove, replaced with...
1935 (itemsetsize): new.
1936
1937 2001-11-19 Akim Demaille <akim@epita.fr>
1938
1939 * src/LR0.c (kernel_end): Remove, replaced with...
1940 (kernel_size): new.
1941
1942 2001-11-19 Akim Demaille <akim@epita.fr>
1943
1944 * src/conflicts.c (set_conflicts): Use arrays instead of pointers
1945 to clarify.
1946
1947 2001-11-19 Akim Demaille <akim@epita.fr>
1948
1949 * src/closure.c (closure): Use arrays instead of pointers to clarify.
1950
1951 2001-11-19 Akim Demaille <akim@epita.fr>
1952
1953 * src/closure.c, src/derives.c, src/nullable.c: Adjust various
1954 trace messages.
1955 * src/LR0.c: Likewise.
1956 (allocate_itemsets): Use arrays instead of pointers to clarify.
1957
1958 2001-11-19 Akim Demaille <akim@epita.fr>
1959
1960 * src/getargs.c (statistics_flag): Replace with...
1961 (trace_flag): New.
1962 (longopts): Accept --trace instead of --statistics.
1963 * src/getargs.h, src/options.c: Adjust.
1964 * src/LR0.c, src/closure.c, src/derives.c, src/nullable.c,
1965 * src/reduce.c: Use trace_flags instead of the CPP conditional TRACE.
1966
1967 2001-11-19 Akim Demaille <akim@epita.fr>
1968
1969 * src/LR0.c (new_itemsets, get_state): Use more arrays and fewer
1970 pointers to clarify the code.
1971 (save_reductions, save_shifts): Factor common parts of alternatives.
1972
1973 2001-11-19 Akim Demaille <akim@epita.fr>
1974
1975 * src/LR0.c (new_state, get_state): Complete TRACE code.
1976 * src/closure.c: Include `reader.h' to get `tags', needed by the
1977 trace code.
1978 Rename the conditional DEBUG as TRACE.
1979 Output consistently TRACEs to stderr, not stdout.
1980 * src/derives.c: Likewise.
1981 * src/reduce.c: (inaccessable_symbols): Using if is better style
1982 than goto.
1983 Use `#if TRACE' instead of `#if 0' for tracing code.
1984
1985 2001-11-19 Akim Demaille <akim@epita.fr>
1986
1987 * src/system.h (LIST_FREE, shortcpy): New.
1988 * src/LR0.c: Use them.
1989 * src/output.c (free_itemsets, free_reductions, free_shifts):
1990 Remove, replaced by LIST_FREE.
1991
1992 2001-11-19 Akim Demaille <akim@epita.fr>
1993
1994 * src/state.h (CORE_ALLOC, SHIFTS_ALLOC, ERRS_ALLOC)
1995 (REDUCTIONS_ALLOC): New.
1996 * src/LR0.c, src/conflicts.c: Use them to de-obfuscate memory
1997 allocation.
1998
1999 2001-11-19 Akim Demaille <akim@epita.fr>
2000
2001 * src/LR0.c (new_state): Complete trace code.
2002 * src/nullable.c (set_nullable): Don't translate traces.
2003
2004 2001-11-19 Akim Demaille <akim@epita.fr>
2005
2006 * src/print_graph.c (print_core): Better locality of variables.
2007 * src/print.c (print_core): Likewise.
2008
2009 2001-11-19 Akim Demaille <akim@epita.fr>
2010
2011 * src/vcg.c: You do the output, so you are responsible of the
2012 handling of VCG syntax, in particular: use quotearg.
2013 * src/print_graph.c: Don't.
2014 (print_actions): Don't output the actions as part of the nodes,
2015 since that's the job of the edges.
2016 (print_state): Don't output by hand: fill the node description,
2017 and ask for its output.
2018
2019 2001-11-19 Akim Demaille <akim@epita.fr>
2020
2021 * src/bison.simple (yyparse): When verbosely reporting an error,
2022 no longer put additional quotes around token names.
2023 * tests/calc.at: Adjust.
2024
2025 2001-11-19 Akim Demaille <akim@epita.fr>
2026
2027 * src/symtab.h, src/symtab.c: `line' is a new member of `bucket'.
2028 * src/reader.c (record_rule_lines, rline, rline_allocated): Remove.
2029 * src/output.c: Adjust.
2030
2031 2001-11-19 Akim Demaille <akim@epita.fr>
2032
2033 * src/gram.h (rprec, rprecsym, rassoc): Remove, now part of...
2034 (rule_t): this.
2035 * src/conflicts.c, src/reader.c, src/reduce.c: Adjust.
2036
2037 2001-11-19 Akim Demaille <akim@epita.fr>
2038
2039 * src/gram.h (rule_t): New.
2040 (rule_table): New.
2041 (rrhs, rlhs): Remove, part of state_t.
2042 * src/print_graph.c, src/closure.c, src/conflicts.c, src/derives.c,
2043 * src/lalr.c, src/nullable.c, src/output.c, src/print.c,
2044 * src/reader.c, src/reduce.c: Adjust.
2045
2046 2001-11-19 Akim Demaille <akim@epita.fr>
2047
2048 * src/reader.c (symbols_output): New, extracted from...
2049 (packsymbols): Here.
2050 (reader): Call it.
2051
2052 2001-11-19 Akim Demaille <akim@epita.fr>
2053
2054 * src/lalr.c (set_maxrhs, maxrhs): Remove, replaced with...
2055 (maxrhs): this new function.
2056
2057 2001-11-19 Akim Demaille <akim@epita.fr>
2058
2059 * src/lalr.c (F): New macro to access the variable F.
2060 Adjust.
2061
2062 2001-11-19 Akim Demaille <akim@epita.fr>
2063
2064 * src/lalr.h (LA): New macro to access the variable LA.
2065 * src/output.c, src/lalr.c, src/print_graph.c, src/conflicts.c:
2066 * src/lalr.c: Adjust.
2067
2068 2001-11-19 Akim Demaille <akim@epita.fr>
2069
2070 * src/lalr.c (initialize_LA): Only initialize LA. Let...
2071 (set_state_table): handle the `lookaheads' members.
2072
2073 2001-11-19 Akim Demaille <akim@epita.fr>
2074
2075 * src/lalr.h (lookaheads): Removed array, whose contents is now
2076 a member of...
2077 (state_t): this structure.
2078 * src/output.c, src/lalr.c, src/print_graph.c, src/conflicts.c:
2079 Adjust.
2080
2081 2001-11-19 Akim Demaille <akim@epita.fr>
2082
2083 * src/lalr.h (consistent): Removed array, whose contents is now
2084 a member of...
2085 (state_t): this structure.
2086 * src/output.c, src/lalr.c, src/print_graph.c, src/conflicts.c:
2087 Adjust.
2088
2089 2001-11-19 Akim Demaille <akim@epita.fr>
2090
2091 * src/lalr.h (reduction_table, shift_table): Removed arrays, whose
2092 contents are now members of...
2093 (state_t): this structure.
2094 * src/output.c, src/lalr.c, src/print_graph.c, src/conflicts.c:
2095 Adjust.
2096
2097 2001-11-19 Akim Demaille <akim@epita.fr>
2098
2099 * src/lalr.h (state_t): New.
2100 (state_table): Be a state_t * instead of a core **.
2101 (accessing_symbol): Remove, part of state_t.
2102 * src/lalr.c: Adjust.
2103 (set_accessing_symbol): Merge into...
2104 (set_state_table): this.
2105 * src/print_graph.c, src/conflicts.c: Adjust.
2106
2107 2001-11-14 Akim Demaille <akim@epita.fr>
2108
2109 * tests/calc.at, tests/output.at, tests/regression.at,
2110 * tests/testsuite.at, tests/torture.at: Rely on Autotest 2.52g:
2111 now the tests are run in private dirs, therefore AC_CLEANUP and
2112 family can be simplified to 0-ary.
2113 * tests/atlocal.in: Now that we run `elsewhere' than in tests/,
2114 use abs. path to find config.h.
2115 * tests/calc.at (AT_CHECK_CALC): Don't try to check the compiler's
2116 stderr, there can be way too much random noise.
2117 Instead pass -Werror to GCC and rely on the exit status.
2118 Reported by Wolfram Wagner.
2119
2120 2001-11-14 Akim Demaille <akim@epita.fr>
2121
2122 * src/bison.simple (yyparse): Let yyls1, yyss1 and yyvs1 be
2123 defined only if yyoverflow is defined, to avoid `warning: unused
2124 variable `yyvs1''.
2125 Reported by The Test Suite.
2126
2127 2001-11-14 Akim Demaille <akim@epita.fr>
2128
2129 * src/print.c: Include reduce.h.
2130 Reported by Hans Aberg.
2131
2132 2001-11-14 Akim Demaille <akim@epita.fr>
2133
2134 * src/lex.c, src/lex.h (token_buffer, unlexed_token_buffer):
2135 Revert a previous patch: these are really const.
2136 * src/conflicts.c (conflict_report): Additional useless pair of
2137 braces to pacify GCC's warnings for `if () if () {} else {}'.
2138 * src/lex.c (parse_percent_token): Replace equal_offset with
2139 arg_offset.
2140 arg is const.
2141 Be sure to strdup `arg' when used, since there is no reason for
2142 token_buffer not to change.
2143
2144 2001-11-14 Akim Demaille <akim@epita.fr>
2145
2146 * src/system.h (EXIT_SUCCESS, EXIT_FAILURE): Ensure a proper
2147 definition.
2148 * src/main.c (main): Use them.
2149 Suggested by Hans Aberg.
2150
2151 2001-11-12 Akim Demaille <akim@epita.fr>
2152
2153 * src/system.h (ngettext): Now that we use ngettext, be sure to
2154 provide a default definition when NLS are not used.
2155
2156 2001-11-12 Akim Demaille <akim@epita.fr>
2157
2158 * doc/bison.texinfo: Use `$' as shell prompt, not `%'.
2159 Use @kbd to denote user input.
2160 (Language and Grammar): ANSIfy the example.
2161 Adjust its layout for info/notinfo.
2162 (Location Tracking Calc): Output error messages to stderr.
2163 Output locations in a more GNUtically correct way.
2164 Fix a couple of Englishos.
2165 Adjust @group/@end group pairs.
2166
2167 2001-11-12 Akim Demaille <akim@epita.fr>
2168
2169 %expext was not functioning at all.
2170
2171 * src/conflicts.c (expected_conflicts): Set to -1.
2172 (conflict_report): Use ngettext.
2173 (conflicts_print): Check %expect and make its violation an error.
2174 * doc/bison.texinfo (Expect Decl): Adjust.
2175 * configure.in (AM_GNU_GETTEXT): Ask for ngettext.
2176 * tests/regression.at (%expect not enough, %expect right)
2177 (%expect too much): New.
2178
2179 2001-11-12 Akim Demaille <akim@epita.fr>
2180
2181 * tests/regression.at (Conflicts): Rename as...
2182 (Unresolved SR Conflicts): this.
2183 (Solved SR Conflicts): New.
2184
2185 2001-11-12 Akim Demaille <akim@epita.fr>
2186
2187 * src/reduce.c (print_results): Rename as...
2188 (reduce_output): This.
2189 Output to OUT, passed as argument, instead of output_obstack.
2190 (dump_grammar): Likewise.
2191 (reduce_free): New.
2192 Also free V1.
2193 (reduce_grammar): No longer call reduce_output, since...
2194 * src/print.c (print_results): do it.
2195 * src/main.c (main): Call reduce_free;
2196
2197 2001-11-12 Akim Demaille <akim@epita.fr>
2198
2199 * src/conflicts.c (print_reductions): Accept OUT as argument.
2200 Output to it, not to output_obstack.
2201 * src/print.c (print_actions): Adjust.
2202
2203 2001-11-12 Akim Demaille <akim@epita.fr>
2204
2205 * src/conflicts.c (count_sr_conflicts, count_rr_conflicts): Return
2206 the result instead of using...
2207 (src_total, rrc_total, src_count, rrc_count): Remove.
2208 (any_conflicts): Remove.
2209 (print_conflicts): Split into...
2210 (conflicts_print, conflicts_output): New.
2211 * src/conflicts.h: Adjust.
2212 * src/main.c (main): Invoke both conflicts_output and conflicts_print.
2213 * src/print.c (print_grammar): Issue `\n' between two rules.
2214 * tests/regression.at (Conflicts): New.
2215 Reported by Tom Lane.
2216
2217 2001-11-12 Akim Demaille <akim@epita.fr>
2218
2219 * tests/regression.at (Invalid input): Remove, duplicate with
2220 ``Invalid input: 1''.
2221
2222 2001-11-12 Akim Demaille <akim@epita.fr>
2223
2224 * tests/torture.at (AT_DATA_STACK_TORTURE)
2225 (Exploding the Stack Size with Alloca)
2226 (Exploding the Stack Size with Malloc): New.
2227
2228 2001-11-12 Akim Demaille <akim@epita.fr>
2229
2230 * src/bison.simple (YYSTACK_REALLOC): New.
2231 (yyparse) [!yyoverflow]: Use it and free the old stack.
2232 Reported by Per Allansson.
2233
2234 2001-11-12 Pascal Bart <pascal.bart@epita.fr>
2235
2236 * src/bison.simple: Define type yystype instead of YYSTYPE, and
2237 define CPP macro, which substitute YYSTYPE by yystype.
2238 * src/reader.c (parse_union_decl): Output yystype/YYSTYPE as we do
2239 with yyltype/YYLTYPE. This allows inclusion of the generated
2240 header within the parser if the compiler, such as GGC, accepts
2241 multiple equivalent #defines.
2242 From Akim.
2243
2244 2001-11-05 Akim Demaille <akim@epita.fr>
2245
2246 * src/reader.c (symbols_output): New, extracted from...
2247 (packsymbols): here.
2248 (reader): Adjust.
2249
2250 2001-11-05 Akim Demaille <akim@epita.fr>
2251
2252 * src/lex.c (parse_percent_token): s/quotearg/quote/.
2253
2254 2001-11-05 Akim Demaille <akim@epita.fr>
2255
2256 * tests/regression.at (AT_TEST_CPP_GUARD_H): Adjust the clean up
2257 pattern.
2258
2259 2001-11-05 Akim Demaille <akim@epita.fr>
2260
2261 * src/options.h (struct option_table_struct): set_flags is void*.
2262 * src/options.c (longopts): Support `--output' and `%output'.
2263 (usage): Adjust.
2264 * src/lex.h (tok_setopt): Remove, replaced with...
2265 (tok_intopt, tok_stropt): these new guys.
2266 * src/lex.c (getopt.h): Not needed.
2267 (token_buffer, unlexed_token_buffer): Not const.
2268 (percent_table): Promote `-' over `_' in directive names.
2269 Active `%name-prefix', `file-prefix', and `output'.
2270 (parse_percent_token): Accept possible arguments to directives.
2271 Promote `-' over `_' in directive names.
2272
2273 2001-11-04 Akim Demaille <akim@epita.fr>
2274
2275 * doc/bison.texinfo (Decl Summary): Split the list into
2276 `directives for grammars' and `directives for bison'.
2277 Sort'em.
2278 Add description of `%name-prefix', `file-prefix', and `output'.
2279 Promote `-' over `_' in directive names.
2280 (Bison Options): s/%locactions/%locations/. Nice Freudian slip.
2281 Simplify the description of `--name-prefix'.
2282 Promote `-' over `_' in directive names.
2283 Promote `--output' over `--output-file'.
2284 Fix the description of `--defines'.
2285 * tests/output.at: Exercise %file-prefix and %output.
2286
2287 2001-11-02 Akim Demaille <akim@epita.fr>
2288
2289 * doc/refcard.tex: Update.
2290
2291 2001-11-02 Akim Demaille <akim@epita.fr>
2292
2293 * src/symtab.h (SUNDEF): New.
2294 * src/symtab.c (bucket_new): Init user_token_number to SUNDEF to
2295 stand for `uninitialized', instead of 0.
2296 * src/reader.c (packsymbols, parse_thong_decl): Adjust.
2297 * src/lex.c (lex): Adjust.
2298
2299 * tests/calc.at (_AT_DATA_CALC_Y): Declare a token for EOF.
2300 Number it 0.
2301 Let yylex return it instead of a plain 0.
2302 Reported by Dick Streefland.
2303
2304 2001-11-02 Akim Demaille <akim@epita.fr>
2305
2306 * tests/regression.at (Mixing %token styles): New test.
2307
2308 2001-11-02 Akim Demaille <akim@epita.fr>
2309
2310 * src/reader.c (parse_thong_decl): Formatting changes.
2311 (token_translations_init): New, extracted from...
2312 (packsymbols): Here.
2313 Adjust.
2314
2315 2001-11-01 Akim Demaille <akim@epita.fr>
2316
2317 * tests/regression.at (AT_TEST_CPP_GUARD_H): New.
2318 Check that `9foo.y' produces correct cpp guards.
2319 * src/files.c (compute_header_macro): Prepend `BISON_' to CPP
2320 guards.
2321 Reported by Wwp.
2322
2323 2001-11-01 Akim Demaille <akim@epita.fr>
2324
2325 * tests/regression.at (Invalid input: 2): New.
2326 * src/lex.c (unlexed_token_buffer): New.
2327 (lex, unlex): Adjust: when unlexing, be sure to save token_buffer
2328 too.
2329 Reported by Wwp.
2330
2331 2001-11-01 Akim Demaille <akim@epita.fr>
2332
2333 * tests/calc.at: Catch up with 1.30.
2334 * configure.in: Bump to 1.49a.
2335 Adjust to newer Autotest.
2336
2337 2001-10-19 Pascal Bart <pascal.bart@epita.fr>
2338
2339 * src/conflicts.c: Move global variables rrc_total and src_total ...
2340 (print_conflicts): here.
2341 * src/output.c (output): Free global variable user_toknums.
2342 * src/lex.c (token_obstack): Become static.
2343
2344 2001-10-18 Akim Demaille <akim@epita.fr>
2345
2346 * tests/atlocal.in (GCC): Add.
2347 * tests/calc.at: s/m4_match/m4_bmatch/.
2348 s/m4_patsubst/m4_bpatsubst/.
2349 (AT_CHECK_CALC): Check the compiler's stderr only if it's GCC.
2350 * configure.in: AC_SUBST(GCC).
2351
2352 2001-10-14 Marc Autret <autret_m@epita.fr>
2353
2354 * src/options.c (create_long_option_table): Fix.
2355
2356 2001-10-10 Akim Demaille <akim@epita.fr>
2357
2358 * src/bison.simple: Be sure to set YYSTACK_USE_ALLOCA.
2359
2360 2001-10-04 Akim Demaille <akim@epita.fr>
2361
2362 * src/reader.c (parse_union_decl): Push the caracters in
2363 union_obstack, not attrs_obstack.
2364
2365 2001-10-04 Akim Demaille <akim@epita.fr>
2366
2367 Merge in the branch 1.29.
2368
2369 * src/reader.c (packsymbols): Use a temporary obstack for
2370 `%%tokendef', since output_stack is already used elsewhere.
2371
2372 2001-10-02 Akim Demaille <akim@epita.fr>
2373
2374 Bump 1.29d.
2375
2376 2001-10-02 Akim Demaille <akim@epita.fr>
2377
2378 Version 1.29c.
2379
2380 2001-10-02 Akim Demaille <akim@epita.fr>
2381
2382 * tests/regression.at (Invalid CPP headers): New.
2383 From Alexander Belopolsky.
2384 * src/files.c (compute_header_macro): Map non alnum chars to `_'.
2385
2386 2001-10-02 Akim Demaille <akim@epita.fr>
2387
2388 * tests/regression.at (Invalid input): New.
2389 * src/lex.c (lex): Be sure to set `token_buffer' in any case.
2390 Reported by Shura.
2391
2392 2001-10-02 Akim Demaille <akim@epita.fr>
2393
2394 * tests/calc.at: Now that --debug works, the tests must be adjusted.
2395
2396 2001-10-02 Akim Demaille <akim@epita.fr>
2397
2398 * src/output.c (output_parser): Assert `skeleton'.
2399 * src/files.c (skeleton_find): Look harder for skeletons on DOSish
2400 systems.
2401 From Shura.
2402
2403 2001-10-01 Marc Autret <autret_m@epita.fr>
2404
2405 * src/lex.h: Echo modifications.
2406 * src/lex.c (unlex): Parameter is now token_t.
2407 From Hans Aberg.
2408
2409 2001-10-01 Marc Autret <autret_m@epita.fr>
2410
2411 * src/main.c: Include lex.h.
2412 From Hans Aberg.
2413
2414 2001-09-29 Akim Demaille <akim@epita.fr>
2415
2416 * src/getargs.c (longopts): `--debug' is `-t', not `-d'.
2417
2418 2001-09-28 Akim Demaille <akim@epita.fr>
2419
2420 * tests/testsuite.at: Update to newer Autotest.
2421 * tests/Makefile.am (EXTRA_DIST): bison is not to be shipped.
2422
2423 2001-09-27 Akim Demaille <akim@epita.fr>
2424
2425 Position independent wrapper.
2426
2427 * tests/bison: Remove.
2428 * tests/bison.in: New.
2429 * configure.in: Adjust.
2430
2431 2001-09-27 Paul Eggert <eggert@twinsun.com>
2432
2433 Port quotearg fixes from tar 1.13.24.
2434
2435 * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
2436 tm to be declared.
2437 (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
2438 (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
2439
2440 * m4/Makefile.am (EXTRA_DIST): Add mbrtowc.m4.
2441 * m4/mbrtowc.m4: New file.
2442 * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for mbsinit and stddef.h.
2443 Use jm_FUNC_MBRTOWC instead of AC_CHECK_FUNCS(mbrtowc).
2444
2445 2001-09-27 Akim Demaille <akim@epita.fr>
2446
2447 Bump to 1.29c.
2448
2449 2001-09-27 Akim Demaille <akim@epita.fr>
2450
2451 Version 1.29b.
2452
2453 2001-09-25 Akim Demaille <akim@epita.fr>
2454
2455 * src/system.h: Include `xalloc.h'.
2456 Remove it from the C files.
2457 * src/files.c (output_files): Free the obstacks.
2458 * src/lex.c (init_lex): Rename as...
2459 (lex_init): this.
2460 (lex_free): New.
2461 * src/main.c (main): Use it.
2462
2463 2001-09-24 Marc Autret <autret_m@epita.fr>
2464
2465 * src/vcg.c (open_edge, close_edge, open_node, close_node): Change
2466 to output informations in fout (FILE*).
2467 (open_graph, close_graph): Likewise.
2468 (output_graph, output_edge, output_node): Likewise.
2469 * src/vcg.h: Update function prototypes.
2470 * src/print_graph.c (print_graph): Open output graph file.
2471 (print_actions): Adjust.
2472 * src/files.h: Remove extern declaration.
2473 * src/files.c: Remove graph_obstack declaration.
2474 (open_files): Remove graph_obstack initialization.
2475 (output_files): Remove graph_obstack saving.
2476
2477 2001-09-24 Marc Autret <autret_m@epita.fr>
2478
2479 * src/files.c (compute_output_file_names): Fix.
2480
2481 2001-09-24 Marc Autret <autret_m@epita.fr>,
2482 Akim Demaille <akim@epita.fr>
2483
2484 * src/reader.c (reader): Remove call to free_symtab ().
2485 * src/main.c (main): Call it here.
2486 Include symtab.h.
2487 * src/conflicts.c (initialize_conflicts): Rename as...
2488 (solve_conflicts): this.
2489 * src/print.c (print_core, print_actions, print_state)
2490 (print_grammar): Dump to a file instead a `output_obstack'.
2491 (print_results): Dump `output_obstack', and then proceed with the
2492 FILE *.
2493 * src/files.c (compute_output_file_names, close_files): New.
2494 (output_files): Adjust.
2495 * src/main.c (main): Adjust.
2496
2497 2001-09-23 Marc Autret <autret_m@epita.fr>
2498
2499 * src/files.c (compute_header_macro): Computes header macro name
2500 from spec_defines_file when given.
2501
2502 2001-09-23 Marc Autret <autret_m@epita.fr>
2503
2504 * src/files.c (output_files): Add default extensions.
2505
2506 2001-09-22 Akim Demaille <akim@epita.fr>
2507
2508 * src/conflicts.c (finalize_conflicts): Rename as...
2509 (free_conflicts): this.
2510
2511 2001-09-22 Akim Demaille <akim@epita.fr>
2512
2513 * src/gram.c (gram_free): Rename back as...
2514 (dummy): this.
2515 (output_token_translations): Free `token_translations'.
2516 * src/symtab.c (free_symtab): Free the tag field.
2517
2518 2001-09-22 Akim Demaille <akim@epita.fr>
2519
2520 Remove `translations' as it is always set to true.
2521
2522 * src/gram.h: Adjust.
2523 * src/reader.c (packsymbols, parse_token_decl): Adjust
2524 * src/print.c (print_grammar): Adjust.
2525 * src/output.c (output_token_translations): Adjust.
2526 * src/lex.c (lex): Adjust.
2527 * src/gram.c: Be sure the set pointers to NULL.
2528 (dummy): Rename as...
2529 (gram_free): this.
2530
2531 2001-09-22 Akim Demaille <akim@epita.fr>
2532
2533 * configure.in: Invoke AM_LIB_DMALLOC.
2534 * src/system.h: Use dmalloc.
2535 * src/LR0.c: Be sure to have pointers initialized to NULL.
2536 (allocate_itemsets): Allocate kernel_items only if needed.
2537
2538 2001-09-22 Akim Demaille <akim@epita.fr>
2539
2540 * configure.in: Bump to 1.29b.
2541 * tests/Makefile.am (DISTCLEANFILES): Add package.m4.
2542 * tests/calc.at (_AT_DATA_CALC_Y): #undef malloc so that we don't
2543 need xmalloc.c in calc.y.
2544 From Pascal Bart.
2545
2546 2001-09-21 Akim Demaille <akim@epita.fr>
2547
2548 Version 1.29a.
2549 * Makefile.maint, config/config.guess, config/config.sub,
2550 * config/missing: Update from masters.
2551 * tests/Makefile.am ($(srcdir)/$(TESTSUITE)): No longer depend
2552 upon package.m4.
2553 * configure.in (ALL_LINGUAS): Add `tr'.
2554
2555 2001-09-21 Akim Demaille <akim@epita.fr>
2556
2557 * tests/Makefile.am (package.m4): Move to...
2558 ($(srcdir)/$(TESTSUITE)): here.
2559
2560 2001-09-20 Akim Demaille <akim@epita.fr>
2561
2562 * src/complain.c: No longer try to be standalone: use system.h.
2563 Don't assume __STDC__ is defined to 1. Just test if it is defined.
2564 * src/complain.h: Likewise.
2565 * src/reduce.c (useless_nonterminals, inaccessable_symbols):
2566 Remove the unused variable `n'.
2567 From Albert Chin-A-Young.
2568
2569 2001-09-18 Marc Autret <autret_m@epita.fr>
2570
2571 * doc/bison.1: Update.
2572 * doc/bison.texinfo (Bison Options): Update --defines and --graph
2573 descriptions.
2574 (Option Cross Key): Update.
2575 Add --graph.
2576
2577 2001-09-18 Marc Autret <autret_m@epita.fr>
2578
2579 * tests/regression.at: New test (comment in %union).
2580
2581 2001-09-18 Marc Autret <autret_m@epita.fr>
2582
2583 * src/reader.c (parse_union_decl): Do not output '/'. Let copy_comment
2584 do that.
2585 Reported by Keith Browne.
2586
2587 2001-09-18 Marc Autret <autret_m@epita.fr>
2588
2589 * tests/output.at: Add tests for --defines and --graph.
2590
2591 2001-09-18 Marc Autret <autret_m@epita.fr>
2592
2593 * tests/output.at: Removes tests of %{header,src}_extension features.
2594
2595 2001-09-18 Akim Demaille <akim@epita.fr>
2596
2597 * tests/Makefile.am (package.m4): New.
2598 * tests/calc.at (_AT_CHECK_CALC): Just run `calc input'.
2599 (_AT_CHECK_CALC_ERROR): Likewise.
2600 Factor the `, ' part of verbose error messages.
2601
2602 2001-09-18 Marc Autret <autret_m@epita.fr>
2603
2604 * src/getargs.c (longopts): Declare --defines and --graph as options
2605 with optional arguments.
2606 * src/files.h: Add extern declarations.
2607 * src/files.c (spec_graph_file, spec_defines_file): New.
2608 (output_files): Update.
2609 Remove CPP-outed code.
2610
2611 2001-09-18 Marc Autret <autret_m@epita.fr>
2612
2613 Turn off %{source,header}_extension feature.
2614
2615 * src/files.c (compute_exts_from_gf): Update.
2616 (compute_exts_from_src): Update.
2617 (output_files): CPP-out useless code.
2618 * src/files.h: Remove {header,source}_extension extern declarations.
2619 * src/reader.c (parse_dquoted_param): CPP-out.
2620 (parse_header_extension_decl): Remove.
2621 (parse_source_extension_decl): Remove.
2622 (read_declarations): Remove cases tok_{hdrext,srcext}.
2623 * src/lex.c (percent_table): Remove {header,source}_extension entries.
2624 * src/lex.h (token_t): Remove tok_hdrext and tok_srcext.
2625
2626 2001-09-10 Akim Demaille <akim@epita.fr>
2627
2628 * tests/output.at (AT_CHECK_BISON_FLAGS, AT_CHECK_BISON_PERCENT):
2629 (AT_CHECK_BISON_PERCENT_FLAGS): Merge into...
2630 (AT_CHECK_OUTPUT): this.
2631 Merely check ls' exit status, its output is useless.
2632
2633 2001-09-10 Akim Demaille <akim@epita.fr>
2634
2635 * tests/calc.at: Use m4_match.
2636 (_AT_DATA_CALC_Y): Check `yyin != NULL', not `stdin != NULL'.
2637
2638 2001-09-10 Marc Autret <autret_m@epita.fr>,
2639 Akim Demaille <akim@epita.fr>
2640
2641 * src/vcg.h (graph_s): color, textcolor, bordercolor are now
2642 enum color_e.
2643 * src/print_graph.c (print_graph): Initalize graph.layoutalgorithm
2644 to `normal'.
2645 * src/reader.c (parse_token_decl): Initialize token with tok_eof.
2646 * src/lex.h: Adjust prototype.
2647 (token_t): Add `tok_undef'.
2648 * src/lex.c (struct percent_table_struct): Retval is now a token_t.
2649 (parse_percent_token): Now returns token_t.
2650 Add default statement in switch.
2651 (lex): Separate `c' as an input variable, from the token_t result
2652 part.
2653 (unlexed): Is a token_t.
2654
2655 2001-09-10 Akim Demaille <akim@epita.fr>
2656
2657 * configure.in: Bump to 1.29a.
2658
2659 2001-09-07 Akim Demaille <akim@epita.fr>
2660
2661 Version 1.29.
2662
2663 2001-08-30 Akim Demaille <akim@epita.fr>
2664
2665 * tests/atgeneral.m4, tests/atconfig.in, tests/suite.at: Remove.
2666 * m4/atconfig.m4: Remove.
2667 * tests/testsuite.at, tests/atlocal.in, tests/output.at,
2668 * tests/bison: New.
2669 * tests/regression.at, tests/calc.at: Use m4_define, AT_BANNER,
2670 m4_if, m4_patsubst, and m4_regexp.
2671 * tests/calc.at (_AT_CHECK_CALC, _AT_CHECK_CALC_ERROR): Use an
2672 `input' file instead of echo.
2673
2674 2001-08-29 Akim Demaille <akim@epita.fr>
2675
2676 Bump to 1.28e.
2677
2678 2001-08-29 Akim Demaille <akim@epita.fr>
2679
2680 Version 1.28d.
2681
2682 2001-08-29 Paul Eggert <eggert@twinsun.com>
2683
2684 * src/bison.simple (yyparse): Don't take the address of an
2685 item before the start of an array, as that doesn't conform to
2686 the C Standard.
2687
2688 2001-08-29 Robert Anisko <anisko_r@epita.fr>
2689
2690 * doc/bison.texinfo (Location Tracking Calc): New node.
2691
2692 2001-08-29 Paul Eggert <eggert@twinsun.com>
2693
2694 * src/output.c (output): Do not define const, as this now
2695 causes more problems than it cures.
2696
2697 2001-08-29 Akim Demaille <akim@epita.fr>
2698
2699 * doc/bison.texinfo: Modernize `@node' and `@top' use: just name
2700 the nodes.
2701 Be sure to tag the `detailmenu'.
2702
2703 2001-08-29 Akim Demaille <akim@epita.fr>
2704
2705 * Makefile.maint (do-po-update): Wget refuses to overwrite files:
2706 download in a tmp dir.
2707
2708 2001-08-28 Marc Autret <autret_m@epita.fr>
2709
2710 * config/depcomp: New file.
2711
2712 2001-08-28 Marc Autret <autret_m@epita.fr>
2713
2714 * doc/bison.1 (mandoc): Adjust.
2715 From Juan Manuel Guerrero.
2716
2717 2001-08-28 Marc Autret <autret_m@epita.fr>
2718
2719 * src/print_graph.c (print_state): Fix.
2720
2721 2001-08-27 Marc Autret <autret_m@epita.fr>
2722
2723 * src/vcg.h (classname_s, infoname_s, node_s): Constify the
2724 char * members.
2725 Echo modifications to the functions prototypes.
2726 * src/vcg.c (add_classname, add_infoname): Adjust arguments.
2727
2728 2001-08-27 Marc Autret <autret_m@epita.fr>
2729
2730 * src/vcg.c: Include `xalloc.h'.
2731 (add_colorentry): New.
2732 (add_classname): New.
2733 (add_infoname): New.
2734 * src/vcg.h: Add new prototypes.
2735
2736 2001-08-27 Akim Demaille <akim@epita.fr>
2737
2738 * Makefile.maint: Sync. again with CVS Autoconf.
2739
2740 2001-08-27 Akim Demaille <akim@epita.fr>
2741
2742 * Makefile.maint: Formatting changes.
2743 (po-update, cvs-update, update): New targets.
2744 (AMTAR): Remove.
2745
2746 2001-08-27 Akim Demaille <akim@epita.fr>
2747
2748 * Makefile.am (AUTOMAKE_OPTIONS): 1.5.
2749 * Makefile.maint: Sync. with CVS Autoconf.
2750
2751 2001-08-27 Marc Autret <autret_m@epita.fr>
2752
2753 * src/vcg.h (struct infoname_s): New.
2754 (struct colorentry_s): New.
2755 (graph_s): New fields {vertical,horizontal}_order in structure.
2756 Add `infoname' field.
2757 Add `colorentry' field;
2758 * src/vcg_defaults.h (G_VERTICAL_ORDER): New.
2759 (G_HORIZONTAL_ORDER): New.
2760 (G_INFONAME): New.
2761 (G_COLORENTRY): New.
2762 * src/vcg.c (output_graph): Add output of {vertical,horizontal}_order.
2763 Add output of `infoname'.
2764 Add output of `colorentry'.
2765
2766 2001-08-27 Marc Autret <autret_m@epita.fr>
2767
2768 * src/reader.c (parse_dquoted_param): Rename variable `index' to `i'.
2769 This one shadowed a global parameter.
2770
2771 2001-08-24 Marc Autret <autret_m@epita.fr>
2772
2773 * src/print_graph.c (node_output_size): Declared POSIX `size_t' type,
2774 instead of `unsigned'.
2775 (print_state): Do not call obstack_object_size () in obstack_grow ()
2776 to avoid macro variables shadowing.
2777
2778 2001-08-23 Marc Autret <autret_m@epita.fr>
2779
2780 * src/lex.c (percent_table): Typo: s/naem/name/.
2781 Add graph option.
2782 Normalize new options declarations.
2783
2784 2001-08-20 Pascal Bart <pascal.bart@epita.fr>
2785
2786 * tests/suite.at: Exercise %header_extension and %source_extension.
2787
2788 2001-08-16 Marc Autret <autret_m@epita.fr>
2789
2790 * src/reader.c (parse_dquoted_param): New.
2791 (parse_header_extension_decl): Use it.
2792 (parse_source_extension_decl): Likewise.
2793
2794 2001-08-16 Marc Autret <autret_m@epita.fr>
2795
2796 * src/vcg.c: Remove includes of `complain.h' and `xalloc.h'.
2797 (get_xxxx_str): Use assert () instead of complain ().
2798 Remove return invokations in default cases.
2799 (get_decision_str): Modify default behaviour. Remove second argument.
2800 Echo modifications on calls.
2801 (output_graph): Fix.
2802
2803 2001-08-16 Marc Autret <autret_m@epita.fr>
2804
2805 * src/getargs.c (usage): Update with ``-g, --graph''.
2806
2807 2001-08-16 Marc Autret <autret_m@epita.fr>
2808
2809 * doc/bison.texinfo (Bison Options): Add items `-g', `--graph'.
2810 (Option Cross Key): Likewise.
2811 * doc/bison.1: Update.
2812
2813 2001-09-25 Pascal Bart <pascal.bart@epita.fr>
2814
2815 * src/output.c (output_master_parser): Don't finish action_obstack.
2816 (output_parser): Don't care about the muscle action, here.
2817 (prepare): Copy the action_obstack in the action muscle.
2818 (output): Free action_obstack.
2819
2820 2001-09-23 Pascal Bart <pascal.bart@epita.fr>
2821
2822 * src/reader.c (parse_union_decl): Add new obstack union_obstack. Which
2823 will contain `%union' declaration.
2824 (parse_union_decl): Delete #line directive output.
2825 (parse_union_decl): Substitute /attrs_obstack/union_obstack for all
2826 informations about %union.
2827 (parse_union_decl): Copy the union_obstack in the muscle stype.
2828 * src/bison.simple: Add new #line directive.
2829 Add typdef %%stype YYSTYPE.
2830
2831 2001-09-23 Pascal Bart <pascal.bart@epita.fr>
2832
2833 * src/bison.simple: Add new `#line' directive.
2834
2835 2001-09-22 Pascal Bart <pascal.bart@epita.fr>
2836
2837 * src/bison.simple: New `#line' directive.
2838 * src/output.c (output_parser): Support new dynamic muscle input_line.
2839
2840 2001-09-22 Marc Autret <autret_m@epita.fr>
2841
2842 * src/output.c (output_master_parser): New.
2843 (output_parser): Be more re-entrant.
2844
2845 2001-09-21 Marc Autret <autret_m@epita.fr>
2846
2847 * src/reader.c (copy_definition, parse_union_decl): Update and use
2848 `linef' muscle.
2849 (copy_action): Likewise.
2850 Use obstack_1grow ().
2851 * src/muscle_tab.c (muscle_init): Add muscle `linef'.
2852
2853 2001-09-21 Marc Autret <autret_m@epita.fr>
2854
2855 * src/options.c (option_table): Adjust.
2856 * src/lex.c (parse_percent_token): Fix.
2857
2858 2001-09-20 Pascal Bart <pascal.bart@epita.fr>
2859
2860 * src/options.c (symtab.h): Include it, need by lex.h.
2861
2862 2001-09-20 Pascal Bart <pascal.bart@epita.fr>
2863
2864 * src/lex.c (parse_percent_token): Change type of variable `tx', which
2865 is now an option_table_struct*.
2866 (option_strcmp): New function option_strcmp.
2867 (parse_percent_token): Call option_strcmp.
2868 * src/getargs.c (xalloc.h, options.h): Include it.
2869 (getargs): Call create_long_option_table.
2870 (getargs): Free longopts at the end of the function.
2871 (shortopts): Move in options.c.
2872 * src/options.c (create_long_option_table): New function. Convert
2873 information from option_table to option structure.
2874 * src/reader.c (options.h): Include it.
2875
2876 * src/Makefile.am: Adjust.
2877 * src/options.c (option_table): Create from longopts and percent_table.
2878 * src/getargs.c (longopts): Delete.
2879 * src/lex.c (struct percent_table_struct): Delete.
2880 (percent_table): Delete.
2881 (options.h): Include it.
2882 * src/options.c: Create.
2883 * src/options.h: Create.
2884 Declare enum opt_access_e.
2885 Define struct option_table_struct.
2886
2887 2001-09-20 Marc Autret <autret_m@epita.fr>
2888
2889 * doc/bison.texinfo: Adjust terminologies about prologue and epilogue
2890 sections of Bison.
2891
2892 2001-09-19 Pascal Bart <pascal.bart@epita.fr>
2893
2894 * src/bison.simple: s/%%filename/%%skeleton.
2895 * src/muscle_tab.c (getargs.h): Include it.
2896 (muscle_init): Insert new muscle skeleton.
2897
2898 2001-09-18 Pascal Bart <pascal.bart@epita.fr>
2899
2900 * src/output.c (output_parser): Delete unused variable actions_dumped.
2901
2902 2001-09-07 Pascal Bart <pascal.bart@epita.fr>
2903
2904 * src/output.c (output): Delete call to reader_output_yylsp.
2905 * src/reader.c (reader): Likewise.
2906 * src/reader.h: Delete declaration of reader_output_yylsp.
2907
2908 2001-09-02 Marc Autret <autret_m@epita.fr>
2909
2910 * src/reader.c: Include muscle_tab.h.
2911 (parse_union_decl): Update.
2912 (parse_macro_decl): Rename parse_muscle_decl.
2913 Update to use renamed functions and variable.
2914 (read_declarations, copy_action, read_additionnal_code, : Updated
2915 with correct variables and functions names.
2916 (packsymbols, reader): Likewise.
2917
2918 * src/reader.h (muscle_obstack): Extern declaration update.
2919
2920 * src/output.c: Include muscle_tab.h
2921 In all functions using macro_insert, change by using muscle_insert ().
2922 (macro_obstack): Rename muscle_obstack.
2923 Echo modifications in the whole file.
2924 (MACRO_INSERT_INT): Rename MUSCLE_INSERT_INT.
2925 (MACRO_INSERT_STRING): Rename MUSCLE_INSERT_STRING.
2926 (MACRO_INSERT_PREFIX): Rename MUSCLE_INSERT_PREFIX.
2927
2928 * src/muscle_tab.h: Update double inclusion macros.
2929 (macro_entry_s): Rename muscle_entry_s.
2930 Update prototypes.
2931
2932 * src/muscle_tab.c: Include muscle_tab.h.
2933 Rename macro_tabble to muscle_table.
2934 (mhash1, mhash2, mcmp): Use muscle_entry.
2935 (macro_init): Rename muscle_init. Update.
2936 (macro_insert): Rename muscle_insert. Update.
2937 (macro_find): Rename muscle_find. Update.
2938
2939 * src/main.c: Include muscle_tab.h.
2940 (main): Call muscle_init ().
2941 * src/Makefile.am (bison_SOURCES): Echo modifications.
2942
2943 2001-09-02 Marc Autret <autret_m@epita.fr>
2944
2945 Now the files macro_tab.[ch] are named muscle_tab.[ch].
2946
2947 * src/muscle_tab.c, src/muscle_tab.h: Add files.
2948
2949 2001-09-02 Marc Autret <autret_m@epita.fr>
2950
2951 * src/macrotab.c, src/macrotab.h: Remove.
2952
2953 2001-09-01 Pascal Bart <pascal.bart@epita.fr>
2954
2955 * src/reader.c (copy_guard): Use muscle to specify the `#line'
2956 filename.
2957
2958 2001-09-01 Marc Autret <autret_m@epita.fr>
2959
2960 * tests/calc.at (exp): Now, YYERROR_VERBOSE need to be set
2961 to an explicit value to activate the feature. We do it here.
2962
2963 2001-08-31 Pascal Bart <pascal.bart@epita.fr>
2964
2965 * src/output.c (prepare): Delete the `filename' muscule insertion.
2966 * src/reader.c (copy_action): Use `filename' muscule with `#line'.
2967 (parse_union_decl): Likewise.
2968 * src/macrotab.c (macro_init): Initialize filename by infile.
2969
2970 2001-08-31 Marc Autret <autret_m@epita.fr>
2971
2972 * src/bison.simple (YYLSP_NEEDED): New definition.
2973 * src/output.c (prepare): Add macro insertion of `locations_flag'
2974
2975 2001-08-31 Pascal Bart <pascal.bart@epita.fr>
2976
2977 * src/output.c (prepare): Delete insertion of previous muscles,
2978 and insert the `prefix' muscles.
2979 * src/macrotab.c (macro_init): Likewise.
2980 (macro_init): Initialization prefix directive by `yy'.
2981 * src/bison.simple: Substitute all %%yylex, %%yychar, %%yylval,
2982 %%yydebug, %%yyerror, %%yynerrs and %%yyparse by yylex, yychar,
2983 yylval, yydebug, yyerror, yynerrs and yyparse.
2984 New directive `#define' to substitute yydebug, ... with option
2985 name_prefix.
2986
2987 2001-08-31 Pascal Bart <pascal.bart@epita.fr>
2988
2989 * src/main.c (main): Standardize.
2990 * src/output.c (output_table_data, output_parser): Likewise.
2991 * src/macrotab.h, src/macrotab.c, src/bison.simple: Likewise.
2992
2993 2001-08-31 Pascal Bart <pascal.bart@epita.fr>, Marc Autret <autret_m@epita.fr>
2994
2995 * src/reader.c (read_additionnal_code): Rename %%user_code to
2996 %%epilogue.
2997 * src/output.c (output): Rename %%declarations to %%prologue.
2998 * src/bison.simple: Echo modifications.
2999
3000 2001-08-31 Marc Autret <autret_m@epita.fr>
3001
3002 * src/reader.c (readgram): CleanUp.
3003 (output_token_defines): Likewise.
3004 (packsymbols): Likewise.
3005 (reader): Likewise.
3006 * src/output.c (output): CPP-out useless code.
3007
3008 2001-08-31 Pascal Bart <pascal.bart@epita.fr>
3009
3010 * src/reader.c (reader): Delete obsolete call to function
3011 output_trailers and output_headers.
3012 * src/output.h: Remove obsolete functions prototypes of output_headers
3013 and output_trailers.
3014
3015 2001-08-30 Pascal Bart <pascal.bart@epita.fr>
3016
3017 * src/main.c: Include macrotab.h.
3018 * src/macrotab.h (macro_entry_s): Constify fields.
3019 Adjust functions prototypes.
3020 * src/macrotab.c (macro_insert): Constify key and value.
3021 (macro_find): Constify key.
3022 (macro_insert): Include 'xalloc.h'
3023 (macro_insert): Use XMALLOC.
3024 (macro_find): Constify return value.
3025 * src/output.c (output_table_data): Rename table to table_data.
3026 (output_parser): Constify macro_key, macro_value.
3027
3028 2001-08-30 Marc Autret <autret_m@epita.fr>
3029
3030 * src/reader.c (parse_skel_decl): New.
3031 (read_declarations): Add case `tok_skel', call parse_skel_decl ().
3032 * src/lex.h (token_t): New token `tok_skel'.
3033 * src/lex.c (percent_table): Add skeleton option entry.
3034 Standardize.
3035
3036 2001-08-29 Marc Autret <autret_m@epita.fr>
3037
3038 * src/bison.simple: Add %%user_code directive at the end.
3039 * src/reader.c (read_additionnal_code): New.
3040 (reader): Use it.
3041 * src/output.c (output_program): Remove.
3042 (output): Update.
3043
3044 2001-08-28 Marc Autret <autret_m@epita.fr>
3045
3046 * src/output.c (output_actions): Clean up.
3047 (output_gram): CPP-out useless code.
3048 * src/reader.c (reader): Clean up, CPP-out useless code.
3049
3050 2001-08-28 Pascal Bart <pascal.bart@epita.fr>
3051
3052 * src/output.c (output): Copy attrs_obstack in the '%%definitions'
3053 directive.
3054 * src/bison.simple: Add `%%definitions'.
3055
3056 2001-08-28 Marc Autret <autret_m@epita.fr>
3057
3058 * config/depcomp: New file.
3059
3060 2001-08-27 Paul Eggert <eggert@twinsun.com>
3061
3062 * src/bison.simple (yyparse): Don't take the address of an
3063 item before the start of an array, as that doesn't conform to
3064 the C Standard.
3065
3066 2001-08-27 Robert Anisko <robert.anisko@epita.fr>
3067
3068 * src/output.c (output): Remove the initialization of the macro
3069 obstack. It was done too late here.
3070
3071 * src/reader.c (parse_macro_decl): Fix. Use of the macro obstack was
3072 completely wrong.
3073 (reader): Initialize the macro obstack here, since we need it to grow
3074 '%define' directives.
3075
3076 * src/reader.h: Declare the macro obstack as extern.
3077
3078 2001-08-27 Robert Anisko <robert.anisko@epita.fr>
3079
3080 * src/output.c (output_parser): Fix. Store single '%' characters in
3081 the output obstack instead of throwing them away.
3082
3083 2001-08-27 Akim Demaille <akim@epita.fr>
3084
3085 * Makefile.am (AUTOMAKE_OPTIONS): 1.5.
3086
3087 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
3088
3089 * lib/Makefile.am: Adjust.
3090
3091 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
3092
3093 * src/bison.simple: Update and add '%%' directives.
3094
3095 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
3096
3097 * src/reader.c (reader): Remove calls to 'output_headers' and
3098 'output_trailers'. Remove some C output.
3099 (readgram): Disable a piece of code that was writing a default
3100 definition for 'YYSTYPE'.
3101 (reader_output_yylsp): Remove.
3102 (packsymbols): Output token defintions to a macro.
3103 (copy_definition): Disable C output.
3104
3105 * src/reader.c (parse_macro_decl): New function used to parse macro
3106 declarations.
3107 (copy_string2): Put the body of copy_string into this new function.
3108 Add a parameter to let the caller choose whether he wants to copy the
3109 string delimiters or not.
3110 (copy_string): Be a simple call to copy_string2 with the last argument
3111 bound to true.
3112 (read_declarations): Add case for macro definition.
3113 (copy_identifier): New.
3114 (parse_macro_decl): Read macro identifiers using copy_identifier
3115 rather than lex.
3116
3117 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
3118
3119 * src/output.c (prepare): Add prefixed names.
3120 (output_parser): Output semantic actions.
3121 (output_parser): Fix bug on '%%line' directives.
3122
3123 * src/output.c (output_headers): Remove. The C code printed by this
3124 function should now be in the skeletons.
3125 (output_trailers): Remove.
3126 (output): Disable call to 'reader_output_yylsp'.
3127 (output_rule_data): Do not output tables to the table obstack.
3128
3129 * src/output.c: Remove some C dedicated output.
3130 Improve the use of macro and output obstacks.
3131 (output_defines): Remove.
3132
3133 * src/output.c (output_token_translations): Associate 'translate'
3134 table with a macro. No output to the table obstack.
3135 (output_gram): Same for 'rhs' and 'prhs'.
3136 (output_stos): Same for 'stos'.
3137 (output_rule_data): Same for 'r1' and 'r2'.
3138 (token_actions): Same for 'defact'.
3139 (goto_actions): Same for 'defgoto'.
3140 (output_base): Same for 'pact' and 'pgoto'.
3141 (output_table): Same for 'table'.
3142 (output_check): Same for 'check'.
3143
3144 * src/output.c (output_table_data): New function.
3145 (output_short_table): Remove.
3146 (output_short_or_char_table): Remove.
3147
3148 * src/output.c (output_parser): Replace most of the skeleton copy code
3149 with something new. Skeletons are now processed character by character
3150 rather than line by line, and Bison looks for '%%' macros. This is the
3151 first step in making Bison's output process (a lot) more flexible.
3152 (output_parser): Use the macro table.
3153
3154 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
3155
3156 * src/main.c (main): Initialize the macro table.
3157
3158 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
3159
3160 * src/lex.c (percent_table): Add tok_define.
3161 * src/lex.h: Add tok_define.
3162
3163 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
3164
3165 * src/macrotab.c: New file.
3166 * src/macrotab.h: New file.
3167 * src/Makefile.am: Update.
3168
3169 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
3170
3171 * lib/hash.c: New file.
3172 * lib/hash.h: New file.
3173 * lib/Makefile.am: Update.
3174
3175 2001-08-15 Akim Demaille <akim@epita.fr>
3176
3177 Version 1.28c.
3178
3179 2001-08-15 Marc Autret <autret_m@epita.fr>
3180
3181 * src/reader.c (readgram): Indent output macro YYSTYPE.
3182 (packsymbols): Likewise.
3183 (output_token_defines): Likewise.
3184 * src/files.c: Standardize.
3185 (compute_header_macro): New.
3186 (defines_obstack_save): New. Use compute_header_macro.
3187 (output_files): Update. Use defines_obstack_save.
3188
3189 2001-08-15 Akim Demaille <akim@epita.fr>
3190
3191 * doc/bison.texinfo (Table of Symbols): Document
3192 YYSTACK_USE_ALLOCA.
3193
3194 2001-08-15 Akim Demaille <akim@epita.fr>
3195
3196 * missing: Update from CVS Automake.
3197 * config/config.guess, config/config.sub, config/texinfo.tex:
3198 Update from gnu.org.
3199
3200 2001-08-15 Akim Demaille <akim@epita.fr>
3201
3202 * Makefile.maint: Sync with CVS Autoconf.
3203
3204 2001-08-14 Pascal Bart <pascal.bart@epita.fr>
3205
3206 * doc/bison.texinfo: Include GNU Free Documentation License from
3207 `fdl.texi'.
3208 * doc/fdl.texi: Add to package.
3209
3210 2001-08-14 Marc Autret <autret_m@epita.fr>
3211
3212 Turn on %{source,header}_extension features.
3213
3214 * src/lex.c (percent_table): Un-CPP out header_extension and
3215 source_extension.
3216 * src/files.c (compute_exts_from_gf): Compare pointers with NULL.
3217 (compute_exts_from_src): Remove conditions. It restores priorities
3218 between options.
3219
3220 2001-08-14 Marc Autret <autret_m@epita.fr>
3221
3222 * src/files.c (compute_base_names): Add extensions computing when
3223 `--file-prefix' used.
3224 Standardize function calls.
3225
3226 2001-08-13 Marc Autret <autret_m@epita.fr>
3227
3228 * src/bison.simple (YYSTACK_USE_ALLOCA): Changed to allow users
3229 defining it (defined but null disables alloca).
3230
3231 2001-08-13 Marc Autret <autret_m@epita.fr>
3232
3233 * src/bison.simple (_yy_memcpy): CPP reformat.
3234
3235 2001-08-13 Pascal Bart <pascal.bart@epita.fr>
3236
3237 * tests/atconfig.in (CPPFLAGS): Fix.
3238
3239 2001-08-10 Pascal Bart <pascal.bart@epita.fr>
3240
3241 * doc/bison.texinfo: Include GNU General Public License from
3242 `gpl.texi'.
3243 * doc/gpl.texi: Add to package.
3244
3245 2001-08-10 Marc Autret <autret_m@epita.fr>
3246
3247 * src/print_graph.h: Fix.
3248 * src/reader.c (read_declarations): Use parse_header_extension_decl ().
3249
3250 2001-08-10 Akim Demaille <akim@epita.fr>
3251
3252 * src/system.h: Provide default declarations for stpcpy, strndup,
3253 and strnlen.
3254
3255 2001-08-10 Robert Anisko <anisko_r@epita.fr>
3256
3257 * doc/bison.texinfo (Locations): Update @$ stuff.
3258
3259 2001-08-09 Robert Anisko <anisko_r@epita.fr>
3260
3261 * src/bison.simple (YYLLOC_DEFAULT): Update.
3262 (yyparse): Adjust.
3263
3264 2001-08-08 Marc Autret <autret_m@epita.fr>
3265
3266 * doc/bison.texinfo: Change @samp{$<@dots{}>} to
3267 @samp{$<@dots{}>@var{n}} in Section Actions in Mid-Rule.
3268 Reported by Fabrice Bauzac.
3269
3270 2001-08-08 Marc Autret <autret_m@epita.fr>
3271
3272 * src/vcg_default.h: Use NULL instead of 0 to initialize pointers.
3273 * src/vcg.c (output_node): Fix.
3274 * src/vcg.h: Cleanup.
3275 * src/print_graph.c: Add comments.
3276 (node_output_size): New global variable. Simplify the formatting of
3277 the VCG graph output.
3278 (print_actions): Unused code is now used. It notifies the final state
3279 and no action states in the VCG graph. It also give the reduce actions.
3280 The `shift and goto' edges are red and the `go to state' edges are
3281 blue.
3282 Get the current node name and node_obstack by argument.
3283 (node_obstack): New variable.
3284 (print_state): Manage node_obstack.
3285 (print_core): Use node_obstack given by argument.
3286 A node is not only computed here but in print_actions also.
3287 (print_graph): CPP out useless code instead of commenting it.
3288
3289 2001-08-07 Pascal Bart <pascal.bart@epita.fr>
3290
3291 * tests/atconfig.in (CPPFLAGS): Fix.
3292
3293 2001-08-07 Akim Demaille <akim@epita.fr>
3294
3295 * src/print_graph.c (quote): New.
3296 (print_core): Use it.
3297
3298 2001-08-06 Akim Demaille <akim@epita.fr>, Marc Autret <autret_m@epita.fr>
3299
3300 * src/vcg.c (complain.h): Include it.
3301 Unepitaize `return' invocations.
3302 [NDEBUG] (main): Remove.
3303 * src/vcg.h (node_t, edge_t, graph_t): Constify the char * members.
3304 * src/files.c (open_files): Initialize graph_obstack.
3305 * src/print_graph.c (print_actions): CPP out useless code.
3306 (print_core): Don't output the last `\n' in labels.
3307 Use `quote'.
3308 * src/files.c (output_files): Output the VCG file.
3309 * src/main.c (main): Invoke print_graph ();
3310
3311 2001-08-06 Marc Autret <autret_m@epita.fr>
3312
3313 Automaton VCG graph output.
3314 Using option ``-g'' or long option ``--graph'', you can generate
3315 a gram_filename.vcg file containing a VCG description of the LALR (1)
3316 automaton of your grammar.
3317
3318 * src/main.c: Call to print_graph() function.
3319 * src/getargs.h: Update.
3320 * src/getargs.c (options): Update to catch `-g' and `--graph' options.
3321 (graph_flag): New flag.
3322 (longopts): Update.
3323 (getargs): Add case `g'.
3324 * src/files.c (graph_obstack): New obstack struct.
3325 (open_files): Initialize new obstack.
3326 (output_files): Saves graph_obstack if required.
3327 * src/files.h (graph_obstack): New extern declaration.
3328 * src/Makefile.am: Add new source files.
3329
3330 2001-08-06 Marc Autret <autret_m@epita.fr>
3331
3332 * src/print_graph.c, src/print_graph.h (graph): New.
3333 * src/vcg.h: New file.
3334 * src/vcg.c: New file, VCG graph handling.
3335
3336 2001-08-06 Marc Autret <autret_m@epita.fr>
3337
3338 Add of %source_extension and %header_extension which specify
3339 the source or/and the header output file extension.
3340
3341 * src/files.c (compute_base_names): Remove initialisation of
3342 src_extension and header_extension.
3343 (compute_exts_from_gf): Update.
3344 (compute_exts_from_src): Update.
3345 (output_files): Update.
3346 * src/reader.c (parse_header_extension_decl): New.
3347 (parse_source_extension_decl): New.
3348 (read_declarations): New case statements for the new tokens.
3349 * src/lex.c (percent_table): Add entries for %source_extension
3350 and %header_extension.
3351 * src/lex.h (token_e): New tokens tok_hdrext and tok_srcext.
3352
3353 2001-08-06 Marc Autret <autret_m@epita.fr>
3354
3355 * configure.in: Bump to 1.28c.
3356 * doc/bison.texinfo: Texinfo thingies.
3357
3358 2001-08-04 Pascal Bart <pascal.bart@epita.fr>
3359
3360 * tests/atconfig.in (CPPFLAGS): Add.
3361 * tests/calc.at (AT_CHECK): Use CPPFLAGS.
3362
3363 2001-08-03 Akim Demaille <akim@epita.fr>
3364
3365 Version 1.28b.
3366
3367 2001-08-03 Akim Demaille <akim@epita.fr>
3368
3369 * tests/Makefile.am (check-local): Ship testsuite.
3370 * tests/calc.at (_AT_DATA_CALC_Y): Prototype all the functions.
3371 Include `string.h'.
3372
3373 2001-08-03 Akim Demaille <akim@epita.fr>
3374
3375 * configure.in: Try using -Wformat when compiling.
3376
3377 2001-08-03 Akim Demaille <akim@epita.fr>
3378
3379 * configure.in: Bump to 1.28b.
3380
3381 2001-08-03 Akim Demaille <akim@epita.fr>
3382
3383 * src/complain.c: Adjust strerror_r portability issues.
3384
3385 2001-08-03 Akim Demaille <akim@epita.fr>
3386
3387 Version 1.28a.
3388
3389 2001-08-03 Akim Demaille <akim@epita.fr>
3390
3391 * src/getargs.c, src/getarg.h (skeleton)): Constify.
3392 * src/lex.c (literalchar): Avoid name clashes on `buf'.
3393 * src/getargs.c: Include complain.h.
3394 * src/files.c, src/files.h (skeleton_find): Avoid name clashes.
3395 * lib/quotearg.c, lib/quotearg.h: Update from fileutils 4.1.
3396
3397 2001-08-03 Akim Demaille <akim@epita.fr>
3398
3399 * src/reader.c (readgram): Display hidden chars in error messages.
3400
3401 2001-08-03 Akim Demaille <akim@epita.fr>
3402
3403 Update to gettext 0.10.39.
3404
3405 2001-08-03 Akim Demaille <akim@epita.fr>
3406
3407 * lib/strspn.c: New.
3408
3409 2001-08-01 Marc Autret <autret_m@epita.fr>
3410
3411 * doc/bison.texinfo: Update.
3412 * doc/bison.1 (mandoc): Update.
3413 * src/system.h (EXT_GUARD_C, EXT_STYPE_H): Remove .c and .h.
3414 * src/files.c: Support output files extensions computing.
3415 (src_extension): New static variable.
3416 (header_extension): New static variable.
3417 (tr): New function.
3418 (get_extension_index): New function, gets the index of an extension
3419 filename in a string.
3420 (compute_exts_from_gf): New function, computes extensions from the
3421 grammar file extension.
3422 (compute_exts_from_src): New functions, computes extensions from the
3423 C source file extension, file given by ``-o'' option.
3424 (compute_base_names): Update.
3425 (output_files): Update.
3426
3427 2001-08-01 Robert Anisko <anisko_r@epita.fr>
3428
3429 * doc/bison.texi: Document @$.
3430 (Locations): New section.
3431
3432 2001-07-18 Akim Demaille <akim@epita.fr>
3433
3434 * Makefile.maint, GNUmakefile: New, from Autoconf 2.52.
3435 * config/prev-version.txt, config/move-if-change: New.
3436 * Makefile.am: Adjust.
3437
3438 2001-07-08 Pascal Bart <pascal.bart@epita.fr>
3439
3440 * src/bison.simple (yyparse): Suppress warning `comparaison
3441 between signed and unsigned'.
3442
3443 2001-07-05 Pascal Bart <pascal.bart@epita.fr>
3444
3445 * src/getargs.h (raw_flag): Remove.
3446 * src/getargs.c: Die on `-r'/`--raw'.
3447 * src/lex.c (parse_percent_token): Die on `%raw'.
3448 * src/reader.c (output_token_defines): Suppress call to `raw_flag'.
3449 * tests/calc.at: Suppress test with option `--raw'.
3450
3451 2001-07-14 Akim Demaille <akim@epita.fr>
3452
3453 * config/: New.
3454 * configure.in: Require Autoconf 2.50.
3455 Update to gettext 0.10.38.
3456
3457 2001-03-16 Akim Demaille <akim@epita.fr>
3458
3459 * doc/bison.texinfo: ANSIfy the examples.
3460
3461 2001-03-16 Akim Demaille <akim@epita.fr>
3462
3463 * getargs.c (skeleton): New variable.
3464 (longopts): --skeleton is a new option.
3465 (shortopts, getargs): -S is a new option.
3466 * getargs.h: Declare skeleton.
3467 * output.c (output_parser): Use it.
3468
3469 2001-03-16 Akim Demaille <akim@epita.fr>
3470
3471 * m4/strerror_r.m4: New.
3472 * m4/error.m4: Run AC_FUNC_STRERROR_R.
3473 * lib/error.h, lib/error.c: Update.
3474
3475 2001-03-16 Akim Demaille <akim@epita.fr>
3476
3477 * src/getargs.c (longopts): Clean up.
3478
3479 2001-02-21 Akim Demaille <akim@epita.fr>
3480
3481 * src/reader.c (gensym): `gensym_count' is your own.
3482 Use a static buf to create the symbol name, as token_buffer is no
3483 longer a buffer.
3484
3485 2001-02-08 Akim Demaille <akim@epita.fr>
3486
3487 * src/conflicts.c (conflict_report): Be sure not to append to res
3488 between two calls, which could happen if both first sprintf were
3489 skipped, but not the first cp += strlen.
3490
3491 2001-02-08 Akim Demaille <akim@epita.fr>
3492
3493 * lib/memchr.c, lib/stpcpy.c, lib/strndup.c, lib/strnlen.c:
3494 New, from fileutils 4.0.37.
3495 * configure.in: Require Autoconf 2.49c. I took some time before
3496 making this decision. This is the only way out for portability
3497 issues in Bison, it would mean way too much duplicate effort to
3498 import in Bison features implemented in 2.49c since 2.13.
3499 AC_REPLACE_FUNCS and AC_CHECK_DECLS the functions above.
3500
3501 2001-02-02 Akim Demaille <akim@epita.fr>
3502
3503 * lib/malloc.c, lib/realloc.c: New, from the fileutils 4.0.37.
3504 * lib/xalloc.h, lib/xmalloc.c: Update.
3505
3506 2001-01-19 Akim Demaille <akim@epita.fr>
3507
3508 Get rid of the ad hoc handling of token_buffer in the scanner: use
3509 the obstacks.
3510
3511 * src/lex.c (token_obstack): New.
3512 (init_lex): Initialize it. No longer call...
3513 (grow_token_buffer): this. Remove it.
3514 Adjust all the places which used it to use the obstack.
3515
3516 2001-01-19 Akim Demaille <akim@epita.fr>
3517
3518 * src/lex.h: Rename all the tokens:
3519 s/\bENDFILE\b/tok_eof/g;
3520 s/\bIDENTIFIER\b/tok_identifier/g;
3521 etc.
3522 Let them be enums, not #define, to ease debugging.
3523 Adjust all the code.
3524
3525 2001-01-18 Akim Demaille <akim@epita.fr>
3526
3527 * src/lex.h (MAXTOKEN, maxtoken, grow_token_buffer): Remove, private.
3528 * src/lex.c (maxtoken, grow_token_buffer): Static.
3529
3530 2001-01-18 Akim Demaille <akim@epita.fr>
3531
3532 Since we now use obstacks, more % directives can be enabled.
3533
3534 * src/lex.c (percent_table): Also accept `%yacc',
3535 `%fixed_output_files', `%defines', `%no_parser', `%verbose', and
3536 `%debug'.
3537 Handle the actions for `%semantic_parser' and `%pure_parser' here,
3538 instead of returning a token.
3539 * src/lex.h (SEMANTIC_PARSER, PURE_PARSER): Remove, unused.
3540 * src/reader.c (read_declarations): Adjust.
3541 * src/files.c (open_files): Don't call `compute_base_names', don't
3542 compute `attrsfile' since they depend upon data which might be
3543 *in* the input file now.
3544 (output_files): Do it here.
3545 * src/output.c (output_headers): Document the fact that this patch
3546 introduces a guaranteed SEGV for semantic parsers.
3547 * doc/bison.texinfo: Document them.
3548 * tests/suite.at: Exercise these %options.
3549
3550 2000-12-20 Akim Demaille <akim@epita.fr>
3551
3552 Also handle the output file (--verbose) with obstacks.
3553
3554 * files.c (foutput): Remove.
3555 (output_obstack): New.
3556 Adjust all dependencies.
3557 * src/conflicts.c: Return a string.
3558 * src/system.h (obstack_grow_string): Rename as...
3559 (obstack_sgrow): this. Be ready to work with non literals.
3560 (obstack_fgrow4): New.
3561
3562 2000-12-20 Akim Demaille <akim@epita.fr>
3563
3564 * src/files.c (open_files): Fix the computation of short_base_name
3565 in the case of `-o foo.tab.c'.
3566
3567 2000-12-20 Akim Demaille <akim@epita.fr>
3568
3569 * src/reader.c (copy_string, copy_comment, copy_comment2, copy_at)
3570 (copy_dollar): Now that everything uses obstacks, get rid of the
3571 FILE * parameters.
3572
3573 2000-12-20 Akim Demaille <akim@epita.fr>
3574
3575 * src/files.c (open_files): Actually the `.output' file is based
3576 on the short_base_name, not base_name.
3577 * tests/suite.at (Checking output file names): Adjust.
3578
3579 2000-12-20 Akim Demaille <akim@epita.fr>
3580
3581 * src/bison.s1: Remove, we now use directly...
3582 * src/bison.simple: this.
3583 * src/Makefile.am: Use pkgdata instead of data.
3584
3585 2000-12-20 Akim Demaille <akim@epita.fr>
3586
3587 * src/files.c (guard_obstack): New.
3588 (open_files): Initialize it.
3589 (output_files): Dump it...
3590 * src/files.h: Export it.
3591 * src/reader.c (copy_guard): Use it.
3592
3593 2000-12-19 Akim Demaille <akim@epita.fr>
3594
3595 * src/files.c (outfile, defsfile, actfile): Removed as global
3596 vars.
3597 (open_files): Don't compute them.
3598 (output_files): Adjust.
3599 (base_name, short_base_name): Be global.
3600 Adjust dependencies.
3601
3602 2000-12-19 Akim Demaille <akim@epita.fr>
3603
3604 * src/files.c (strsuffix): New.
3605 (stringappend): Be just like strcat but allocate.
3606 (base_names): Eve out from open_files.
3607 Try to simplify the rather hairy computation of base_name and
3608 short_base_name.
3609 (open_files): Use it.
3610 * tests/suite.at (Checking output file names): New test.
3611
3612 2000-12-19 Akim Demaille <akim@epita.fr>
3613
3614 * src/system.h (obstack_grow_literal_string): Rename as...
3615 (obstack_grow_string): this.
3616 * src/output.c (output_parser): Recognize `%% actions' instead of
3617 `$'.
3618 * src/bison.s1: s/$/%% actions/.
3619 * src/bison.hairy: Likewise.
3620
3621 2000-12-19 Akim Demaille <akim@epita.fr>
3622
3623 * src/output.c (output_parser): Compute the `#line' lines when
3624 there are.
3625 * src/Makefile.am (bison.simple): Be a simple copy of bison.s1.
3626 Suggested by Hans Aberg.
3627
3628 2000-12-19 Akim Demaille <akim@epita.fr>
3629
3630 Let the handling of the skeleton files be local to the procedures
3631 that use it.
3632
3633 * src/files.c (xfopen, xfclose, skeleton_find, guardfile): No
3634 longer static.
3635 (fparser, open_extra_files): Remove.
3636 (open_files, output_files): Don't take care of fparser.
3637 * src/files.h: Adjust.
3638 * src/output.c (output_parser): Open and close the file to the
3639 skeleton.
3640 * src/reader.c (read_declarations): When %semantic_parser, open
3641 fguard.
3642
3643 2000-12-19 Akim Demaille <akim@epita.fr>
3644
3645 * src/file.h (BISON_SIMPLE, BISON_HAIRY): Move from here...
3646 * src/system.h (BISON_SIMPLE, BISON_HAIRY): ... to here.
3647
3648 2000-12-19 Akim Demaille <akim@epita.fr>
3649
3650 * src/files.c (open_files): Yipee! We no longer need all the code
3651 looking for `/tmp' since we have no tmp file.
3652
3653 2000-12-19 Akim Demaille <akim@epita.fr>
3654
3655 * src/system.h (EXT_TAB, EXT_OUTPUT, EXT_STYPE_H, EXT_GUARD_C):
3656 New macros.
3657 * src/files.c (open_files): Less dependency on MSDOS etc.
3658
3659 2000-12-14 Akim Demaille <akim@epita.fr>
3660
3661 * src/bison.s1 (YYLLOC_DEFAULT): New macro.
3662 Provide a default definition.
3663 Use it when executing the default @ action.
3664 * src/reader.c (reader_output_yylsp): No longer include
3665 `timestamp' and `text' in the default YYLTYPE.
3666
3667 2000-12-12 Akim Demaille <akim@epita.fr>
3668
3669 * src/reader.c (copy_definition, parse_union_decl, copy_action)
3670 (copy_guard): Quote the file names.
3671 Reported by Laurent Mascherpa.
3672
3673 2000-12-12 Akim Demaille <akim@epita.fr>
3674
3675 * src/output.c (output_headers, output_program, output): Be sure
3676 to escape special characters when outputting filenames.
3677 (ACTSTR_PROLOGUE, ACTSTR_EPILOGUE): Remove.
3678 (output_headers): Don't depend on them, Use ACTSTR.
3679
3680 2000-11-17 Akim Demaille <akim@epita.fr>
3681
3682 * lib/obstack.h: Formatting changes.
3683 (obstack_grow, obstack_grow0): Don't cast WHERE at all: it
3684 prevents type checking.
3685 (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
3686 cast the value to (void *): assigning a `foo *' to a `void *'
3687 variable is valid.
3688 (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
3689 * src/reader.c (parse_union_decl): Typo: use obstack_1grow to
3690 append characters.
3691
3692 2000-11-17 Akim Demaille <akim@epita.fr>
3693
3694 * tests/Makefile.am (suite.m4, regression.m4, calc.m4): Rename
3695 as...
3696 (suite.m4, regression.m4, calc.m4): these.
3697 * tests/atgeneral.m4: Update from CVS Autoconf.
3698
3699 2000-11-17 Akim Demaille <akim@epita.fr>
3700
3701 * tests/regression.m4 (%union and --defines): New test,
3702 demonstrating a current bug in the obstack implementation.
3703
3704 2000-11-17 Akim Demaille <akim@epita.fr>
3705
3706 * src/bison.s1 (_YY_DECL_VARIABLES, YY_DECL_VARIABLES): New
3707 macros.
3708 Use them to declare the variables which are global or local to
3709 `yyparse'.
3710
3711 2000-11-17 Akim Demaille <akim@epita.fr>
3712
3713 * acconfig.h: Remove, no longer used.
3714
3715 2000-11-07 Akim Demaille <akim@epita.fr>
3716
3717 * src: s/Copyright (C)/Copyright/g.
3718
3719 2000-11-07 Akim Demaille <akim@epita.fr>
3720
3721 * src/reader.c (reader): #define YYLSP_NEEDED to 1 instead of just
3722 defining.
3723 * src/bison.s1: s/#ifdef YYLSP_NEEDED/#if YYLSP_NEEDED/.
3724
3725 2000-11-07 Akim Demaille <akim@epita.fr>
3726
3727 * src/bison.s1 (YYLEX): Use #if instead of #ifdef.
3728 Merge in a single CPP if/else.
3729
3730 2000-11-07 Akim Demaille <akim@epita.fr>
3731
3732 * src/output.c (output): Remove useless variables.
3733 * lib/obstack.c (obstack_grow, obstack_grow0): Rename the second
3734 argument `data' for consistency with the prototypes.
3735 Qualify it `const'.
3736 (obstack_copy, obstack_copy0): Rename the second argument as
3737 `address' for consistency. Qualify it `const'.
3738 * lib/obstack.h (obstack_copy, obstack_copy0, obstack_grow)
3739 (obstack_grow0, obstack_ptr_grow, obstack_ptr_grow_fast): Qualify
3740 `const' their input argument (`data' or `address').
3741 Adjust the corresponding macros to include `const' in casts.
3742
3743 2000-11-03 Akim Demaille <akim@epita.fr>
3744
3745 * src/Makefile.am (INCLUDES): s/PFILE/BISON_SIMPLE/.
3746 s/PFILE1/BISON_HAIRY/.
3747 Adjust dependencies.
3748
3749 2000-11-03 Akim Demaille <akim@epita.fr>
3750
3751 For some reason, this was not applied.
3752
3753 * src/files.c [VMS]: No longer include `ssdef.h', no longer define
3754 `unlink': it's no longer used.
3755
3756 2000-11-03 Akim Demaille <akim@epita.fr>
3757
3758 * src/files.c (skeleton_find): New function, eved out of...
3759 (open_files, open_extra_files): here.
3760
3761 2000-11-03 Akim Demaille <akim@epita.fr>
3762
3763 Don't use `atexit'.
3764
3765 * src/files.c (obstack_save): New function.
3766 (done): Rename as...
3767 (output_files): this.
3768 Use `obstack_save'.
3769 * src/main.c (main): Don't use `atexit' to register `done', since
3770 it no longer has to remove tmp files, just call `output_files'
3771 when there are no errors.
3772
3773 2000-11-02 Akim Demaille <akim@epita.fr>
3774
3775 * src/files.c [VMS]: No longer include `ssdef.h', no longer define
3776 `unlink': it's no longer used.
3777 * src/files.h: Formatting changes.
3778
3779 2000-11-02 Akim Demaille <akim@epita.fr>
3780
3781 Remove the last uses of mktemp and unlink/delete.
3782
3783 * src/files.c (fdefines, ftable): Removed.
3784 (defines_ostack, table_obstack): New.
3785 Adjust dependencies of the former into uses of the latter.
3786 * src/output.c (output_short_or_char_table, output_short_table):
3787 Convert to using obstacks.
3788 * src/reader.c (copy_comment2): Accept one FILE * and two
3789 obstacks.
3790 (output_token_defines, reader_output_yylsp): Use obstacks.
3791 * src/system.h (obstack_fgrow3): New.
3792
3793 2000-11-01 Akim Demaille <akim@epita.fr>
3794
3795 Change each use of `fattrs' into a use of `attrs_obstack'.
3796
3797 * src/reader.c (copy_at): Typo: s/yylloc/yyloc/.
3798 * src/files.c (fattrs): Remove.
3799 (attrs_obstack): New.
3800 Adjust all dependencies.
3801 (done): If SEMANTIC_PARSER, dump attrs_obstack into attrsfile.
3802
3803 2000-11-01 Akim Demaille <akim@epita.fr>
3804
3805 Introduce obstacks.
3806 Change each use of `faction' into a use of `action_obstack'.
3807
3808 * lib/obstack.h, lib/obstack.c: New files.
3809 * src/files.c (faction): Remove.
3810 (action_obstack): New.
3811 Adjust all dependencies.
3812
3813 2000-10-20 Akim Demaille <akim@epita.fr>
3814
3815 * lib/quote.h (PARAMS): New macro. Use it.
3816
3817 2000-10-16 Akim Demaille <akim@epita.fr>
3818
3819 * src/output.c (output_short_or_char_table): New function.
3820 (output_short_table, output_token_translations): Use it.
3821 (goto_actions): Use output_short_table.
3822
3823 2000-10-16 Akim Demaille <akim@epita.fr>
3824
3825 * src/symtab.c (bucket_new): New function.
3826 (getsym): Use it.
3827
3828 * src/output.c (output_short_table): New argument to display the
3829 comment associated with the table.
3830 Adjust dependencies.
3831 (output_gram): Use it.
3832 (output_rule_data): Nicer output layout for YYTNAME.
3833
3834 2000-10-16 Akim Demaille <akim@epita.fr>
3835
3836 * src/lex.c (read_typename): New function.
3837 (lex): Use it.
3838 * src/reader.c (copy_dollar): Likewise.
3839
3840 2000-10-16 Akim Demaille <akim@epita.fr>
3841
3842 * src/reader.c (copy_comment2): Expect the input stream to be on
3843 the `/' which is suspected to open a comment, instead of being
3844 called after `//' or `/*' was read.
3845 (copy_comment, copy_definition, parse_union_decl, copy_action)
3846 (copy_guard): Adjust.
3847
3848 2000-10-16 Akim Demaille <akim@epita.fr>
3849
3850 * src/reader.c (parse_expect_decl): Use `skip_white_space' and
3851 `read_signed_integer'.
3852
3853 2000-10-16 Akim Demaille <akim@epita.fr>
3854
3855 * src/reader.c (copy_dollar): New function.
3856 (copy_guard, copy_action): Use it.
3857
3858 2000-10-16 Akim Demaille <akim@epita.fr>
3859
3860 * lib/quote.h, lib/quote.c, lib/quotearg.h, lib/quotearg.c:
3861 * m4/prereq.m4, m4/c-bs-a.m4, m4/mbstate.m4:
3862 New files, from Fileutils 4.0.27.
3863 * src/main.c (printable_version): Remove.
3864 * src/lex.c, src/reader.c: Use `quote'.
3865
3866 2000-10-04 Akim Demaille <akim@epita.fr>
3867
3868 * lib/error.c, lib/error.h: New files, needed by xmalloc.c.
3869
3870 2000-10-04 Akim Demaille <akim@epita.fr>
3871
3872 * doc/bison.texinfo: Various typos spotted by Neil Booth.
3873
3874 2000-10-04 Akim Demaille <akim@epita.fr>
3875
3876 When a literal string is used to define two different tokens,
3877 `bison -v' segfaults.
3878 Reported by Piotr Gackiewicz, and fixed by Neil Booth.
3879
3880 * tests/regression.m4: New file.
3881 Include the core of the sample provided by Piotr Gackiewicz.
3882 * src/reader.c (parse_token_decl): Diagnose bad cases, and proceed
3883 properly.
3884
3885 2000-10-04 Akim Demaille <akim@epita.fr>
3886
3887 * src/reader.c (parse_expect_decl): Keep `count' within the size
3888 of `buffer'.
3889 From Neil Booth.
3890
3891 2000-10-02 Paul Eggert <eggert@twinsun.com>
3892
3893 * bison.s1 (yyparse): Assign the default value
3894 unconditionally, to avoid a GCC warning and make the parser a
3895 tad smaller.
3896
3897 2000-10-02 Akim Demaille <akim@epita.fr>
3898
3899 * src/getargs.c (getargs): Don't dump `--help' on unrecognized
3900 options.
3901
3902 2000-10-02 Akim Demaille <akim@epita.fr>
3903
3904 * src/derives.c, src/print.c, src/reduce.c: To ease the
3905 translation, move some `\n' out of the translated strings.
3906
3907 2000-10-02 Akim Demaille <akim@epita.fr>
3908
3909 The location tracking mechanism is precious for parse error
3910 messages. Nevertheless, it is enabled only when `@n' is used in
3911 the grammar, which is a different issue (you can use it in error
3912 message, but not in the grammar per se). Therefore, there should
3913 be another means to enable it.
3914
3915 * src/getargs.c (getargs): Support `--locations'.
3916 (usage): Report it.
3917 * src/getargs.h (locationsflag): Export it.
3918 * src/lex.c (percent_table): Support `%locations'.
3919 * src/reader.c (yylsp_needed): Remove this variable, now replaced
3920 with `locationsflag'.
3921 * doc/bison.texinfo: Document `--locations' and `%locations'.
3922 Sort the options.
3923 * tests/calc.m4: Test it.
3924
3925 For regularity of the names, replace each
3926 (nolineflag, toknumflag, rawtokenumflag, noparserflag): with...
3927 (no_lineflag, token_tableflag, rawflag, no_parserflag): this.
3928 In addition replace each `flag' with `_flag'.
3929
3930 2000-10-02 Akim Demaille <akim@epita.fr>
3931
3932 Also test parse error messages, including with YYERROR_VERBOSE.
3933
3934 * tests/calc.m4 (calc.y): Add support for `exp = exp' (non
3935 associative).
3936 Use it to check the computations.
3937 Use it to check `nonassoc' is honored.
3938 (AT_DATA_CALC_Y): Equip `calc.y' with YYERROR_VERBOSE when passed
3939 `--yyerror-verbose'.
3940 (_AT_CHECK_CALC): Adjust to this option.
3941 (_AT_CHECK_CALC_ERROR): New macro to check parse error messages.
3942
3943 2000-10-02 Akim Demaille <akim@epita.fr>
3944
3945 Test also `--verbose', `--defines' and `--name-prefix'. Testing
3946 the latter demonstrates a flaw in the handling of non debugging
3947 parsers introduced by myself on 2000-03-16: `#define yydebug 0'
3948 was used in order to simplify:
3949
3950 #if YYDEBUG
3951 if (yydebug)
3952 {
3953 ...
3954 }
3955 #endif
3956
3957 into
3958
3959 if (yydebug)
3960 {
3961 ...
3962 }
3963
3964 unfortunately this leads to a CPP conflict when
3965 `--name-prefix=foo' is used since it produces `#define yydebug
3966 foodebug'.
3967
3968 * src/bison.s1 [!YYDEBUG]: Do not define yydebug.
3969 (YYDPRINTF): New macro.
3970 Spread its use.
3971 * tests/calc.m4 (AT_CHECK_CALC): Do require a title, build it from
3972 the bison options.
3973 Also test `--verbose', `--defines' and `--name-prefix'.
3974
3975 2000-10-02 Akim Demaille <akim@epita.fr>
3976
3977 Improve the readability of the produced parsers.
3978
3979 * src/bison.s1: Formatting changes.
3980 Improve the comment related to the `$' mark.
3981 (yydefault): Don't fall through to `yyresume': `goto' there.
3982 * src/output.c (output_parser): When the `$' is met, skip the end
3983 of its line.
3984 New variable, `number_of_dollar_signs', to check there's exactly
3985 one `$' in the parser skeleton.
3986
3987 2000-10-02 Akim Demaille <akim@epita.fr>
3988
3989 * lib/xstrdup.c: New file, from the fileutils.
3990 * src/reader.c (parse_token_decl, get_type_name, parse_type_decl)
3991 (parse_assoc_decl, parse_thong_decl, get_type): Use `xstrdup'
3992 instead of strlen + xmalloc + strcpy.
3993 * src/symtab.c (copys): Remove, use xstrdup instead.
3994
3995 2000-10-02 Akim Demaille <akim@epita.fr>
3996
3997 * src/gram.h (associativity): New enum type which replaces the
3998 former CPP macros `RIGHT_ASSOC', `LEFT_ASSOC' and `NON_ASSOC' with
3999 `right_assoc', `left_assoc' and `non_assoc'.
4000 Adjust all dependencies.
4001 * src/reader.c: Formatting changes.
4002 (LTYPESTR): Don't define it, use it as a literal in
4003 `reader_output_yylsp'.
4004 * src/symtab.h (symbol_class): New enum type which replaces the
4005 former CPP macros `SUNKNOWN', `STOKEN and `SNTERM' with
4006 `sunknown', `stoken and `snterm'.
4007
4008 2000-10-02 Akim Demaille <akim@epita.fr>
4009
4010 * src/getargs.c (fixed_outfiles): Rename as...
4011 (yaccflag): for consistency and accuracy.
4012 Adjust dependencies.
4013
4014 2000-10-02 Akim Demaille <akim@epita.fr>
4015
4016 Use the more standard files `xalloc.h' and `xmalloc.c' instead of
4017 Bison's `allocate.c' and `alloc.h'. This patch was surprisingly
4018 difficult and introduced a lot of core dump. It turns out that
4019 Bison used an implementation of `xmalloc' based on `calloc', and
4020 at various places it does depend upon the initialization to 0. I
4021 have not tried to isolate the pertinent places, and all the former
4022 calls to Bison's `xmalloc' are now using `XCALLOC'. Someday,
4023 someone should address this issue.
4024
4025 * src/allocate.c, src/alloc.h, m4/bison-decl.m4: Remove.
4026 * lib/xmalloc.c, lib/xalloc.h, m4/malloc.m4, m4/realloc.m4: New
4027 files.
4028 Adjust dependencies.
4029 * src/warshall.h: New file.
4030 Propagate.
4031
4032 2000-10-02 Akim Demaille <akim@epita.fr>
4033
4034 Various anti-`extern in *.c' changes.
4035
4036 * src/system.h: Include `assert.h'.
4037
4038 2000-10-02 Akim Demaille <akim@epita.fr>
4039
4040 * src/state.h (nstates, final_state, first_state, first_shift)
4041 (first_reduction): Move their exportation from here...
4042 * src/LR0.h: to here.
4043 Adjust dependencies.
4044 * src/getargs.c (statisticsflag): New variable.
4045 Add support for `--statistics'.
4046 Adjust dependencies.
4047
4048 Remove a lot of now useless `extern' statements in most files.
4049
4050 2000-10-02 Akim Demaille <akim@epita.fr>
4051
4052 * src/LR0.h: New file.
4053 Propagate its use.
4054
4055 2000-10-02 Akim Demaille <akim@epita.fr>
4056
4057 * src/print.h: New file.
4058 Propagate its use.
4059 * src/print.c: Formatting and ordering changes.
4060 (verbose, terse): Replace with...
4061 (print_results): this new function.
4062 Adjust dependencies.
4063
4064 2000-10-02 Akim Demaille <akim@epita.fr>
4065
4066 * src/conflicts.c (conflict_report): New function.
4067 (conflict_log, verbose_conflict_log): Replace with...
4068 (print_conflicts): this function.
4069 Adjust dependencies.
4070 * src/conflicts.h: New file.
4071 Propagate its inclusion.
4072
4073 2000-10-02 Akim Demaille <akim@epita.fr>
4074
4075 * src/nullable.h: New file.
4076 Propagate its inclusion.
4077 * src/nullable.c: Formatting changes.
4078
4079 2000-10-02 Akim Demaille <akim@epita.fr>
4080
4081 * src/reduce.h: New file.
4082 Propagate its inclusion.
4083 * src/reduce.c: Topological sort and other formatting changes.
4084 (bool, TRUE, FALSE): Move their definition to...
4085 * src/system.h: here.
4086
4087 2000-10-02 Akim Demaille <akim@epita.fr>
4088
4089 * src/files.c: Formatting changes.
4090 (tryopen, tryclose, openfiles): Rename as...
4091 (xfopen, xfclose, open_files): this.
4092 (stringappend): static.
4093 * src/files.h: Complete the list of exported symbols.
4094 Propagate its use.
4095
4096 2000-10-02 Akim Demaille <akim@epita.fr>
4097
4098 * src/reader.h: New file.
4099 Propagate its use instead of tedious list of `extern' and
4100 prototypes.
4101 * src/reader.c: Formatting changes, topological sort,
4102 s/register//.
4103
4104 2000-10-02 Akim Demaille <akim@epita.fr>
4105
4106 * src/lex.h: Prototype `lex.c' exported functions.
4107 * src/reader.c: Adjust.
4108 * src/lex.c: Formatting changes.
4109 (safegetc): Rename as...
4110 (xgetc): this.
4111
4112 2000-10-02 Akim Demaille <akim@epita.fr>
4113
4114 * src/lalr.h: New file.
4115 Propagate its inclusion instead of prototypes and `extern'.
4116 * src/lalr.c: Formatting changes, topological sorting etc.
4117
4118 2000-10-02 Akim Demaille <akim@epita.fr>
4119
4120 * src/output.c (token_actions): Introduce a temporary array,
4121 YYDEFACT, that makes it possible for this function to use
4122 output_short_table.
4123
4124 2000-10-02 Akim Demaille <akim@epita.fr>
4125
4126 `user_toknums' is output as a `short[]' in `output.c', while it is
4127 defined as a `int[]' in `reader.c'. For consistency with the
4128 other output tables, `user_toknums' is now defined as a table of
4129 shorts.
4130
4131 * src/reader.c (user_toknums): Be a short table instead of an int
4132 table.
4133 Adjust dependencies.
4134
4135 Factor the short table outputs.
4136
4137 * src/output.c (output_short_table): New function.
4138 * src/output.c (output_gram, output_stos, output_rule_data)
4139 (output_base, output_table, output_check): Use it.
4140
4141 2000-10-02 Akim Demaille <akim@epita.fr>
4142
4143 * src/output.c (output): Topological sort of the functions, in
4144 order to get rid of the `static' prototypes.
4145 No longer use `register'.
4146 * src/output.h: New file.
4147 Propagate its inclusion in files explicitly prototyping functions
4148 from output.c.
4149
4150 2000-09-21 Akim Demaille <akim@epita.fr>
4151
4152 * src/atgeneral.m4: Update from Autoconf.
4153
4154 2000-09-21 Akim Demaille <akim@epita.fr>
4155
4156 * src/closure.h: New file.
4157 * src/closure.c: Formatting changes, topological sort over the
4158 functions, use of closure.h.
4159 (initialize_closure, finalize_closure): Rename as...
4160 (new_closure, free_closure): these. Adjust dependencies.
4161 * src/LR0.c: Formatting changes, topological sort, use of
4162 cloture.h.
4163 (initialize_states): Rename as...
4164 (new_states): this.
4165 * src/Makefile.am (noinst_HEADERS): Adjust.
4166
4167 2000-09-20 Akim Demaille <akim@epita.fr>
4168
4169 * src/acconfig.h: Don't protect config.h against multiple
4170 inclusion.
4171 Don't define PARAMS.
4172 * src/system.h: Define PARAMS.
4173 Remove some of the ad-hoc CPP magic for DOS, VMS etc.: this is the
4174 purpose of config.h. system.h must not try to fix wrong
4175 definitions in config.h.
4176
4177 2000-09-20 Akim Demaille <akim@epita.fr>
4178
4179 * src/derives.h: New file.
4180 * src/main.c, src/derives.h: Use it.
4181 Formatting changes.
4182 * src/Makefile.am (noinst_HEADERS): Adjust.
4183
4184 2000-09-20 Akim Demaille <akim@epita.fr>
4185
4186 * tests/atgeneral.m4: Update from Autoconf.
4187 * tests/calc.m4 (_AT_DATA_CALC_Y, AT_DATA_CALC_Y, _AT_CHECK_CALC)
4188 (AT_CHECK_CALC): New macros.
4189 Use these macros to test bison with options `', `--raw',
4190 `--debug', `--yacc', `--yacc --debug'.
4191
4192 2000-09-19 Akim Demaille <akim@epita.fr>
4193
4194 * src/output.c: Formatting changes.
4195 * src/machine.h: Remove, leaving its contents in...
4196 * src/system.h: here.
4197 Include stdio.h.
4198 Adjust all dependencies on stdio.h and machine.h.
4199 * src/getargs.h: New file.
4200 Let all `extern' declarations about getargs.c be replaced with
4201 inclusion of `getargs.h'.
4202 * src/Makefile.am (noinst_HEADERS): Adjust.
4203
4204 * tests/calc.m4 (yyin): Be initialized in main, not on the global
4205 scope.
4206 (yyerror): Returns void, not int.
4207 * doc/bison.texinfo: Formatting changes.
4208
4209 2000-09-19 Akim Demaille <akim@epita.fr>
4210
4211 * tests/calc.m4 (calc.y): Do not assign to stdin, as it's not
4212 portable.
4213
4214 2000-09-18 Akim Demaille <akim@epita.fr>
4215
4216 * configure.in: Append WARNING_CFLAGS to CFLAGS.
4217 * src/Makefile.am (INCLUDES): Don't.
4218 Be ready to fetch headers in lib/.
4219
4220 2000-09-18 Akim Demaille <akim@epita.fr>
4221
4222 * doc/bison.texinfo: Update the copyright.
4223 ANSIfy and GNUify the examples.
4224 Remove the old menu.
4225
4226 2000-09-18 Akim Demaille <akim@epita.fr>
4227
4228 First set of tests: use the `calc' example from the documentation.
4229
4230 * src/bison.s1 (yyparse): Condition the code using `yytname' which
4231 is defined only when YYDEBUG is.
4232 * m4/atconfig.m4 (AT_CONFIG): Adjust to Autoconf 2.13.
4233 * src/files.c (tryopen, tryclose): Formatting changes.
4234 Move to the top and be static.
4235 * src/reader.c (read_signed_integer): Likewise.
4236 * tests/calc.m4: New file.
4237 * Makefile.am, suite.m4: Adjust.
4238 * m4/atconfig.m4: Set BISON_SIMPLE and BISON_HAIRY.
4239
4240 2000-09-18 Akim Demaille <akim@epita.fr>
4241
4242 Add support for an Autotest test suite for Bison.
4243
4244 * m4/m4.m4, m4/atconfig.m4: New files.
4245 * m4/Makefile.am (EXTRA_DIST): Adjust.
4246 * tests/suite.m4, tests/Makefile.am, tests/atgeneral.m4: New
4247 files.
4248 * src/getargs.c: Display a more standard --version message.
4249 * src/reader.c (reader): Formatting changes.
4250 No longer depend upon VERSION_STRING.
4251 * configure.in: No longer use `dnl'.
4252 Set up the test suite and the new directory `tests/.
4253 (VERSION_STRING): Remove.
4254
4255 2000-04-14 Akim Demaille <akim@epita.fr>
4256
4257 * src/reader.c (copy_comment2): New function, same as former
4258 `copy_comment', but outputs into two FILE *.
4259 (copy_comment): Use it.
4260 (parse_union_decl): Use it.
4261 (get_type, parse_start_decl): Use the same `invalid' message.
4262 (parse_start_decl, parse_union_decl): Use the same `multiple'
4263 message.
4264 (parse_union_decl, copy_guard, copy_action): Use the same
4265 `unmatched' message.
4266 * m4/Makefile.am (EXTRA_DIST): Add `warning.m4'.
4267
4268 2000-03-31 Akim Demaille <akim@epita.fr>
4269
4270 * src/files.c (tryopen, tryclose): Move to the top.
4271 Be static.
4272
4273 2000-03-31 Akim Demaille <akim@epita.fr>
4274
4275 * src/main.c (main): Don't call `done', exit does it.
4276
4277 2000-03-31 Akim Demaille <akim@epita.fr>
4278
4279 * allocate.c: s/return (foo)/return foo/.
4280 * lalr.c: Likewise.
4281 * LR0.c: Likewise.
4282 * output.c: Likewise.
4283 * reader.c: Likewise.
4284 * symtab.c: Likewise.
4285 * vmsgetargs.c: Likewise.
4286
4287 2000-03-31 Akim Demaille <akim@epita.fr>
4288
4289 Clean up the error reporting functions.
4290
4291 * src/report.c: New file.
4292 * src/report.h: Likewise.
4293 * src/Makefile.am: Adjust.
4294 * m4/error.m4: New file.
4295 * m4/Makefile.am: Adjust.
4296 * configure.in (jm_PREREQ_ERROR): Call it.
4297 * src/main.c (int_to_string, banner, fatal_banner, warn_banner):
4298 Remove.
4299 (fatal, fatals): Remove. All callers use complain.c::fatal.
4300 (warn, warni, warns, warnss, warnss): Remove. All callers use
4301 complain.c::complain.
4302 (toomany): Remove, use fatal instead.
4303 * src/files.c (done): No argument, use complain_message_count.
4304 * src/main.c (main): Register `done' to `atexit'.
4305
4306 * src/getargs.c (usage): More `fputs', less `fprintf'.
4307
4308 2000-03-28 Akim Demaille <akim@epita.fr>
4309
4310 * lib/: New directory.
4311 * Makefile.am (SUBDIRS): Adjust.
4312 * configure.in: Adjust.
4313 (LIBOBJS): Although not used yet, AC_SUBST it, otherwise it's
4314 useless.
4315 * src/alloca.c: Moved to lib/.
4316 * src/getopt.c: Likewise.
4317 * src/getopt1.c: Likewise.
4318 * src/getopt.h: Likewise.
4319 * src/ansi2knr.c: Likewise.
4320 * src/ansi2knr.1: Likewise.
4321 * src/Makefile.am: Adjust.
4322 * lib/Makefile.am: New file.
4323
4324 2000-03-28 Akim Demaille <akim@epita.fr>
4325
4326 * src/getargs.c (usage): Refresh the help message.
4327
4328 2000-03-17 Akim Demaille <akim@epita.fr>
4329
4330 * src/getopt1.c: Updated from textutils 2.0e
4331 * src/getopt.c: Likewise.
4332 * src/getopt.h: Likewise.
4333
4334 2000-03-17 Akim Demaille <akim@epita.fr>
4335
4336 * src/Makefile.am (bison.simple): Fix the awk program: quote only
4337 the file name, not the whole `#line LINE FILE'.
4338
4339 2000-03-17 Akim Demaille <akim@epita.fr>
4340
4341 On syntax errors, report the token on which we choked.
4342
4343 * src/bison.s1 (yyparse): In the label yyerrlab, when
4344 YYERROR_VERBOSE, add yychar in msg.
4345
4346 2000-03-17 Akim Demaille <akim@epita.fr>
4347
4348 * src/reader.c (copy_at): New function.
4349 (copy_guard): Use it.
4350 (copy_action): Use it.
4351
4352 2000-03-17 Akim Demaille <akim@epita.fr>
4353
4354 Be kind to translators, save some useless translations.
4355
4356 * src/main.c (banner): New function.
4357 (fatal_banner): Use it.
4358 (warn_banner): Use it.
4359
4360 2000-03-17 Akim Demaille <akim@epita.fr>
4361
4362 * src/reader.c (copy_definition): Use copy_string and
4363 copy_comment. Removed now unused `match', `ended',
4364 `cplus_comment'.
4365 (copy_comment, copy_string): Moved, to be visible from
4366 copy_definition.
4367
4368 2000-03-17 Akim Demaille <akim@epita.fr>
4369
4370 * src/reader.c (copy_string): Declare `static inline'. No
4371 problems with inline, since it is checked by configure.
4372 (copy_comment): Likewise.
4373
4374 2000-03-17 Akim Demaille <akim@epita.fr>
4375
4376 * src/reader.c (packsymbols): Formatting changes.
4377
4378 2000-03-17 Akim Demaille <akim@epita.fr>
4379
4380 * src/reader.c (copy_comment): New function, factored out from:
4381 (copy_action): Use it. Removed now unused `match', `ended',
4382 `cplus_comment'.
4383 (copy_guard): Likewise.
4384
4385 2000-03-17 Akim Demaille <akim@epita.fr>
4386
4387 * src/reader.c (copy_string): New function, factored out from:
4388 (copy_action): Use it.
4389 (copy_guard): Likewise.
4390
4391 2000-03-17 Akim Demaille <akim@epita.fr>
4392
4393 Change the handling of @s so that they behave exactly like $s.
4394 There is now a pseudo variable @$ (readble and writable), location
4395 of the lhs of the rule (by default ranging from the location of
4396 the first symbol of the rhs, to the location of the last symbol,
4397 or, if the rhs is empty, YYLLOC).
4398
4399 * src/bison.s1 [YYLSP_NEEDED] (yyloc): New variable, twin of
4400 yyval.
4401 (yyparse): When providing a default semantic action, provide a
4402 default location action.
4403 (after the $): No longer change `*YYLSP', just stack YYLOC the
4404 same way you stack YYVAL.
4405 * src/reader.c (read_declarations): Use warns.
4406 (copy_guard, case '@'): Also recognize `@$', expanded as `YYLOC'.
4407 (copy_action, case '@'): Likewise.
4408 Use a standard error message, to save useless work from
4409 translators.
4410
4411 2000-03-17 Akim Demaille <akim@epita.fr>
4412
4413 * src/bison.s1: Formatting and cosmetics changes.
4414 * src/reader.c: Likewise.
4415 Update the Copyright notice.
4416
4417 2000-03-17 Akim Demaille <akim@epita.fr>
4418
4419 * src/bison.s1 (#line): All set to `#line' only, since the
4420 Makefile now handles them.
4421
4422 2000-03-16 Akim Demaille <akim@epita.fr>
4423
4424 * src/output.c (output_rule_data): Output the documentation of
4425 some of the tables.
4426 (Copyright notice): Update.
4427 Formatting changes.
4428
4429 2000-03-16 Akim Demaille <akim@epita.fr>
4430
4431 * src/bison.s1 [!YYDEBUG]: Define yydebug to 0. This allows to
4432 remove most `#if YYDEBUG != 0', since `if (yydebug)' is enough.
4433 One `#if YYDEBUG' remains, since it uses variables which are
4434 defined only if `YYDEBUG != 0'.
4435
4436 2000-03-16 Akim Demaille <akim@epita.fr>
4437
4438 * src/bison.s1 (yyparse): Reorganize the definitions of the stacks
4439 and related variables so that the similarities are highlighted.
4440
4441 2000-03-16 Akim Demaille <akim@epita.fr>
4442
4443 * src/bison.s1: Properly indent CPP directives.
4444
4445 2000-03-16 Akim Demaille <akim@epita.fr>
4446
4447 * src/bison.s1: Properly indent the `alloca' CPP section.
4448
4449 2000-03-16 Akim Demaille <akim@epita.fr>
4450
4451 Do not hard code values of directories in `configure.in'.
4452 Update the `configure' tool chain.
4453
4454 * configure.in (XPFILE, XPFILE1, LOCALEDIR): Remove, handled by
4455 src/makefile.am.
4456 (VERSION_STRING): Use the third arg of AC_DEFINE_UNQUOTED.
4457 (AC_OUTPUT): Add m4/Makefile.
4458 Bump to bison 1.28a, 1.29 has never been released.
4459 * acconfig.h (XPFILE, XPFILE1, LOCALEDIR): Remove, since they are
4460 handled via src/Makefile.am.
4461 (VERSION_STRING, PROTOTYPES, ENABLE_NLS, HAVE_CATGETS,
4462 HAVE_GETTEXT, HAVE_LC_MESSAGES, HAVE_STPCPY): Remove, handled by
4463 autoheader.
4464 * Makefile.am (SUBDIRS): Add m4.
4465 (ACLOCAL_AM_FLAGS): New variable.
4466 (AUTOMAKE_OPTIONS): Add check-news.
4467 * src/Makefile.am (bison.simple): Use awk to replace #line lines with
4468 the proper line number and file name.
4469 (DEFS): Propagate the location of bison library files and of the
4470 locale files.
4471 (INCLUDES): Added `-I ..' so that one can compile with srcdir !=
4472 builddir.
4473 * acinclude.m4: Remove, replaced by the directory m4.
4474 * m4/Makefile.am (EXTRA_DIST): New variable.
4475 * m4/gettext.m4: New file, from the fileutils.
4476 * m4/lcmessage.m4: Likewise
4477 * m4/progtest.m4: Likewise.
4478 * m4/bison-decl.m4: New file, extracted from former acinclude.m4.
4479
4480 2000-03-10 Akim Demaille <akim@epita.fr>
4481
4482 * src/closure.c:
4483 Formatting changes of various comments.
4484 Respect the GNU coding standards at various places.
4485 Don't use `_()' when no translation is needed.
4486
4487 1999-12-13 Jesse Thilo <jthilo@gnu.org>
4488
4489 * src/files.c:
4490 OS/2 honors TMPDIR environment variable.
4491
4492 1999-12-13 Jesse Thilo <jthilo@gnu.org>
4493
4494 * doc/bison.texinfo: Tweaked spelling and grammar.
4495 Updated ISBN.
4496 Removed reference to price of printed copy.
4497 Mention BISON_SIMPLE and BISON_HAIRY.
4498
4499 1999-12-13 Jesse Thilo <jthilo@gnu.org>
4500
4501 * configure.in, NEWS:
4502 Bison 1.29 released.
4503
4504 1999-10-27 Jesse Thilo <jthilo@gnu.org>
4505
4506 * doc/.cvsignore, doc/Makefile.am, doc/refcard.tex:
4507 Added reference card.
4508
4509 1999-07-26 Jesse Thilo <jthilo@gnu.org>
4510
4511 * po/ru.po: Added Russian translation.
4512
4513 1999-07-26 Jesse Thilo <jthilo@gnu.org>
4514
4515 * configure.in: Added Russian translation.
4516
4517 1999-07-06 Jesse Thilo <jthilo@gnu.org>
4518
4519 * configure.in, NEWS, README:
4520 Released version 1.28.
4521
4522 1999-06-14 Jesse Thilo <jthilo@gnu.org>
4523
4524 * src/system.h:
4525 Squashed redefinition warning on some systems.
4526
4527 * src/getargs.c, src/Makefile.am, src/reader.c, src/version.c:
4528 Have configure build version string instead of relying on ANSI string
4529 concatentation.
4530
4531 1999-06-14 Jesse Thilo <jthilo@gnu.org>
4532
4533 * po/POTFILES.in: Got rid of version.c.
4534
4535 1999-06-14 Jesse Thilo <jthilo@gnu.org>
4536
4537 * acconfig.h, configure.in:
4538 Have configure build version string instead of relying on ANSI string
4539 concatentation.
4540
4541 1999-06-08 Jesse Thilo <jthilo@gnu.org>
4542
4543 * doc/bison.1:
4544 Dropped mention of `+' for long-named options.
4545
4546 1999-05-30 Jesse Thilo <jthilo@gnu.org>
4547
4548 * src/files.c: Added <unistd.h> for unlink().
4549
4550 * src/Makefile.am, src/system.h:
4551 I18n fixes.
4552
4553 1999-05-30 Jesse Thilo <jthilo@gnu.org>
4554
4555 * README: Added a FAQ list.
4556
4557 * configure.in, acconfig.h:
4558 I18n fixes.
4559
4560 1999-05-30 Jesse Thilo <jthilo@gnu.org>
4561
4562 * doc/FAQ, doc/Makefile.am:
4563 Added a FAQ list.
4564
4565 1999-05-19 Jesse Thilo <jthilo@gnu.org>
4566
4567 * src/alloc.h, src/symtab.h, src/version.c:
4568 Protected inclusion of "config.h" with HAVE_CONFIG_H.
4569
4570 1999-04-18 Jesse Thilo <jthilo@gnu.org>
4571
4572 * src/.cvsignore, src/Makefile.am:
4573 Reorganized: sources in `src', documentation in `doc'.
4574
4575 * src/lex.c (literalchar):
4576 fixed the code for escaping double quotes (thanks
4577 Jonathan Czisny.)
4578
4579 1999-04-18 Jesse Thilo <jthilo@gnu.org>
4580
4581 * po/de.po, po/es.po, po/fr.po, po/nl.po, po/POTFILES.in:
4582 Adjusted paths to reflect directory reorganization.
4583
4584 1999-04-18 Jesse Thilo <jthilo@gnu.org>
4585
4586 * doc/.cvsignore, doc/Makefile.am:
4587 Reorganized: sources in `src', documentation in `doc'.
4588
4589 1999-04-18 Jesse Thilo <jthilo@gnu.org>
4590
4591 * configure.in:
4592 Updated AC_INIT file to reflect directory reorganization.
4593
4594 * configure.in, .cvsignore, Makefile.am, POTFILES.in:
4595 Reorganized: sources in `src', documentation in `doc'.
4596
4597 1999-04-13 Jesse Thilo <jthilo@gnu.org>
4598
4599 * src/allocate.c:
4600 Don't declare calloc() and realloc() if not necessary.
4601
4602 1999-04-13 Jesse Thilo <jthilo@gnu.org>
4603
4604 * configure.in, acconfig.h, acinclude.m4:
4605 Don't declare calloc() and realloc() if not necessary.
4606
4607 1999-03-23 Jesse Thilo <jthilo@gnu.org>
4608
4609 * po/.cvsignore: Added i18n support.
4610
4611 1999-03-23 Jesse Thilo <jthilo@gnu.org>
4612
4613 * acconfig.h, configure.in, Makefile.am:
4614 Added i18n support.
4615
4616 1999-03-22 Jesse Thilo <jthilo@gnu.org>
4617
4618 * src/bison.s1: Fixed #line numbers.
4619
4620 1999-03-15 Jesse Thilo <jthilo@gnu.org>
4621
4622 * po/es.po, po/fr.po, po/nl.po, po/de.po:
4623 Added PO files from Translation Project.
4624
4625 1999-03-03 Jesse Thilo <jthilo@gnu.org>
4626
4627 * Makefile.am:
4628 Added support for non-ANSI compilers (ansi2knr).
4629
4630 1999-02-16 Jesse Thilo <jthilo@gnu.org>
4631
4632 * configure.in: Bumped version number to 1.27.
4633
4634 * Makefile.am:
4635 Added `bison.simple' to list of files removed by `make distclean'.
4636
4637 1999-02-12 Jesse Thilo <jthilo@gnu.org>
4638
4639 * src/files.c, src/files.h:
4640 Defined locations of parser files in config.h instead of Makefile.
4641
4642 1999-02-12 Jesse Thilo <jthilo@gnu.org>
4643
4644 * acconfig.h, acinclude.m4, configure.in, Makefile.am:
4645 Defined locations of parser files in config.h instead of Makefile.
4646
4647 1999-02-09 Jesse Thilo <jthilo@gnu.org>
4648
4649 * Makefile.am:
4650 Removed inappropriate use of $< macro.
4651
4652 1999-02-05 Jesse Thilo <jthilo@gnu.org>
4653
4654 * po/Makefile.in.in, po/POTFILES.in:
4655 Add `po' directory skeleton.
4656
4657 1999-01-27 Jesse Thilo <jthilo@gnu.org>
4658
4659 * README: Document help-bison list.
4660
4661 * configure.in: Add check for mkstemp().
4662
4663 1999-01-20 Jesse Thilo <jthilo@gnu.org>
4664
4665 * src/conflicts.c, src/LR0.c, src/output.c, src/reader.c:
4666 Hush a few compiler warnings.
4667
4668 * src/files.c:
4669 Add tryclose(), which verifies that fclose was successful.
4670 Hush a couple of compiler warnings.
4671
4672 1999-01-20 Jesse Thilo <jthilo@gnu.org>
4673
4674 * Makefile.am, OChangeLog:
4675 ChangeLog is now automatically generated. Include the old version as
4676 OChangeLog.
4677
4678 1999-01-14 Jesse Thilo <jthilo@gnu.org>
4679
4680 * 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:
4681 Update FSF address.
4682
4683 1999-01-14 Jesse Thilo <jthilo@gnu.org>
4684
4685 * doc/bison.texinfo: Fix formatting glitch.
4686
4687 * doc/bison.texinfo: Update FSF address.
4688
4689 1999-01-14 Jesse Thilo <jthilo@gnu.org>
4690
4691 * acconfig.h: Update FSF address.
4692
4693 1999-01-08 Jesse Thilo <jthilo@gnu.org>
4694
4695 * src/system.h:
4696 Don't define PACKAGE here, since config.h defines it.
4697
4698 1998-12-30 Jesse Thilo <jthilo@gnu.org>
4699
4700 * src/reader.c: Update copyright date.
4701
4702 * src/main.c:
4703 Ditch sprintf to statically-sized buffers in fatal/warn functions in
4704 favor of output directly to stderr (avoids buffer overruns).
4705
4706 * src/reader.c: Some checks for premature EOF.
4707
4708 * 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:
4709 Use prototypes if the compiler understands them.
4710
4711 * src/files.c: Honor TMPDIR on Unix hosts.
4712 Use prototypes if the compiler understands them.
4713
4714 * src/reader.c:
4715 Fix a couple of buffer overrun bugs.
4716 Use prototypes if the compiler understands them.
4717
4718 * src/system.h: Include unistd.h and ctype.h.
4719 Use #ifdef instead of #if for NLS symbols.
4720
4721 1998-12-30 Jesse Thilo <jthilo@gnu.org>
4722
4723 * doc/bison.texinfo:
4724 Delete comment "consider using @set for edition number, etc..." since
4725 we now are doing so.
4726
4727 1998-12-30 Jesse Thilo <jthilo@gnu.org>
4728
4729 * configure.in:
4730 Use prototypes if the compiler understands them.
4731
4732 * NEWS: Document 1.26 highlights.
4733
4734 * Makefile.am: Require Automake 1.3 or later.
4735
4736 * acconfig.h:
4737 Use prototypes if the compiler understands them.
4738
4739 1998-12-29 Jesse Thilo <jthilo@gnu.org>
4740
4741 * src/version.c:
4742 Use VERSION symbol from automake for version number.
4743
4744 1998-12-29 Jesse Thilo <jthilo@gnu.org>
4745
4746 * acconfig.h, configure.in, version.cin:
4747 Use VERSION symbol from automake for version number.
4748
4749 1998-11-28 Jesse Thilo <jthilo@gnu.org>
4750
4751 * Makefile.am:
4752 Distribute original version of simple parser (bison.s1), not built
4753 version (bison.simple).
4754
4755 1998-11-28 Jesse Thilo <jthilo@gnu.org>
4756
4757 * doc/bison.texinfo: Add info dir entry.
4758
4759 * doc/bison.texinfo:
4760 Let automake put version number into documentation.
4761
4762 1998-11-26 Jesse Thilo <jthilo@gnu.org>
4763
4764 * src/bison.cld, src/build.com, src/vmshlp.mar:
4765 Add non-RCS files from /gd/gnu/bison.
4766
4767 1998-11-26 Jesse Thilo <jthilo@gnu.org>
4768
4769 * doc/bison.1:
4770 Document the BISON_HAIRY and BISON_SIMPLE variables.
4771
4772 1998-11-25 Jesse Thilo <jthilo@gnu.org>
4773
4774 * src/version.c: Build version.c automatically.
4775
4776 * src/reader.c:
4777 Fix token numbering (used to start at 258, not 257).
4778
4779 * src/system.h: Include config.h.
4780
4781 * src/getargs.c: Update bug report address.
4782
4783 * src/alloca.c, src/getopt1.c, src/getopt.c, src/getopt.h:
4784 Get latest copies of alloca.c, getopt.c, getopt.h, getopt1.c from gnu.org.
4785
4786 1998-11-25 Jesse Thilo <jthilo@gnu.org>
4787
4788 * Makefile.am:
4789 Rename bison.simple to bison.s1 (bison.simple is then built from bison.s1).
4790
4791 * configure.in, version.cin:
4792 Build version.c automatically.
4793
4794 * AUTHORS: Add AUTHORS file.
4795
4796 * README: Update bug report address.
4797
4798 * bison.simple:
4799 Rename bison.simple to bison.s1 (bison.simple is then built from bison.s1).
4800
4801 * configure.in, Makefile.am, Makefile.in, stamp-h.in:
4802 Add automake stuff.
4803
4804 1998-11-25 Jesse Thilo <jthilo@gnu.org>
4805
4806 * doc/bison.texinfo: Clean up some formatting.
4807
4808 1998-05-05 Richard Stallman <rms@gnu.org>
4809
4810 * doc/bison.texinfo:
4811 Explain better why to make a pure parser.
4812
4813 1998-01-05 Richard Stallman <rms@gnu.org>
4814
4815 * src/files.c (openfiles):
4816 [_WIN32 && !__CYGWIN32__] Use TEMP or Temp to
4817 find a temporary directory, if possible. Do not unlink files while
4818 they are open.
4819
4820 1997-08-25 Richard Stallman <rms@gnu.org>
4821
4822 * src/reader.c (stack_offset;):
4823 Change some warni to warns.
4824
4825 * src/lex.c (literalchar): Use warns, not warni.
4826
4827 1997-06-28 Richard Stallman <rms@gnu.org>
4828
4829 * src/bison.s1: Add a Bison version comment.
4830
4831 * src/main.c (fatal, warn, berror):
4832 Use program_name.
4833
4834 1997-06-28 Richard Stallman <rms@gnu.org>
4835
4836 * Makefile.in (bison_version): New variable.
4837 (dist): Use that variable.
4838 (bison.s1): Substitute the Bison version into bison.simple.
4839
4840 * bison.simple: Add a Bison version comment.
4841
4842 1997-06-18 Richard Stallman <rms@gnu.org>
4843
4844 * src/main.c (fatal, warn, berror):
4845 Make error messages standard.
4846 (toomany): Improve error message text.
4847
4848 * 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:
4849 new.h renamed to alloc.h.
4850
4851 1997-06-18 Richard Stallman <rms@gnu.org>
4852
4853 * Makefile.in: new.h renamed to alloc.h.
4854
4855 1997-05-24 Richard Stallman <rms@gnu.org>
4856
4857 * src/lex.c (literalchar):
4858 Fix the code for escaping \, " and '.
4859
4860 (lex): Avoid trouble when there are many chars
4861 to discard in a char literal with just several chars in it.
4862
4863 1997-05-17 Richard Stallman <rms@gnu.org>
4864
4865 * src/bison.s1:
4866 Use malloc, if using alloca is troublesome.
4867 (YYSTACK_USE_ALLOCA): New flag macro.
4868 Define it for some systems and compilers.
4869 (YYSTACK_ALLOC): New macro.
4870 (yyparse): Use YYSTACK_ALLOC to allocate stack.
4871 If it was malloc'd, free it.
4872
4873 1997-05-17 Richard Stallman <rms@gnu.org>
4874
4875 * bison.simple:
4876 Use malloc, if using alloca is troublesome.
4877 (YYSTACK_USE_ALLOCA): New flag macro.
4878 Define it for some systems and compilers.
4879 (YYSTACK_ALLOC): New macro.
4880 (yyparse): Use YYSTACK_ALLOC to allocate stack.
4881 If it was malloc'd, free it.
4882
4883 1997-04-23 Richard Stallman <rms@gnu.org>
4884
4885 * src/bison.s1:
4886 (alloca) [__hpux]: Always define as __builtin_alloca.
4887
4888 1997-04-23 Richard Stallman <rms@gnu.org>
4889
4890 * bison.simple:
4891 (alloca) [__hpux]: Always define as __builtin_alloca.
4892
4893 1997-04-22 Richard Stallman <rms@gnu.org>
4894
4895 * src/bison.s1:
4896 [__hpux]: Include alloca.h (right for HPUX 10)
4897 instead of declaring alloca (right for HPUX 9).
4898
4899 * src/bison.s1 (__yy_memcpy):
4900 Declare arg `count' as unsigned int.
4901 (yyparse): Cast third arg to __yy_memcpy to unsigned int.
4902
4903 1997-04-22 Richard Stallman <rms@gnu.org>
4904
4905 * bison.simple:
4906 [__hpux]: Include alloca.h (right for HPUX 10)
4907 instead of declaring alloca (right for HPUX 9).
4908
4909 * bison.simple (__yy_memcpy):
4910 Declare arg `count' as unsigned int.
4911 (yyparse): Cast third arg to __yy_memcpy to unsigned int.
4912
4913 1997-01-03 Richard Stallman <rms@gnu.org>
4914
4915 * src/allocate.c: [__STDC__ or _MSC_VER]:
4916 Declare calloc and realloc to return void *.
4917
4918 1997-01-02 Richard Stallman <rms@gnu.org>
4919
4920 * src/system.h:
4921 [_MSC_VER]: Include stdlib.h and process.h.
4922 [_MSC_VER] (getpid): Define as macro--translate it to _getpid.
4923
4924 * src/main.c (main): Return FAILURE as a value.
4925 (printable_version): Declare arg as int, not char.
4926
4927 1997-01-02 Richard Stallman <rms@gnu.org>
4928
4929 * Makefile.in (dist):
4930 Explicitly check for symlinks, and copy them.
4931
4932 1996-12-19 Richard Stallman <rms@gnu.org>
4933
4934 * src/files.c:
4935 [_MSC_VER] (XPFILE, XPFILE1): Define, if not already defined.
4936
4937 1996-12-18 Paul Eggert <eggert@gnu.org>
4938
4939 * src/bison.s1 (yyparse):
4940 If __GNUC__ and YYPARSE_PARAM are both defined,
4941 declare yyparse to have a void * argument.
4942
4943 1996-12-18 Paul Eggert <eggert@gnu.org>
4944
4945 * bison.simple (yyparse):
4946 If __GNUC__ and YYPARSE_PARAM are both defined,
4947 declare yyparse to have a void * argument.
4948
4949 1996-12-17 Richard Stallman <rms@gnu.org>
4950
4951 * src/reduce.c (nbits): Add some casts.
4952
4953 1996-08-12 Richard Stallman <rms@gnu.org>
4954
4955 * src/bison.s1: Test _MSDOS as well as _MSDOS_.
4956
4957 1996-08-12 Richard Stallman <rms@gnu.org>
4958
4959 * bison.simple: Test _MSDOS as well as _MSDOS_.
4960
4961 1996-07-31 Richard Stallman <rms@gnu.org>
4962
4963 * src/bison.s1:
4964 [__sun && __i386]: Include alloca.h.
4965
4966 1996-07-31 Richard Stallman <rms@gnu.org>
4967
4968 * bison.simple:
4969 [__sun && __i386]: Include alloca.h.
4970
4971 1996-07-30 Richard Stallman <rms@gnu.org>
4972
4973 * src/bison.s1: Comment change.
4974
4975 * src/bison.s1: Test _MSDOS_, not MSDOS.
4976
4977 1996-07-30 Richard Stallman <rms@gnu.org>
4978
4979 * bison.simple: Comment change.
4980
4981 * bison.simple: Test _MSDOS_, not MSDOS.
4982
4983 1996-06-01 Richard Stallman <rms@gnu.org>
4984
4985 * 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:
4986 Insert `_' macro around many string constants.
4987
4988 * src/main.c:
4989 Insert `_' macro around many string constants.
4990
4991 (main): Call setlocale, bindtextdomain and textdomain.
4992
4993 * src/system.h: [HAVE_LOCALE_H]: Include locale.h.
4994 [! HAVE_LOCALE_H] (setlocale): Define as no-op.
4995 [ENABLE_NLS]: Include libintl.h.
4996 [ENABLE_NLS] (gettext): Define.
4997 [! ENABLE_NLS] (bintextdomain, textdomain, _): Consolation definitions.
4998 (N_, PACKAGE, LOCALEDIR): New macros.
4999
5000 1996-06-01 Richard Stallman <rms@gnu.org>
5001
5002 * POTFILES.in: New file.
5003
5004 * Makefile.in (allocate.o):
5005 Define target explicitly.
5006
5007 * Makefile.in (CFLAGS): Set to @CFLAGS@.
5008 (LDFLAGS): Set to @LDFLAGS@.
5009 (configure): Run autoconf only if preceding `cd' succeeds.
5010 (bison.s1): Redirect output to temporary file then move the
5011 temporary to the target, rather than redirecting directly to bison.s1.
5012 (clean): Remove config.status and config.log.
5013 (distclean): Don't remove config.status here.
5014
5015 1996-05-12 Richard Stallman <rms@gnu.org>
5016
5017 * src/bison.s1:
5018 (__yy_memcpy) [__cplusplus]: Reorder declarations of variables f and t.
5019
5020 1996-05-12 Richard Stallman <rms@gnu.org>
5021
5022 * bison.simple:
5023 (__yy_memcpy) [__cplusplus]: Reorder declarations of variables f and t.
5024
5025 1996-05-11 Richard Stallman <rms@gnu.org>
5026
5027 * src/bison.s1 (__yy_memcpy):
5028 Really reorder the args, as was supposedly done on Feb 14 1995.
5029 (yyparse): Calls changed accordingly.
5030
5031 1996-05-11 Richard Stallman <rms@gnu.org>
5032
5033 * Makefile.in (dist): Don't use $(srcdir).
5034
5035 * bison.simple (__yy_memcpy):
5036 Really reorder the args, as was supposedly done on Feb 14 1995.
5037 (yyparse): Calls changed accordingly.
5038
5039 1996-01-27 Richard Stallman <rms@gnu.org>
5040
5041 * src/output.c (output_rule_data):
5042 Test YYERROR_VERBOSE in the conditional
5043 around the definition of ttyname.
5044
5045 1995-12-29 Richard Stallman <rms@gnu.org>
5046
5047 * src/bison.s1:
5048 Fix line numbers in #line commands.
5049
5050 1995-12-29 Richard Stallman <rms@gnu.org>
5051
5052 * bison.simple:
5053 Fix line numbers in #line commands.
5054
5055 1995-12-27 Richard Stallman <rms@gnu.org>
5056
5057 * src/bison.s1 (YYPARSE_PARAM_DECL):
5058 In C++, make it always null.
5059 (YYPARSE_PARAM_ARG): New macro.
5060 (yyparse): Use YYPARSE_PARAM_ARG.
5061
5062 1995-12-27 Richard Stallman <rms@gnu.org>
5063
5064 * bison.simple (YYPARSE_PARAM_DECL):
5065 In C++, make it always null.
5066 (YYPARSE_PARAM_ARG): New macro.
5067 (yyparse): Use YYPARSE_PARAM_ARG.
5068
5069 1995-11-29 Richard Stallman <rms@gnu.org>
5070
5071 * doc/bison.texinfo:
5072 Describe literal string tokens, %raw, %no_lines, %token_table.
5073
5074 1995-11-29 Daniel Hagerty <hag@gnu.org>
5075
5076 * doc/bison.texinfo: Fixed update date
5077
5078 1995-10-16 Richard Stallman <rms@gnu.org>
5079
5080 * src/version.c: Version 1.25.
5081
5082 1995-10-16 Richard Stallman <rms@gnu.org>
5083
5084 * NEWS: *** empty log message ***
5085
5086 1995-10-16 Richard Stallman <rms@gnu.org>
5087
5088 * doc/bison.1, doc/bison.rnh:
5089 Add new options.
5090
5091 1995-10-15 Richard Stallman <rms@gnu.org>
5092
5093 * src/vmsgetargs.c, src/getargs.c:
5094 Added -n, -k, and -raw switches.
5095 (noparserflag, toknumflag, rawtoknumflag): New variables.
5096
5097 * src/symtab.h (SALIAS):
5098 New #define for adding aliases to %token.
5099 (struct bucket): Added `alias' field.
5100
5101 * src/reduce.c (reduce_grammar):
5102 Revise error message.
5103 (print_notices): Remove final `.' from error message.
5104
5105 * src/reader.c (reader_output_yylsp):
5106 New function.
5107 (readgram): Use `#if 0' around code that accepted %command
5108 inside grammar rules: The documentation doesn't allow it,
5109 and it will fail since the %command processors scan for the next %.
5110 (parse_token_decl): Extended the %token
5111 declaration to allow a multi-character symbol as an alias.
5112 (parse_thong_decl): New function.
5113 (read_declarations): Added %thong declarations.
5114 (read_declarations): Handle NOOP to deal with allowing
5115 % declarations as another means to specify the flags.
5116 (readgram): Allow %prec prior to semantics embedded in a rule.
5117 (skip_to_char, read_declarations, copy_definition)
5118 (parse_token_decl, parse_start_decl, parse_type_decl)
5119 (parse_assoc_decl, parse_union_decl, parse_expect_decl)
5120 (get_type_name, copy_guard, copy_action, readgram)
5121 (get_type, packsymbols): Revised most error messages.
5122 Changed `fatal' to `warnxxx' to avoid aborting for error.
5123 Revised and use multiple warnxxx functions to avoid using VARARGS1.
5124 (read_declarations): Improve the error message for
5125 an invalid character. Do not abort.
5126 (read_declarations, copy_guard, copy_action): Use
5127 printable_version to avoid unprintable characters in printed output.
5128 (parse_expect_decl): Error if argument to %expect exceeds 10 digits.
5129 (parse_token_decl, parse_assoc_decl, parse_type_decl, get_type):
5130 Allow the type of a non-terminal can be given
5131 more than once, as long as all specifications give the same type.
5132
5133 * src/output.c:
5134 (output_headers, output_trailers, output, output_gram)
5135 (output_rule_data): Implement noparserflag variable.
5136 Implement toknumflag variable.
5137 (output): Call reader_output_yylsp to output LTYPESTR.
5138
5139 * src/main.c (main):
5140 If reader sees an error, don't process the grammar.
5141 (fatals): Updated to not use VARARGS1.
5142 (printable_version, int_to_string, warn, warni, warns, warnss)
5143 (warnsss): New error reporting functions. Avoid abort for error.
5144
5145 * src/lex.h:
5146 Added THONG and NOOP for alias processing.
5147 Added SETOPT for the new code that allows setting options with %flags.
5148
5149 * src/lex.c:
5150 Include getopt.h. Add some extern decls.
5151 (safegetc): New function to deal with EOF gracefully.
5152 (literalchar); new function to deal with reading \ escapes.
5153 (lex): Use literalchar.
5154 (lex): Implemented "..." tokens.
5155 (literalchar, lex, parse_percent_token): Made tokenbuffer
5156 always contain the token. This includes growing the token
5157 buffer while reading an integer.
5158 (parse_percent_token): Replaced if-else statement with percent_table.
5159 (parse_percent_token): Added % declarations as another
5160 way to specify the flags -n, -l, and -r. Also added hooks for
5161 -d, -k, -y, -v, -t, -p, -b, -o, but implementation requires
5162 major changes to files.c.
5163 (lex) Retain in the incoming stream a character following
5164 an incorrect '/'.
5165 (skip_white_space, lex): Revised most error messages
5166 and changed fatal to warn to avoid aborting.
5167 (percent_table): Added %thong declarations.
5168
5169 * src/gram.h: Comment changes.
5170
5171 * src/files.c (openfiles, open_extra_files, done):
5172 Add faction flag
5173 and actfile file. Handle noparserflag. Both for -n switch.
5174
5175 * src/conflicts.c (resolve_sr_conflict):
5176 Remove use of alloca.
5177
5178 1995-06-01 Jim Meyering <meyering@gnu.org>
5179
5180 * doc/bison.texinfo: *** empty log message ***
5181
5182 1995-05-06 Richard Stallman <rms@gnu.org>
5183
5184 * src/bison.s1: Comment change.
5185
5186 1995-05-06 Richard Stallman <rms@gnu.org>
5187
5188 * bison.simple: Comment change.
5189
5190 1995-05-03 Richard Stallman <rms@gnu.org>
5191
5192 * src/version.c: Version now 1.24.
5193
5194 * src/bison.s1: Change distribution terms.
5195
5196 * src/version.c: Version now 1.23.
5197
5198 1995-05-03 Richard Stallman <rms@gnu.org>
5199
5200 * doc/bison.texinfo:
5201 Rewrite "Conditions for Using Bison".
5202 Update version to 1.24.
5203
5204 1995-05-03 Richard Stallman <rms@gnu.org>
5205
5206 * bison.simple: Change distribution terms.
5207
5208 1995-02-23 Richard Stallman <rms@gnu.org>
5209
5210 * src/files.c: Test __VMS_POSIX as well as VMS.
5211
5212 1995-02-14 Jim Meyering <meyering@gnu.org>
5213
5214 * src/bison.s1 (__yy_memcpy):
5215 Renamed from __yy_bcopy to avoid
5216 confusion. Reverse FROM and TO arguments to be consistent with
5217 those of memcpy.
5218
5219 1995-02-14 Jim Meyering <meyering@gnu.org>
5220
5221 * bison.simple (__yy_memcpy):
5222 Renamed from __yy_bcopy to avoid
5223 confusion. Reverse FROM and TO arguments to be consistent with
5224 those of memcpy.
5225
5226 1994-11-10 David J. MacKenzie <djm@gnu.org>
5227
5228 * NEWS: reformat
5229
5230 * NEWS: New file.
5231
5232 * Makefile.in (DISTFILES): Include NEWS.
5233
5234 * Makefile.in (DISTFILES):
5235 Include install-sh, not install.sh.
5236
5237 * configure.in: Update to Autoconf v2 macro names.
5238
5239 1994-10-05 David J. MacKenzie <djm@gnu.org>
5240
5241 * Makefile.in: fix typo
5242
5243 * Makefile.in (prefix, exec_prefix):
5244 Let configure set them.
5245
5246 1994-09-28 David J. MacKenzie <djm@gnu.org>
5247
5248 * Makefile.in: Set datadir to $(prefix)/share.
5249
5250 1994-09-15 Richard Stallman <rms@gnu.org>
5251
5252 * src/bison.s1:
5253 Update copyright notice and GPL version.
5254
5255 1994-09-15 Richard Stallman <rms@gnu.org>
5256
5257 * bison.simple:
5258 Update copyright notice and GPL version.
5259
5260 1994-07-12 Richard Stallman <rms@gnu.org>
5261
5262 * src/reduce.c, src/reader.c:
5263 entered into RCS
5264
5265 1994-05-05 David J. MacKenzie <djm@gnu.org>
5266
5267 * Makefile.in: entered into RCS
5268
5269 1994-03-26 Richard Stallman <rms@gnu.org>
5270
5271 * src/bison.s1: entered into RCS
5272
5273 1994-03-26 Richard Stallman <rms@gnu.org>
5274
5275 * bison.simple: entered into RCS
5276
5277 1994-03-25 Richard Stallman <rms@gnu.org>
5278
5279 * src/main.c: entered into RCS
5280
5281 1994-03-24 Richard Stallman <rms@gnu.org>
5282
5283 * src/conflicts.c: entered into RCS
5284
5285 1994-01-02 Richard Stallman <rms@gnu.org>
5286
5287 * Makefile.in: *** empty log message ***
5288
5289 1993-11-21 Richard Stallman <rms@gnu.org>
5290
5291 * src/bison.s1: *** empty log message ***
5292
5293 1993-11-21 Richard Stallman <rms@gnu.org>
5294
5295 * doc/bison.texinfo: entered into RCS
5296
5297 * doc/bison.texinfo: *** empty log message ***
5298
5299 1993-11-21 Richard Stallman <rms@gnu.org>
5300
5301 * bison.simple: *** empty log message ***
5302
5303 1993-10-25 David J. MacKenzie <djm@gnu.org>
5304
5305 * doc/bison.texinfo: *** empty log message ***
5306
5307 1993-10-19 Richard Stallman <rms@gnu.org>
5308
5309 * src/bison.s1: *** empty log message ***
5310
5311 1993-10-19 Richard Stallman <rms@gnu.org>
5312
5313 * bison.simple: *** empty log message ***
5314
5315 1993-10-14 Richard Stallman <rms@gnu.org>
5316
5317 * src/bison.s1: *** empty log message ***
5318
5319 1993-10-14 Richard Stallman <rms@gnu.org>
5320
5321 * bison.simple: *** empty log message ***
5322
5323 1993-09-14 David J. MacKenzie <djm@gnu.org>
5324
5325 * doc/bison.texinfo: *** empty log message ***
5326
5327 1993-09-13 Noah Friedman <friedman@gnu.org>
5328
5329 * Makefile.in: *** empty log message ***
5330
5331 1993-09-10 Richard Stallman <rms@gnu.org>
5332
5333 * src/conflicts.c: *** empty log message ***
5334
5335 * src/system.h: entered into RCS
5336
5337 1993-09-10 Richard Stallman <rms@gnu.org>
5338
5339 * doc/bison.1: entered into RCS
5340
5341 1993-09-06 Noah Friedman <friedman@gnu.org>
5342
5343 * src/version.c: entered into RCS
5344
5345 1993-09-06 Noah Friedman <friedman@gnu.org>
5346
5347 * Makefile.in: *** empty log message ***
5348
5349 1993-07-30 David J. MacKenzie <djm@gnu.org>
5350
5351 * Makefile.in: *** empty log message ***
5352
5353 1993-07-24 Richard Stallman <rms@gnu.org>
5354
5355 * src/bison.s1: *** empty log message ***
5356
5357 1993-07-24 Richard Stallman <rms@gnu.org>
5358
5359 * bison.simple: *** empty log message ***
5360
5361 1993-07-08 David J. MacKenzie <djm@gnu.org>
5362
5363 * Makefile.in: *** empty log message ***
5364
5365 1993-07-04 Richard Stallman <rms@gnu.org>
5366
5367 * src/bison.s1: *** empty log message ***
5368
5369 1993-07-04 Richard Stallman <rms@gnu.org>
5370
5371 * bison.simple: *** empty log message ***
5372
5373 1993-06-26 David J. MacKenzie <djm@gnu.org>
5374
5375 * src/getargs.c: entered into RCS
5376
5377 1993-06-26 David J. MacKenzie <djm@gnu.org>
5378
5379 * doc/bison.texinfo: *** empty log message ***
5380
5381 * doc/bison.1: New file.
5382
5383 1993-06-25 Richard Stallman <rms@gnu.org>
5384
5385 * src/getargs.c: New file.
5386
5387 1993-06-16 Richard Stallman <rms@gnu.org>
5388
5389 * src/bison.s1: *** empty log message ***
5390
5391 1993-06-16 Richard Stallman <rms@gnu.org>
5392
5393 * bison.simple: *** empty log message ***
5394
5395 1993-06-03 Richard Stallman <rms@gnu.org>
5396
5397 * src/bison.s1: New file.
5398
5399 1993-06-03 Richard Stallman <rms@gnu.org>
5400
5401 * doc/bison.texinfo: *** empty log message ***
5402
5403 1993-06-03 Richard Stallman <rms@gnu.org>
5404
5405 * bison.simple: New file.
5406
5407 1993-05-19 Richard Stallman <rms@gnu.org>
5408
5409 * doc/bison.texinfo: New file.
5410
5411 1993-05-07 Noah Friedman <friedman@gnu.org>
5412
5413 * Makefile.in: *** empty log message ***
5414
5415 1993-04-28 Noah Friedman <friedman@gnu.org>
5416
5417 * src/reader.c: *** empty log message ***
5418
5419 1993-04-23 Noah Friedman <friedman@gnu.org>
5420
5421 * src/alloc.h: entered into RCS
5422
5423 1993-04-20 David J. MacKenzie <djm@gnu.org>
5424
5425 * src/version.c: *** empty log message ***
5426
5427 * src/files.c, src/allocate.c:
5428 entered into RCS
5429
5430 * src/reader.c: *** empty log message ***
5431
5432 * src/lex.c: entered into RCS
5433
5434 * src/conflicts.c: New file.
5435
5436 * src/symtab.c: entered into RCS
5437
5438 * src/alloc.h: New file.
5439
5440 * src/LR0.c: entered into RCS
5441
5442 1993-04-18 Noah Friedman <friedman@gnu.org>
5443
5444 * src/reader.c: New file.
5445
5446 * src/version.c: *** empty log message ***
5447
5448 1993-04-18 Noah Friedman <friedman@gnu.org>
5449
5450 * Makefile.in: *** empty log message ***
5451
5452 1993-04-17 Noah Friedman <friedman@gnu.org>
5453
5454 * Makefile.in: *** empty log message ***
5455
5456 1993-04-15 Richard Stallman <rms@gnu.org>
5457
5458 * src/main.c, src/files.c:
5459 New file.
5460
5461 1993-04-15 Noah Friedman <friedman@gnu.org>
5462
5463 * configure.in: entered into RCS
5464
5465 * configure.in: *** empty log message ***
5466
5467 * configure.in: New file.
5468
5469 1993-04-14 Richard Stallman <rms@gnu.org>
5470
5471 * Makefile.in: New file.
5472
5473 1993-04-13 Richard Stallman <rms@gnu.org>
5474
5475 * src/version.c: New file.
5476
5477 1993-03-25 Richard Stallman <rms@gnu.org>
5478
5479 * src/output.c: entered into RCS
5480
5481 1992-09-25 Richard Stallman <rms@gnu.org>
5482
5483 * configure.bat: entered into RCS
5484
5485 1992-06-22 Richard Stallman <rms@gnu.org>
5486
5487 * src/vmsgetargs.c: entered into RCS
5488
5489 1992-06-22 Richard Stallman <rms@gnu.org>
5490
5491 * doc/bison.rnh: entered into RCS
5492
5493 1992-04-20 David J. MacKenzie <djm@gnu.org>
5494
5495 * README: entered into RCS
5496
5497 1992-01-22 Richard Stallman <rms@gnu.org>
5498
5499 * src/machine.h: entered into RCS
5500
5501 1991-12-21 Richard Stallman <rms@gnu.org>
5502
5503 * src/lalr.c, src/closure.c:
5504 entered into RCS
5505
5506 1991-12-20 Richard Stallman <rms@gnu.org>
5507
5508 * src/state.h: entered into RCS
5509
5510 1991-12-18 Richard Stallman <rms@gnu.org>
5511
5512 * src/print.c, src/nullable.c, src/derives.c:
5513 entered into RCS
5514
5515 1991-11-03 David J. MacKenzie <djm@gnu.org>
5516
5517 * src/warshall.c, src/types.h, src/symtab.h, src/lex.h, src/gram.c, src/gram.h, src/files.h:
5518 entered into RCS
5519
5520 1988-09-09 Richard Stallman <rms@gnu.org>
5521
5522 * src/bison.hairy: entered into RCS
5523
5524 1987-12-16 Richard Stallman <rms@gnu.org>
5525
5526 * REFERENCES: entered into RCS