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