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