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