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