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