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