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