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