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