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