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