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