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