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