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