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