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