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