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