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