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