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