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