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