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