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