]> git.saurik.com Git - bison.git/blob - ChangeLog
* src/state.h, src/state.c (reductions_new): New.
[bison.git] / ChangeLog
1 2001-12-27 Akim Demaille <akim@epita.fr>
2
3 * src/state.h, src/state.c (reductions_new): New.
4 * src/LR0.c (set_state_table): Let all the states have a
5 `reductions', even if reduced to 0.
6 (save_reductions): Adjust.
7 * src/lalr.c (initialize_LA, initialize_lookaheads): Adjust.
8 * src/print.c (print_reductions, print_actions): Adjust.
9 * src/output.c (action_row): Adjust.
10
11
12 2001-12-27 Akim Demaille <akim@epita.fr>
13
14 * src/state.h, src/state.c (errs_new, errs_dup): New.
15 * src/LR0.c (set_state_table): Let all the states have an errs,
16 even if reduced to 0.
17 * src/print.c (print_errs, print_reductions): Adjust.
18 * src/output.c (output_actions, action_row): Adjust.
19 * src/conflicts.c (resolve_sr_conflict): Adjust.
20
21
22 2001-12-27 Akim Demaille <akim@epita.fr>
23
24 * src/lalr.c (set_goto_map, initialize_F): Use SHIFT_SYMBOL.
25
26 2001-12-27 Akim Demaille <akim@epita.fr>
27
28 * src/conflicts.c, src/conflicts.h (print_reductions): Move to...
29 * src/print.c: here.
30 (lookaheadset, shiftset): New, used as additional storage by
31 print_reductions.
32 (print_results): Adjust.
33 (print_shifts, print_gotos, print_errs): New, extracted from...
34 (print_actions): here.
35 * src/print_graph.c (print_actions): Remove dead code.
36
37
38 2001-12-27 Akim Demaille <akim@epita.fr>
39
40 * src/reader.c (copy_dollar, copy_at): Better checking of `n' in
41 `$n' and `@n'.
42
43
44 2001-12-27 Akim Demaille <akim@epita.fr>
45
46 * src/lalr.c (add_lookback_edge): Use state_t instead of ints.
47 (build_relations): Adjust.
48
49
50 2001-12-27 Akim Demaille <akim@epita.fr>
51
52 * src/lalr.c (set_goto_map): Remove a wrong but benign loop
53 duplication.
54
55
56 2001-12-27 Akim Demaille <akim@epita.fr>
57
58 * src/reader.c (packgram): Catch nitems overflows.
59
60
61 2001-12-27 Akim Demaille <akim@epita.fr>
62
63 * src/files.c, src/files.h (guard_obstack): Remove.
64 * src/output.c (output): Adjust.
65 * src/reader.c (parse_braces): New, factoring...
66 (copy_action, copy_guard): these two which are renamed as...
67 (parse_action, parse_guard): these.
68 As a voluntary consequence, using braces around guards is now
69 mandatory.
70
71
72 2001-12-27 Akim Demaille <akim@epita.fr>
73
74 * src/gram.h (rule_t): `guard' and `guard_line' are new members.
75 * src/reader.c (symbol_list): `guard' and `guard_line' are new
76 members.
77 (symbol_list_new): Adjust.
78 (copy_action): action_line is the first line, not the last.
79 (copy_guard): Just as for actions, store the `action' only, not
80 the switch/case/break flesh.
81 Don't parse the user action that might follow the guard, let...
82 (readgram): do it, i.e., now, there can be an action after a
83 guard.
84 In other words the guard is just explicitly optional.
85 (packgram): Adjust.
86 * src/output.c (guards_output): New.
87 (output_parser): Call it when needed.
88 (output): Also free the guard and attrs obstacks.
89 * src/files.c, src/files.h (obstack_save): Remove.
90 (output_files): Remove.
91 As a result, if one needs the former `.act' file, using an
92 appropriate skeleton which requires actions and guards is now
93 required.
94 * src/main.c (main): Adjust.
95 * tests/semantic.at: New.
96 * tests/regression.at: Use `input.y' as input file name.
97 Avoid 8+3 problems by requiring input.c when the test needs the
98 parser.
99
100 2001-12-27 Akim Demaille <akim@epita.fr>
101
102 * src/reader.c (symbol_list_new): Be sure to initialize all the
103 fields.
104
105 2001-12-27 Akim Demaille <akim@epita.fr>
106
107 All the hacks using a final pseudo state are now useless.
108
109 * src/LR0.c (set_state_table): state_table holds exactly nstates.
110 * src/lalr.c (nLA): New.
111 (initialize_LA, compute_lookaheads, initialize_lookaheads): Use it
112 instead of lookaheadsp from the pseudo state (nstate + 1).
113
114 2001-12-27 Akim Demaille <akim@epita.fr>
115
116 * src/output.c (action_row, token_actions): Use a state_t instead
117 of a integer, and nlookaheads instead of the following state's
118 lookaheadsp.
119
120
121 2001-12-27 Akim Demaille <akim@epita.fr>
122
123 * src/conflicts.c (log_resolution, flush_shift)
124 (resolve_sr_conflict, set_conflicts, solve_conflicts)
125 (count_sr_conflicts, count_rr_conflicts, conflicts_output)
126 (conflicts_print, print_reductions): Use a state_t instead of an
127 integer when referring to a state.
128 As much as possible, depend upon nlookaheads, instead of the
129 `lookaheadsp' member of the following state (since lookaheads of
130 successive states are successive, the difference between state n + 1
131 and n served as the number of lookaheads for state n).
132 * src/lalr.c (add_lookback_edge): Likewise.
133 * src/print.c (print_core, print_actions, print_state)
134 (print_results): Likewise.
135 * src/print_graph.c (print_core, print_actions, print_state)
136 (print_graph): Likewise.
137 * src/conflicts.h: Adjust.
138
139 2001-12-27 Akim Demaille <akim@epita.fr>
140
141 * src/bison.hairy: Formatting/comment changes.
142 ANSIfy.
143 Remove `register' indications.
144 Add plenty of `static'.
145
146 2001-12-27 Akim Demaille <akim@epita.fr>
147
148 * src/output.c (prepare): Drop the muscle `ntbase' which
149 duplicates ntokens.
150 * src/bison.simple: Formatting/comment changes.
151 Use YYNTOKENS only, which is documented, but not YYNTBASE, which
152 is an undocumented synonym.
153
154
155 2001-12-22 Akim Demaille <akim@epita.fr>
156
157 * src/output.c (output_table_data): Change the prototype to use
158 `int' for array ranges: some invocations do pass an int, not a
159 short.
160 Reported by Wayne Green.
161
162 2001-12-22 Akim Demaille <akim@epita.fr>
163
164 Some actions of web2c.y are improperly triggered.
165 Reported by Mike Castle.
166
167 * src/lalr.c (traverse): s/F (i)[k] = F (j)[k]/F (j)[k] = F (i)[k]/.
168 * tests/regression.at (Web2c): Rename as...
169 (Web2c Report): this.
170 (Web2c Actions): New.
171
172 2001-12-22 Akim Demaille <akim@epita.fr>
173
174 Reductions in web2c.y are improperly reported.
175 Reported by Mike Castle.
176
177 * src/conflicts.c (print_reductions): Fix.
178 * tests/regression.at (Web2c): New.
179
180 2001-12-18 Akim Demaille <akim@epita.fr>
181
182 Some host fail on `assert (!"foo")', which expands to
183 ((!"foo") ? (void)0 : __assert("!"foo."", __FILE__, __LINE__))
184 Reported by Nelson Beebee.
185
186 * src/output.c, src/vcg.c: Replace `assert (!"it succeeded")' with
187 `#define it_succeeded 0' and `assert (it_succeeded)'.
188
189 2001-12-17 Marc Autret <autret_m@epita.fr>
190
191 * src/bison.simple: Don't hard code the skeleton line and filename.
192 * src/output.c (output_parser): Rename 'line' as 'output_line'.
193 New line counter 'skeleton_line' (skeleton-line muscle).
194
195 2001-12-17 Paul Eggert <eggert@twinsun.com>
196
197 * NEWS, doc/bison.texinfo, doc/bison.1, doc/bison.rnh: Document that
198 YYDEBUG must be defined to a nonzero value.
199
200 * src/bison.simple (yytname): Do not assume that the user defines
201 YYDEBUG to a properly parenthesized expression.
202
203 2001-12-17 Akim Demaille <akim@epita.fr>
204
205 * src/state.h (state_t): Rename lookaheads as lookaheadsp.
206 nlookaheads is a new member.
207 Adjust all users.
208 * src/lalr.h (nlookaheads): Remove this orphan declaration.
209 * src/lalr.c (initialize_lookaheads): Set nlookaheads for each
210 state.
211
212 2001-12-17 Akim Demaille <akim@epita.fr>
213
214 * src/files.h, src/files.c (open_files, close_files): Remove.
215 * src/main.c (main): Don't open/close files, nor invoke lex_free,
216 let...
217 * src/reader.c (reader): Do it.
218
219 2001-12-17 Akim Demaille <akim@epita.fr>
220
221 * src/conflicts.c (print_reductions): Formatting changes.
222
223 2001-12-17 Akim Demaille <akim@epita.fr>
224
225 * src/conflicts.c (flush_shift): Also adjust lookaheadset.
226 (flush_reduce): New.
227 (resolve_sr_conflict): Adjust.
228
229 2001-12-17 Akim Demaille <akim@epita.fr>
230
231 * src/output.c (output_obstack): Be static and rename as...
232 (format_obstack): this, to avoid any confusion with files.c's
233 output_obstack.
234 * src/reader.h (muscle_obstack): Move to...
235 * src/output.h: here, since it's defined in output.c.
236
237 2001-12-17 Akim Demaille <akim@epita.fr>
238
239 * src/output.c (action_row, save_column, default_goto)
240 (sort_actions, matching_state, pack_vector): Better variable
241 locality.
242
243 2001-12-17 Akim Demaille <akim@epita.fr>
244
245 * src/output.c: Various formatting changes.
246
247 2001-12-17 Akim Demaille <akim@epita.fr>
248
249 * src/files.c (output_files): Free the output_obstack.
250 * src/main.c (main): Call print and print_graph conditionally.
251 * src/print.c (print): Work unconditionally.
252 * src/print_graph.c (print_graph): Work unconditionally.
253 * src/conflicts.c (log_resolution): Output only if verbose_flag.
254
255 2001-12-16 Marc Autret <autret_m@epita.fr>
256
257 * src/output.c (actions_output): Fix. When we use %no-lines,
258 there is one less line per action.
259
260 2001-12-16 Marc Autret <autret_m@epita.fr>
261
262 * src/bison.simple: Remove a useless #line directive.
263 s/#line %%line %%skeleton/#line %%line "%%parser-file-name"/'.
264 * src/output.c (get_lines_number): New.
265 (output_parser): Adjust, now takes care about the lines of a
266 output muscles.
267 Fix line numbering.
268 (actions_output): Computes the number of lines taken by actions.
269 (output_master_parser): Insert new skeleton which is the name of
270 the output parser file name.
271
272 2001-12-15 Marc Autret <autret_m@epita.fr>
273
274 * src/bison.simple [YYERROR_VERBOSE]: Restore backward compatibility.
275
276 2001-12-15 Marc Autret <autret_m@epita.fr>
277
278 * src/output.c (output_gram): Keep track of the hairy one.
279
280 2001-12-15 Akim Demaille <akim@epita.fr>
281
282 Make `make distcheck' work.
283
284 * lib/Makefile.am (INCLUDES): Add top_srcdir/intl, since hash uses
285 system.h which uses libgettext.h.
286
287 2001-12-15 Akim Demaille <akim@epita.fr>
288
289 * src/nullable.c (set_nullable): Useless rules must be skipped,
290 otherwise, since we range over their symbols, we might look at a
291 nonterminal which no longer ``exists'', i.e., it is not counted in
292 `nvars', hence we overflow our arrays.
293
294 2001-12-15 Akim Demaille <akim@epita.fr>
295
296 The header can also be produced directly, without any obstack!
297 Yahoo!
298
299 * src/files.c, src/files.h (defines_obstack): Remove.
300 (compute_header_macro): Global.
301 (defines_obstack_save): Remove.
302 * src/reader.c (parse_union_decl): No longer output to
303 defines_obstack: its content can be found in the `stype' muscle
304 anyway.
305 (output_token_translations): Merge into...
306 (symbols_output): this.
307 Rename as...
308 (symbols_save): this.
309 (reader): Adjust.
310 * src/output.c (header_output): New.
311 (output): Call it.
312
313 2001-12-15 Akim Demaille <akim@epita.fr>
314
315 * src/reader.c (parse_union_decl): Instead of handling two obstack
316 simultaneously, use one to define the `stype' muscle, and use the
317 value of the latter to fill defines_obstack.
318 (copy_comment): Remove.
319 (copy_comment2): Work for a single obstack.
320 Rename as...
321 (copy_comment): this.
322
323 2001-12-15 Akim Demaille <akim@epita.fr>
324
325 * src/lex.c, src/lex.h (xgetc): No longer static.
326 * src/reader.c (parse_union_decl): Revamp.
327
328 2001-12-15 Akim Demaille <akim@epita.fr>
329
330 Still making progress in separating Bison into (i) input, (ii)
331 process, (iii) output: now we can directly output the parser file
332 without using table_obstack at all.
333
334 * src/files.c, src/files.h (table_obstack): Bye bye.
335 (parser_file_name): New.
336 * src/files.c (compute_output_file_names): Compute it.
337 * src/output.c (actions_output, output_parser)
338 (output_master_parser): To a file instead of an obstack.
339
340 2001-12-15 Akim Demaille <akim@epita.fr>
341
342 Attach actions to rules, instead of pre-outputting them to
343 actions_obstack.
344
345 * src/gram.h (rule_t): action and action_line are new members.
346 * src/reader.c (symbol_list): Likewise.
347 (copy_action): Save the actions within the rule.
348 (packgram): Save them in rule_table.
349 * src/output.c (actions_output): New.
350 (output_parser): Use it on `%%actions'.
351 (output_rule_data): Don't free rule_table.
352 (output): Do it.
353 (prepare): Don't save the `action' muscle.
354 * src/bison.simple: s/%%action/%%actions/.
355
356 2001-12-15 Akim Demaille <akim@epita.fr>
357
358 * src/reader.c (copy_action): When --yacc, don't append a `;'
359 to the user action: let it fail if lacking.
360 Suggested by Arnold Robbins and Tom Tromey.
361
362 2001-12-14 Akim Demaille <akim@epita.fr>
363
364 * src/lex.c (literalchar): Simply return the char you decoded, non
365 longer mess around with obstacks and int pointers.
366 Adjust all callers.
367
368 2001-12-14 Akim Demaille <akim@epita.fr>
369
370 * src/lex.c (literalchar): Don't escape the special characters,
371 just decode them, and keep them as char (before, eol was output as
372 the 2 char string `\n' etc.).
373 * src/output.c (output_rule_data): Use quotearg to output the
374 token strings.
375
376 2001-12-13 Paul Eggert <eggert@twinsun.com>
377
378 * src/bison.simple (YYSIZE_T, YYSTACK_ALLOC, YYSTACK_FREE):
379 Do not infringe on the global user namespace when using C++.
380 (YYFPRINTF, YYSTDERR): New macros, needed for the above.
381 All uses of `fprintf' and `stderr' changed.
382
383 * doc/bison.texinfo: Document YYFPRINTF, YYSTDERR.
384
385 2001-12-13 Akim Demaille <akim@epita.fr>
386
387 The computation of nullable is broken: it doesn't handle empty
388 RHS's properly.
389
390 * tests/torture.at (GNU AWK Grammar): New.
391 * tests/sets.at (Nullable): New.
392 * src/nullable.c (set_nullable): Instead of blindly looping over
393 `ritems', loop over the rules, and then over their rhs's.
394
395 Work around Autotest bugs.
396
397 * src/warshall.c (bitmatrix_print): Don't use `+--+' as table
398 frame, because Autotest understand lines starting with a `+' as
399 traces from the shell. Then, they are not processed properly.
400 Admittedly an Autotest bug, but we don't have time to wait for
401 Autotest to catch up.
402 * tests/regression.at (Broken Closure): Adjust to the new table
403 frames.
404 Move to...
405 * tests/sets.at: here.
406
407 2001-12-13 Akim Demaille <akim@epita.fr>
408
409 * src/closure.c (closure): Use nrules instead of playing tricks
410 with BITS_PER_WORD.
411
412 2001-12-13 Akim Demaille <akim@epita.fr>
413
414 * src/print.c (print_actions): Output the handling of `$' as the
415 traces do: shifting the token EOF. Before EOF was treated as a
416 nonterminal.
417 * tests/regression.at: Adjust some tests.
418 * src/print_graph.c (print_core): Complete the set of items via
419 closure. The next-to-final and final states are still unsatisfying,
420 but that's to be addressed elsewhere.
421 No longer output the rule numbers, but do output the state number.
422 A single loop for the shifts + gotos is enough, but picked a
423 distinct color for each.
424 (print_graph): Initialize and finalize closure.
425
426 2001-12-13 Akim Demaille <akim@epita.fr>
427
428 * src/reader.c (readgram): Remove dead code, an strip useless
429 braces.
430 (get_type): Remove, unused.
431
432 2001-12-12 Akim Demaille <akim@epita.fr>
433
434 * src/complain.h, src/complain.c: Remove error_one_per_line, rely
435 on that of lib/error.c.
436
437 2001-12-12 Akim Demaille <akim@epita.fr>
438
439 Some hosts don't like `/' in includes.
440
441 * src/system.h: Include libgettext.h without qualifying the path.
442 * src/Makefile.am (INCLUDES): Add $(top_srcdir)/intl, remove
443 $(top_srcdir).
444
445 2001-12-11 Marc Autret <autret_m@epita.fr>
446
447 * src/output.c (output_parser): Remove useless muscle.
448
449 2001-12-11 Marc Autret <autret_m@epita.fr>
450
451 * src/bison.simple: Remove #line just before %%epilogue. It
452 is now handled in ...
453 * src/reader.c (read_additionnal_code): Add the output of a
454 #line for the epilogue.
455
456 2001-12-10 Marc Autret <autret_m@epita.fr>
457
458 * src/reader.c (copy_definition): Re-use CPP-outed code which
459 replace precedent remove.
460 * src/bison.simple: Remove #line before %%prologue because
461 %%input-line is wrong at this time.
462
463 2001-12-10 Marc Autret <autret_m@epita.fr>
464
465 * src/reader.c (symbols_output): Clean up.
466 * src/output.c (output_gram, output): Clean up.
467
468 2001-12-10 Akim Demaille <akim@epita.fr>
469
470 * src/lalr.c (initialize_lookaheads): New. Extracted from...
471 * src/LR0.c (set_state_table): here.
472 * src/lalr.c (lalr): Call it.
473
474 2001-12-10 Akim Demaille <akim@epita.fr>
475
476 * src/state.h (shifts): Remove the `number' member: shifts are
477 attached to state, hence no longer need to be labelled with a
478 state number.
479
480 2001-12-10 Akim Demaille <akim@epita.fr>
481
482 Now that states have a complete set of members, the linked list of
483 shifts is useless: just fill directly the state's shifts member.
484
485 * src/state.h (shifts): Remove the `next' member.
486 * src/LR0.c (first_state, last_state): Remove.
487 Adjust the callers.
488 (augment_automaton): Don't look for the shifts that must be added
489 a shift on EOF: it is those of the state we looked for! But now,
490 since shifts are attached, it is no longer needed to looking
491 merely by its id: its number.
492
493 2001-12-10 Akim Demaille <akim@epita.fr>
494
495 * src/LR0.c (augment_automaton): Better variable locality.
496 Remove an impossible branch: if there is a state corresponding to
497 the start symbol being shifted, then there is shift for the start
498 symbol from the initial state.
499
500 2001-12-10 Akim Demaille <akim@epita.fr>
501
502 * src/LR0.c (augment_automaton): Call `insert_eof_shifting_state'
503 only when appropriate: when insert_start_shifting_state' is not
504 invoked.
505 * tests/regression.at (Rule Line Numbers): Adjust.
506
507 2001-12-10 Akim Demaille <akim@epita.fr>
508
509 * src/LR0.c (augment_automaton): Now that all states have shifts,
510 merge the two cases addition shifts to the initial state.
511
512 2001-12-10 Akim Demaille <akim@epita.fr>
513
514 * src/lalr.c (set_state_table): Move to...
515 * src/LR0.c: here.
516 * src/lalr.c (lalr): Don't call it...
517 * src/LR0.c (generate_states): do it.
518 * src/LR0.h (first_state): Remove, only the table is used.
519
520 2001-12-10 Akim Demaille <akim@epita.fr>
521
522 * src/LR0.h (first_shift, first_reduction): Remove.
523 * src/lalr.c: Don't use first_shift: find shifts through the
524 states.
525
526 2001-12-10 Akim Demaille <akim@epita.fr>
527
528 * src/LR0.c: Attach shifts to states as soon as they are
529 computed.
530 * src/lalr.c (set_state_table): Instead of assigning shifts to
531 state, just assert that the mapping was properly done.
532
533 2001-12-10 Akim Demaille <akim@epita.fr>
534
535 * src/LR0.c (insert_start_shift): Rename as...
536 (insert_start_shifting_state): this.
537 (insert_eof_shifting_state, insert_accepting_state): New.
538 (augment_automaton): Adjust.
539 Better locality of the variables.
540 When looking if the start_symbol is shifted from the initial
541 state, using `while (... symbol != start_symbol ...)' sounds
542 better than `while (... symbol < start_symbol ...)': If fail
543 to see how the order between symbols could be relevant!
544
545 2001-12-10 Akim Demaille <akim@epita.fr>
546
547 * src/getargs.h: Don't declare `spec_name_prefix' and
548 `spec_file_prefix', declared by src/files.h.
549 * src/files.c, src/files.h: Default for spec_name_prefix is "yy".
550 * src/muscle_tab.c (muscle_init): Default prefix to NULL.
551 * src/output.c (prepare): Adjust.
552 * src/reader.c (symbols_output): Likewise.
553 * src/vmsgetargs.c: Vaguely adjust, but who cares?
554
555 2001-12-10 Akim Demaille <akim@epita.fr>
556
557 * src/muscle_tab.c (muscle_init): NULL is a better default than
558 `"0"'.
559
560 2001-12-10 Akim Demaille <akim@epita.fr>
561
562 * src/reader.c (reader): Calling symbols_output once is enough.
563
564 2001-12-10 Akim Demaille <akim@epita.fr>
565
566 Now that states have a complete set of members, the linked list of
567 reductions is useless: just fill directly the state's reductions
568 member.
569
570 * src/state.h (struct reductions): Remove member `number' and
571 `next'.
572 * src/LR0.c (first_reduction, last_reduction): Remove.
573 (save_reductions): Don't link the new reductions, store them in
574 this_state.
575 * src/lalr.c (set_state_table): No need to attach reductions to
576 states, it's already done.
577 * src/output.c (output_actions): No longer free the shifts, then
578 the reductions, then the states: free all the states and their
579 members.
580
581 2001-12-10 Akim Demaille <akim@epita.fr>
582
583 * src/options.c (OPTN, DRTV, BOTH): New.
584 (option_table): Use them.
585
586 * src/muscle_tab.c: Don't include xalloc.h and string.h: that's
587 the job of system.h.
588 * src/options.c: Don't include stdio.h and xalloc.h for the same
589 reasons.
590
591 2001-12-10 Akim Demaille <akim@epita.fr>
592
593 * src/output.c (output, prepare): Make sure the values of the
594 muscles `action' and `prologue' are 0-terminated.
595
596 2001-12-10 Akim Demaille <akim@epita.fr>
597
598 Clean up GCC warnings.
599
600 * src/reader.c (copy_action): `buf' is not used.
601 (parse_skel_decl): Be static.
602 * src/muscle_tab.c (mhash1, mhash2, muscle_insert): Preserve `const'.
603 * src/options.h (create_long_option_table): Have a real prototype.
604 * lib/hash.c, lib/hash.h (hash_insert, hash_insert_at, hash_delete)
605 (hash_delete_at): Return const void *.
606 Adjust casts to preserve the const.
607
608 2001-12-10 Akim Demaille <akim@epita.fr>
609
610 * configure.in: Require 2.52g.
611 M4 is not needed, but AUTOM4TE is.
612 * m4/m4.m4: Remove.
613 * tests/Makefile.am: Adjust.
614
615 2001-12-10 Akim Demaille <akim@epita.fr>
616
617 One structure for states is enough, even though theoretically
618 there are LR(0) states and LALR(1) states.
619
620 * src/lalr.h (state_t): Remove.
621 (state_table): Be state_t **, not state_t *.
622 * src/state.h (core, CORE_ALLOC): Rename as...
623 (state_t, STATE_ALLOC): this.
624 Add the LALR(1) members: shifts, reductions, errs.
625 * src/LR0.c (state_table): Rename as...
626 (state_hash): this, to avoid name clashes with the global
627 `state_table'.
628 * src/print_graph.c, src/LR0.c, src/LR0.h, src/conflicts.c
629 * src/lalr.c, src/lalr.h, src/output.c, src/print.c: Adjust.
630
631 2001-12-10 Akim Demaille <akim@epita.fr>
632
633 Bison dumps core on bash.y.
634 Reported by Pascal Bart.
635
636 * src/warshall.c (bitmatrix_print): New.
637 (TC): Use it.
638 When performing a transitive closure R(i, j) && R(j, k) => R(i, k),
639 j must be the outer loop.
640 * tests/regression.at (Broken Closure): New.
641
642 2001-12-05 Akim Demaille <akim@epita.fr>
643
644 * tests/atlocal.in (CPPFLAGS): Do not leave a space between -I and
645 its argument.
646 Reported by Peter Hámorský.
647
648 2001-12-05 Akim Demaille <akim@epita.fr>
649
650 * src/conflicts.c (err_table): Remove.
651 (resolve_sr_conflict): Adjust.
652 * src/lalr.h (state_t.reduction_table, state_t.shift_table):
653 Rename as...
654 (state_t.reductions, state_t.shifts): this.
655
656 2001-12-05 Akim Demaille <akim@epita.fr>
657
658 * src/reduce.c (reduce_grammar_tables): No longer disable the
659 removal of useless rules via CPP but via `if (0)', so that the
660 compiler still check the code is valid.
661 For instance, it should have noticed `rline' no longer exists: use
662 the `line' member of rule_t.
663 * src/gram.c (dummy, rline): Remove, unused.
664
665 2001-12-05 Akim Demaille <akim@epita.fr>
666
667 * src/output.c (pack_vector): Use assert, not berror.
668 * src/main.c (berror): Remove, unused.
669
670 2001-12-05 Akim Demaille <akim@epita.fr>
671
672 New experimental feature: if --verbose --trace output all the
673 items of a state, not only its kernel.
674
675 * src/print.c (print_core): If `trace_flag', then invoke closure
676 before outputting the items of the state (print_core is no longer
677 a correct name them).
678 (print_results): Invoke new_closure/free_closure if needed.
679
680 2001-12-05 Akim Demaille <akim@epita.fr>
681
682 * src/LR0.c (new_itemsets): Use nshifts only, not shiftcount.
683 * src/closure.c, src/closure.h (itemsetsize): Rename as...
684 (nitemset): for consistency with the rest of the project.
685
686 2001-12-05 Akim Demaille <akim@epita.fr>
687
688 * src/closure.c (print_closure): Improve.
689 (closure): Use it for printing input and output.
690
691 2001-12-05 Akim Demaille <akim@epita.fr>
692
693 * src/closure.c (FIRSTS, FDERIVES): Adjust to reality: they are
694 indexed by nonterminals.
695
696 2001-12-05 Akim Demaille <akim@epita.fr>
697
698 * src/warshall.c (TC, RTC): De-obsfucate (source reduced to 22% of
699 what it was!).
700 * src/warshall.h: Remove accidental duplication of the content.
701
702 2001-12-05 Akim Demaille <akim@epita.fr>
703
704 * src/closure.c (set_fderives): De-obfuscate.
705
706 2001-12-05 Akim Demaille <akim@epita.fr>
707
708 * src/closure.c (print_firsts, print_fderives): De-obfuscate.
709
710 2001-12-05 Akim Demaille <akim@epita.fr>
711
712 * src/closure.c (set_firsts): De-obfuscate.
713
714 2001-12-05 Akim Demaille <akim@epita.fr>
715
716 * src/output.c (action_row): De-obfuscate
717 using the good o' techniques: arrays not pointers, variable
718 locality, BITISSET, RESETBIT etc.
719
720 2001-12-05 Akim Demaille <akim@epita.fr>
721
722 Pessimize the code to simplify it: from now on, all the states
723 have a valid SHIFTS, which NSHIFTS is possibly 0.
724
725 * src/LR0.c (shifts_new): Be global and move to..
726 * src/state.c, src/state.h: here.
727 * src/conflicts, src/lalr.c, src/output.c, src/print.c,
728 * src/print_graph: Adjust.
729
730 2001-12-05 Akim Demaille <akim@epita.fr>
731
732 * src/state.h (SHIFT_DISABLE, SHIFT_IS_DISABLED): New.
733 * src/conflicts.c: Use it.
734 Restore a few missing `if (!SHIFT_IS_DISABLED)' which were
735 incorrectly ``simplified''.
736
737 2001-12-05 Akim Demaille <akim@epita.fr>
738
739 * src/conflicts.c (flush_shift, resolve_sr_conflict): De-obfuscate
740 using the good o' techniques: arrays not pointers, variable
741 locality, BITISSET, RESETBIT etc.
742
743 2001-12-05 Akim Demaille <akim@epita.fr>
744
745 * src/state.h (SHIFT_SYMBOL): New.
746 * src/conflicts.c: Use it to deobfuscate.
747
748 2001-12-05 Akim Demaille <akim@epita.fr>
749
750 * src/conflicts.c (count_sr_conflicts, count_rr_conflicts)
751 (print_reductions): De-obfuscate using the good o' techniques:
752 arrays not pointers, variable locality, BITISSET.
753
754 2001-12-05 Akim Demaille <akim@epita.fr>
755
756 * src/conflicts.c (print_reductions): Arrays, not pointers.
757 Use BITISSET.
758
759 2001-12-05 Akim Demaille <akim@epita.fr>
760
761 * src/conflicts.c (print_reductions): Pessimize, but clarify.
762
763 2001-12-05 Akim Demaille <akim@epita.fr>
764
765 * src/conflicts.c (print_reductions): Improve variable locality.
766
767 2001-12-05 Akim Demaille <akim@epita.fr>
768
769 * src/conflicts.c (print_reductions): Pessimize, but clarify.
770
771 2001-12-05 Akim Demaille <akim@epita.fr>
772
773 * src/conflicts.c (print_reductions): Improve variable locality.
774
775 2001-12-05 Akim Demaille <akim@epita.fr>
776
777 * src/state.h (SHIFT_IS_ERROR, SHIFT_IS_GOTO, SHIFT_IS_SHIFT): New.
778 * src/lalr.c: Use them.
779
780 2001-12-05 Akim Demaille <akim@epita.fr>
781
782 * src/LR0.c (augment_automaton): Formatting changes.
783 Better variable locality.
784
785 2001-12-05 Akim Demaille <akim@epita.fr>
786
787 * src/lalr.c (matrix_print): New.
788 (transpose): Use it.
789 Use arrays instead of pointers.
790
791 2001-12-05 Akim Demaille <akim@epita.fr>
792
793 * src/lalr.c (maxrhs): Move to...
794 * src/gram.c, src/gram.h (ritem_longest_rhs): here.
795 * src/lalr.c (build_relations): Adjust.
796
797 2001-12-05 Akim Demaille <akim@epita.fr>
798
799 * src/lalr.c (transpose): Free the memory allocated to the
800 argument, as it is replaced by the results by the unique caller.
801 (build_relations): Merely invoke transpose: it handles the memory
802 deallocation.
803 Improve variable locality.
804 Avoid variables used as mere abbreviations.
805 (compute_lookaheads): Use arrays instead of pointers.
806
807 2001-12-05 Akim Demaille <akim@epita.fr>
808
809 * src/lalr.c (initialize_F): Improve variable locality.
810 Avoid variables used as mere abbreviations.
811
812 2001-12-05 Akim Demaille <akim@epita.fr>
813
814 * src/derives.c (print_derives): Display the ruleno.
815 * src/lalr.c (initialize_F, transpose): Better variable locality
816 to improve readability.
817 Avoid variables used as mere abbreviations.
818
819 2001-12-05 Akim Demaille <akim@epita.fr>
820
821 * src/lalr.c (traverse): Use arrays instead of pointers.
822
823 2001-12-05 Akim Demaille <akim@epita.fr>
824
825 * src/nullable.c (set_nullable): Use a for loop to de-obfuscate
826 the handling of squeue.
827 `symbol >= 0' is wrong now, use `rule_table[ruleno].useful'.
828
829 2001-12-05 Akim Demaille <akim@epita.fr>
830
831 Because useless nonterminals are now kept alive (instead of being
832 `destroyed'), we now sometimes examine them, and store information
833 related to them. Hence we need to know their number, and adjust
834 memory allocations.
835
836 * src/reduce.c, src/reduce.h (nuseless_nonterminals): No longer
837 static.
838 * src/LR0.c (allocate_itemsets): The memory allocated to
839 `symbol_count' was used for two different purpose: once to count
840 the number of occurrences of each symbol, and later reassigned to
841 `shift_symbol', containing the symbol that can be shifted from a
842 given state.
843 Deobfuscate, i.e., allocate, use and free `symbol_count' here
844 only, and...
845 (new_itemsets): Allocate `shift_symbol' here.
846 (allocate_itemsets): symbol_count includes useless nonterminals.
847 Make room for them.
848 (free_storage): Use `free', not `XFREE', for pointers that cannot
849 be null.
850
851 2001-12-05 Akim Demaille <akim@epita.fr>
852
853 * src/nullable.c (set_nullable): Deobfuscate the handling of
854 ritem.
855 `symbol >= 0' is wrong now, use `rule_table[ruleno].useful'.
856
857 2001-12-05 Akim Demaille <akim@epita.fr>
858
859 * src/gram.c, src/gram.h (ritem_print): New.
860 * src/gram.c (dummy): Remove, now there is actual code in gram.c.
861 (This useless function was defined only to work around VMS linkers
862 that can't handle compilation units with variables only).
863 * src/reduce.c (dump_grammar): Use it to trace the construction of
864 ritem.
865
866 2001-12-04 Paul Eggert <eggert@twinsun.com>
867
868 * src/bison.simple (union yyalloc): Change member names
869 to be the same as the stack names.
870 (yyparse): yyptr is now union yyalloc *, not char *.
871 (YYSTACK_RELOCATE): Likewise. This avoids a GCC warning,
872 and may generate better code on some machines.
873 (yystpcpy): Use prototype if __STDC__ is defined, not just
874 if __cplusplus is defined.
875
876 2001-11-30 Akim Demaille <akim@epita.fr>
877
878 * configure.in (WARNING_CFLAGS): Add -Werror when possible.
879 (CFLAGS): Do not include the WARNING_CFLAGS here, since GNU
880 Gettext doesn't compile cleanly, and dies with -Werror.
881 * src/Makefile.am, lib/Makefile.am, tests/atlocal.in (CFLAGS):
882 Include WARNING_CFLAGS here.
883 * lib/xstrdup.c: Include xalloc.h, so that xstrdup be declared
884 before being defined.
885
886 2001-11-27 Paul Eggert <eggert@twinsun.com>
887
888 * lib/quotearg.h (quotearg_n, quotearg_n_style):
889 First arg is int, not unsigned.
890 * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
891 (SIZE_MAX, UINT_MAX): New macros.
892 (quotearg_n_options): Abort if N is negative.
893 Avoid overflow check on hosts where size_t is 64 bits and int
894 is 32 bits, as overflow is impossible there.
895 Fix off-by-one typo that caused unnecessary reallocation.
896
897 2001-11-29 Paul Eggert <eggert@twinsun.com>
898
899 Name space cleanup in generated parser.
900
901 * doc/bison.texinfo (Bison Parser): Discuss system headers
902 and their effect on the user name space.
903
904 * src/bison.simple:
905 (YYSTACK_ALLOC, YYSTACK_FREE, union yyalloc, YYSTACK_GAP_MAX,
906 YYSTACK_BYTES, YYSTACK_RELOCATE): Do not define unless necessary,
907 i.e. unless ! defined (yyoverflow) || defined (YYERROR_VERBOSE).
908
909 (YYSIZE_T): New macro. Use it instead of size_t, to avoid infringing
910 on user names when possible.
911
912 (YYSTACK_USE_ALLOCA): Do not define; just use any existing defn.
913 Simplify test for whather <alloca.h> exists.
914
915 (<stdlib.h>): Include if we will use malloc, and if standard C or C++.
916
917 (<stdio.h>): Include if YYDEBUG.
918
919 (yymemcpy): Renamed from __yy_memcpy. Do not define unless
920 ! defined (yyoverflow) && ! defined (yymemcpy).
921
922 (yymemcpy, yyparse): Rename local variables as needed so that
923 they all begin with 'yy'.
924
925 (yystrlen, yystpcpy): New functions.
926
927 (YY_DECL_NON_LSP_VARIABLES): Renamed from _YY_DECL_VARIABLES.
928 All uses changed.
929
930 (yyparse): size_t -> YYSIZE_T. Use yystrlen and yystpcpy
931 instead of relying on string.h functions. Use YYSTACK_ALLOC
932 and YYSTACK_FREE instead of malloc and free.
933
934 2001-11-30 Akim Demaille <akim@epita.fr>
935
936 * src/bison.simple (YYSTYPE, YYLTYPE): Move their definitions
937 before their first uses.
938 (YYBISON, YYPURE): Move to the top of the output.
939
940 2001-11-30 Akim Demaille <akim@epita.fr>
941
942 * tests/reduce.at (Useless Nonterminals): Fix.
943
944 2001-11-30 Akim Demaille <akim@epita.fr>
945
946 * src/bison.simple (YYSTACK_FREE): Use `do {;} while (0)' as empty
947 if body instead of `;' to pacify GCC's warnings.
948
949 2001-11-30 Akim Demaille <akim@epita.fr>
950
951 Instead of mapping the LHS of unused rules to -1, keep the LHS
952 valid, but flag the rules as invalid.
953
954 * src/gram.h (rule_t): `useful' is a new member.
955 * src/print.c (print_grammar): Adjust.
956 * src/derives.c (set_derives): Likewise.
957 * src/reader.c (packgram, reduce_output): Likewise.
958 * src/reduce.c (reduce_grammar_tables): Likewise.
959 * tests/reduce.at (Underivable Rules, Useless Rules): New.
960
961 2001-11-30 Akim Demaille <akim@epita.fr>
962
963 * src/reduce.c (reduce_output): Formatting changes.
964 * src/print.c (print_results, print_grammar): Likewise.
965 * tests/regression.at (Rule Line Numbers)
966 (Solved SR Conflicts, Unresolved SR Conflicts): Adjust.
967
968 2001-11-30 Akim Demaille <akim@epita.fr>
969
970 * src/reduce.c (nonterminals_reduce): Instead of throwing away
971 useless nonterminals, move them at the end of the symbol arrays.
972 (reduce_output): Adjust.
973 * tests/reduce.at (Useless Nonterminals): Adjust.
974
975 2001-11-30 Akim Demaille <akim@epita.fr>
976
977 * src/reduce.c: Various comment/formatting changes.
978 (nonterminals_reduce): New, extracted from...
979 (reduce_grammar_tables): here.
980 (reduce_grammar): Call nonterminals_reduce.
981
982 2001-11-29 Paul Eggert <eggert@twinsun.com>
983
984 * src/bison.simple (YYSTACK_REALLOC): Remove.
985 (YYSTACK_ALLOC): Resurrect this macro, with its old meaning.
986 (YYSTACK_FREE, YYSTACK_GAP_MAX, YYSTACK_BYTES, YYSTACK_RELOCATE):
987 New macros.
988 (union yyalloc): New type.
989 (__yy_memcpy): Last arg is size_t, not unsigned int, to remove
990 an arbitrary restriction on hosts where size_t is wider than int.
991
992 (yyparse): Don't dump core if alloca or malloc fails; instead, report
993 a parser stack overflow. Allocate just one block of memory for all
994 three stacks, instead of allocating three blocks; this typically is
995 faster and reduces fragmentation.
996
997 Do not limit the number of items in the stack to a value that fits
998 in 'int', as this is an arbitrary limit on hosts with 64-bit
999 size_t and 32-bit int.
1000
1001 2001-11-29 Marc Autret <autret_m@epita.fr>
1002
1003 * tests/calc.at [AT_DATA_CALC_Y]: Use %error-verbose instead
1004 of defining YYERROR_VERBOSE.
1005 [AT_DATA]: $4 is now out of C declarations in the prologue.
1006
1007 2001-11-28 Marc Autret <autret_m@epita.fr>
1008
1009 * src/reader.c (parse_dquoted_param): New.
1010 (parse_skel_decl): Use it.
1011 * src/lex.h: Add its prototype.
1012 * src/lex.c (literalchar): Become not static.
1013
1014 2001-11-28 Marc Autret <autret_m@epita.fr>
1015
1016 * src/output.h: And put its extern declaration here.
1017 * src/output.c (error_verbose): Define here.
1018 (prepare): Echo name modification.
1019 * src/getargs.h: Clean its extern declaration.
1020 * src/getargs.c (error_verbose_flag): Remove.
1021 (getargs): Remove case 'e'.
1022 * src/options.c (option_table): 'error-verbose' is now seen as simple
1023 percent option.
1024 Include output.h.
1025
1026 * src/reader.c (read_declarations): Remove case tok_include.
1027 (parse_include_decl): Remove.
1028 * src/lex.h (token_t): Remove tok_include.
1029 * src/options.c (option_table): 'include' is now a simple command line
1030 option.
1031
1032 2001-11-28 Marc Autret <autret_m@epita.fr>
1033
1034 * src/bison.simple: Adjust muscle names.
1035 * src/muscle_tab.c (muscle_init): Also rename the muscles.
1036 * src/output.c (prepare): s/_/-/ for the muscles names.
1037 (output_parser): When scanning for a muscle, allow '-' instead of '_'.
1038
1039 2001-11-28 Marc Autret <autret_m@epita.fr>
1040
1041 * src/bison.simple: Fix debug.
1042 [YYERROR_VERBOSE]: Re-integrate as an internal macro.
1043
1044 2001-11-28 Akim Demaille <akim@epita.fr>
1045
1046 * src/LR0.c (shifts_new): New.
1047 (save_shifts, insert_start_shift, augment_automaton): Use it.
1048
1049 2001-11-28 Akim Demaille <akim@epita.fr>
1050
1051 * src/closure.c (closure): `b' and `ruleno' denote the same value:
1052 keep ruleno only.
1053
1054 2001-11-28 Akim Demaille <akim@epita.fr>
1055
1056 * src/closure.c (closure): Instead of looping over word in array
1057 then bits in words, loop over bits in array.
1058
1059 2001-11-28 Akim Demaille <akim@epita.fr>
1060
1061 * src/closure.c (closure): No longer optimize the special case
1062 where all the bits of `ruleset[r]' are set to 0, to make the code
1063 clearer.
1064
1065 2001-11-28 Akim Demaille <akim@epita.fr>
1066
1067 * src/closure.c (closure): `r' and `c' are new variables, used to
1068 de-obfuscate accesses to RULESET and CORE.
1069
1070 2001-11-28 Akim Demaille <akim@epita.fr>
1071
1072 * src/reduce.c (reduce_print): Use ngettext.
1073 (dump_grammar): Improve the trace accuracy.
1074
1075 2001-11-28 Akim Demaille <akim@epita.fr>
1076
1077 * src/reduce.c (dump_grammar): Don't translate trace messages.
1078
1079 2001-11-28 Akim Demaille <akim@epita.fr>
1080
1081 * tests/reduce.at (Useless Terminals, Useless Nonterminals): New.
1082 * src/reduce.c (reduce_grammar_tables): Do not free useless tags,
1083 as all tags are free'ed afterwards.
1084 From Enrico Scholz.
1085
1086 2001-11-27 Paul Eggert <eggert@twinsun.com>
1087
1088 * src/bison.simple (YYSTACK_REALLOC): Fix typo that caused us to
1089 use alloca when we didn't want to, and vice versa.
1090
1091 2001-11-27 Marc Autret <autret_m@epita.fr>
1092
1093 * src/muscle_tab.c (muscle_init): Remove 'verbose' muscle
1094 initialization.
1095 * src/output.c (prepare): Remove its update.
1096
1097 2001-11-27 Marc Autret <autret_m@epita.fr>
1098
1099 * tests/torture.at [AT_DATA]: Remove YYERROR_VERBOSE definition.
1100 Use %error-verbose.
1101
1102 2001-11-27 Marc Autret <autret_m@epita.fr>
1103
1104 * src/bison.simple: Remove YYERROR_VERBOSE using.
1105 Use %%error_verbose.
1106 (yyparse): Likewise.
1107 * src/output.c (prepare): Give its final value.
1108 * src/muscle_tab.c (muscle_init): Init new muscle 'error_verbose'.
1109 * src/getargs.h: Add its extern declaration.
1110 * src/getargs.c (error_verbose_flag): New int.
1111 (getargs): Update to catch new case.
1112 * src/options.c (option_table): 'error-verbose' is a new option.
1113 (shortopts): Update.
1114
1115 2001-11-27 Akim Demaille <akim@epita.fr>
1116
1117 * src/system.h: Use intl/libgettext.h.
1118 * src/Makefile.am (INCLUDES): Add -I $(top_srcdir).
1119
1120 2001-11-27 Akim Demaille <akim@epita.fr>
1121
1122 * tests/torture.at (Exploding the Stack Size with Malloc):
1123 s/YYSTACK_USE_ALLOCA_ALLOCA/YYSTACK_USE_ALLOCA/.
1124
1125 2001-11-27 Akim Demaille <akim@epita.fr>
1126
1127 * src/files.c: Include error.h.
1128 Reported by Hans Aberg.
1129
1130 2001-11-26 Marc Autret <autret_m@epita.fr>
1131
1132 * src/reader.c (parse_include_decl): New, not yet implemented.
1133 (read_declarations): Add case tok_include.
1134 * src/getargs.h (include): Add its extern definition.
1135 * src/getargs.c (include): New const char *.
1136 (getargs): Add case '-I'.
1137 * src/options.c (option_table): Add include as command line and
1138 percent option.
1139 * src/lex.h (token_t): Add tok_include.
1140
1141 2001-11-26 Akim Demaille <akim@epita.fr>
1142
1143 * src/reader.c (readgram): Make sure rules for mid-rule actions
1144 have a lineno equal to that of their host rule.
1145 Reported by Hans Aberg.
1146 * tests/regression.at (Rule Line Numbers): New.
1147
1148 2001-11-26 Akim Demaille <akim@epita.fr>
1149
1150 * src/LR0.c (allocate_itemsets): kernel_size contains ints, not
1151 size_ts.
1152
1153 2001-11-26 Akim Demaille <akim@epita.fr>
1154
1155 * src/complain.c, src/complain.h (error): Remove, provided by
1156 lib/error.[ch].
1157
1158 2001-11-26 Akim Demaille <akim@epita.fr>
1159
1160 * src/reader.c (read_declarations): Don't abort on tok_illegal,
1161 issue an error message.
1162 * tests/regression.at (Invalid %directive): New.
1163 Reported by Hans Aberg.
1164
1165 2001-11-26 Akim Demaille <akim@epita.fr>
1166
1167 * configure.in: Invoke AC_FUNC_OBSTACK and AC_FUNC_ERROR_AT_LINE.
1168 * lib/Makefile.am (libbison_a_SOURCES): Adjust.
1169
1170 2001-11-26 Akim Demaille <akim@epita.fr>
1171
1172 * src/conflicts.c (conflicts_print): Don't complain at all when
1173 there are no reduce/reduce conflicts, and as many shift/reduce
1174 conflicts as expected.
1175 * tests/regression.at (%expect right): Adjust.
1176
1177 2001-11-23 Akim Demaille <akim@epita.fr>
1178
1179 * lib/alloca.c: Update, from fileutils.
1180
1181 2001-11-23 Akim Demaille <akim@epita.fr>
1182
1183 * lib/Makefile.am (libbison_a_LIBADD): Add @ALLOCA@.
1184
1185 2001-11-23 Akim Demaille <akim@epita.fr>
1186
1187 * src/system.h: Include alloca.h.
1188 * src/main.c (main) [C_ALLOCA]: Call alloca (0).
1189
1190 2001-11-23 Akim Demaille <akim@epita.fr>
1191
1192 * src/print_graph.c (print_actions): Remove `rule', unused.
1193 * src/LR0.c (kernel_size): Contain `int' instead of `size_t' to
1194 pacify GCC's signed < unsigned warnings.
1195 * src/closure.c (itemsetsize): Likewise.
1196 * src/reader.c (symbol_list_new): Static.
1197
1198 2001-11-23 Akim Demaille <akim@epita.fr>
1199
1200 Attaching lineno to buckets is stupid, since only one copy of each
1201 symbol is kept, only the line of the first occurrence is kept too.
1202
1203 * src/symtab.h, src/symtab.c (bucket): Remove the line member.
1204 * src/reader.c (rline_allocated): Remove, unused.
1205 (symbol_list): Have a `line' member.
1206 (symbol_list_new): New.
1207 (readgram): Use it.
1208 * src/print.c (print_grammar): Output the rule line numbers.
1209 * tests/regression.at (Solved SR Conflicts)
1210 (Unresolved SR Conflicts): Adjust.
1211 Reported by Hans Aberg.
1212
1213 2001-11-22 Marc Autret <autret_m@epita.fr>
1214
1215 * src/bison.simple [YYERROR_VERBOSE]: Force its value to be 1 or 0.
1216
1217 2001-11-22 Marc Autret <autret_m@epita.fr>
1218
1219 * src/muscle_tab.c (muscle_init): Remove initialization of
1220 skeleton muscle.
1221 * src/output.c (output_master_parser): Do it here.
1222
1223 2001-11-20 Akim Demaille <akim@epita.fr>
1224
1225 * po/sv.po: New.
1226 * configure.in (ALL_LINGUAS): Adjust.
1227 * po/POTFILE.in: Remove `nullable.c' and `derives.c' which no
1228 longer contains strings to translate.
1229
1230 2001-11-19 Akim Demaille <akim@epita.fr>
1231
1232 * src/conflicts.c (conflicts_print): Add a missing \n.
1233
1234 2001-11-19 Akim Demaille <akim@epita.fr>
1235
1236 * src/nullable.c (nullable_print): New.
1237 (set_nullable): Call it when tracing.
1238 Better locality of variables.
1239
1240 2001-11-19 Akim Demaille <akim@epita.fr>
1241
1242 * src/print.c (print_actions): Better locality of variables.
1243
1244 2001-11-19 Akim Demaille <akim@epita.fr>
1245
1246 * src/derives.c (print_derives): Fix and enrich.
1247 * src/closure.c (print_fderives): Likewise.
1248
1249 2001-11-19 Akim Demaille <akim@epita.fr>
1250
1251 * src/closure.c (itemsetend): Remove, replaced with...
1252 (itemsetsize): new.
1253
1254 2001-11-19 Akim Demaille <akim@epita.fr>
1255
1256 * src/LR0.c (kernel_end): Remove, replaced with...
1257 (kernel_size): new.
1258
1259 2001-11-19 Akim Demaille <akim@epita.fr>
1260
1261 * src/conflicts.c (set_conflicts): Use arrays instead of pointers
1262 to clarify.
1263
1264 2001-11-19 Akim Demaille <akim@epita.fr>
1265
1266 * src/closure.c (closure): Use arrays instead of pointers to clarify.
1267
1268 2001-11-19 Akim Demaille <akim@epita.fr>
1269
1270 * src/closure.c, src/derives.c, src/nullable.c: Adjust various
1271 trace messages.
1272 * src/LR0.c: Likewise.
1273 (allocate_itemsets): Use arrays instead of pointers to clarify.
1274
1275 2001-11-19 Akim Demaille <akim@epita.fr>
1276
1277 * src/getargs.c (statistics_flag): Replace with...
1278 (trace_flag): New.
1279 (longopts): Accept --trace instead of --statistics.
1280 * src/getargs.h, src/options.c: Adjust.
1281 * src/LR0.c, src/closure.c, src/derives.c, src/nullable.c,
1282 * src/reduce.c: Use trace_flags instead of the CPP conditional TRACE.
1283
1284 2001-11-19 Akim Demaille <akim@epita.fr>
1285
1286 * src/LR0.c (new_itemsets, get_state): Use more arrays and fewer
1287 pointers to clarify the code.
1288 (save_reductions, save_shifts): Factor common parts of alternatives.
1289
1290 2001-11-19 Akim Demaille <akim@epita.fr>
1291
1292 * src/LR0.c (new_state, get_state): Complete TRACE code.
1293 * src/closure.c: Include `reader.h' to get `tags', needed by the
1294 trace code.
1295 Rename the conditional DEBUG as TRACE.
1296 Output consistently TRACEs to stderr, not stdout.
1297 * src/derives.c: Likewise.
1298 * src/reduce.c: (inaccessable_symbols): Using if is better style
1299 than goto.
1300 Use `#if TRACE' instead of `#if 0' for tracing code.
1301
1302 2001-11-19 Akim Demaille <akim@epita.fr>
1303
1304 * src/system.h (LIST_FREE, shortcpy): New.
1305 * src/LR0.c: Use them.
1306 * src/output.c (free_itemsets, free_reductions, free_shifts):
1307 Remove, replaced by LIST_FREE.
1308
1309 2001-11-19 Akim Demaille <akim@epita.fr>
1310
1311 * src/state.h (CORE_ALLOC, SHIFTS_ALLOC, ERRS_ALLOC)
1312 (REDUCTIONS_ALLOC): New.
1313 * src/LR0.c, src/conflicts.c: Use them to de-obfuscate memory
1314 allocation.
1315
1316 2001-11-19 Akim Demaille <akim@epita.fr>
1317
1318 * src/LR0.c (new_state): Complete trace code.
1319 * src/nullable.c (set_nullable): Don't translate traces.
1320
1321 2001-11-19 Akim Demaille <akim@epita.fr>
1322
1323 * src/print_graph.c (print_core): Better locality of variables.
1324 * src/print.c (print_core): Likewise.
1325
1326 2001-11-19 Akim Demaille <akim@epita.fr>
1327
1328 * src/vcg.c: You do the output, so you are responsible of the
1329 handling of VCG syntax, in particular: use quotearg.
1330 * src/print_graph.c: Don't.
1331 (print_actions): Don't output the actions as part of the nodes,
1332 since that's the job of the edges.
1333 (print_state): Don't output by hand: fill the node description,
1334 and ask for its output.
1335
1336 2001-11-19 Akim Demaille <akim@epita.fr>
1337
1338 * src/bison.simple (yyparse): When verbosely reporting an error,
1339 no longer put additional quotes around token names.
1340 * tests/calc.at: Adjust.
1341
1342 2001-11-19 Akim Demaille <akim@epita.fr>
1343
1344 * src/symtab.h, src/symtab.c: `line' is a new member of `bucket'.
1345 * src/reader.c (record_rule_lines, rline, rline_allocated): Remove.
1346 * src/output.c: Adjust.
1347
1348 2001-11-19 Akim Demaille <akim@epita.fr>
1349
1350 * src/gram.h (rprec, rprecsym, rassoc): Remove, now part of...
1351 (rule_t): this.
1352 * src/conflicts.c, src/reader.c, src/reduce.c: Adjust.
1353
1354 2001-11-19 Akim Demaille <akim@epita.fr>
1355
1356 * src/gram.h (rule_t): New.
1357 (rule_table): New.
1358 (rrhs, rlhs): Remove, part of state_t.
1359 * src/print_graph.c, src/closure.c, src/conflicts.c, src/derives.c,
1360 * src/lalr.c, src/nullable.c, src/output.c, src/print.c,
1361 * src/reader.c, src/reduce.c: Adjust.
1362
1363 2001-11-19 Akim Demaille <akim@epita.fr>
1364
1365 * src/reader.c (symbols_output): New, extracted from...
1366 (packsymbols): Here.
1367 (reader): Call it.
1368
1369 2001-11-19 Akim Demaille <akim@epita.fr>
1370
1371 * src/lalr.c (set_maxrhs, maxrhs): Remove, replaced with...
1372 (maxrhs): this new function.
1373
1374 2001-11-19 Akim Demaille <akim@epita.fr>
1375
1376 * src/lalr.c (F): New macro to access the variable F.
1377 Adjust.
1378
1379 2001-11-19 Akim Demaille <akim@epita.fr>
1380
1381 * src/lalr.h (LA): New macro to access the variable LA.
1382 * src/output.c, src/lalr.c, src/print_graph.c, src/conflicts.c:
1383 * src/lalr.c: Adjust.
1384
1385 2001-11-19 Akim Demaille <akim@epita.fr>
1386
1387 * src/lalr.c (initialize_LA): Only initialize LA. Let...
1388 (set_state_table): handle the `lookaheads' members.
1389
1390 2001-11-19 Akim Demaille <akim@epita.fr>
1391
1392 * src/lalr.h (lookaheads): Removed array, whose contents is now
1393 a member of...
1394 (state_t): this structure.
1395 * src/output.c, src/lalr.c, src/print_graph.c, src/conflicts.c:
1396 Adjust.
1397
1398 2001-11-19 Akim Demaille <akim@epita.fr>
1399
1400 * src/lalr.h (consistent): Removed array, whose contents is now
1401 a member of...
1402 (state_t): this structure.
1403 * src/output.c, src/lalr.c, src/print_graph.c, src/conflicts.c:
1404 Adjust.
1405
1406 2001-11-19 Akim Demaille <akim@epita.fr>
1407
1408 * src/lalr.h (reduction_table, shift_table): Removed arrays, whose
1409 contents are now members of...
1410 (state_t): this structure.
1411 * src/output.c, src/lalr.c, src/print_graph.c, src/conflicts.c:
1412 Adjust.
1413
1414 2001-11-19 Akim Demaille <akim@epita.fr>
1415
1416 * src/lalr.h (state_t): New.
1417 (state_table): Be a state_t * instead of a core **.
1418 (accessing_symbol): Remove, part of state_t.
1419 * src/lalr.c: Adjust.
1420 (set_accessing_symbol): Merge into...
1421 (set_state_table): this.
1422 * src/print_graph.c, src/conflicts.c: Adjust.
1423
1424 2001-11-14 Akim Demaille <akim@epita.fr>
1425
1426 * tests/calc.at, tests/output.at, tests/regression.at,
1427 * tests/testsuite.at, tests/torture.at: Rely on Autotest 2.52g:
1428 now the tests are run in private dirs, therefore AC_CLEANUP and
1429 family can be simplified to 0-ary.
1430 * tests/atlocal.in: Now that we run `elsewhere' than in tests/,
1431 use abs. path to find config.h.
1432 * tests/calc.at (AT_CHECK_CALC): Don't try to check the compiler's
1433 stderr, there can be way too much random noise.
1434 Instead pass -Werror to GCC and rely on the exit status.
1435 Reported by Wolfram Wagner.
1436
1437 2001-11-14 Akim Demaille <akim@epita.fr>
1438
1439 * src/bison.simple (yyparse): Let yyls1, yyss1 and yyvs1 be
1440 defined only if yyoverflow is defined, to avoid `warning: unused
1441 variable `yyvs1''.
1442 Reported by The Test Suite.
1443
1444 2001-11-14 Akim Demaille <akim@epita.fr>
1445
1446 * src/print.c: Include reduce.h.
1447 Reported by Hans Aberg.
1448
1449 2001-11-14 Akim Demaille <akim@epita.fr>
1450
1451 * src/lex.c, src/lex.h (token_buffer, unlexed_token_buffer):
1452 Revert a previous patch: these are really const.
1453 * src/conflicts.c (conflict_report): Additional useless pair of
1454 braces to pacify GCC's warnings for `if () if () {} else {}'.
1455 * src/lex.c (parse_percent_token): Replace equal_offset with
1456 arg_offset.
1457 arg is const.
1458 Be sure to strdup `arg' when used, since there is no reason for
1459 token_buffer not to change.
1460
1461 2001-11-14 Akim Demaille <akim@epita.fr>
1462
1463 * src/system.h (EXIT_SUCCESS, EXIT_FAILURE): Ensure a proper
1464 definition.
1465 * src/main.c (main): Use them.
1466 Suggested by Hans Aberg.
1467
1468 2001-11-12 Akim Demaille <akim@epita.fr>
1469
1470 * src/system.h (ngettext): Now that we use ngettext, be sure to
1471 provide a default definition when NLS are not used.
1472
1473 2001-11-12 Akim Demaille <akim@epita.fr>
1474
1475 * doc/bison.texinfo: Use `$' as shell prompt, not `%'.
1476 Use @kbd to denote user input.
1477 (Language and Grammar): ANSIfy the example.
1478 Adjust its layout for info/notinfo.
1479 (Location Tracking Calc): Output error messages to stderr.
1480 Output locations in a more GNUtically correct way.
1481 Fix a couple of Englishos.
1482 Adjust @group/@end group pairs.
1483
1484 2001-11-12 Akim Demaille <akim@epita.fr>
1485
1486 %expext was not functioning at all.
1487
1488 * src/conflicts.c (expected_conflicts): Set to -1.
1489 (conflict_report): Use ngettext.
1490 (conflicts_print): Check %expect and make its violation an error.
1491 * doc/bison.texinfo (Expect Decl): Adjust.
1492 * configure.in (AM_GNU_GETTEXT): Ask for ngettext.
1493 * tests/regression.at (%expect not enough, %expect right)
1494 (%expect too much): New.
1495
1496 2001-11-12 Akim Demaille <akim@epita.fr>
1497
1498 * tests/regression.at (Conflicts): Rename as...
1499 (Unresolved SR Conflicts): this.
1500 (Solved SR Conflicts): New.
1501
1502 2001-11-12 Akim Demaille <akim@epita.fr>
1503
1504 * src/reduce.c (print_results): Rename as...
1505 (reduce_output): This.
1506 Output to OUT, passed as argument, instead of output_obstack.
1507 (dump_grammar): Likewise.
1508 (reduce_free): New.
1509 Also free V1.
1510 (reduce_grammar): No longer call reduce_output, since...
1511 * src/print.c (print_results): do it.
1512 * src/main.c (main): Call reduce_free;
1513
1514 2001-11-12 Akim Demaille <akim@epita.fr>
1515
1516 * src/conflicts.c (print_reductions): Accept OUT as argument.
1517 Output to it, not to output_obstack.
1518 * src/print.c (print_actions): Adjust.
1519
1520 2001-11-12 Akim Demaille <akim@epita.fr>
1521
1522 * src/conflicts.c (count_sr_conflicts, count_rr_conflicts): Return
1523 the result instead of using...
1524 (src_total, rrc_total, src_count, rrc_count): Remove.
1525 (any_conflicts): Remove.
1526 (print_conflicts): Split into...
1527 (conflicts_print, conflicts_output): New.
1528 * src/conflicts.h: Adjust.
1529 * src/main.c (main): Invoke both conflicts_output and conflicts_print.
1530 * src/print.c (print_grammar): Issue `\n' between two rules.
1531 * tests/regression.at (Conflicts): New.
1532 Reported by Tom Lane.
1533
1534 2001-11-12 Akim Demaille <akim@epita.fr>
1535
1536 * tests/regression.at (Invalid input): Remove, duplicate with
1537 ``Invalid input: 1''.
1538
1539 2001-11-12 Akim Demaille <akim@epita.fr>
1540
1541 * tests/torture.at (AT_DATA_STACK_TORTURE)
1542 (Exploding the Stack Size with Alloca)
1543 (Exploding the Stack Size with Malloc): New.
1544
1545 2001-11-12 Akim Demaille <akim@epita.fr>
1546
1547 * src/bison.simple (YYSTACK_REALLOC): New.
1548 (yyparse) [!yyoverflow]: Use it and free the old stack.
1549 Reported by Per Allansson.
1550
1551 2001-11-12 Pascal Bart <pascal.bart@epita.fr>
1552
1553 * src/bison.simple: Define type yystype instead of YYSTYPE, and
1554 define CPP macro, which substitute YYSTYPE by yystype.
1555 * src/reader.c (parse_union_decl): Output yystype/YYSTYPE as we do
1556 with yyltype/YYLTYPE. This allows inclusion of the generated
1557 header within the parser if the compiler, such as GGC, accepts
1558 multiple equivalent #defines.
1559 From Akim.
1560
1561 2001-11-05 Akim Demaille <akim@epita.fr>
1562
1563 * src/reader.c (symbols_output): New, extracted from...
1564 (packsymbols): here.
1565 (reader): Adjust.
1566
1567 2001-11-05 Akim Demaille <akim@epita.fr>
1568
1569 * src/lex.c (parse_percent_token): s/quotearg/quote/.
1570
1571 2001-11-05 Akim Demaille <akim@epita.fr>
1572
1573 * tests/regression.at (AT_TEST_CPP_GUARD_H): Adjust the clean up
1574 pattern.
1575
1576 2001-11-05 Akim Demaille <akim@epita.fr>
1577
1578 * src/options.h (struct option_table_struct): set_flags is void*.
1579 * src/options.c (longopts): Support `--output' and `%output'.
1580 (usage): Adjust.
1581 * src/lex.h (tok_setopt): Remove, replaced with...
1582 (tok_intopt, tok_stropt): these new guys.
1583 * src/lex.c (getopt.h): Not needed.
1584 (token_buffer, unlexed_token_buffer): Not const.
1585 (percent_table): Promote `-' over `_' in directive names.
1586 Active `%name-prefix', `file-prefix', and `output'.
1587 (parse_percent_token): Accept possible arguments to directives.
1588 Promote `-' over `_' in directive names.
1589
1590 2001-11-04 Akim Demaille <akim@epita.fr>
1591
1592 * doc/bison.texinfo (Decl Summary): Split the list into
1593 `directives for grammars' and `directives for bison'.
1594 Sort'em.
1595 Add description of `%name-prefix', `file-prefix', and `output'.
1596 Promote `-' over `_' in directive names.
1597 (Bison Options): s/%locactions/%locations/. Nice Freudian slip.
1598 Simplify the description of `--name-prefix'.
1599 Promote `-' over `_' in directive names.
1600 Promote `--output' over `--output-file'.
1601 Fix the description of `--defines'.
1602 * tests/output.at: Exercise %file-prefix and %output.
1603
1604 2001-11-02 Akim Demaille <akim@epita.fr>
1605
1606 * doc/refcard.tex: Update.
1607
1608 2001-11-02 Akim Demaille <akim@epita.fr>
1609
1610 * src/symtab.h (SUNDEF): New.
1611 * src/symtab.c (bucket_new): Init user_token_number to SUNDEF to
1612 stand for `uninitialized', instead of 0.
1613 * src/reader.c (packsymbols, parse_thong_decl): Adjust.
1614 * src/lex.c (lex): Adjust.
1615
1616 * tests/calc.at (_AT_DATA_CALC_Y): Declare a token for EOF.
1617 Number it 0.
1618 Let yylex return it instead of a plain 0.
1619 Reported by Dick Streefland.
1620
1621 2001-11-02 Akim Demaille <akim@epita.fr>
1622
1623 * tests/regression.at (Mixing %token styles): New test.
1624
1625 2001-11-02 Akim Demaille <akim@epita.fr>
1626
1627 * src/reader.c (parse_thong_decl): Formatting changes.
1628 (token_translations_init): New, extracted from...
1629 (packsymbols): Here.
1630 Adjust.
1631
1632 2001-11-01 Akim Demaille <akim@epita.fr>
1633
1634 * tests/regression.at (AT_TEST_CPP_GUARD_H): New.
1635 Check that `9foo.y' produces correct cpp guards.
1636 * src/files.c (compute_header_macro): Prepend `BISON_' to CPP
1637 guards.
1638 Reported by Wwp.
1639
1640 2001-11-01 Akim Demaille <akim@epita.fr>
1641
1642 * tests/regression.at (Invalid input: 2): New.
1643 * src/lex.c (unlexed_token_buffer): New.
1644 (lex, unlex): Adjust: when unlexing, be sure to save token_buffer
1645 too.
1646 Reported by Wwp.
1647
1648 2001-11-01 Akim Demaille <akim@epita.fr>
1649
1650 * tests/calc.at: Catch up with 1.30.
1651 * configure.in: Bump to 1.49a.
1652 Adjust to newer Autotest.
1653
1654 2001-10-19 Pascal Bart <pascal.bart@epita.fr>
1655
1656 * src/conflicts.c: Move global variables rrc_total and src_total ...
1657 (print_conflicts): here.
1658 * src/output.c (output): Free global variable user_toknums.
1659 * src/lex.c (token_obstack): Become static.
1660
1661 2001-10-18 Akim Demaille <akim@epita.fr>
1662
1663 * tests/atlocal.in (GCC): Add.
1664 * tests/calc.at: s/m4_match/m4_bmatch/.
1665 s/m4_patsubst/m4_bpatsubst/.
1666 (AT_CHECK_CALC): Check the compiler's stderr only if it's GCC.
1667 * configure.in: AC_SUBST(GCC).
1668
1669 2001-10-14 Marc Autret <autret_m@epita.fr>
1670
1671 * src/options.c (create_long_option_table): Fix.
1672
1673 2001-10-10 Akim Demaille <akim@epita.fr>
1674
1675 * src/bison.simple: Be sure to set YYSTACK_USE_ALLOCA.
1676
1677 2001-10-04 Akim Demaille <akim@epita.fr>
1678
1679 * src/reader.c (parse_union_decl): Push the caracters in
1680 union_obstack, not attrs_obstack.
1681
1682 2001-10-04 Akim Demaille <akim@epita.fr>
1683
1684 Merge in the branch 1.29.
1685
1686 * src/reader.c (packsymbols): Use a temporary obstack for
1687 `%%tokendef', since output_stack is already used elsewhere.
1688
1689 2001-10-02 Akim Demaille <akim@epita.fr>
1690
1691 Bump 1.29d.
1692
1693 2001-10-02 Akim Demaille <akim@epita.fr>
1694
1695 Version 1.29c.
1696
1697 2001-10-02 Akim Demaille <akim@epita.fr>
1698
1699 * tests/regression.at (Invalid CPP headers): New.
1700 From Alexander Belopolsky.
1701 * src/files.c (compute_header_macro): Map non alnum chars to `_'.
1702
1703 2001-10-02 Akim Demaille <akim@epita.fr>
1704
1705 * tests/regression.at (Invalid input): New.
1706 * src/lex.c (lex): Be sure to set `token_buffer' in any case.
1707 Reported by Shura.
1708
1709 2001-10-02 Akim Demaille <akim@epita.fr>
1710
1711 * tests/calc.at: Now that --debug works, the tests must be adjusted.
1712
1713 2001-10-02 Akim Demaille <akim@epita.fr>
1714
1715 * src/output.c (output_parser): Assert `skeleton'.
1716 * src/files.c (skeleton_find): Look harder for skeletons on DOSish
1717 systems.
1718 From Shura.
1719
1720 2001-10-01 Marc Autret <autret_m@epita.fr>
1721
1722 * src/lex.h: Echo modifications.
1723 * src/lex.c (unlex): Parameter is now token_t.
1724 From Hans Aberg.
1725
1726 2001-10-01 Marc Autret <autret_m@epita.fr>
1727
1728 * src/main.c: Include lex.h.
1729 From Hans Aberg.
1730
1731 2001-09-29 Akim Demaille <akim@epita.fr>
1732
1733 * src/getargs.c (longopts): `--debug' is `-t', not `-d'.
1734
1735 2001-09-28 Akim Demaille <akim@epita.fr>
1736
1737 * tests/testsuite.at: Update to newer Autotest.
1738 * tests/Makefile.am (EXTRA_DIST): bison is not to be shipped.
1739
1740 2001-09-27 Akim Demaille <akim@epita.fr>
1741
1742 Position independent wrapper.
1743
1744 * tests/bison: Remove.
1745 * tests/bison.in: New.
1746 * configure.in: Adjust.
1747
1748 2001-09-27 Paul Eggert <eggert@twinsun.com>
1749
1750 Port quotearg fixes from tar 1.13.24.
1751
1752 * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
1753 tm to be declared.
1754 (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
1755 (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
1756
1757 * m4/Makefile.am (EXTRA_DIST): Add mbrtowc.m4.
1758 * m4/mbrtowc.m4: New file.
1759 * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for mbsinit and stddef.h.
1760 Use jm_FUNC_MBRTOWC instead of AC_CHECK_FUNCS(mbrtowc).
1761
1762 2001-09-27 Akim Demaille <akim@epita.fr>
1763
1764 Bump to 1.29c.
1765
1766 2001-09-27 Akim Demaille <akim@epita.fr>
1767
1768 Version 1.29b.
1769
1770 2001-09-25 Akim Demaille <akim@epita.fr>
1771
1772 * src/system.h: Include `xalloc.h'.
1773 Remove it from the C files.
1774 * src/files.c (output_files): Free the obstacks.
1775 * src/lex.c (init_lex): Rename as...
1776 (lex_init): this.
1777 (lex_free): New.
1778 * src/main.c (main): Use it.
1779
1780 2001-09-24 Marc Autret <autret_m@epita.fr>
1781
1782 * src/vcg.c (open_edge, close_edge, open_node, close_node): Change
1783 to output informations in fout (FILE*).
1784 (open_graph, close_graph): Likewise.
1785 (output_graph, output_edge, output_node): Likewise.
1786 * src/vcg.h: Update function prototypes.
1787 * src/print_graph.c (print_graph): Open output graph file.
1788 (print_actions): Adjust.
1789 * src/files.h: Remove extern declaration.
1790 * src/files.c: Remove graph_obstack declaration.
1791 (open_files): Remove graph_obstack initialization.
1792 (output_files): Remove graph_obstack saving.
1793
1794 2001-09-24 Marc Autret <autret_m@epita.fr>
1795
1796 * src/files.c (compute_output_file_names): Fix.
1797
1798 2001-09-24 Marc Autret <autret_m@epita.fr>,
1799 Akim Demaille <akim@epita.fr>
1800
1801 * src/reader.c (reader): Remove call to free_symtab ().
1802 * src/main.c (main): Call it here.
1803 Include symtab.h.
1804 * src/conflicts.c (initialize_conflicts): Rename as...
1805 (solve_conflicts): this.
1806 * src/print.c (print_core, print_actions, print_state)
1807 (print_grammar): Dump to a file instead a `output_obstack'.
1808 (print_results): Dump `output_obstack', and then proceed with the
1809 FILE *.
1810 * src/files.c (compute_output_file_names, close_files): New.
1811 (output_files): Adjust.
1812 * src/main.c (main): Adjust.
1813
1814 2001-09-23 Marc Autret <autret_m@epita.fr>
1815
1816 * src/files.c (compute_header_macro): Computes header macro name
1817 from spec_defines_file when given.
1818
1819 2001-09-23 Marc Autret <autret_m@epita.fr>
1820
1821 * src/files.c (output_files): Add default extensions.
1822
1823 2001-09-22 Akim Demaille <akim@epita.fr>
1824
1825 * src/conflicts.c (finalize_conflicts): Rename as...
1826 (free_conflicts): this.
1827
1828 2001-09-22 Akim Demaille <akim@epita.fr>
1829
1830 * src/gram.c (gram_free): Rename back as...
1831 (dummy): this.
1832 (output_token_translations): Free `token_translations'.
1833 * src/symtab.c (free_symtab): Free the tag field.
1834
1835 2001-09-22 Akim Demaille <akim@epita.fr>
1836
1837 Remove `translations' as it is always set to true.
1838
1839 * src/gram.h: Adjust.
1840 * src/reader.c (packsymbols, parse_token_decl): Adjust
1841 * src/print.c (print_grammar): Adjust.
1842 * src/output.c (output_token_translations): Adjust.
1843 * src/lex.c (lex): Adjust.
1844 * src/gram.c: Be sure the set pointers to NULL.
1845 (dummy): Rename as...
1846 (gram_free): this.
1847
1848 2001-09-22 Akim Demaille <akim@epita.fr>
1849
1850 * configure.in: Invoke AM_LIB_DMALLOC.
1851 * src/system.h: Use dmalloc.
1852 * src/LR0.c: Be sure to have pointers initialized to NULL.
1853 (allocate_itemsets): Allocate kernel_items only if needed.
1854
1855 2001-09-22 Akim Demaille <akim@epita.fr>
1856
1857 * configure.in: Bump to 1.29b.
1858 * tests/Makefile.am (DISTCLEANFILES): Add package.m4.
1859 * tests/calc.at (_AT_DATA_CALC_Y): #undef malloc so that we don't
1860 need xmalloc.c in calc.y.
1861 From Pascal Bart.
1862
1863 2001-09-21 Akim Demaille <akim@epita.fr>
1864
1865 Version 1.29a.
1866 * Makefile.maint, config/config.guess, config/config.sub,
1867 * config/missing: Update from masters.
1868 * tests/Makefile.am ($(srcdir)/$(TESTSUITE)): No longer depend
1869 upon package.m4.
1870 * configure.in (ALL_LINGUAS): Add `tr'.
1871
1872 2001-09-21 Akim Demaille <akim@epita.fr>
1873
1874 * tests/Makefile.am (package.m4): Move to...
1875 ($(srcdir)/$(TESTSUITE)): here.
1876
1877 2001-09-20 Akim Demaille <akim@epita.fr>
1878
1879 * src/complain.c: No longer try to be standalone: use system.h.
1880 Don't assume __STDC__ is defined to 1. Just test if it is defined.
1881 * src/complain.h: Likewise.
1882 * src/reduce.c (useless_nonterminals, inaccessable_symbols):
1883 Remove the unused variable `n'.
1884 From Albert Chin-A-Young.
1885
1886 2001-09-18 Marc Autret <autret_m@epita.fr>
1887
1888 * doc/bison.1: Update.
1889 * doc/bison.texinfo (Bison Options): Update --defines and --graph
1890 descriptions.
1891 (Option Cross Key): Update.
1892 Add --graph.
1893
1894 2001-09-18 Marc Autret <autret_m@epita.fr>
1895
1896 * tests/regression.at: New test (comment in %union).
1897
1898 2001-09-18 Marc Autret <autret_m@epita.fr>
1899
1900 * src/reader.c (parse_union_decl): Do not output '/'. Let copy_comment
1901 do that.
1902 Reported by Keith Browne.
1903
1904 2001-09-18 Marc Autret <autret_m@epita.fr>
1905
1906 * tests/output.at: Add tests for --defines and --graph.
1907
1908 2001-09-18 Marc Autret <autret_m@epita.fr>
1909
1910 * tests/output.at: Removes tests of %{header,src}_extension features.
1911
1912 2001-09-18 Akim Demaille <akim@epita.fr>
1913
1914 * tests/Makefile.am (package.m4): New.
1915 * tests/calc.at (_AT_CHECK_CALC): Just run `calc input'.
1916 (_AT_CHECK_CALC_ERROR): Likewise.
1917 Factor the `, ' part of verbose error messages.
1918
1919 2001-09-18 Marc Autret <autret_m@epita.fr>
1920
1921 * src/getargs.c (longopts): Declare --defines and --graph as options
1922 with optional arguments.
1923 * src/files.h: Add extern declarations.
1924 * src/files.c (spec_graph_file, spec_defines_file): New.
1925 (output_files): Update.
1926 Remove CPP-outed code.
1927
1928 2001-09-18 Marc Autret <autret_m@epita.fr>
1929
1930 Turn off %{source,header}_extension feature.
1931
1932 * src/files.c (compute_exts_from_gf): Update.
1933 (compute_exts_from_src): Update.
1934 (output_files): CPP-out useless code.
1935 * src/files.h: Remove {header,source}_extension extern declarations.
1936 * src/reader.c (parse_dquoted_param): CPP-out.
1937 (parse_header_extension_decl): Remove.
1938 (parse_source_extension_decl): Remove.
1939 (read_declarations): Remove cases tok_{hdrext,srcext}.
1940 * src/lex.c (percent_table): Remove {header,source}_extension entries.
1941 * src/lex.h (token_t): Remove tok_hdrext and tok_srcext.
1942
1943 2001-09-10 Akim Demaille <akim@epita.fr>
1944
1945 * tests/output.at (AT_CHECK_BISON_FLAGS, AT_CHECK_BISON_PERCENT):
1946 (AT_CHECK_BISON_PERCENT_FLAGS): Merge into...
1947 (AT_CHECK_OUTPUT): this.
1948 Merely check ls' exit status, its output is useless.
1949
1950 2001-09-10 Akim Demaille <akim@epita.fr>
1951
1952 * tests/calc.at: Use m4_match.
1953 (_AT_DATA_CALC_Y): Check `yyin != NULL', not `stdin != NULL'.
1954
1955 2001-09-10 Marc Autret <autret_m@epita.fr>,
1956 Akim Demaille <akim@epita.fr>
1957
1958 * src/vcg.h (graph_s): color, textcolor, bordercolor are now
1959 enum color_e.
1960 * src/print_graph.c (print_graph): Initalize graph.layoutalgorithm
1961 to `normal'.
1962 * src/reader.c (parse_token_decl): Initialize token with tok_eof.
1963 * src/lex.h: Adjust prototype.
1964 (token_t): Add `tok_undef'.
1965 * src/lex.c (struct percent_table_struct): Retval is now a token_t.
1966 (parse_percent_token): Now returns token_t.
1967 Add default statement in switch.
1968 (lex): Separate `c' as an input variable, from the token_t result
1969 part.
1970 (unlexed): Is a token_t.
1971
1972 2001-09-10 Akim Demaille <akim@epita.fr>
1973
1974 * configure.in: Bump to 1.29a.
1975
1976 2001-09-07 Akim Demaille <akim@epita.fr>
1977
1978 Version 1.29.
1979
1980 2001-08-30 Akim Demaille <akim@epita.fr>
1981
1982 * tests/atgeneral.m4, tests/atconfig.in, tests/suite.at: Remove.
1983 * m4/atconfig.m4: Remove.
1984 * tests/testsuite.at, tests/atlocal.in, tests/output.at,
1985 * tests/bison: New.
1986 * tests/regression.at, tests/calc.at: Use m4_define, AT_BANNER,
1987 m4_if, m4_patsubst, and m4_regexp.
1988 * tests/calc.at (_AT_CHECK_CALC, _AT_CHECK_CALC_ERROR): Use an
1989 `input' file instead of echo.
1990
1991 2001-08-29 Akim Demaille <akim@epita.fr>
1992
1993 Bump to 1.28e.
1994
1995 2001-08-29 Akim Demaille <akim@epita.fr>
1996
1997 Version 1.28d.
1998
1999 2001-08-29 Paul Eggert <eggert@twinsun.com>
2000
2001 * src/bison.simple (yyparse): Don't take the address of an
2002 item before the start of an array, as that doesn't conform to
2003 the C Standard.
2004
2005 2001-08-29 Robert Anisko <anisko_r@epita.fr>
2006
2007 * doc/bison.texinfo (Location Tracking Calc): New node.
2008
2009 2001-08-29 Paul Eggert <eggert@twinsun.com>
2010
2011 * src/output.c (output): Do not define const, as this now
2012 causes more problems than it cures.
2013
2014 2001-08-29 Akim Demaille <akim@epita.fr>
2015
2016 * doc/bison.texinfo: Modernize `@node' and `@top' use: just name
2017 the nodes.
2018 Be sure to tag the `detailmenu'.
2019
2020 2001-08-29 Akim Demaille <akim@epita.fr>
2021
2022 * Makefile.maint (do-po-update): Wget refuses to overwrite files:
2023 download in a tmp dir.
2024
2025 2001-08-28 Marc Autret <autret_m@epita.fr>
2026
2027 * config/depcomp: New file.
2028
2029 2001-08-28 Marc Autret <autret_m@epita.fr>
2030
2031 * doc/bison.1 (mandoc): Adjust.
2032 From Juan Manuel Guerrero.
2033
2034 2001-08-28 Marc Autret <autret_m@epita.fr>
2035
2036 * src/print_graph.c (print_state): Fix.
2037
2038 2001-08-27 Marc Autret <autret_m@epita.fr>
2039
2040 * src/vcg.h (classname_s, infoname_s, node_s): Constify the
2041 char * members.
2042 Echo modifications to the functions prototypes.
2043 * src/vcg.c (add_classname, add_infoname): Adjust arguments.
2044
2045 2001-08-27 Marc Autret <autret_m@epita.fr>
2046
2047 * src/vcg.c: Include `xalloc.h'.
2048 (add_colorentry): New.
2049 (add_classname): New.
2050 (add_infoname): New.
2051 * src/vcg.h: Add new prototypes.
2052
2053 2001-08-27 Akim Demaille <akim@epita.fr>
2054
2055 * Makefile.maint: Sync. again with CVS Autoconf.
2056
2057 2001-08-27 Akim Demaille <akim@epita.fr>
2058
2059 * Makefile.maint: Formatting changes.
2060 (po-update, cvs-update, update): New targets.
2061 (AMTAR): Remove.
2062
2063 2001-08-27 Akim Demaille <akim@epita.fr>
2064
2065 * Makefile.am (AUTOMAKE_OPTIONS): 1.5.
2066 * Makefile.maint: Sync. with CVS Autoconf.
2067
2068 2001-08-27 Marc Autret <autret_m@epita.fr>
2069
2070 * src/vcg.h (struct infoname_s): New.
2071 (struct colorentry_s): New.
2072 (graph_s): New fields {vertical,horizontal}_order in structure.
2073 Add `infoname' field.
2074 Add `colorentry' field;
2075 * src/vcg_defaults.h (G_VERTICAL_ORDER): New.
2076 (G_HORIZONTAL_ORDER): New.
2077 (G_INFONAME): New.
2078 (G_COLORENTRY): New.
2079 * src/vcg.c (output_graph): Add output of {vertical,horizontal}_order.
2080 Add output of `infoname'.
2081 Add output of `colorentry'.
2082
2083 2001-08-27 Marc Autret <autret_m@epita.fr>
2084
2085 * src/reader.c (parse_dquoted_param): Rename variable `index' to `i'.
2086 This one shadowed a global parameter.
2087
2088 2001-08-24 Marc Autret <autret_m@epita.fr>
2089
2090 * src/print_graph.c (node_output_size): Declared POSIX `size_t' type,
2091 instead of `unsigned'.
2092 (print_state): Do not call obstack_object_size () in obstack_grow ()
2093 to avoid macro variables shadowing.
2094
2095 2001-08-23 Marc Autret <autret_m@epita.fr>
2096
2097 * src/lex.c (percent_table): Typo: s/naem/name/.
2098 Add graph option.
2099 Normalize new options declarations.
2100
2101 2001-08-20 Pascal Bart <pascal.bart@epita.fr>
2102
2103 * tests/suite.at: Exercise %header_extension and %source_extension.
2104
2105 2001-08-16 Marc Autret <autret_m@epita.fr>
2106
2107 * src/reader.c (parse_dquoted_param): New.
2108 (parse_header_extension_decl): Use it.
2109 (parse_source_extension_decl): Likewise.
2110
2111 2001-08-16 Marc Autret <autret_m@epita.fr>
2112
2113 * src/vcg.c: Remove includes of `complain.h' and `xalloc.h'.
2114 (get_xxxx_str): Use assert () instead of complain ().
2115 Remove return invokations in default cases.
2116 (get_decision_str): Modify default behaviour. Remove second argument.
2117 Echo modifications on calls.
2118 (output_graph): Fix.
2119
2120 2001-08-16 Marc Autret <autret_m@epita.fr>
2121
2122 * src/getargs.c (usage): Update with ``-g, --graph''.
2123
2124 2001-08-16 Marc Autret <autret_m@epita.fr>
2125
2126 * doc/bison.texinfo (Bison Options): Add items `-g', `--graph'.
2127 (Option Cross Key): Likewise.
2128 * doc/bison.1: Update.
2129
2130 2001-09-25 Pascal Bart <pascal.bart@epita.fr>
2131
2132 * src/output.c (output_master_parser): Don't finish action_obstack.
2133 (output_parser): Don't care about the muscle action, here.
2134 (prepare): Copy the action_obstack in the action muscle.
2135 (output): Free action_obstack.
2136
2137 2001-09-23 Pascal Bart <pascal.bart@epita.fr>
2138
2139 * src/reader.c (parse_union_decl): Add new obstack union_obstack. Which
2140 will contain `%union' declaration.
2141 (parse_union_decl): Delete #line directive output.
2142 (parse_union_decl): Substitute /attrs_obstack/union_obstack for all
2143 informations about %union.
2144 (parse_union_decl): Copy the union_obstack in the muscle stype.
2145 * src/bison.simple: Add new #line directive.
2146 Add typdef %%stype YYSTYPE.
2147
2148 2001-09-23 Pascal Bart <pascal.bart@epita.fr>
2149
2150 * src/bison.simple: Add new `#line' directive.
2151
2152 2001-09-22 Pascal Bart <pascal.bart@epita.fr>
2153
2154 * src/bison.simple: New `#line' directive.
2155 * src/output.c (output_parser): Support new dynamic muscle input_line.
2156
2157 2001-09-22 Marc Autret <autret_m@epita.fr>
2158
2159 * src/output.c (output_master_parser): New.
2160 (output_parser): Be more re-entrant.
2161
2162 2001-09-21 Marc Autret <autret_m@epita.fr>
2163
2164 * src/reader.c (copy_definition, parse_union_decl): Update and use
2165 `linef' muscle.
2166 (copy_action): Likewise.
2167 Use obstack_1grow ().
2168 * src/muscle_tab.c (muscle_init): Add muscle `linef'.
2169
2170 2001-09-21 Marc Autret <autret_m@epita.fr>
2171
2172 * src/options.c (option_table): Adjust.
2173 * src/lex.c (parse_percent_token): Fix.
2174
2175 2001-09-20 Pascal Bart <pascal.bart@epita.fr>
2176
2177 * src/options.c (symtab.h): Include it, need by lex.h.
2178
2179 2001-09-20 Pascal Bart <pascal.bart@epita.fr>
2180
2181 * src/lex.c (parse_percent_token): Change type of variable `tx', which
2182 is now an option_table_struct*.
2183 (option_strcmp): New function option_strcmp.
2184 (parse_percent_token): Call option_strcmp.
2185 * src/getargs.c (xalloc.h, options.h): Include it.
2186 (getargs): Call create_long_option_table.
2187 (getargs): Free longopts at the end of the function.
2188 (shortopts): Move in options.c.
2189 * src/options.c (create_long_option_table): New function. Convert
2190 information from option_table to option structure.
2191 * src/reader.c (options.h): Include it.
2192
2193 * src/Makefile.am: Adjust.
2194 * src/options.c (option_table): Create from longopts and percent_table.
2195 * src/getargs.c (longopts): Delete.
2196 * src/lex.c (struct percent_table_struct): Delete.
2197 (percent_table): Delete.
2198 (options.h): Include it.
2199 * src/options.c: Create.
2200 * src/options.h: Create.
2201 Declare enum opt_access_e.
2202 Define struct option_table_struct.
2203
2204 2001-09-20 Marc Autret <autret_m@epita.fr>
2205
2206 * doc/bison.texinfo: Adjust terminologies about prologue and epilogue
2207 sections of Bison.
2208
2209 2001-09-19 Pascal Bart <pascal.bart@epita.fr>
2210
2211 * src/bison.simple: s/%%filename/%%skeleton.
2212 * src/muscle_tab.c (getargs.h): Include it.
2213 (muscle_init): Insert new muscle skeleton.
2214
2215 2001-09-18 Pascal Bart <pascal.bart@epita.fr>
2216
2217 * src/output.c (output_parser): Delete unused variable actions_dumped.
2218
2219 2001-09-07 Pascal Bart <pascal.bart@epita.fr>
2220
2221 * src/output.c (output): Delete call to reader_output_yylsp.
2222 * src/reader.c (reader): Likewise.
2223 * src/reader.h: Delete declaration of reader_output_yylsp.
2224
2225 2001-09-02 Marc Autret <autret_m@epita.fr>
2226
2227 * src/reader.c: Include muscle_tab.h.
2228 (parse_union_decl): Update.
2229 (parse_macro_decl): Rename parse_muscle_decl.
2230 Update to use renamed functions and variable.
2231 (read_declarations, copy_action, read_additionnal_code, : Updated
2232 with correct variables and functions names.
2233 (packsymbols, reader): Likewise.
2234
2235 * src/reader.h (muscle_obstack): Extern declaration update.
2236
2237 * src/output.c: Include muscle_tab.h
2238 In all functions using macro_insert, change by using muscle_insert ().
2239 (macro_obstack): Rename muscle_obstack.
2240 Echo modifications in the whole file.
2241 (MACRO_INSERT_INT): Rename MUSCLE_INSERT_INT.
2242 (MACRO_INSERT_STRING): Rename MUSCLE_INSERT_STRING.
2243 (MACRO_INSERT_PREFIX): Rename MUSCLE_INSERT_PREFIX.
2244
2245 * src/muscle_tab.h: Update double inclusion macros.
2246 (macro_entry_s): Rename muscle_entry_s.
2247 Update prototypes.
2248
2249 * src/muscle_tab.c: Include muscle_tab.h.
2250 Rename macro_tabble to muscle_table.
2251 (mhash1, mhash2, mcmp): Use muscle_entry.
2252 (macro_init): Rename muscle_init. Update.
2253 (macro_insert): Rename muscle_insert. Update.
2254 (macro_find): Rename muscle_find. Update.
2255
2256 * src/main.c: Include muscle_tab.h.
2257 (main): Call muscle_init ().
2258 * src/Makefile.am (bison_SOURCES): Echo modifications.
2259
2260 2001-09-02 Marc Autret <autret_m@epita.fr>
2261
2262 Now the files macro_tab.[ch] are named muscle_tab.[ch].
2263
2264 * src/muscle_tab.c, src/muscle_tab.h: Add files.
2265
2266 2001-09-02 Marc Autret <autret_m@epita.fr>
2267
2268 * src/macrotab.c, src/macrotab.h: Remove.
2269
2270 2001-09-01 Pascal Bart <pascal.bart@epita.fr>
2271
2272 * src/reader.c (copy_guard): Use muscle to specify the `#line'
2273 filename.
2274
2275 2001-09-01 Marc Autret <autret_m@epita.fr>
2276
2277 * tests/calc.at (exp): Now, YYERROR_VERBOSE need to be set
2278 to an explicit value to activate the feature. We do it here.
2279
2280 2001-08-31 Pascal Bart <pascal.bart@epita.fr>
2281
2282 * src/output.c (prepare): Delete the `filename' muscule insertion.
2283 * src/reader.c (copy_action): Use `filename' muscule with `#line'.
2284 (parse_union_decl): Likewise.
2285 * src/macrotab.c (macro_init): Initialize filename by infile.
2286
2287 2001-08-31 Marc Autret <autret_m@epita.fr>
2288
2289 * src/bison.simple (YYLSP_NEEDED): New definition.
2290 * src/output.c (prepare): Add macro insertion of `locations_flag'
2291
2292 2001-08-31 Pascal Bart <pascal.bart@epita.fr>
2293
2294 * src/output.c (prepare): Delete insertion of previous muscles,
2295 and insert the `prefix' muscles.
2296 * src/macrotab.c (macro_init): Likewise.
2297 (macro_init): Initialization prefix directive by `yy'.
2298 * src/bison.simple: Substitute all %%yylex, %%yychar, %%yylval,
2299 %%yydebug, %%yyerror, %%yynerrs and %%yyparse by yylex, yychar,
2300 yylval, yydebug, yyerror, yynerrs and yyparse.
2301 New directive `#define' to substitute yydebug, ... with option
2302 name_prefix.
2303
2304 2001-08-31 Pascal Bart <pascal.bart@epita.fr>
2305
2306 * src/main.c (main): Standardize.
2307 * src/output.c (output_table_data, output_parser): Likewise.
2308 * src/macrotab.h, src/macrotab.c, src/bison.simple: Likewise.
2309
2310 2001-08-31 Pascal Bart <pascal.bart@epita.fr>, Marc Autret <autret_m@epita.fr>
2311
2312 * src/reader.c (read_additionnal_code): Rename %%user_code to
2313 %%epilogue.
2314 * src/output.c (output): Rename %%declarations to %%prologue.
2315 * src/bison.simple: Echo modifications.
2316
2317 2001-08-31 Marc Autret <autret_m@epita.fr>
2318
2319 * src/reader.c (readgram): CleanUp.
2320 (output_token_defines): Likewise.
2321 (packsymbols): Likewise.
2322 (reader): Likewise.
2323 * src/output.c (output): CPP-out useless code.
2324
2325 2001-08-31 Pascal Bart <pascal.bart@epita.fr>
2326
2327 * src/reader.c (reader): Delete obsolete call to function
2328 output_trailers and output_headers.
2329 * src/output.h: Remove obsolete functions prototypes of output_headers
2330 and output_trailers.
2331
2332 2001-08-30 Pascal Bart <pascal.bart@epita.fr>
2333
2334 * src/main.c: Include macrotab.h.
2335 * src/macrotab.h (macro_entry_s): Constify fields.
2336 Adjust functions prototypes.
2337 * src/macrotab.c (macro_insert): Constify key and value.
2338 (macro_find): Constify key.
2339 (macro_insert): Include 'xalloc.h'
2340 (macro_insert): Use XMALLOC.
2341 (macro_find): Constify return value.
2342 * src/output.c (output_table_data): Rename table to table_data.
2343 (output_parser): Constify macro_key, macro_value.
2344
2345 2001-08-30 Marc Autret <autret_m@epita.fr>
2346
2347 * src/reader.c (parse_skel_decl): New.
2348 (read_declarations): Add case `tok_skel', call parse_skel_decl ().
2349 * src/lex.h (token_t): New token `tok_skel'.
2350 * src/lex.c (percent_table): Add skeleton option entry.
2351 Standardize.
2352
2353 2001-08-29 Marc Autret <autret_m@epita.fr>
2354
2355 * src/bison.simple: Add %%user_code directive at the end.
2356 * src/reader.c (read_additionnal_code): New.
2357 (reader): Use it.
2358 * src/output.c (output_program): Remove.
2359 (output): Update.
2360
2361 2001-08-28 Marc Autret <autret_m@epita.fr>
2362
2363 * src/output.c (output_actions): Clean up.
2364 (output_gram): CPP-out useless code.
2365 * src/reader.c (reader): Clean up, CPP-out useless code.
2366
2367 2001-08-28 Pascal Bart <pascal.bart@epita.fr>
2368
2369 * src/output.c (output): Copy attrs_obstack in the '%%definitions'
2370 directive.
2371 * src/bison.simple: Add `%%definitions'.
2372
2373 2001-08-28 Marc Autret <autret_m@epita.fr>
2374
2375 * config/depcomp: New file.
2376
2377 2001-08-27 Paul Eggert <eggert@twinsun.com>
2378
2379 * src/bison.simple (yyparse): Don't take the address of an
2380 item before the start of an array, as that doesn't conform to
2381 the C Standard.
2382
2383 2001-08-27 Robert Anisko <robert.anisko@epita.fr>
2384
2385 * src/output.c (output): Remove the initialization of the macro
2386 obstack. It was done too late here.
2387
2388 * src/reader.c (parse_macro_decl): Fix. Use of the macro obstack was
2389 completely wrong.
2390 (reader): Initialize the macro obstack here, since we need it to grow
2391 '%define' directives.
2392
2393 * src/reader.h: Declare the macro obstack as extern.
2394
2395 2001-08-27 Robert Anisko <robert.anisko@epita.fr>
2396
2397 * src/output.c (output_parser): Fix. Store single '%' characters in
2398 the output obstack instead of throwing them away.
2399
2400 2001-08-27 Akim Demaille <akim@epita.fr>
2401
2402 * Makefile.am (AUTOMAKE_OPTIONS): 1.5.
2403
2404 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
2405
2406 * lib/Makefile.am: Adjust.
2407
2408 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
2409
2410 * src/bison.simple: Update and add '%%' directives.
2411
2412 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
2413
2414 * src/reader.c (reader): Remove calls to 'output_headers' and
2415 'output_trailers'. Remove some C output.
2416 (readgram): Disable a piece of code that was writing a default
2417 definition for 'YYSTYPE'.
2418 (reader_output_yylsp): Remove.
2419 (packsymbols): Output token defintions to a macro.
2420 (copy_definition): Disable C output.
2421
2422 * src/reader.c (parse_macro_decl): New function used to parse macro
2423 declarations.
2424 (copy_string2): Put the body of copy_string into this new function.
2425 Add a parameter to let the caller choose whether he wants to copy the
2426 string delimiters or not.
2427 (copy_string): Be a simple call to copy_string2 with the last argument
2428 bound to true.
2429 (read_declarations): Add case for macro definition.
2430 (copy_identifier): New.
2431 (parse_macro_decl): Read macro identifiers using copy_identifier
2432 rather than lex.
2433
2434 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
2435
2436 * src/output.c (prepare): Add prefixed names.
2437 (output_parser): Output semantic actions.
2438 (output_parser): Fix bug on '%%line' directives.
2439
2440 * src/output.c (output_headers): Remove. The C code printed by this
2441 function should now be in the skeletons.
2442 (output_trailers): Remove.
2443 (output): Disable call to 'reader_output_yylsp'.
2444 (output_rule_data): Do not output tables to the table obstack.
2445
2446 * src/output.c: Remove some C dedicated output.
2447 Improve the use of macro and output obstacks.
2448 (output_defines): Remove.
2449
2450 * src/output.c (output_token_translations): Associate 'translate'
2451 table with a macro. No output to the table obstack.
2452 (output_gram): Same for 'rhs' and 'prhs'.
2453 (output_stos): Same for 'stos'.
2454 (output_rule_data): Same for 'r1' and 'r2'.
2455 (token_actions): Same for 'defact'.
2456 (goto_actions): Same for 'defgoto'.
2457 (output_base): Same for 'pact' and 'pgoto'.
2458 (output_table): Same for 'table'.
2459 (output_check): Same for 'check'.
2460
2461 * src/output.c (output_table_data): New function.
2462 (output_short_table): Remove.
2463 (output_short_or_char_table): Remove.
2464
2465 * src/output.c (output_parser): Replace most of the skeleton copy code
2466 with something new. Skeletons are now processed character by character
2467 rather than line by line, and Bison looks for '%%' macros. This is the
2468 first step in making Bison's output process (a lot) more flexible.
2469 (output_parser): Use the macro table.
2470
2471 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
2472
2473 * src/main.c (main): Initialize the macro table.
2474
2475 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
2476
2477 * src/lex.c (percent_table): Add tok_define.
2478 * src/lex.h: Add tok_define.
2479
2480 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
2481
2482 * src/macrotab.c: New file.
2483 * src/macrotab.h: New file.
2484 * src/Makefile.am: Update.
2485
2486 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
2487
2488 * lib/hash.c: New file.
2489 * lib/hash.h: New file.
2490 * lib/Makefile.am: Update.
2491
2492 2001-08-15 Akim Demaille <akim@epita.fr>
2493
2494 Version 1.28c.
2495
2496 2001-08-15 Marc Autret <autret_m@epita.fr>
2497
2498 * src/reader.c (readgram): Indent output macro YYSTYPE.
2499 (packsymbols): Likewise.
2500 (output_token_defines): Likewise.
2501 * src/files.c: Standardize.
2502 (compute_header_macro): New.
2503 (defines_obstack_save): New. Use compute_header_macro.
2504 (output_files): Update. Use defines_obstack_save.
2505
2506 2001-08-15 Akim Demaille <akim@epita.fr>
2507
2508 * doc/bison.texinfo (Table of Symbols): Document
2509 YYSTACK_USE_ALLOCA.
2510
2511 2001-08-15 Akim Demaille <akim@epita.fr>
2512
2513 * missing: Update from CVS Automake.
2514 * config/config.guess, config/config.sub, config/texinfo.tex:
2515 Update from gnu.org.
2516
2517 2001-08-15 Akim Demaille <akim@epita.fr>
2518
2519 * Makefile.maint: Sync with CVS Autoconf.
2520
2521 2001-08-14 Pascal Bart <pascal.bart@epita.fr>
2522
2523 * doc/bison.texinfo: Include GNU Free Documentation License from
2524 `fdl.texi'.
2525 * doc/fdl.texi: Add to package.
2526
2527 2001-08-14 Marc Autret <autret_m@epita.fr>
2528
2529 Turn on %{source,header}_extension features.
2530
2531 * src/lex.c (percent_table): Un-CPP out header_extension and
2532 source_extension.
2533 * src/files.c (compute_exts_from_gf): Compare pointers with NULL.
2534 (compute_exts_from_src): Remove conditions. It restores priorities
2535 between options.
2536
2537 2001-08-14 Marc Autret <autret_m@epita.fr>
2538
2539 * src/files.c (compute_base_names): Add extensions computing when
2540 `--file-prefix' used.
2541 Standardize function calls.
2542
2543 2001-08-13 Marc Autret <autret_m@epita.fr>
2544
2545 * src/bison.simple (YYSTACK_USE_ALLOCA): Changed to allow users
2546 defining it (defined but null disables alloca).
2547
2548 2001-08-13 Marc Autret <autret_m@epita.fr>
2549
2550 * src/bison.simple (_yy_memcpy): CPP reformat.
2551
2552 2001-08-13 Pascal Bart <pascal.bart@epita.fr>
2553
2554 * tests/atconfig.in (CPPFLAGS): Fix.
2555
2556 2001-08-10 Pascal Bart <pascal.bart@epita.fr>
2557
2558 * doc/bison.texinfo: Include GNU General Public License from
2559 `gpl.texi'.
2560 * doc/gpl.texi: Add to package.
2561
2562 2001-08-10 Marc Autret <autret_m@epita.fr>
2563
2564 * src/print_graph.h: Fix.
2565 * src/reader.c (read_declarations): Use parse_header_extension_decl ().
2566
2567 2001-08-10 Akim Demaille <akim@epita.fr>
2568
2569 * src/system.h: Provide default declarations for stpcpy, strndup,
2570 and strnlen.
2571
2572 2001-08-10 Robert Anisko <anisko_r@epita.fr>
2573
2574 * doc/bison.texinfo (Locations): Update @$ stuff.
2575
2576 2001-08-09 Robert Anisko <anisko_r@epita.fr>
2577
2578 * src/bison.simple (YYLLOC_DEFAULT): Update.
2579 (yyparse): Adjust.
2580
2581 2001-08-08 Marc Autret <autret_m@epita.fr>
2582
2583 * doc/bison.texinfo: Change @samp{$<@dots{}>} to
2584 @samp{$<@dots{}>@var{n}} in Section Actions in Mid-Rule.
2585 Reported by Fabrice Bauzac.
2586
2587 2001-08-08 Marc Autret <autret_m@epita.fr>
2588
2589 * src/vcg_default.h: Use NULL instead of 0 to initialize pointers.
2590 * src/vcg.c (output_node): Fix.
2591 * src/vcg.h: Cleanup.
2592 * src/print_graph.c: Add comments.
2593 (node_output_size): New global variable. Simplify the formatting of
2594 the VCG graph output.
2595 (print_actions): Unused code is now used. It notifies the final state
2596 and no action states in the VCG graph. It also give the reduce actions.
2597 The `shift and goto' edges are red and the `go to state' edges are
2598 blue.
2599 Get the current node name and node_obstack by argument.
2600 (node_obstack): New variable.
2601 (print_state): Manage node_obstack.
2602 (print_core): Use node_obstack given by argument.
2603 A node is not only computed here but in print_actions also.
2604 (print_graph): CPP out useless code instead of commenting it.
2605
2606 2001-08-07 Pascal Bart <pascal.bart@epita.fr>
2607
2608 * tests/atconfig.in (CPPFLAGS): Fix.
2609
2610 2001-08-07 Akim Demaille <akim@epita.fr>
2611
2612 * src/print_graph.c (quote): New.
2613 (print_core): Use it.
2614
2615 2001-08-06 Akim Demaille <akim@epita.fr>, Marc Autret <autret_m@epita.fr>
2616
2617 * src/vcg.c (complain.h): Include it.
2618 Unepitaize `return' invocations.
2619 [NDEBUG] (main): Remove.
2620 * src/vcg.h (node_t, edge_t, graph_t): Constify the char * members.
2621 * src/files.c (open_files): Initialize graph_obstack.
2622 * src/print_graph.c (print_actions): CPP out useless code.
2623 (print_core): Don't output the last `\n' in labels.
2624 Use `quote'.
2625 * src/files.c (output_files): Output the VCG file.
2626 * src/main.c (main): Invoke print_graph ();
2627
2628 2001-08-06 Marc Autret <autret_m@epita.fr>
2629
2630 Automaton VCG graph output.
2631 Using option ``-g'' or long option ``--graph'', you can generate
2632 a gram_filename.vcg file containing a VCG description of the LALR (1)
2633 automaton of your grammar.
2634
2635 * src/main.c: Call to print_graph() function.
2636 * src/getargs.h: Update.
2637 * src/getargs.c (options): Update to catch `-g' and `--graph' options.
2638 (graph_flag): New flag.
2639 (longopts): Update.
2640 (getargs): Add case `g'.
2641 * src/files.c (graph_obstack): New obstack struct.
2642 (open_files): Initialize new obstack.
2643 (output_files): Saves graph_obstack if required.
2644 * src/files.h (graph_obstack): New extern declaration.
2645 * src/Makefile.am: Add new source files.
2646
2647 2001-08-06 Marc Autret <autret_m@epita.fr>
2648
2649 * src/print_graph.c, src/print_graph.h (graph): New.
2650 * src/vcg.h: New file.
2651 * src/vcg.c: New file, VCG graph handling.
2652
2653 2001-08-06 Marc Autret <autret_m@epita.fr>
2654
2655 Add of %source_extension and %header_extension which specify
2656 the source or/and the header output file extension.
2657
2658 * src/files.c (compute_base_names): Remove initialisation of
2659 src_extension and header_extension.
2660 (compute_exts_from_gf): Update.
2661 (compute_exts_from_src): Update.
2662 (output_files): Update.
2663 * src/reader.c (parse_header_extension_decl): New.
2664 (parse_source_extension_decl): New.
2665 (read_declarations): New case statements for the new tokens.
2666 * src/lex.c (percent_table): Add entries for %source_extension
2667 and %header_extension.
2668 * src/lex.h (token_e): New tokens tok_hdrext and tok_srcext.
2669
2670 2001-08-06 Marc Autret <autret_m@epita.fr>
2671
2672 * configure.in: Bump to 1.28c.
2673 * doc/bison.texinfo: Texinfo thingies.
2674
2675 2001-08-04 Pascal Bart <pascal.bart@epita.fr>
2676
2677 * tests/atconfig.in (CPPFLAGS): Add.
2678 * tests/calc.at (AT_CHECK): Use CPPFLAGS.
2679
2680 2001-08-03 Akim Demaille <akim@epita.fr>
2681
2682 Version 1.28b.
2683
2684 2001-08-03 Akim Demaille <akim@epita.fr>
2685
2686 * tests/Makefile.am (check-local): Ship testsuite.
2687 * tests/calc.at (_AT_DATA_CALC_Y): Prototype all the functions.
2688 Include `string.h'.
2689
2690 2001-08-03 Akim Demaille <akim@epita.fr>
2691
2692 * configure.in: Try using -Wformat when compiling.
2693
2694 2001-08-03 Akim Demaille <akim@epita.fr>
2695
2696 * configure.in: Bump to 1.28b.
2697
2698 2001-08-03 Akim Demaille <akim@epita.fr>
2699
2700 * src/complain.c: Adjust strerror_r portability issues.
2701
2702 2001-08-03 Akim Demaille <akim@epita.fr>
2703
2704 Version 1.28a.
2705
2706 2001-08-03 Akim Demaille <akim@epita.fr>
2707
2708 * src/getargs.c, src/getarg.h (skeleton)): Constify.
2709 * src/lex.c (literalchar): Avoid name clashes on `buf'.
2710 * src/getargs.c: Include complain.h.
2711 * src/files.c, src/files.h (skeleton_find): Avoid name clashes.
2712 * lib/quotearg.c, lib/quotearg.h: Update from fileutils 4.1.
2713
2714 2001-08-03 Akim Demaille <akim@epita.fr>
2715
2716 * src/reader.c (readgram): Display hidden chars in error messages.
2717
2718 2001-08-03 Akim Demaille <akim@epita.fr>
2719
2720 Update to gettext 0.10.39.
2721
2722 2001-08-03 Akim Demaille <akim@epita.fr>
2723
2724 * lib/strspn.c: New.
2725
2726 2001-08-01 Marc Autret <autret_m@epita.fr>
2727
2728 * doc/bison.texinfo: Update.
2729 * doc/bison.1 (mandoc): Update.
2730 * src/system.h (EXT_GUARD_C, EXT_STYPE_H): Remove .c and .h.
2731 * src/files.c: Support output files extensions computing.
2732 (src_extension): New static variable.
2733 (header_extension): New static variable.
2734 (tr): New function.
2735 (get_extension_index): New function, gets the index of an extension
2736 filename in a string.
2737 (compute_exts_from_gf): New function, computes extensions from the
2738 grammar file extension.
2739 (compute_exts_from_src): New functions, computes extensions from the
2740 C source file extension, file given by ``-o'' option.
2741 (compute_base_names): Update.
2742 (output_files): Update.
2743
2744 2001-08-01 Robert Anisko <anisko_r@epita.fr>
2745
2746 * doc/bison.texi: Document @$.
2747 (Locations): New section.
2748
2749 2001-07-18 Akim Demaille <akim@epita.fr>
2750
2751 * Makefile.maint, GNUmakefile: New, from Autoconf 2.52.
2752 * config/prev-version.txt, config/move-if-change: New.
2753 * Makefile.am: Adjust.
2754
2755 2001-07-08 Pascal Bart <pascal.bart@epita.fr>
2756
2757 * src/bison.simple (yyparse): Suppress warning `comparaison
2758 between signed and unsigned'.
2759
2760 2001-07-05 Pascal Bart <pascal.bart@epita.fr>
2761
2762 * src/getargs.h (raw_flag): Remove.
2763 * src/getargs.c: Die on `-r'/`--raw'.
2764 * src/lex.c (parse_percent_token): Die on `%raw'.
2765 * src/reader.c (output_token_defines): Suppress call to `raw_flag'.
2766 * tests/calc.at: Suppress test with option `--raw'.
2767
2768 2001-07-14 Akim Demaille <akim@epita.fr>
2769
2770 * config/: New.
2771 * configure.in: Require Autoconf 2.50.
2772 Update to gettext 0.10.38.
2773
2774 2001-03-16 Akim Demaille <akim@epita.fr>
2775
2776 * doc/bison.texinfo: ANSIfy the examples.
2777
2778 2001-03-16 Akim Demaille <akim@epita.fr>
2779
2780 * getargs.c (skeleton): New variable.
2781 (longopts): --skeleton is a new option.
2782 (shortopts, getargs): -S is a new option.
2783 * getargs.h: Declare skeleton.
2784 * output.c (output_parser): Use it.
2785
2786 2001-03-16 Akim Demaille <akim@epita.fr>
2787
2788 * m4/strerror_r.m4: New.
2789 * m4/error.m4: Run AC_FUNC_STRERROR_R.
2790 * lib/error.h, lib/error.c: Update.
2791
2792 2001-03-16 Akim Demaille <akim@epita.fr>
2793
2794 * src/getargs.c (longopts): Clean up.
2795
2796 2001-02-21 Akim Demaille <akim@epita.fr>
2797
2798 * src/reader.c (gensym): `gensym_count' is your own.
2799 Use a static buf to create the symbol name, as token_buffer is no
2800 longer a buffer.
2801
2802 2001-02-08 Akim Demaille <akim@epita.fr>
2803
2804 * src/conflicts.c (conflict_report): Be sure not to append to res
2805 between two calls, which could happen if both first sprintf were
2806 skipped, but not the first cp += strlen.
2807
2808 2001-02-08 Akim Demaille <akim@epita.fr>
2809
2810 * lib/memchr.c, lib/stpcpy.c, lib/strndup.c, lib/strnlen.c:
2811 New, from fileutils 4.0.37.
2812 * configure.in: Require Autoconf 2.49c. I took some time before
2813 making this decision. This is the only way out for portability
2814 issues in Bison, it would mean way too much duplicate effort to
2815 import in Bison features implemented in 2.49c since 2.13.
2816 AC_REPLACE_FUNCS and AC_CHECK_DECLS the functions above.
2817
2818 2001-02-02 Akim Demaille <akim@epita.fr>
2819
2820 * lib/malloc.c, lib/realloc.c: New, from the fileutils 4.0.37.
2821 * lib/xalloc.h, lib/xmalloc.c: Update.
2822
2823 2001-01-19 Akim Demaille <akim@epita.fr>
2824
2825 Get rid of the ad hoc handling of token_buffer in the scanner: use
2826 the obstacks.
2827
2828 * src/lex.c (token_obstack): New.
2829 (init_lex): Initialize it. No longer call...
2830 (grow_token_buffer): this. Remove it.
2831 Adjust all the places which used it to use the obstack.
2832
2833 2001-01-19 Akim Demaille <akim@epita.fr>
2834
2835 * src/lex.h: Rename all the tokens:
2836 s/\bENDFILE\b/tok_eof/g;
2837 s/\bIDENTIFIER\b/tok_identifier/g;
2838 etc.
2839 Let them be enums, not #define, to ease debugging.
2840 Adjust all the code.
2841
2842 2001-01-18 Akim Demaille <akim@epita.fr>
2843
2844 * src/lex.h (MAXTOKEN, maxtoken, grow_token_buffer): Remove, private.
2845 * src/lex.c (maxtoken, grow_token_buffer): Static.
2846
2847 2001-01-18 Akim Demaille <akim@epita.fr>
2848
2849 Since we now use obstacks, more % directives can be enabled.
2850
2851 * src/lex.c (percent_table): Also accept `%yacc',
2852 `%fixed_output_files', `%defines', `%no_parser', `%verbose', and
2853 `%debug'.
2854 Handle the actions for `%semantic_parser' and `%pure_parser' here,
2855 instead of returning a token.
2856 * src/lex.h (SEMANTIC_PARSER, PURE_PARSER): Remove, unused.
2857 * src/reader.c (read_declarations): Adjust.
2858 * src/files.c (open_files): Don't call `compute_base_names', don't
2859 compute `attrsfile' since they depend upon data which might be
2860 *in* the input file now.
2861 (output_files): Do it here.
2862 * src/output.c (output_headers): Document the fact that this patch
2863 introduces a guaranteed SEGV for semantic parsers.
2864 * doc/bison.texinfo: Document them.
2865 * tests/suite.at: Exercise these %options.
2866
2867 2000-12-20 Akim Demaille <akim@epita.fr>
2868
2869 Also handle the output file (--verbose) with obstacks.
2870
2871 * files.c (foutput): Remove.
2872 (output_obstack): New.
2873 Adjust all dependencies.
2874 * src/conflicts.c: Return a string.
2875 * src/system.h (obstack_grow_string): Rename as...
2876 (obstack_sgrow): this. Be ready to work with non literals.
2877 (obstack_fgrow4): New.
2878
2879 2000-12-20 Akim Demaille <akim@epita.fr>
2880
2881 * src/files.c (open_files): Fix the computation of short_base_name
2882 in the case of `-o foo.tab.c'.
2883
2884 2000-12-20 Akim Demaille <akim@epita.fr>
2885
2886 * src/reader.c (copy_string, copy_comment, copy_comment2, copy_at)
2887 (copy_dollar): Now that everything uses obstacks, get rid of the
2888 FILE * parameters.
2889
2890 2000-12-20 Akim Demaille <akim@epita.fr>
2891
2892 * src/files.c (open_files): Actually the `.output' file is based
2893 on the short_base_name, not base_name.
2894 * tests/suite.at (Checking output file names): Adjust.
2895
2896 2000-12-20 Akim Demaille <akim@epita.fr>
2897
2898 * src/bison.s1: Remove, we now use directly...
2899 * src/bison.simple: this.
2900 * src/Makefile.am: Use pkgdata instead of data.
2901
2902 2000-12-20 Akim Demaille <akim@epita.fr>
2903
2904 * src/files.c (guard_obstack): New.
2905 (open_files): Initialize it.
2906 (output_files): Dump it...
2907 * src/files.h: Export it.
2908 * src/reader.c (copy_guard): Use it.
2909
2910 2000-12-19 Akim Demaille <akim@epita.fr>
2911
2912 * src/files.c (outfile, defsfile, actfile): Removed as global
2913 vars.
2914 (open_files): Don't compute them.
2915 (output_files): Adjust.
2916 (base_name, short_base_name): Be global.
2917 Adjust dependencies.
2918
2919 2000-12-19 Akim Demaille <akim@epita.fr>
2920
2921 * src/files.c (strsuffix): New.
2922 (stringappend): Be just like strcat but allocate.
2923 (base_names): Eve out from open_files.
2924 Try to simplify the rather hairy computation of base_name and
2925 short_base_name.
2926 (open_files): Use it.
2927 * tests/suite.at (Checking output file names): New test.
2928
2929 2000-12-19 Akim Demaille <akim@epita.fr>
2930
2931 * src/system.h (obstack_grow_literal_string): Rename as...
2932 (obstack_grow_string): this.
2933 * src/output.c (output_parser): Recognize `%% actions' instead of
2934 `$'.
2935 * src/bison.s1: s/$/%% actions/.
2936 * src/bison.hairy: Likewise.
2937
2938 2000-12-19 Akim Demaille <akim@epita.fr>
2939
2940 * src/output.c (output_parser): Compute the `#line' lines when
2941 there are.
2942 * src/Makefile.am (bison.simple): Be a simple copy of bison.s1.
2943 Suggested by Hans Aberg.
2944
2945 2000-12-19 Akim Demaille <akim@epita.fr>
2946
2947 Let the handling of the skeleton files be local to the procedures
2948 that use it.
2949
2950 * src/files.c (xfopen, xfclose, skeleton_find, guardfile): No
2951 longer static.
2952 (fparser, open_extra_files): Remove.
2953 (open_files, output_files): Don't take care of fparser.
2954 * src/files.h: Adjust.
2955 * src/output.c (output_parser): Open and close the file to the
2956 skeleton.
2957 * src/reader.c (read_declarations): When %semantic_parser, open
2958 fguard.
2959
2960 2000-12-19 Akim Demaille <akim@epita.fr>
2961
2962 * src/file.h (BISON_SIMPLE, BISON_HAIRY): Move from here...
2963 * src/system.h (BISON_SIMPLE, BISON_HAIRY): ... to here.
2964
2965 2000-12-19 Akim Demaille <akim@epita.fr>
2966
2967 * src/files.c (open_files): Yipee! We no longer need all the code
2968 looking for `/tmp' since we have no tmp file.
2969
2970 2000-12-19 Akim Demaille <akim@epita.fr>
2971
2972 * src/system.h (EXT_TAB, EXT_OUTPUT, EXT_STYPE_H, EXT_GUARD_C):
2973 New macros.
2974 * src/files.c (open_files): Less dependency on MSDOS etc.
2975
2976 2000-12-14 Akim Demaille <akim@epita.fr>
2977
2978 * src/bison.s1 (YYLLOC_DEFAULT): New macro.
2979 Provide a default definition.
2980 Use it when executing the default @ action.
2981 * src/reader.c (reader_output_yylsp): No longer include
2982 `timestamp' and `text' in the default YYLTYPE.
2983
2984 2000-12-12 Akim Demaille <akim@epita.fr>
2985
2986 * src/reader.c (copy_definition, parse_union_decl, copy_action)
2987 (copy_guard): Quote the file names.
2988 Reported by Laurent Mascherpa.
2989
2990 2000-12-12 Akim Demaille <akim@epita.fr>
2991
2992 * src/output.c (output_headers, output_program, output): Be sure
2993 to escape special characters when outputting filenames.
2994 (ACTSTR_PROLOGUE, ACTSTR_EPILOGUE): Remove.
2995 (output_headers): Don't depend on them, Use ACTSTR.
2996
2997 2000-11-17 Akim Demaille <akim@epita.fr>
2998
2999 * lib/obstack.h: Formatting changes.
3000 (obstack_grow, obstack_grow0): Don't cast WHERE at all: it
3001 prevents type checking.
3002 (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
3003 cast the value to (void *): assigning a `foo *' to a `void *'
3004 variable is valid.
3005 (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
3006 * src/reader.c (parse_union_decl): Typo: use obstack_1grow to
3007 append characters.
3008
3009 2000-11-17 Akim Demaille <akim@epita.fr>
3010
3011 * tests/Makefile.am (suite.m4, regression.m4, calc.m4): Rename
3012 as...
3013 (suite.m4, regression.m4, calc.m4): these.
3014 * tests/atgeneral.m4: Update from CVS Autoconf.
3015
3016 2000-11-17 Akim Demaille <akim@epita.fr>
3017
3018 * tests/regression.m4 (%union and --defines): New test,
3019 demonstrating a current bug in the obstack implementation.
3020
3021 2000-11-17 Akim Demaille <akim@epita.fr>
3022
3023 * src/bison.s1 (_YY_DECL_VARIABLES, YY_DECL_VARIABLES): New
3024 macros.
3025 Use them to declare the variables which are global or local to
3026 `yyparse'.
3027
3028 2000-11-17 Akim Demaille <akim@epita.fr>
3029
3030 * acconfig.h: Remove, no longer used.
3031
3032 2000-11-07 Akim Demaille <akim@epita.fr>
3033
3034 * src: s/Copyright (C)/Copyright/g.
3035
3036 2000-11-07 Akim Demaille <akim@epita.fr>
3037
3038 * src/reader.c (reader): #define YYLSP_NEEDED to 1 instead of just
3039 defining.
3040 * src/bison.s1: s/#ifdef YYLSP_NEEDED/#if YYLSP_NEEDED/.
3041
3042 2000-11-07 Akim Demaille <akim@epita.fr>
3043
3044 * src/bison.s1 (YYLEX): Use #if instead of #ifdef.
3045 Merge in a single CPP if/else.
3046
3047 2000-11-07 Akim Demaille <akim@epita.fr>
3048
3049 * src/output.c (output): Remove useless variables.
3050 * lib/obstack.c (obstack_grow, obstack_grow0): Rename the second
3051 argument `data' for consistency with the prototypes.
3052 Qualify it `const'.
3053 (obstack_copy, obstack_copy0): Rename the second argument as
3054 `address' for consistency. Qualify it `const'.
3055 * lib/obstack.h (obstack_copy, obstack_copy0, obstack_grow)
3056 (obstack_grow0, obstack_ptr_grow, obstack_ptr_grow_fast): Qualify
3057 `const' their input argument (`data' or `address').
3058 Adjust the corresponding macros to include `const' in casts.
3059
3060 2000-11-03 Akim Demaille <akim@epita.fr>
3061
3062 * src/Makefile.am (INCLUDES): s/PFILE/BISON_SIMPLE/.
3063 s/PFILE1/BISON_HAIRY/.
3064 Adjust dependencies.
3065
3066 2000-11-03 Akim Demaille <akim@epita.fr>
3067
3068 For some reason, this was not applied.
3069
3070 * src/files.c [VMS]: No longer include `ssdef.h', no longer define
3071 `unlink': it's no longer used.
3072
3073 2000-11-03 Akim Demaille <akim@epita.fr>
3074
3075 * src/files.c (skeleton_find): New function, eved out of...
3076 (open_files, open_extra_files): here.
3077
3078 2000-11-03 Akim Demaille <akim@epita.fr>
3079
3080 Don't use `atexit'.
3081
3082 * src/files.c (obstack_save): New function.
3083 (done): Rename as...
3084 (output_files): this.
3085 Use `obstack_save'.
3086 * src/main.c (main): Don't use `atexit' to register `done', since
3087 it no longer has to remove tmp files, just call `output_files'
3088 when there are no errors.
3089
3090 2000-11-02 Akim Demaille <akim@epita.fr>
3091
3092 * src/files.c [VMS]: No longer include `ssdef.h', no longer define
3093 `unlink': it's no longer used.
3094 * src/files.h: Formatting changes.
3095
3096 2000-11-02 Akim Demaille <akim@epita.fr>
3097
3098 Remove the last uses of mktemp and unlink/delete.
3099
3100 * src/files.c (fdefines, ftable): Removed.
3101 (defines_ostack, table_obstack): New.
3102 Adjust dependencies of the former into uses of the latter.
3103 * src/output.c (output_short_or_char_table, output_short_table):
3104 Convert to using obstacks.
3105 * src/reader.c (copy_comment2): Accept one FILE * and two
3106 obstacks.
3107 (output_token_defines, reader_output_yylsp): Use obstacks.
3108 * src/system.h (obstack_fgrow3): New.
3109
3110 2000-11-01 Akim Demaille <akim@epita.fr>
3111
3112 Change each use of `fattrs' into a use of `attrs_obstack'.
3113
3114 * src/reader.c (copy_at): Typo: s/yylloc/yyloc/.
3115 * src/files.c (fattrs): Remove.
3116 (attrs_obstack): New.
3117 Adjust all dependencies.
3118 (done): If SEMANTIC_PARSER, dump attrs_obstack into attrsfile.
3119
3120 2000-11-01 Akim Demaille <akim@epita.fr>
3121
3122 Introduce obstacks.
3123 Change each use of `faction' into a use of `action_obstack'.
3124
3125 * lib/obstack.h, lib/obstack.c: New files.
3126 * src/files.c (faction): Remove.
3127 (action_obstack): New.
3128 Adjust all dependencies.
3129
3130 2000-10-20 Akim Demaille <akim@epita.fr>
3131
3132 * lib/quote.h (PARAMS): New macro. Use it.
3133
3134 2000-10-16 Akim Demaille <akim@epita.fr>
3135
3136 * src/output.c (output_short_or_char_table): New function.
3137 (output_short_table, output_token_translations): Use it.
3138 (goto_actions): Use output_short_table.
3139
3140 2000-10-16 Akim Demaille <akim@epita.fr>
3141
3142 * src/symtab.c (bucket_new): New function.
3143 (getsym): Use it.
3144
3145 * src/output.c (output_short_table): New argument to display the
3146 comment associated with the table.
3147 Adjust dependencies.
3148 (output_gram): Use it.
3149 (output_rule_data): Nicer output layout for YYTNAME.
3150
3151 2000-10-16 Akim Demaille <akim@epita.fr>
3152
3153 * src/lex.c (read_typename): New function.
3154 (lex): Use it.
3155 * src/reader.c (copy_dollar): Likewise.
3156
3157 2000-10-16 Akim Demaille <akim@epita.fr>
3158
3159 * src/reader.c (copy_comment2): Expect the input stream to be on
3160 the `/' which is suspected to open a comment, instead of being
3161 called after `//' or `/*' was read.
3162 (copy_comment, copy_definition, parse_union_decl, copy_action)
3163 (copy_guard): Adjust.
3164
3165 2000-10-16 Akim Demaille <akim@epita.fr>
3166
3167 * src/reader.c (parse_expect_decl): Use `skip_white_space' and
3168 `read_signed_integer'.
3169
3170 2000-10-16 Akim Demaille <akim@epita.fr>
3171
3172 * src/reader.c (copy_dollar): New function.
3173 (copy_guard, copy_action): Use it.
3174
3175 2000-10-16 Akim Demaille <akim@epita.fr>
3176
3177 * lib/quote.h, lib/quote.c, lib/quotearg.h, lib/quotearg.c:
3178 * m4/prereq.m4, m4/c-bs-a.m4, m4/mbstate.m4:
3179 New files, from Fileutils 4.0.27.
3180 * src/main.c (printable_version): Remove.
3181 * src/lex.c, src/reader.c: Use `quote'.
3182
3183 2000-10-04 Akim Demaille <akim@epita.fr>
3184
3185 * lib/error.c, lib/error.h: New files, needed by xmalloc.c.
3186
3187 2000-10-04 Akim Demaille <akim@epita.fr>
3188
3189 * doc/bison.texinfo: Various typos spotted by Neil Booth.
3190
3191 2000-10-04 Akim Demaille <akim@epita.fr>
3192
3193 When a literal string is used to define two different tokens,
3194 `bison -v' segfaults.
3195 Reported by Piotr Gackiewicz, and fixed by Neil Booth.
3196
3197 * tests/regression.m4: New file.
3198 Include the core of the sample provided by Piotr Gackiewicz.
3199 * src/reader.c (parse_token_decl): Diagnose bad cases, and proceed
3200 properly.
3201
3202 2000-10-04 Akim Demaille <akim@epita.fr>
3203
3204 * src/reader.c (parse_expect_decl): Keep `count' within the size
3205 of `buffer'.
3206 From Neil Booth.
3207
3208 2000-10-02 Paul Eggert <eggert@twinsun.com>
3209
3210 * bison.s1 (yyparse): Assign the default value
3211 unconditionally, to avoid a GCC warning and make the parser a
3212 tad smaller.
3213
3214 2000-10-02 Akim Demaille <akim@epita.fr>
3215
3216 * src/getargs.c (getargs): Don't dump `--help' on unrecognized
3217 options.
3218
3219 2000-10-02 Akim Demaille <akim@epita.fr>
3220
3221 * src/derives.c, src/print.c, src/reduce.c: To ease the
3222 translation, move some `\n' out of the translated strings.
3223
3224 2000-10-02 Akim Demaille <akim@epita.fr>
3225
3226 The location tracking mechanism is precious for parse error
3227 messages. Nevertheless, it is enabled only when `@n' is used in
3228 the grammar, which is a different issue (you can use it in error
3229 message, but not in the grammar per se). Therefore, there should
3230 be another means to enable it.
3231
3232 * src/getargs.c (getargs): Support `--locations'.
3233 (usage): Report it.
3234 * src/getargs.h (locationsflag): Export it.
3235 * src/lex.c (percent_table): Support `%locations'.
3236 * src/reader.c (yylsp_needed): Remove this variable, now replaced
3237 with `locationsflag'.
3238 * doc/bison.texinfo: Document `--locations' and `%locations'.
3239 Sort the options.
3240 * tests/calc.m4: Test it.
3241
3242 For regularity of the names, replace each
3243 (nolineflag, toknumflag, rawtokenumflag, noparserflag): with...
3244 (no_lineflag, token_tableflag, rawflag, no_parserflag): this.
3245 In addition replace each `flag' with `_flag'.
3246
3247 2000-10-02 Akim Demaille <akim@epita.fr>
3248
3249 Also test parse error messages, including with YYERROR_VERBOSE.
3250
3251 * tests/calc.m4 (calc.y): Add support for `exp = exp' (non
3252 associative).
3253 Use it to check the computations.
3254 Use it to check `nonassoc' is honored.
3255 (AT_DATA_CALC_Y): Equip `calc.y' with YYERROR_VERBOSE when passed
3256 `--yyerror-verbose'.
3257 (_AT_CHECK_CALC): Adjust to this option.
3258 (_AT_CHECK_CALC_ERROR): New macro to check parse error messages.
3259
3260 2000-10-02 Akim Demaille <akim@epita.fr>
3261
3262 Test also `--verbose', `--defines' and `--name-prefix'. Testing
3263 the latter demonstrates a flaw in the handling of non debugging
3264 parsers introduced by myself on 2000-03-16: `#define yydebug 0'
3265 was used in order to simplify:
3266
3267 #if YYDEBUG
3268 if (yydebug)
3269 {
3270 ...
3271 }
3272 #endif
3273
3274 into
3275
3276 if (yydebug)
3277 {
3278 ...
3279 }
3280
3281 unfortunately this leads to a CPP conflict when
3282 `--name-prefix=foo' is used since it produces `#define yydebug
3283 foodebug'.
3284
3285 * src/bison.s1 [!YYDEBUG]: Do not define yydebug.
3286 (YYDPRINTF): New macro.
3287 Spread its use.
3288 * tests/calc.m4 (AT_CHECK_CALC): Do require a title, build it from
3289 the bison options.
3290 Also test `--verbose', `--defines' and `--name-prefix'.
3291
3292 2000-10-02 Akim Demaille <akim@epita.fr>
3293
3294 Improve the readability of the produced parsers.
3295
3296 * src/bison.s1: Formatting changes.
3297 Improve the comment related to the `$' mark.
3298 (yydefault): Don't fall through to `yyresume': `goto' there.
3299 * src/output.c (output_parser): When the `$' is met, skip the end
3300 of its line.
3301 New variable, `number_of_dollar_signs', to check there's exactly
3302 one `$' in the parser skeleton.
3303
3304 2000-10-02 Akim Demaille <akim@epita.fr>
3305
3306 * lib/xstrdup.c: New file, from the fileutils.
3307 * src/reader.c (parse_token_decl, get_type_name, parse_type_decl)
3308 (parse_assoc_decl, parse_thong_decl, get_type): Use `xstrdup'
3309 instead of strlen + xmalloc + strcpy.
3310 * src/symtab.c (copys): Remove, use xstrdup instead.
3311
3312 2000-10-02 Akim Demaille <akim@epita.fr>
3313
3314 * src/gram.h (associativity): New enum type which replaces the
3315 former CPP macros `RIGHT_ASSOC', `LEFT_ASSOC' and `NON_ASSOC' with
3316 `right_assoc', `left_assoc' and `non_assoc'.
3317 Adjust all dependencies.
3318 * src/reader.c: Formatting changes.
3319 (LTYPESTR): Don't define it, use it as a literal in
3320 `reader_output_yylsp'.
3321 * src/symtab.h (symbol_class): New enum type which replaces the
3322 former CPP macros `SUNKNOWN', `STOKEN and `SNTERM' with
3323 `sunknown', `stoken and `snterm'.
3324
3325 2000-10-02 Akim Demaille <akim@epita.fr>
3326
3327 * src/getargs.c (fixed_outfiles): Rename as...
3328 (yaccflag): for consistency and accuracy.
3329 Adjust dependencies.
3330
3331 2000-10-02 Akim Demaille <akim@epita.fr>
3332
3333 Use the more standard files `xalloc.h' and `xmalloc.c' instead of
3334 Bison's `allocate.c' and `alloc.h'. This patch was surprisingly
3335 difficult and introduced a lot of core dump. It turns out that
3336 Bison used an implementation of `xmalloc' based on `calloc', and
3337 at various places it does depend upon the initialization to 0. I
3338 have not tried to isolate the pertinent places, and all the former
3339 calls to Bison's `xmalloc' are now using `XCALLOC'. Someday,
3340 someone should address this issue.
3341
3342 * src/allocate.c, src/alloc.h, m4/bison-decl.m4: Remove.
3343 * lib/xmalloc.c, lib/xalloc.h, m4/malloc.m4, m4/realloc.m4: New
3344 files.
3345 Adjust dependencies.
3346 * src/warshall.h: New file.
3347 Propagate.
3348
3349 2000-10-02 Akim Demaille <akim@epita.fr>
3350
3351 Various anti-`extern in *.c' changes.
3352
3353 * src/system.h: Include `assert.h'.
3354
3355 2000-10-02 Akim Demaille <akim@epita.fr>
3356
3357 * src/state.h (nstates, final_state, first_state, first_shift)
3358 (first_reduction): Move their exportation from here...
3359 * src/LR0.h: to here.
3360 Adjust dependencies.
3361 * src/getargs.c (statisticsflag): New variable.
3362 Add support for `--statistics'.
3363 Adjust dependencies.
3364
3365 Remove a lot of now useless `extern' statements in most files.
3366
3367 2000-10-02 Akim Demaille <akim@epita.fr>
3368
3369 * src/LR0.h: New file.
3370 Propagate its use.
3371
3372 2000-10-02 Akim Demaille <akim@epita.fr>
3373
3374 * src/print.h: New file.
3375 Propagate its use.
3376 * src/print.c: Formatting and ordering changes.
3377 (verbose, terse): Replace with...
3378 (print_results): this new function.
3379 Adjust dependencies.
3380
3381 2000-10-02 Akim Demaille <akim@epita.fr>
3382
3383 * src/conflicts.c (conflict_report): New function.
3384 (conflict_log, verbose_conflict_log): Replace with...
3385 (print_conflicts): this function.
3386 Adjust dependencies.
3387 * src/conflicts.h: New file.
3388 Propagate its inclusion.
3389
3390 2000-10-02 Akim Demaille <akim@epita.fr>
3391
3392 * src/nullable.h: New file.
3393 Propagate its inclusion.
3394 * src/nullable.c: Formatting changes.
3395
3396 2000-10-02 Akim Demaille <akim@epita.fr>
3397
3398 * src/reduce.h: New file.
3399 Propagate its inclusion.
3400 * src/reduce.c: Topological sort and other formatting changes.
3401 (bool, TRUE, FALSE): Move their definition to...
3402 * src/system.h: here.
3403
3404 2000-10-02 Akim Demaille <akim@epita.fr>
3405
3406 * src/files.c: Formatting changes.
3407 (tryopen, tryclose, openfiles): Rename as...
3408 (xfopen, xfclose, open_files): this.
3409 (stringappend): static.
3410 * src/files.h: Complete the list of exported symbols.
3411 Propagate its use.
3412
3413 2000-10-02 Akim Demaille <akim@epita.fr>
3414
3415 * src/reader.h: New file.
3416 Propagate its use instead of tedious list of `extern' and
3417 prototypes.
3418 * src/reader.c: Formatting changes, topological sort,
3419 s/register//.
3420
3421 2000-10-02 Akim Demaille <akim@epita.fr>
3422
3423 * src/lex.h: Prototype `lex.c' exported functions.
3424 * src/reader.c: Adjust.
3425 * src/lex.c: Formatting changes.
3426 (safegetc): Rename as...
3427 (xgetc): this.
3428
3429 2000-10-02 Akim Demaille <akim@epita.fr>
3430
3431 * src/lalr.h: New file.
3432 Propagate its inclusion instead of prototypes and `extern'.
3433 * src/lalr.c: Formatting changes, topological sorting etc.
3434
3435 2000-10-02 Akim Demaille <akim@epita.fr>
3436
3437 * src/output.c (token_actions): Introduce a temporary array,
3438 YYDEFACT, that makes it possible for this function to use
3439 output_short_table.
3440
3441 2000-10-02 Akim Demaille <akim@epita.fr>
3442
3443 `user_toknums' is output as a `short[]' in `output.c', while it is
3444 defined as a `int[]' in `reader.c'. For consistency with the
3445 other output tables, `user_toknums' is now defined as a table of
3446 shorts.
3447
3448 * src/reader.c (user_toknums): Be a short table instead of an int
3449 table.
3450 Adjust dependencies.
3451
3452 Factor the short table outputs.
3453
3454 * src/output.c (output_short_table): New function.
3455 * src/output.c (output_gram, output_stos, output_rule_data)
3456 (output_base, output_table, output_check): Use it.
3457
3458 2000-10-02 Akim Demaille <akim@epita.fr>
3459
3460 * src/output.c (output): Topological sort of the functions, in
3461 order to get rid of the `static' prototypes.
3462 No longer use `register'.
3463 * src/output.h: New file.
3464 Propagate its inclusion in files explicitly prototyping functions
3465 from output.c.
3466
3467 2000-09-21 Akim Demaille <akim@epita.fr>
3468
3469 * src/atgeneral.m4: Update from Autoconf.
3470
3471 2000-09-21 Akim Demaille <akim@epita.fr>
3472
3473 * src/closure.h: New file.
3474 * src/closure.c: Formatting changes, topological sort over the
3475 functions, use of closure.h.
3476 (initialize_closure, finalize_closure): Rename as...
3477 (new_closure, free_closure): these. Adjust dependencies.
3478 * src/LR0.c: Formatting changes, topological sort, use of
3479 cloture.h.
3480 (initialize_states): Rename as...
3481 (new_states): this.
3482 * src/Makefile.am (noinst_HEADERS): Adjust.
3483
3484 2000-09-20 Akim Demaille <akim@epita.fr>
3485
3486 * src/acconfig.h: Don't protect config.h against multiple
3487 inclusion.
3488 Don't define PARAMS.
3489 * src/system.h: Define PARAMS.
3490 Remove some of the ad-hoc CPP magic for DOS, VMS etc.: this is the
3491 purpose of config.h. system.h must not try to fix wrong
3492 definitions in config.h.
3493
3494 2000-09-20 Akim Demaille <akim@epita.fr>
3495
3496 * src/derives.h: New file.
3497 * src/main.c, src/derives.h: Use it.
3498 Formatting changes.
3499 * src/Makefile.am (noinst_HEADERS): Adjust.
3500
3501 2000-09-20 Akim Demaille <akim@epita.fr>
3502
3503 * tests/atgeneral.m4: Update from Autoconf.
3504 * tests/calc.m4 (_AT_DATA_CALC_Y, AT_DATA_CALC_Y, _AT_CHECK_CALC)
3505 (AT_CHECK_CALC): New macros.
3506 Use these macros to test bison with options `', `--raw',
3507 `--debug', `--yacc', `--yacc --debug'.
3508
3509 2000-09-19 Akim Demaille <akim@epita.fr>
3510
3511 * src/output.c: Formatting changes.
3512 * src/machine.h: Remove, leaving its contents in...
3513 * src/system.h: here.
3514 Include stdio.h.
3515 Adjust all dependencies on stdio.h and machine.h.
3516 * src/getargs.h: New file.
3517 Let all `extern' declarations about getargs.c be replaced with
3518 inclusion of `getargs.h'.
3519 * src/Makefile.am (noinst_HEADERS): Adjust.
3520
3521 * tests/calc.m4 (yyin): Be initialized in main, not on the global
3522 scope.
3523 (yyerror): Returns void, not int.
3524 * doc/bison.texinfo: Formatting changes.
3525
3526 2000-09-19 Akim Demaille <akim@epita.fr>
3527
3528 * tests/calc.m4 (calc.y): Do not assign to stdin, as it's not
3529 portable.
3530
3531 2000-09-18 Akim Demaille <akim@epita.fr>
3532
3533 * configure.in: Append WARNING_CFLAGS to CFLAGS.
3534 * src/Makefile.am (INCLUDES): Don't.
3535 Be ready to fetch headers in lib/.
3536
3537 2000-09-18 Akim Demaille <akim@epita.fr>
3538
3539 * doc/bison.texinfo: Update the copyright.
3540 ANSIfy and GNUify the examples.
3541 Remove the old menu.
3542
3543 2000-09-18 Akim Demaille <akim@epita.fr>
3544
3545 First set of tests: use the `calc' example from the documentation.
3546
3547 * src/bison.s1 (yyparse): Condition the code using `yytname' which
3548 is defined only when YYDEBUG is.
3549 * m4/atconfig.m4 (AT_CONFIG): Adjust to Autoconf 2.13.
3550 * src/files.c (tryopen, tryclose): Formatting changes.
3551 Move to the top and be static.
3552 * src/reader.c (read_signed_integer): Likewise.
3553 * tests/calc.m4: New file.
3554 * Makefile.am, suite.m4: Adjust.
3555 * m4/atconfig.m4: Set BISON_SIMPLE and BISON_HAIRY.
3556
3557 2000-09-18 Akim Demaille <akim@epita.fr>
3558
3559 Add support for an Autotest test suite for Bison.
3560
3561 * m4/m4.m4, m4/atconfig.m4: New files.
3562 * m4/Makefile.am (EXTRA_DIST): Adjust.
3563 * tests/suite.m4, tests/Makefile.am, tests/atgeneral.m4: New
3564 files.
3565 * src/getargs.c: Display a more standard --version message.
3566 * src/reader.c (reader): Formatting changes.
3567 No longer depend upon VERSION_STRING.
3568 * configure.in: No longer use `dnl'.
3569 Set up the test suite and the new directory `tests/.
3570 (VERSION_STRING): Remove.
3571
3572 2000-04-14 Akim Demaille <akim@epita.fr>
3573
3574 * src/reader.c (copy_comment2): New function, same as former
3575 `copy_comment', but outputs into two FILE *.
3576 (copy_comment): Use it.
3577 (parse_union_decl): Use it.
3578 (get_type, parse_start_decl): Use the same `invalid' message.
3579 (parse_start_decl, parse_union_decl): Use the same `multiple'
3580 message.
3581 (parse_union_decl, copy_guard, copy_action): Use the same
3582 `unmatched' message.
3583 * m4/Makefile.am (EXTRA_DIST): Add `warning.m4'.
3584
3585 2000-03-31 Akim Demaille <akim@epita.fr>
3586
3587 * src/files.c (tryopen, tryclose): Move to the top.
3588 Be static.
3589
3590 2000-03-31 Akim Demaille <akim@epita.fr>
3591
3592 * src/main.c (main): Don't call `done', exit does it.
3593
3594 2000-03-31 Akim Demaille <akim@epita.fr>
3595
3596 * allocate.c: s/return (foo)/return foo/.
3597 * lalr.c: Likewise.
3598 * LR0.c: Likewise.
3599 * output.c: Likewise.
3600 * reader.c: Likewise.
3601 * symtab.c: Likewise.
3602 * vmsgetargs.c: Likewise.
3603
3604 2000-03-31 Akim Demaille <akim@epita.fr>
3605
3606 Clean up the error reporting functions.
3607
3608 * src/report.c: New file.
3609 * src/report.h: Likewise.
3610 * src/Makefile.am: Adjust.
3611 * m4/error.m4: New file.
3612 * m4/Makefile.am: Adjust.
3613 * configure.in (jm_PREREQ_ERROR): Call it.
3614 * src/main.c (int_to_string, banner, fatal_banner, warn_banner):
3615 Remove.
3616 (fatal, fatals): Remove. All callers use complain.c::fatal.
3617 (warn, warni, warns, warnss, warnss): Remove. All callers use
3618 complain.c::complain.
3619 (toomany): Remove, use fatal instead.
3620 * src/files.c (done): No argument, use complain_message_count.
3621 * src/main.c (main): Register `done' to `atexit'.
3622
3623 * src/getargs.c (usage): More `fputs', less `fprintf'.
3624
3625 2000-03-28 Akim Demaille <akim@epita.fr>
3626
3627 * lib/: New directory.
3628 * Makefile.am (SUBDIRS): Adjust.
3629 * configure.in: Adjust.
3630 (LIBOBJS): Although not used yet, AC_SUBST it, otherwise it's
3631 useless.
3632 * src/alloca.c: Moved to lib/.
3633 * src/getopt.c: Likewise.
3634 * src/getopt1.c: Likewise.
3635 * src/getopt.h: Likewise.
3636 * src/ansi2knr.c: Likewise.
3637 * src/ansi2knr.1: Likewise.
3638 * src/Makefile.am: Adjust.
3639 * lib/Makefile.am: New file.
3640
3641 2000-03-28 Akim Demaille <akim@epita.fr>
3642
3643 * src/getargs.c (usage): Refresh the help message.
3644
3645 2000-03-17 Akim Demaille <akim@epita.fr>
3646
3647 * src/getopt1.c: Updated from textutils 2.0e
3648 * src/getopt.c: Likewise.
3649 * src/getopt.h: Likewise.
3650
3651 2000-03-17 Akim Demaille <akim@epita.fr>
3652
3653 * src/Makefile.am (bison.simple): Fix the awk program: quote only
3654 the file name, not the whole `#line LINE FILE'.
3655
3656 2000-03-17 Akim Demaille <akim@epita.fr>
3657
3658 On syntax errors, report the token on which we choked.
3659
3660 * src/bison.s1 (yyparse): In the label yyerrlab, when
3661 YYERROR_VERBOSE, add yychar in msg.
3662
3663 2000-03-17 Akim Demaille <akim@epita.fr>
3664
3665 * src/reader.c (copy_at): New function.
3666 (copy_guard): Use it.
3667 (copy_action): Use it.
3668
3669 2000-03-17 Akim Demaille <akim@epita.fr>
3670
3671 Be kind to translators, save some useless translations.
3672
3673 * src/main.c (banner): New function.
3674 (fatal_banner): Use it.
3675 (warn_banner): Use it.
3676
3677 2000-03-17 Akim Demaille <akim@epita.fr>
3678
3679 * src/reader.c (copy_definition): Use copy_string and
3680 copy_comment. Removed now unused `match', `ended',
3681 `cplus_comment'.
3682 (copy_comment, copy_string): Moved, to be visible from
3683 copy_definition.
3684
3685 2000-03-17 Akim Demaille <akim@epita.fr>
3686
3687 * src/reader.c (copy_string): Declare `static inline'. No
3688 problems with inline, since it is checked by configure.
3689 (copy_comment): Likewise.
3690
3691 2000-03-17 Akim Demaille <akim@epita.fr>
3692
3693 * src/reader.c (packsymbols): Formatting changes.
3694
3695 2000-03-17 Akim Demaille <akim@epita.fr>
3696
3697 * src/reader.c (copy_comment): New function, factored out from:
3698 (copy_action): Use it. Removed now unused `match', `ended',
3699 `cplus_comment'.
3700 (copy_guard): Likewise.
3701
3702 2000-03-17 Akim Demaille <akim@epita.fr>
3703
3704 * src/reader.c (copy_string): New function, factored out from:
3705 (copy_action): Use it.
3706 (copy_guard): Likewise.
3707
3708 2000-03-17 Akim Demaille <akim@epita.fr>
3709
3710 Change the handling of @s so that they behave exactly like $s.
3711 There is now a pseudo variable @$ (readble and writable), location
3712 of the lhs of the rule (by default ranging from the location of
3713 the first symbol of the rhs, to the location of the last symbol,
3714 or, if the rhs is empty, YYLLOC).
3715
3716 * src/bison.s1 [YYLSP_NEEDED] (yyloc): New variable, twin of
3717 yyval.
3718 (yyparse): When providing a default semantic action, provide a
3719 default location action.
3720 (after the $): No longer change `*YYLSP', just stack YYLOC the
3721 same way you stack YYVAL.
3722 * src/reader.c (read_declarations): Use warns.
3723 (copy_guard, case '@'): Also recognize `@$', expanded as `YYLOC'.
3724 (copy_action, case '@'): Likewise.
3725 Use a standard error message, to save useless work from
3726 translators.
3727
3728 2000-03-17 Akim Demaille <akim@epita.fr>
3729
3730 * src/bison.s1: Formatting and cosmetics changes.
3731 * src/reader.c: Likewise.
3732 Update the Copyright notice.
3733
3734 2000-03-17 Akim Demaille <akim@epita.fr>
3735
3736 * src/bison.s1 (#line): All set to `#line' only, since the
3737 Makefile now handles them.
3738
3739 2000-03-16 Akim Demaille <akim@epita.fr>
3740
3741 * src/output.c (output_rule_data): Output the documentation of
3742 some of the tables.
3743 (Copyright notice): Update.
3744 Formatting changes.
3745
3746 2000-03-16 Akim Demaille <akim@epita.fr>
3747
3748 * src/bison.s1 [!YYDEBUG]: Define yydebug to 0. This allows to
3749 remove most `#if YYDEBUG != 0', since `if (yydebug)' is enough.
3750 One `#if YYDEBUG' remains, since it uses variables which are
3751 defined only if `YYDEBUG != 0'.
3752
3753 2000-03-16 Akim Demaille <akim@epita.fr>
3754
3755 * src/bison.s1 (yyparse): Reorganize the definitions of the stacks
3756 and related variables so that the similarities are highlighted.
3757
3758 2000-03-16 Akim Demaille <akim@epita.fr>
3759
3760 * src/bison.s1: Properly indent CPP directives.
3761
3762 2000-03-16 Akim Demaille <akim@epita.fr>
3763
3764 * src/bison.s1: Properly indent the `alloca' CPP section.
3765
3766 2000-03-16 Akim Demaille <akim@epita.fr>
3767
3768 Do not hard code values of directories in `configure.in'.
3769 Update the `configure' tool chain.
3770
3771 * configure.in (XPFILE, XPFILE1, LOCALEDIR): Remove, handled by
3772 src/makefile.am.
3773 (VERSION_STRING): Use the third arg of AC_DEFINE_UNQUOTED.
3774 (AC_OUTPUT): Add m4/Makefile.
3775 Bump to bison 1.28a, 1.29 has never been released.
3776 * acconfig.h (XPFILE, XPFILE1, LOCALEDIR): Remove, since they are
3777 handled via src/Makefile.am.
3778 (VERSION_STRING, PROTOTYPES, ENABLE_NLS, HAVE_CATGETS,
3779 HAVE_GETTEXT, HAVE_LC_MESSAGES, HAVE_STPCPY): Remove, handled by
3780 autoheader.
3781 * Makefile.am (SUBDIRS): Add m4.
3782 (ACLOCAL_AM_FLAGS): New variable.
3783 (AUTOMAKE_OPTIONS): Add check-news.
3784 * src/Makefile.am (bison.simple): Use awk to replace #line lines with
3785 the proper line number and file name.
3786 (DEFS): Propagate the location of bison library files and of the
3787 locale files.
3788 (INCLUDES): Added `-I ..' so that one can compile with srcdir !=
3789 builddir.
3790 * acinclude.m4: Remove, replaced by the directory m4.
3791 * m4/Makefile.am (EXTRA_DIST): New variable.
3792 * m4/gettext.m4: New file, from the fileutils.
3793 * m4/lcmessage.m4: Likewise
3794 * m4/progtest.m4: Likewise.
3795 * m4/bison-decl.m4: New file, extracted from former acinclude.m4.
3796
3797 2000-03-10 Akim Demaille <akim@epita.fr>
3798
3799 * src/closure.c:
3800 Formatting changes of various comments.
3801 Respect the GNU coding standards at various places.
3802 Don't use `_()' when no translation is needed.
3803
3804 1999-12-13 Jesse Thilo <jthilo@gnu.org>
3805
3806 * src/files.c:
3807 OS/2 honors TMPDIR environment variable.
3808
3809 1999-12-13 Jesse Thilo <jthilo@gnu.org>
3810
3811 * doc/bison.texinfo: Tweaked spelling and grammar.
3812 Updated ISBN.
3813 Removed reference to price of printed copy.
3814 Mention BISON_SIMPLE and BISON_HAIRY.
3815
3816 1999-12-13 Jesse Thilo <jthilo@gnu.org>
3817
3818 * configure.in, NEWS:
3819 Bison 1.29 released.
3820
3821 1999-10-27 Jesse Thilo <jthilo@gnu.org>
3822
3823 * doc/.cvsignore, doc/Makefile.am, doc/refcard.tex:
3824 Added reference card.
3825
3826 1999-07-26 Jesse Thilo <jthilo@gnu.org>
3827
3828 * po/ru.po: Added Russian translation.
3829
3830 1999-07-26 Jesse Thilo <jthilo@gnu.org>
3831
3832 * configure.in: Added Russian translation.
3833
3834 1999-07-06 Jesse Thilo <jthilo@gnu.org>
3835
3836 * configure.in, NEWS, README:
3837 Released version 1.28.
3838
3839 1999-06-14 Jesse Thilo <jthilo@gnu.org>
3840
3841 * src/system.h:
3842 Squashed redefinition warning on some systems.
3843
3844 * src/getargs.c, src/Makefile.am, src/reader.c, src/version.c:
3845 Have configure build version string instead of relying on ANSI string
3846 concatentation.
3847
3848 1999-06-14 Jesse Thilo <jthilo@gnu.org>
3849
3850 * po/POTFILES.in: Got rid of version.c.
3851
3852 1999-06-14 Jesse Thilo <jthilo@gnu.org>
3853
3854 * acconfig.h, configure.in:
3855 Have configure build version string instead of relying on ANSI string
3856 concatentation.
3857
3858 1999-06-08 Jesse Thilo <jthilo@gnu.org>
3859
3860 * doc/bison.1:
3861 Dropped mention of `+' for long-named options.
3862
3863 1999-05-30 Jesse Thilo <jthilo@gnu.org>
3864
3865 * src/files.c: Added <unistd.h> for unlink().
3866
3867 * src/Makefile.am, src/system.h:
3868 I18n fixes.
3869
3870 1999-05-30 Jesse Thilo <jthilo@gnu.org>
3871
3872 * README: Added a FAQ list.
3873
3874 * configure.in, acconfig.h:
3875 I18n fixes.
3876
3877 1999-05-30 Jesse Thilo <jthilo@gnu.org>
3878
3879 * doc/FAQ, doc/Makefile.am:
3880 Added a FAQ list.
3881
3882 1999-05-19 Jesse Thilo <jthilo@gnu.org>
3883
3884 * src/alloc.h, src/symtab.h, src/version.c:
3885 Protected inclusion of "config.h" with HAVE_CONFIG_H.
3886
3887 1999-04-18 Jesse Thilo <jthilo@gnu.org>
3888
3889 * src/.cvsignore, src/Makefile.am:
3890 Reorganized: sources in `src', documentation in `doc'.
3891
3892 * src/lex.c (literalchar):
3893 fixed the code for escaping double quotes (thanks
3894 Jonathan Czisny.)
3895
3896 1999-04-18 Jesse Thilo <jthilo@gnu.org>
3897
3898 * po/de.po, po/es.po, po/fr.po, po/nl.po, po/POTFILES.in:
3899 Adjusted paths to reflect directory reorganization.
3900
3901 1999-04-18 Jesse Thilo <jthilo@gnu.org>
3902
3903 * doc/.cvsignore, doc/Makefile.am:
3904 Reorganized: sources in `src', documentation in `doc'.
3905
3906 1999-04-18 Jesse Thilo <jthilo@gnu.org>
3907
3908 * configure.in:
3909 Updated AC_INIT file to reflect directory reorganization.
3910
3911 * configure.in, .cvsignore, Makefile.am, POTFILES.in:
3912 Reorganized: sources in `src', documentation in `doc'.
3913
3914 1999-04-13 Jesse Thilo <jthilo@gnu.org>
3915
3916 * src/allocate.c:
3917 Don't declare calloc() and realloc() if not necessary.
3918
3919 1999-04-13 Jesse Thilo <jthilo@gnu.org>
3920
3921 * configure.in, acconfig.h, acinclude.m4:
3922 Don't declare calloc() and realloc() if not necessary.
3923
3924 1999-03-23 Jesse Thilo <jthilo@gnu.org>
3925
3926 * po/.cvsignore: Added i18n support.
3927
3928 1999-03-23 Jesse Thilo <jthilo@gnu.org>
3929
3930 * acconfig.h, configure.in, Makefile.am:
3931 Added i18n support.
3932
3933 1999-03-22 Jesse Thilo <jthilo@gnu.org>
3934
3935 * src/bison.s1: Fixed #line numbers.
3936
3937 1999-03-15 Jesse Thilo <jthilo@gnu.org>
3938
3939 * po/es.po, po/fr.po, po/nl.po, po/de.po:
3940 Added PO files from Translation Project.
3941
3942 1999-03-03 Jesse Thilo <jthilo@gnu.org>
3943
3944 * Makefile.am:
3945 Added support for non-ANSI compilers (ansi2knr).
3946
3947 1999-02-16 Jesse Thilo <jthilo@gnu.org>
3948
3949 * configure.in: Bumped version number to 1.27.
3950
3951 * Makefile.am:
3952 Added `bison.simple' to list of files removed by `make distclean'.
3953
3954 1999-02-12 Jesse Thilo <jthilo@gnu.org>
3955
3956 * src/files.c, src/files.h:
3957 Defined locations of parser files in config.h instead of Makefile.
3958
3959 1999-02-12 Jesse Thilo <jthilo@gnu.org>
3960
3961 * acconfig.h, acinclude.m4, configure.in, Makefile.am:
3962 Defined locations of parser files in config.h instead of Makefile.
3963
3964 1999-02-09 Jesse Thilo <jthilo@gnu.org>
3965
3966 * Makefile.am:
3967 Removed inappropriate use of $< macro.
3968
3969 1999-02-05 Jesse Thilo <jthilo@gnu.org>
3970
3971 * po/Makefile.in.in, po/POTFILES.in:
3972 Add `po' directory skeleton.
3973
3974 1999-01-27 Jesse Thilo <jthilo@gnu.org>
3975
3976 * README: Document help-bison list.
3977
3978 * configure.in: Add check for mkstemp().
3979
3980 1999-01-20 Jesse Thilo <jthilo@gnu.org>
3981
3982 * src/conflicts.c, src/LR0.c, src/output.c, src/reader.c:
3983 Hush a few compiler warnings.
3984
3985 * src/files.c:
3986 Add tryclose(), which verifies that fclose was successful.
3987 Hush a couple of compiler warnings.
3988
3989 1999-01-20 Jesse Thilo <jthilo@gnu.org>
3990
3991 * Makefile.am, OChangeLog:
3992 ChangeLog is now automatically generated. Include the old version as
3993 OChangeLog.
3994
3995 1999-01-14 Jesse Thilo <jthilo@gnu.org>
3996
3997 * 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:
3998 Update FSF address.
3999
4000 1999-01-14 Jesse Thilo <jthilo@gnu.org>
4001
4002 * doc/bison.texinfo: Fix formatting glitch.
4003
4004 * doc/bison.texinfo: Update FSF address.
4005
4006 1999-01-14 Jesse Thilo <jthilo@gnu.org>
4007
4008 * acconfig.h: Update FSF address.
4009
4010 1999-01-08 Jesse Thilo <jthilo@gnu.org>
4011
4012 * src/system.h:
4013 Don't define PACKAGE here, since config.h defines it.
4014
4015 1998-12-30 Jesse Thilo <jthilo@gnu.org>
4016
4017 * src/reader.c: Update copyright date.
4018
4019 * src/main.c:
4020 Ditch sprintf to statically-sized buffers in fatal/warn functions in
4021 favor of output directly to stderr (avoids buffer overruns).
4022
4023 * src/reader.c: Some checks for premature EOF.
4024
4025 * 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:
4026 Use prototypes if the compiler understands them.
4027
4028 * src/files.c: Honor TMPDIR on Unix hosts.
4029 Use prototypes if the compiler understands them.
4030
4031 * src/reader.c:
4032 Fix a couple of buffer overrun bugs.
4033 Use prototypes if the compiler understands them.
4034
4035 * src/system.h: Include unistd.h and ctype.h.
4036 Use #ifdef instead of #if for NLS symbols.
4037
4038 1998-12-30 Jesse Thilo <jthilo@gnu.org>
4039
4040 * doc/bison.texinfo:
4041 Delete comment "consider using @set for edition number, etc..." since
4042 we now are doing so.
4043
4044 1998-12-30 Jesse Thilo <jthilo@gnu.org>
4045
4046 * configure.in:
4047 Use prototypes if the compiler understands them.
4048
4049 * NEWS: Document 1.26 highlights.
4050
4051 * Makefile.am: Require Automake 1.3 or later.
4052
4053 * acconfig.h:
4054 Use prototypes if the compiler understands them.
4055
4056 1998-12-29 Jesse Thilo <jthilo@gnu.org>
4057
4058 * src/version.c:
4059 Use VERSION symbol from automake for version number.
4060
4061 1998-12-29 Jesse Thilo <jthilo@gnu.org>
4062
4063 * acconfig.h, configure.in, version.cin:
4064 Use VERSION symbol from automake for version number.
4065
4066 1998-11-28 Jesse Thilo <jthilo@gnu.org>
4067
4068 * Makefile.am:
4069 Distribute original version of simple parser (bison.s1), not built
4070 version (bison.simple).
4071
4072 1998-11-28 Jesse Thilo <jthilo@gnu.org>
4073
4074 * doc/bison.texinfo: Add info dir entry.
4075
4076 * doc/bison.texinfo:
4077 Let automake put version number into documentation.
4078
4079 1998-11-26 Jesse Thilo <jthilo@gnu.org>
4080
4081 * src/bison.cld, src/build.com, src/vmshlp.mar:
4082 Add non-RCS files from /gd/gnu/bison.
4083
4084 1998-11-26 Jesse Thilo <jthilo@gnu.org>
4085
4086 * doc/bison.1:
4087 Document the BISON_HAIRY and BISON_SIMPLE variables.
4088
4089 1998-11-25 Jesse Thilo <jthilo@gnu.org>
4090
4091 * src/version.c: Build version.c automatically.
4092
4093 * src/reader.c:
4094 Fix token numbering (used to start at 258, not 257).
4095
4096 * src/system.h: Include config.h.
4097
4098 * src/getargs.c: Update bug report address.
4099
4100 * src/alloca.c, src/getopt1.c, src/getopt.c, src/getopt.h:
4101 Get latest copies of alloca.c, getopt.c, getopt.h, getopt1.c from gnu.org.
4102
4103 1998-11-25 Jesse Thilo <jthilo@gnu.org>
4104
4105 * Makefile.am:
4106 Rename bison.simple to bison.s1 (bison.simple is then built from bison.s1).
4107
4108 * configure.in, version.cin:
4109 Build version.c automatically.
4110
4111 * AUTHORS: Add AUTHORS file.
4112
4113 * README: Update bug report address.
4114
4115 * bison.simple:
4116 Rename bison.simple to bison.s1 (bison.simple is then built from bison.s1).
4117
4118 * configure.in, Makefile.am, Makefile.in, stamp-h.in:
4119 Add automake stuff.
4120
4121 1998-11-25 Jesse Thilo <jthilo@gnu.org>
4122
4123 * doc/bison.texinfo: Clean up some formatting.
4124
4125 1998-05-05 Richard Stallman <rms@gnu.org>
4126
4127 * doc/bison.texinfo:
4128 Explain better why to make a pure parser.
4129
4130 1998-01-05 Richard Stallman <rms@gnu.org>
4131
4132 * src/files.c (openfiles):
4133 [_WIN32 && !__CYGWIN32__] Use TEMP or Temp to
4134 find a temporary directory, if possible. Do not unlink files while
4135 they are open.
4136
4137 1997-08-25 Richard Stallman <rms@gnu.org>
4138
4139 * src/reader.c (stack_offset;):
4140 Change some warni to warns.
4141
4142 * src/lex.c (literalchar): Use warns, not warni.
4143
4144 1997-06-28 Richard Stallman <rms@gnu.org>
4145
4146 * src/bison.s1: Add a Bison version comment.
4147
4148 * src/main.c (fatal, warn, berror):
4149 Use program_name.
4150
4151 1997-06-28 Richard Stallman <rms@gnu.org>
4152
4153 * Makefile.in (bison_version): New variable.
4154 (dist): Use that variable.
4155 (bison.s1): Substitute the Bison version into bison.simple.
4156
4157 * bison.simple: Add a Bison version comment.
4158
4159 1997-06-18 Richard Stallman <rms@gnu.org>
4160
4161 * src/main.c (fatal, warn, berror):
4162 Make error messages standard.
4163 (toomany): Improve error message text.
4164
4165 * 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:
4166 new.h renamed to alloc.h.
4167
4168 1997-06-18 Richard Stallman <rms@gnu.org>
4169
4170 * Makefile.in: new.h renamed to alloc.h.
4171
4172 1997-05-24 Richard Stallman <rms@gnu.org>
4173
4174 * src/lex.c (literalchar):
4175 Fix the code for escaping \, " and '.
4176
4177 (lex): Avoid trouble when there are many chars
4178 to discard in a char literal with just several chars in it.
4179
4180 1997-05-17 Richard Stallman <rms@gnu.org>
4181
4182 * src/bison.s1:
4183 Use malloc, if using alloca is troublesome.
4184 (YYSTACK_USE_ALLOCA): New flag macro.
4185 Define it for some systems and compilers.
4186 (YYSTACK_ALLOC): New macro.
4187 (yyparse): Use YYSTACK_ALLOC to allocate stack.
4188 If it was malloc'd, free it.
4189
4190 1997-05-17 Richard Stallman <rms@gnu.org>
4191
4192 * bison.simple:
4193 Use malloc, if using alloca is troublesome.
4194 (YYSTACK_USE_ALLOCA): New flag macro.
4195 Define it for some systems and compilers.
4196 (YYSTACK_ALLOC): New macro.
4197 (yyparse): Use YYSTACK_ALLOC to allocate stack.
4198 If it was malloc'd, free it.
4199
4200 1997-04-23 Richard Stallman <rms@gnu.org>
4201
4202 * src/bison.s1:
4203 (alloca) [__hpux]: Always define as __builtin_alloca.
4204
4205 1997-04-23 Richard Stallman <rms@gnu.org>
4206
4207 * bison.simple:
4208 (alloca) [__hpux]: Always define as __builtin_alloca.
4209
4210 1997-04-22 Richard Stallman <rms@gnu.org>
4211
4212 * src/bison.s1:
4213 [__hpux]: Include alloca.h (right for HPUX 10)
4214 instead of declaring alloca (right for HPUX 9).
4215
4216 * src/bison.s1 (__yy_memcpy):
4217 Declare arg `count' as unsigned int.
4218 (yyparse): Cast third arg to __yy_memcpy to unsigned int.
4219
4220 1997-04-22 Richard Stallman <rms@gnu.org>
4221
4222 * bison.simple:
4223 [__hpux]: Include alloca.h (right for HPUX 10)
4224 instead of declaring alloca (right for HPUX 9).
4225
4226 * bison.simple (__yy_memcpy):
4227 Declare arg `count' as unsigned int.
4228 (yyparse): Cast third arg to __yy_memcpy to unsigned int.
4229
4230 1997-01-03 Richard Stallman <rms@gnu.org>
4231
4232 * src/allocate.c: [__STDC__ or _MSC_VER]:
4233 Declare calloc and realloc to return void *.
4234
4235 1997-01-02 Richard Stallman <rms@gnu.org>
4236
4237 * src/system.h:
4238 [_MSC_VER]: Include stdlib.h and process.h.
4239 [_MSC_VER] (getpid): Define as macro--translate it to _getpid.
4240
4241 * src/main.c (main): Return FAILURE as a value.
4242 (printable_version): Declare arg as int, not char.
4243
4244 1997-01-02 Richard Stallman <rms@gnu.org>
4245
4246 * Makefile.in (dist):
4247 Explicitly check for symlinks, and copy them.
4248
4249 1996-12-19 Richard Stallman <rms@gnu.org>
4250
4251 * src/files.c:
4252 [_MSC_VER] (XPFILE, XPFILE1): Define, if not already defined.
4253
4254 1996-12-18 Paul Eggert <eggert@gnu.org>
4255
4256 * src/bison.s1 (yyparse):
4257 If __GNUC__ and YYPARSE_PARAM are both defined,
4258 declare yyparse to have a void * argument.
4259
4260 1996-12-18 Paul Eggert <eggert@gnu.org>
4261
4262 * bison.simple (yyparse):
4263 If __GNUC__ and YYPARSE_PARAM are both defined,
4264 declare yyparse to have a void * argument.
4265
4266 1996-12-17 Richard Stallman <rms@gnu.org>
4267
4268 * src/reduce.c (nbits): Add some casts.
4269
4270 1996-08-12 Richard Stallman <rms@gnu.org>
4271
4272 * src/bison.s1: Test _MSDOS as well as _MSDOS_.
4273
4274 1996-08-12 Richard Stallman <rms@gnu.org>
4275
4276 * bison.simple: Test _MSDOS as well as _MSDOS_.
4277
4278 1996-07-31 Richard Stallman <rms@gnu.org>
4279
4280 * src/bison.s1:
4281 [__sun && __i386]: Include alloca.h.
4282
4283 1996-07-31 Richard Stallman <rms@gnu.org>
4284
4285 * bison.simple:
4286 [__sun && __i386]: Include alloca.h.
4287
4288 1996-07-30 Richard Stallman <rms@gnu.org>
4289
4290 * src/bison.s1: Comment change.
4291
4292 * src/bison.s1: Test _MSDOS_, not MSDOS.
4293
4294 1996-07-30 Richard Stallman <rms@gnu.org>
4295
4296 * bison.simple: Comment change.
4297
4298 * bison.simple: Test _MSDOS_, not MSDOS.
4299
4300 1996-06-01 Richard Stallman <rms@gnu.org>
4301
4302 * 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:
4303 Insert `_' macro around many string constants.
4304
4305 * src/main.c:
4306 Insert `_' macro around many string constants.
4307
4308 (main): Call setlocale, bindtextdomain and textdomain.
4309
4310 * src/system.h: [HAVE_LOCALE_H]: Include locale.h.
4311 [! HAVE_LOCALE_H] (setlocale): Define as no-op.
4312 [ENABLE_NLS]: Include libintl.h.
4313 [ENABLE_NLS] (gettext): Define.
4314 [! ENABLE_NLS] (bintextdomain, textdomain, _): Consolation definitions.
4315 (N_, PACKAGE, LOCALEDIR): New macros.
4316
4317 1996-06-01 Richard Stallman <rms@gnu.org>
4318
4319 * POTFILES.in: New file.
4320
4321 * Makefile.in (allocate.o):
4322 Define target explicitly.
4323
4324 * Makefile.in (CFLAGS): Set to @CFLAGS@.
4325 (LDFLAGS): Set to @LDFLAGS@.
4326 (configure): Run autoconf only if preceding `cd' succeeds.
4327 (bison.s1): Redirect output to temporary file then move the
4328 temporary to the target, rather than redirecting directly to bison.s1.
4329 (clean): Remove config.status and config.log.
4330 (distclean): Don't remove config.status here.
4331
4332 1996-05-12 Richard Stallman <rms@gnu.org>
4333
4334 * src/bison.s1:
4335 (__yy_memcpy) [__cplusplus]: Reorder declarations of variables f and t.
4336
4337 1996-05-12 Richard Stallman <rms@gnu.org>
4338
4339 * bison.simple:
4340 (__yy_memcpy) [__cplusplus]: Reorder declarations of variables f and t.
4341
4342 1996-05-11 Richard Stallman <rms@gnu.org>
4343
4344 * src/bison.s1 (__yy_memcpy):
4345 Really reorder the args, as was supposedly done on Feb 14 1995.
4346 (yyparse): Calls changed accordingly.
4347
4348 1996-05-11 Richard Stallman <rms@gnu.org>
4349
4350 * Makefile.in (dist): Don't use $(srcdir).
4351
4352 * bison.simple (__yy_memcpy):
4353 Really reorder the args, as was supposedly done on Feb 14 1995.
4354 (yyparse): Calls changed accordingly.
4355
4356 1996-01-27 Richard Stallman <rms@gnu.org>
4357
4358 * src/output.c (output_rule_data):
4359 Test YYERROR_VERBOSE in the conditional
4360 around the definition of ttyname.
4361
4362 1995-12-29 Richard Stallman <rms@gnu.org>
4363
4364 * src/bison.s1:
4365 Fix line numbers in #line commands.
4366
4367 1995-12-29 Richard Stallman <rms@gnu.org>
4368
4369 * bison.simple:
4370 Fix line numbers in #line commands.
4371
4372 1995-12-27 Richard Stallman <rms@gnu.org>
4373
4374 * src/bison.s1 (YYPARSE_PARAM_DECL):
4375 In C++, make it always null.
4376 (YYPARSE_PARAM_ARG): New macro.
4377 (yyparse): Use YYPARSE_PARAM_ARG.
4378
4379 1995-12-27 Richard Stallman <rms@gnu.org>
4380
4381 * bison.simple (YYPARSE_PARAM_DECL):
4382 In C++, make it always null.
4383 (YYPARSE_PARAM_ARG): New macro.
4384 (yyparse): Use YYPARSE_PARAM_ARG.
4385
4386 1995-11-29 Richard Stallman <rms@gnu.org>
4387
4388 * doc/bison.texinfo:
4389 Describe literal string tokens, %raw, %no_lines, %token_table.
4390
4391 1995-11-29 Daniel Hagerty <hag@gnu.org>
4392
4393 * doc/bison.texinfo: Fixed update date
4394
4395 1995-10-16 Richard Stallman <rms@gnu.org>
4396
4397 * src/version.c: Version 1.25.
4398
4399 1995-10-16 Richard Stallman <rms@gnu.org>
4400
4401 * NEWS: *** empty log message ***
4402
4403 1995-10-16 Richard Stallman <rms@gnu.org>
4404
4405 * doc/bison.1, doc/bison.rnh:
4406 Add new options.
4407
4408 1995-10-15 Richard Stallman <rms@gnu.org>
4409
4410 * src/vmsgetargs.c, src/getargs.c:
4411 Added -n, -k, and -raw switches.
4412 (noparserflag, toknumflag, rawtoknumflag): New variables.
4413
4414 * src/symtab.h (SALIAS):
4415 New #define for adding aliases to %token.
4416 (struct bucket): Added `alias' field.
4417
4418 * src/reduce.c (reduce_grammar):
4419 Revise error message.
4420 (print_notices): Remove final `.' from error message.
4421
4422 * src/reader.c (reader_output_yylsp):
4423 New function.
4424 (readgram): Use `#if 0' around code that accepted %command
4425 inside grammar rules: The documentation doesn't allow it,
4426 and it will fail since the %command processors scan for the next %.
4427 (parse_token_decl): Extended the %token
4428 declaration to allow a multi-character symbol as an alias.
4429 (parse_thong_decl): New function.
4430 (read_declarations): Added %thong declarations.
4431 (read_declarations): Handle NOOP to deal with allowing
4432 % declarations as another means to specify the flags.
4433 (readgram): Allow %prec prior to semantics embedded in a rule.
4434 (skip_to_char, read_declarations, copy_definition)
4435 (parse_token_decl, parse_start_decl, parse_type_decl)
4436 (parse_assoc_decl, parse_union_decl, parse_expect_decl)
4437 (get_type_name, copy_guard, copy_action, readgram)
4438 (get_type, packsymbols): Revised most error messages.
4439 Changed `fatal' to `warnxxx' to avoid aborting for error.
4440 Revised and use multiple warnxxx functions to avoid using VARARGS1.
4441 (read_declarations): Improve the error message for
4442 an invalid character. Do not abort.
4443 (read_declarations, copy_guard, copy_action): Use
4444 printable_version to avoid unprintable characters in printed output.
4445 (parse_expect_decl): Error if argument to %expect exceeds 10 digits.
4446 (parse_token_decl, parse_assoc_decl, parse_type_decl, get_type):
4447 Allow the type of a non-terminal can be given
4448 more than once, as long as all specifications give the same type.
4449
4450 * src/output.c:
4451 (output_headers, output_trailers, output, output_gram)
4452 (output_rule_data): Implement noparserflag variable.
4453 Implement toknumflag variable.
4454 (output): Call reader_output_yylsp to output LTYPESTR.
4455
4456 * src/main.c (main):
4457 If reader sees an error, don't process the grammar.
4458 (fatals): Updated to not use VARARGS1.
4459 (printable_version, int_to_string, warn, warni, warns, warnss)
4460 (warnsss): New error reporting functions. Avoid abort for error.
4461
4462 * src/lex.h:
4463 Added THONG and NOOP for alias processing.
4464 Added SETOPT for the new code that allows setting options with %flags.
4465
4466 * src/lex.c:
4467 Include getopt.h. Add some extern decls.
4468 (safegetc): New function to deal with EOF gracefully.
4469 (literalchar); new function to deal with reading \ escapes.
4470 (lex): Use literalchar.
4471 (lex): Implemented "..." tokens.
4472 (literalchar, lex, parse_percent_token): Made tokenbuffer
4473 always contain the token. This includes growing the token
4474 buffer while reading an integer.
4475 (parse_percent_token): Replaced if-else statement with percent_table.
4476 (parse_percent_token): Added % declarations as another
4477 way to specify the flags -n, -l, and -r. Also added hooks for
4478 -d, -k, -y, -v, -t, -p, -b, -o, but implementation requires
4479 major changes to files.c.
4480 (lex) Retain in the incoming stream a character following
4481 an incorrect '/'.
4482 (skip_white_space, lex): Revised most error messages
4483 and changed fatal to warn to avoid aborting.
4484 (percent_table): Added %thong declarations.
4485
4486 * src/gram.h: Comment changes.
4487
4488 * src/files.c (openfiles, open_extra_files, done):
4489 Add faction flag
4490 and actfile file. Handle noparserflag. Both for -n switch.
4491
4492 * src/conflicts.c (resolve_sr_conflict):
4493 Remove use of alloca.
4494
4495 1995-06-01 Jim Meyering <meyering@gnu.org>
4496
4497 * doc/bison.texinfo: *** empty log message ***
4498
4499 1995-05-06 Richard Stallman <rms@gnu.org>
4500
4501 * src/bison.s1: Comment change.
4502
4503 1995-05-06 Richard Stallman <rms@gnu.org>
4504
4505 * bison.simple: Comment change.
4506
4507 1995-05-03 Richard Stallman <rms@gnu.org>
4508
4509 * src/version.c: Version now 1.24.
4510
4511 * src/bison.s1: Change distribution terms.
4512
4513 * src/version.c: Version now 1.23.
4514
4515 1995-05-03 Richard Stallman <rms@gnu.org>
4516
4517 * doc/bison.texinfo:
4518 Rewrite "Conditions for Using Bison".
4519 Update version to 1.24.
4520
4521 1995-05-03 Richard Stallman <rms@gnu.org>
4522
4523 * bison.simple: Change distribution terms.
4524
4525 1995-02-23 Richard Stallman <rms@gnu.org>
4526
4527 * src/files.c: Test __VMS_POSIX as well as VMS.
4528
4529 1995-02-14 Jim Meyering <meyering@gnu.org>
4530
4531 * src/bison.s1 (__yy_memcpy):
4532 Renamed from __yy_bcopy to avoid
4533 confusion. Reverse FROM and TO arguments to be consistent with
4534 those of memcpy.
4535
4536 1995-02-14 Jim Meyering <meyering@gnu.org>
4537
4538 * bison.simple (__yy_memcpy):
4539 Renamed from __yy_bcopy to avoid
4540 confusion. Reverse FROM and TO arguments to be consistent with
4541 those of memcpy.
4542
4543 1994-11-10 David J. MacKenzie <djm@gnu.org>
4544
4545 * NEWS: reformat
4546
4547 * NEWS: New file.
4548
4549 * Makefile.in (DISTFILES): Include NEWS.
4550
4551 * Makefile.in (DISTFILES):
4552 Include install-sh, not install.sh.
4553
4554 * configure.in: Update to Autoconf v2 macro names.
4555
4556 1994-10-05 David J. MacKenzie <djm@gnu.org>
4557
4558 * Makefile.in: fix typo
4559
4560 * Makefile.in (prefix, exec_prefix):
4561 Let configure set them.
4562
4563 1994-09-28 David J. MacKenzie <djm@gnu.org>
4564
4565 * Makefile.in: Set datadir to $(prefix)/share.
4566
4567 1994-09-15 Richard Stallman <rms@gnu.org>
4568
4569 * src/bison.s1:
4570 Update copyright notice and GPL version.
4571
4572 1994-09-15 Richard Stallman <rms@gnu.org>
4573
4574 * bison.simple:
4575 Update copyright notice and GPL version.
4576
4577 1994-07-12 Richard Stallman <rms@gnu.org>
4578
4579 * src/reduce.c, src/reader.c:
4580 entered into RCS
4581
4582 1994-05-05 David J. MacKenzie <djm@gnu.org>
4583
4584 * Makefile.in: entered into RCS
4585
4586 1994-03-26 Richard Stallman <rms@gnu.org>
4587
4588 * src/bison.s1: entered into RCS
4589
4590 1994-03-26 Richard Stallman <rms@gnu.org>
4591
4592 * bison.simple: entered into RCS
4593
4594 1994-03-25 Richard Stallman <rms@gnu.org>
4595
4596 * src/main.c: entered into RCS
4597
4598 1994-03-24 Richard Stallman <rms@gnu.org>
4599
4600 * src/conflicts.c: entered into RCS
4601
4602 1994-01-02 Richard Stallman <rms@gnu.org>
4603
4604 * Makefile.in: *** empty log message ***
4605
4606 1993-11-21 Richard Stallman <rms@gnu.org>
4607
4608 * src/bison.s1: *** empty log message ***
4609
4610 1993-11-21 Richard Stallman <rms@gnu.org>
4611
4612 * doc/bison.texinfo: entered into RCS
4613
4614 * doc/bison.texinfo: *** empty log message ***
4615
4616 1993-11-21 Richard Stallman <rms@gnu.org>
4617
4618 * bison.simple: *** empty log message ***
4619
4620 1993-10-25 David J. MacKenzie <djm@gnu.org>
4621
4622 * doc/bison.texinfo: *** empty log message ***
4623
4624 1993-10-19 Richard Stallman <rms@gnu.org>
4625
4626 * src/bison.s1: *** empty log message ***
4627
4628 1993-10-19 Richard Stallman <rms@gnu.org>
4629
4630 * bison.simple: *** empty log message ***
4631
4632 1993-10-14 Richard Stallman <rms@gnu.org>
4633
4634 * src/bison.s1: *** empty log message ***
4635
4636 1993-10-14 Richard Stallman <rms@gnu.org>
4637
4638 * bison.simple: *** empty log message ***
4639
4640 1993-09-14 David J. MacKenzie <djm@gnu.org>
4641
4642 * doc/bison.texinfo: *** empty log message ***
4643
4644 1993-09-13 Noah Friedman <friedman@gnu.org>
4645
4646 * Makefile.in: *** empty log message ***
4647
4648 1993-09-10 Richard Stallman <rms@gnu.org>
4649
4650 * src/conflicts.c: *** empty log message ***
4651
4652 * src/system.h: entered into RCS
4653
4654 1993-09-10 Richard Stallman <rms@gnu.org>
4655
4656 * doc/bison.1: entered into RCS
4657
4658 1993-09-06 Noah Friedman <friedman@gnu.org>
4659
4660 * src/version.c: entered into RCS
4661
4662 1993-09-06 Noah Friedman <friedman@gnu.org>
4663
4664 * Makefile.in: *** empty log message ***
4665
4666 1993-07-30 David J. MacKenzie <djm@gnu.org>
4667
4668 * Makefile.in: *** empty log message ***
4669
4670 1993-07-24 Richard Stallman <rms@gnu.org>
4671
4672 * src/bison.s1: *** empty log message ***
4673
4674 1993-07-24 Richard Stallman <rms@gnu.org>
4675
4676 * bison.simple: *** empty log message ***
4677
4678 1993-07-08 David J. MacKenzie <djm@gnu.org>
4679
4680 * Makefile.in: *** empty log message ***
4681
4682 1993-07-04 Richard Stallman <rms@gnu.org>
4683
4684 * src/bison.s1: *** empty log message ***
4685
4686 1993-07-04 Richard Stallman <rms@gnu.org>
4687
4688 * bison.simple: *** empty log message ***
4689
4690 1993-06-26 David J. MacKenzie <djm@gnu.org>
4691
4692 * src/getargs.c: entered into RCS
4693
4694 1993-06-26 David J. MacKenzie <djm@gnu.org>
4695
4696 * doc/bison.texinfo: *** empty log message ***
4697
4698 * doc/bison.1: New file.
4699
4700 1993-06-25 Richard Stallman <rms@gnu.org>
4701
4702 * src/getargs.c: New file.
4703
4704 1993-06-16 Richard Stallman <rms@gnu.org>
4705
4706 * src/bison.s1: *** empty log message ***
4707
4708 1993-06-16 Richard Stallman <rms@gnu.org>
4709
4710 * bison.simple: *** empty log message ***
4711
4712 1993-06-03 Richard Stallman <rms@gnu.org>
4713
4714 * src/bison.s1: New file.
4715
4716 1993-06-03 Richard Stallman <rms@gnu.org>
4717
4718 * doc/bison.texinfo: *** empty log message ***
4719
4720 1993-06-03 Richard Stallman <rms@gnu.org>
4721
4722 * bison.simple: New file.
4723
4724 1993-05-19 Richard Stallman <rms@gnu.org>
4725
4726 * doc/bison.texinfo: New file.
4727
4728 1993-05-07 Noah Friedman <friedman@gnu.org>
4729
4730 * Makefile.in: *** empty log message ***
4731
4732 1993-04-28 Noah Friedman <friedman@gnu.org>
4733
4734 * src/reader.c: *** empty log message ***
4735
4736 1993-04-23 Noah Friedman <friedman@gnu.org>
4737
4738 * src/alloc.h: entered into RCS
4739
4740 1993-04-20 David J. MacKenzie <djm@gnu.org>
4741
4742 * src/version.c: *** empty log message ***
4743
4744 * src/files.c, src/allocate.c:
4745 entered into RCS
4746
4747 * src/reader.c: *** empty log message ***
4748
4749 * src/lex.c: entered into RCS
4750
4751 * src/conflicts.c: New file.
4752
4753 * src/symtab.c: entered into RCS
4754
4755 * src/alloc.h: New file.
4756
4757 * src/LR0.c: entered into RCS
4758
4759 1993-04-18 Noah Friedman <friedman@gnu.org>
4760
4761 * src/reader.c: New file.
4762
4763 * src/version.c: *** empty log message ***
4764
4765 1993-04-18 Noah Friedman <friedman@gnu.org>
4766
4767 * Makefile.in: *** empty log message ***
4768
4769 1993-04-17 Noah Friedman <friedman@gnu.org>
4770
4771 * Makefile.in: *** empty log message ***
4772
4773 1993-04-15 Richard Stallman <rms@gnu.org>
4774
4775 * src/main.c, src/files.c:
4776 New file.
4777
4778 1993-04-15 Noah Friedman <friedman@gnu.org>
4779
4780 * configure.in: entered into RCS
4781
4782 * configure.in: *** empty log message ***
4783
4784 * configure.in: New file.
4785
4786 1993-04-14 Richard Stallman <rms@gnu.org>
4787
4788 * Makefile.in: New file.
4789
4790 1993-04-13 Richard Stallman <rms@gnu.org>
4791
4792 * src/version.c: New file.
4793
4794 1993-03-25 Richard Stallman <rms@gnu.org>
4795
4796 * src/output.c: entered into RCS
4797
4798 1992-09-25 Richard Stallman <rms@gnu.org>
4799
4800 * configure.bat: entered into RCS
4801
4802 1992-06-22 Richard Stallman <rms@gnu.org>
4803
4804 * src/vmsgetargs.c: entered into RCS
4805
4806 1992-06-22 Richard Stallman <rms@gnu.org>
4807
4808 * doc/bison.rnh: entered into RCS
4809
4810 1992-04-20 David J. MacKenzie <djm@gnu.org>
4811
4812 * README: entered into RCS
4813
4814 1992-01-22 Richard Stallman <rms@gnu.org>
4815
4816 * src/machine.h: entered into RCS
4817
4818 1991-12-21 Richard Stallman <rms@gnu.org>
4819
4820 * src/lalr.c, src/closure.c:
4821 entered into RCS
4822
4823 1991-12-20 Richard Stallman <rms@gnu.org>
4824
4825 * src/state.h: entered into RCS
4826
4827 1991-12-18 Richard Stallman <rms@gnu.org>
4828
4829 * src/print.c, src/nullable.c, src/derives.c:
4830 entered into RCS
4831
4832 1991-11-03 David J. MacKenzie <djm@gnu.org>
4833
4834 * src/warshall.c, src/types.h, src/symtab.h, src/lex.h, src/gram.c, src/gram.h, src/files.h:
4835 entered into RCS
4836
4837 1988-09-09 Richard Stallman <rms@gnu.org>
4838
4839 * src/bison.hairy: entered into RCS
4840
4841 1987-12-16 Richard Stallman <rms@gnu.org>
4842
4843 * REFERENCES: entered into RCS