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