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