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