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