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