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