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