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