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