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