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