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