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