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