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