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