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