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