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