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