]> git.saurik.com Git - bison.git/blame - ChangeLog
* src/lalr.c (matrix_print): New.
[bison.git] / ChangeLog
CommitLineData
f67d13aa
AD
12001-12-05 Akim Demaille <akim@epita.fr>
2
3 * src/lalr.c (matrix_print): New.
4 (transpose): Use it.
5 Use arrays instead of pointers.
6
c2713865
AD
72001-12-05 Akim Demaille <akim@epita.fr>
8
9 * src/lalr.c (maxrhs): Move to...
10 * src/gram.c, src/gram.h (ritem_longest_rhs): here.
11 * src/lalr.c (build_relations): Adjust.
12
9887c18a
AD
132001-12-05 Akim Demaille <akim@epita.fr>
14
15 * src/lalr.c (transpose): Free the memory allocated to the
16 argument, as it is replaced by the results by the unique caller.
17 (build_relations): Merely invoke transpose: it handles the memory
18 deallocation.
19 Improve variable locality.
20 Avoid variables used as mere abbreviations.
21 (compute_lookaheads): Use arrays instead of pointers.
22
4d4f699c
AD
232001-12-05 Akim Demaille <akim@epita.fr>
24
25 * src/lalr.c (initialize_F): Improve variable locality.
26 Avoid variables used as mere abbreviations.
27
80a69750
AD
282001-12-05 Akim Demaille <akim@epita.fr>
29
30 * src/derives.c (print_derives): Display the ruleno.
31 * src/lalr.c (initialize_F, transpose): Better variable locality
32 to improve readability.
33 Avoid variables used as mere abbreviations.
34
fe961097
AD
352001-12-05 Akim Demaille <akim@epita.fr>
36
37 * src/lalr.c (traverse): Use arrays instead of pointers.
38
e3e4e814
AD
392001-12-05 Akim Demaille <akim@epita.fr>
40
41 * src/nullable.c (set_nullable): Use a for loop to de-obfuscate
42 the handling of squeue.
43 `symbol >= 0' is wrong now, use `rule_table[ruleno].useful'.
44
45
630e182b
AD
462001-12-05 Akim Demaille <akim@epita.fr>
47
48 Because useless nonterminals are now kept alive (instead of being
49 `destroyed'), we now sometimes examine them, and store information
50 related to them. Hence we need to know their number, and adjust
51 memory allocations.
52
53 * src/reduce.c, src/reduce.h (nuseless_nonterminals): No longer
54 static.
55 * src/LR0.c (allocate_itemsets): The memory allocated to
56 `symbol_count' was used for two different purpose: once to count
57 the number of occurrences of each symbol, and later reassigned to
58 `shift_symbol', containing the symbol that can be shifted from a
59 given state.
60 Deobfuscate, i.e., allocate, use and free `symbol_count' here
61 only, and...
62 (new_itemsets): Allocate `shift_symbol' here.
63 (allocate_itemsets): symbol_count includes useless nonterminals.
64 Make room for them.
65 (free_storage): Use `free', not `XFREE', for pointers that cannot
66 be null.
67
68
81b51460
AD
692001-12-05 Akim Demaille <akim@epita.fr>
70
71 * src/nullable.c (set_nullable): Deobfuscate the handling of
72 ritem.
73 `symbol >= 0' is wrong now, use `rule_table[ruleno].useful'.
74
75
3067fbef
AD
762001-12-05 Akim Demaille <akim@epita.fr>
77
78 * src/gram.c, src/gram.h (ritem_print): New.
79 * src/gram.c (dummy): Remove, now there is actual code in gram.c.
80 (This useless function was defined only to work around VMS linkers
81 that can't handle compilation units with variables only).
82 * src/reduce.c (dump_grammar): Use it to trace the construction of
83 ritem.
84
c2bea5f9
PE
852001-12-04 Paul Eggert <eggert@twinsun.com>
86
7d27c823
PE
87 * src/bison.simple (union yyalloc): Change member names
88 to be the same as the stack names.
89 (yyparse): yyptr is now union yyalloc *, not char *.
90 (YYSTACK_RELOCATE): Likewise. This avoids a GCC warning,
91 and may generate better code on some machines.
c2bea5f9
PE
92 (yystpcpy): Use prototype if __STDC__ is defined, not just
93 if __cplusplus is defined.
94
2c8a9dfa
AD
952001-11-30 Akim Demaille <akim@epita.fr>
96
97 * configure.in (WARNING_CFLAGS): Add -Werror when possible.
98 (CFLAGS): Do not include the WARNING_CFLAGS here, since GNU
99 Gettext doesn't compile cleanly, and dies with -Werror.
100 * src/Makefile.am, lib/Makefile.am, tests/atlocal.in (CFLAGS):
101 Include WARNING_CFLAGS here.
102 * lib/xstrdup.c: Include xalloc.h, so that xstrdup be declared
103 before being defined.
104
f4e421e6
AD
1052001-11-27 Paul Eggert <eggert@twinsun.com>
106
107 * lib/quotearg.h (quotearg_n, quotearg_n_style):
108 First arg is int, not unsigned.
109 * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
110 (SIZE_MAX, UINT_MAX): New macros.
111 (quotearg_n_options): Abort if N is negative.
112 Avoid overflow check on hosts where size_t is 64 bits and int
113 is 32 bits, as overflow is impossible there.
114 Fix off-by-one typo that caused unnecessary reallocation.
115
7093d0f5
AD
1162001-11-29 Paul Eggert <eggert@twinsun.com>
117
118 Name space cleanup in generated parser.
119
120 * doc/bison.texinfo (Bison Parser): Discuss system headers
121 and their effect on the user name space.
122
123 * src/bison.simple:
124 (YYSTACK_ALLOC, YYSTACK_FREE, union yyalloc, YYSTACK_GAP_MAX,
125 YYSTACK_BYTES, YYSTACK_RELOCATE): Do not define unless necessary,
126 i.e. unless ! defined (yyoverflow) || defined (YYERROR_VERBOSE).
127
128 (YYSIZE_T): New macro. Use it instead of size_t, to avoid infringing
129 on user names when possible.
130
131 (YYSTACK_USE_ALLOCA): Do not define; just use any existing defn.
132 Simplify test for whather <alloca.h> exists.
133
134 (<stdlib.h>): Include if we will use malloc, and if standard C or C++.
135
136 (<stdio.h>): Include if YYDEBUG.
137
138 (yymemcpy): Renamed from __yy_memcpy. Do not define unless
139 ! defined (yyoverflow) && ! defined (yymemcpy).
140
141 (yymemcpy, yyparse): Rename local variables as needed so that
142 they all begin with 'yy'.
143
144 (yystrlen, yystpcpy): New functions.
145
146 (YY_DECL_NON_LSP_VARIABLES): Renamed from _YY_DECL_VARIABLES.
147 All uses changed.
148
149 (yyparse): size_t -> YYSIZE_T. Use yystrlen and yystpcpy
150 instead of relying on string.h functions. Use YYSTACK_ALLOC
151 and YYSTACK_FREE instead of malloc and free.
152
fd51e5ff
AD
1532001-11-30 Akim Demaille <akim@epita.fr>
154
155 * src/bison.simple (YYSTYPE, YYLTYPE): Move their definitions
156 before their first uses.
157 (YYBISON, YYPURE): Move to the top of the output.
158
7d13ff5f
AD
1592001-11-30 Akim Demaille <akim@epita.fr>
160
161 * tests/reduce.at (Useless Nonterminals): Fix.
162
892a3995
AD
1632001-11-30 Akim Demaille <akim@epita.fr>
164
165 * src/bison.simple (YYSTACK_FREE): Use `do {;} while (0)' as empty
166 if body instead of `;' to pacify GCC's warnings.
167
68f1e3ed
AD
1682001-11-30 Akim Demaille <akim@epita.fr>
169
170 Instead of mapping the LHS of unused rules to -1, keep the LHS
171 valid, but flag the rules as invalid.
172
173 * src/gram.h (rule_t): `useful' is a new member.
174 * src/print.c (print_grammar): Adjust.
175 * src/derives.c (set_derives): Likewise.
176 * src/reader.c (packgram, reduce_output): Likewise.
177 * src/reduce.c (reduce_grammar_tables): Likewise.
178 * tests/reduce.at (Underivable Rules, Useless Rules): New.
179
d2d1b42b
AD
1802001-11-30 Akim Demaille <akim@epita.fr>
181
182 * src/reduce.c (reduce_output): Formatting changes.
183 * src/print.c (print_results, print_grammar): Likewise.
184 * tests/regression.at (Rule Line Numbers)
185 (Solved SR Conflicts, Unresolved SR Conflicts): Adjust.
186
760b53a8
AD
1872001-11-30 Akim Demaille <akim@epita.fr>
188
189 * src/reduce.c (nonterminals_reduce): Instead of throwing away
190 useless nonterminals, move them at the end of the symbol arrays.
191 (reduce_output): Adjust.
192 * tests/reduce.at (Useless Nonterminals): Adjust.
193
00238958
AD
1942001-11-30 Akim Demaille <akim@epita.fr>
195
196 * src/reduce.c: Various comment/formatting changes.
197 (nonterminals_reduce): New, extracted from...
198 (reduce_grammar_tables): here.
199 (reduce_grammar): Call nonterminals_reduce.
200
396452de
PE
2012001-11-29 Paul Eggert <eggert@twinsun.com>
202
203 * src/bison.simple (YYSTACK_REALLOC): Remove.
204 (YYSTACK_ALLOC): Resurrect this macro, with its old meaning.
205 (YYSTACK_FREE, YYSTACK_GAP_MAX, YYSTACK_BYTES, YYSTACK_RELOCATE):
206 New macros.
207 (union yyalloc): New type.
208 (__yy_memcpy): Last arg is size_t, not unsigned int, to remove
209 an arbitrary restriction on hosts where size_t is wider than int.
210
211 (yyparse): Don't dump core if alloca or malloc fails; instead, report
212 a parser stack overflow. Allocate just one block of memory for all
213 three stacks, instead of allocating three blocks; this typically is
214 faster and reduces fragmentation.
215
216 Do not limit the number of items in the stack to a value that fits
217 in 'int', as this is an arbitrary limit on hosts with 64-bit
218 size_t and 32-bit int.
219
147e184c
MA
2202001-11-29 Marc Autret <autret_m@epita.fr>
221
222 * tests/calc.at [AT_DATA_CALC_Y]: Use %error-verbose instead
223 of defining YYERROR_VERBOSE.
224 [AT_DATA]: $4 is now out of C declarations in the prologue.
225
426cf563
MA
2262001-11-28 Marc Autret <autret_m@epita.fr>
227
228 * src/reader.c (parse_dquoted_param): New.
229 (parse_skel_decl): Use it.
230 * src/lex.h: Add its prototype.
231 * src/lex.c (literalchar): Become not static.
232
c7925b99
MA
2332001-11-28 Marc Autret <autret_m@epita.fr>
234
235 * src/output.h: And put its extern declaration here.
236 * src/output.c (error_verbose): Define here.
237 (prepare): Echo name modification.
238 * src/getargs.h: Clean its extern declaration.
239 * src/getargs.c (error_verbose_flag): Remove.
240 (getargs): Remove case 'e'.
241 * src/options.c (option_table): 'error-verbose' is now seen as simple
242 percent option.
243 Include output.h.
244
245 * src/reader.c (read_declarations): Remove case tok_include.
246 (parse_include_decl): Remove.
247 * src/lex.h (token_t): Remove tok_include.
248 * src/options.c (option_table): 'include' is now a simple command line
249 option.
250
5b5d1929
MA
2512001-11-28 Marc Autret <autret_m@epita.fr>
252
253 * src/bison.simple: Adjust muscle names.
254 * src/muscle_tab.c (muscle_init): Also rename the muscles.
255 * src/output.c (prepare): s/_/-/ for the muscles names.
256 (output_parser): When scanning for a muscle, allow '-' instead of '_'.
257
8850be4b
MA
2582001-11-28 Marc Autret <autret_m@epita.fr>
259
260 * src/bison.simple: Fix debug.
261 [YYERROR_VERBOSE]: Re-integrate as an internal macro.
262
4a38e613
AD
2632001-11-28 Akim Demaille <akim@epita.fr>
264
265 * src/LR0.c (shifts_new): New.
266 (save_shifts, insert_start_shift, augment_automaton): Use it.
267
4b35e1c1
AD
2682001-11-28 Akim Demaille <akim@epita.fr>
269
270 * src/closure.c (closure): `b' and `ruleno' denote the same value:
271 keep ruleno only.
272
d2b04478
AD
2732001-11-28 Akim Demaille <akim@epita.fr>
274
275 * src/closure.c (closure): Instead of looping over word in array
276 then bits in words, loop over bits in array.
277
2c4c30aa
AD
2782001-11-28 Akim Demaille <akim@epita.fr>
279
280 * src/closure.c (closure): No longer optimize the special case
281 where all the bits of `ruleset[r]' are set to 0, to make the code
282 clearer.
283
576890b7
AD
2842001-11-28 Akim Demaille <akim@epita.fr>
285
286 * src/closure.c (closure): `r' and `c' are new variables, used to
287 de-obfuscate accesses to RULESET and CORE.
288
cb487d7d
AD
2892001-11-28 Akim Demaille <akim@epita.fr>
290
291 * src/reduce.c (reduce_print): Use ngettext.
292 (dump_grammar): Improve the trace accuracy.
293
6013d43f
AD
2942001-11-28 Akim Demaille <akim@epita.fr>
295
296 * src/reduce.c (dump_grammar): Don't translate trace messages.
297
cb4956ee
AD
2982001-11-28 Akim Demaille <akim@epita.fr>
299
300 * tests/reduce.at (Useless Terminals, Useless Nonterminals): New.
301 * src/reduce.c (reduce_grammar_tables): Do not free useless tags,
302 as all tags are free'ed afterwards.
303 From Enrico Scholz.
304
648185ab
PE
3052001-11-27 Paul Eggert <eggert@twinsun.com>
306
307 * src/bison.simple (YYSTACK_REALLOC): Fix typo that caused us to
308 use alloca when we didn't want to, and vice versa.
309
68254a03
MA
3102001-11-27 Marc Autret <autret_m@epita.fr>
311
9113b58f
AD
312 * src/muscle_tab.c (muscle_init): Remove 'verbose' muscle
313 initialization.
68254a03
MA
314 * src/output.c (prepare): Remove its update.
315
04d843a2
MA
3162001-11-27 Marc Autret <autret_m@epita.fr>
317
318 * tests/torture.at [AT_DATA]: Remove YYERROR_VERBOSE definition.
319 Use %error-verbose.
320
d2079671 3212001-11-27 Marc Autret <autret_m@epita.fr>
eeeb962b
MA
322
323 * src/bison.simple: Remove YYERROR_VERBOSE using.
324 Use %%error_verbose.
325 (yyparse): Likewise.
326 * src/output.c (prepare): Give its final value.
327 * src/muscle_tab.c (muscle_init): Init new muscle 'error_verbose'.
328 * src/getargs.h: Add its extern declaration.
329 * src/getargs.c (error_verbose_flag): New int.
330 (getargs): Update to catch new case.
331 * src/options.c (option_table): 'error-verbose' is a new option.
332 (shortopts): Update.
333
e0327bc8
AD
3342001-11-27 Akim Demaille <akim@epita.fr>
335
336 * src/system.h: Use intl/libgettext.h.
337 * src/Makefile.am (INCLUDES): Add -I $(top_srcdir).
338
000f1a3c
AD
3392001-11-27 Akim Demaille <akim@epita.fr>
340
341 * tests/torture.at (Exploding the Stack Size with Malloc):
342 s/YYSTACK_USE_ALLOCA_ALLOCA/YYSTACK_USE_ALLOCA/.
343
26cfe0be
AD
3442001-11-27 Akim Demaille <akim@epita.fr>
345
346 * src/files.c: Include error.h.
347 Reported by Hans Aberg.
348
f6bd5427
MA
3492001-11-26 Marc Autret <autret_m@epita.fr>
350
d2079671 351 * src/reader.c (parse_include_decl): New, not yet implemented.
f6bd5427
MA
352 (read_declarations): Add case tok_include.
353 * src/getargs.h (include): Add its extern definition.
354 * src/getargs.c (include): New const char *.
355 (getargs): Add case '-I'.
356 * src/options.c (option_table): Add include as command line and
357 percent option.
358 * src/lex.h (token_t): Add tok_include.
359
2ca209c1
AD
3602001-11-26 Akim Demaille <akim@epita.fr>
361
362 * src/reader.c (readgram): Make sure rules for mid-rule actions
363 have a lineno equal to that of their host rule.
364 Reported by Hans Aberg.
365 * tests/regression.at (Rule Line Numbers): New.
366
0e41b407
AD
3672001-11-26 Akim Demaille <akim@epita.fr>
368
369 * src/LR0.c (allocate_itemsets): kernel_size contains ints, not
370 size_ts.
371
3722001-11-26 Akim Demaille <akim@epita.fr>
373
374 * src/complain.c, src/complain.h (error): Remove, provided by
375 lib/error.[ch].
376
e0c40012
AD
3772001-11-26 Akim Demaille <akim@epita.fr>
378
379 * src/reader.c (read_declarations): Don't abort on tok_illegal,
380 issue an error message.
381 * tests/regression.at (Invalid %directive): New.
382 Reported by Hans Aberg.
383
5e147124
AD
3842001-11-26 Akim Demaille <akim@epita.fr>
385
386 * configure.in: Invoke AC_FUNC_OBSTACK and AC_FUNC_ERROR_AT_LINE.
387 * lib/Makefile.am (libbison_a_SOURCES): Adjust.
388
a034c8b8
AD
3892001-11-26 Akim Demaille <akim@epita.fr>
390
391 * src/conflicts.c (conflicts_print): Don't complain at all when
392 there are no reduce/reduce conflicts, and as many shift/reduce
393 conflicts as expected.
394 * tests/regression.at (%expect right): Adjust.
395
c64a20f3
AD
3962001-11-23 Akim Demaille <akim@epita.fr>
397
398 * lib/alloca.c: Update, from fileutils.
399
5b0d29bb
AD
4002001-11-23 Akim Demaille <akim@epita.fr>
401
402 * lib/Makefile.am (libbison_a_LIBADD): Add @ALLOCA@.
403
722c4bfe
AD
4042001-11-23 Akim Demaille <akim@epita.fr>
405
406 * src/system.h: Include alloca.h.
407 * src/main.c (main) [C_ALLOCA]: Call alloca (0).
408
6255b435
AD
4092001-11-23 Akim Demaille <akim@epita.fr>
410
411 * src/print_graph.c (print_actions): Remove `rule', unused.
412 * src/LR0.c (kernel_size): Contain `int' instead of `size_t' to
413 pacify GCC's signed < unsigned warnings.
414 * src/closure.c (itemsetsize): Likewise.
415 * src/reader.c (symbol_list_new): Static.
416
b29b2ed5
AD
4172001-11-23 Akim Demaille <akim@epita.fr>
418
419 Attaching lineno to buckets is stupid, since only one copy of each
420 symbol is kept, only the line of the first occurrence is kept too.
421
422 * src/symtab.h, src/symtab.c (bucket): Remove the line member.
423 * src/reader.c (rline_allocated): Remove, unused.
424 (symbol_list): Have a `line' member.
425 (symbol_list_new): New.
426 (readgram): Use it.
427 * src/print.c (print_grammar): Output the rule line numbers.
428 * tests/regression.at (Solved SR Conflicts)
429 (Unresolved SR Conflicts): Adjust.
430 Reported by Hans Aberg.
431
a81b1d4a
MA
4322001-11-22 Marc Autret <autret_m@epita.fr>
433
434 * src/bison.simple [YYERROR_VERBOSE]: Force its value to be 1 or 0.
435
c1ecb3c1
MA
4362001-11-22 Marc Autret <autret_m@epita.fr>
437
438 * src/muscle_tab.c (muscle_init): Remove initialization of
439 skeleton muscle.
440 * src/output.c (output_master_parser): Do it here.
441
fbe01355
AD
4422001-11-20 Akim Demaille <akim@epita.fr>
443
444 * po/sv.po: New.
445 * configure.in (ALL_LINGUAS): Adjust.
446 * po/POTFILE.in: Remove `nullable.c' and `derives.c' which no
447 longer contains strings to translate.
448
81e895c0
AD
4492001-11-19 Akim Demaille <akim@epita.fr>
450
451 * src/conflicts.c (conflicts_print): Add a missing \n.
452
6bb1878b
AD
4532001-11-19 Akim Demaille <akim@epita.fr>
454
455 * src/nullable.c (nullable_print): New.
456 (set_nullable): Call it when tracing.
457 Better locality of variables.
458
d9ec2d07
AD
4592001-11-19 Akim Demaille <akim@epita.fr>
460
461 * src/print.c (print_actions): Better locality of variables.
462
720e5c1b
AD
4632001-11-19 Akim Demaille <akim@epita.fr>
464
465 * src/derives.c (print_derives): Fix and enrich.
466 * src/closure.c (print_fderives): Likewise.
467
fb908786
AD
4682001-11-19 Akim Demaille <akim@epita.fr>
469
470 * src/closure.c (itemsetend): Remove, replaced with...
471 (itemsetsize): new.
472
125ecb56
AD
4732001-11-19 Akim Demaille <akim@epita.fr>
474
475 * src/LR0.c (kernel_end): Remove, replaced with...
476 (kernel_size): new.
477
d8cf039f
AD
4782001-11-19 Akim Demaille <akim@epita.fr>
479
480 * src/conflicts.c (set_conflicts): Use arrays instead of pointers
481 to clarify.
482
7bec0760
AD
4832001-11-19 Akim Demaille <akim@epita.fr>
484
485 * src/closure.c (closure): Use arrays instead of pointers to clarify.
486
c87d4863
AD
4872001-11-19 Akim Demaille <akim@epita.fr>
488
489 * src/closure.c, src/derives.c, src/nullable.c: Adjust various
490 trace messages.
491 * src/LR0.c: Likewise.
492 (allocate_itemsets): Use arrays instead of pointers to clarify.
493
9bfe901c
AD
4942001-11-19 Akim Demaille <akim@epita.fr>
495
496 * src/getargs.c (statistics_flag): Replace with...
497 (trace_flag): New.
498 (longopts): Accept --trace instead of --statistics.
499 * src/getargs.h, src/options.c: Adjust.
500 * src/LR0.c, src/closure.c, src/derives.c, src/nullable.c,
501 * src/reduce.c: Use trace_flags instead of the CPP conditional TRACE.
502
97db7bd4
AD
5032001-11-19 Akim Demaille <akim@epita.fr>
504
cc72668c 505 * src/LR0.c (new_itemsets, get_state): Use more arrays and fewer
97db7bd4
AD
506 pointers to clarify the code.
507 (save_reductions, save_shifts): Factor common parts of alternatives.
508
2c5f66ed
AD
5092001-11-19 Akim Demaille <akim@epita.fr>
510
511 * src/LR0.c (new_state, get_state): Complete TRACE code.
512 * src/closure.c: Include `reader.h' to get `tags', needed by the
513 trace code.
514 Rename the conditional DEBUG as TRACE.
515 Output consistently TRACEs to stderr, not stdout.
516 * src/derives.c: Likewise.
517 * src/reduce.c: (inaccessable_symbols): Using if is better style
518 than goto.
519 Use `#if TRACE' instead of `#if 0' for tracing code.
520
300f275f
AD
5212001-11-19 Akim Demaille <akim@epita.fr>
522
523 * src/system.h (LIST_FREE, shortcpy): New.
524 * src/LR0.c: Use them.
525 * src/output.c (free_itemsets, free_reductions, free_shifts):
526 Remove, replaced by LIST_FREE.
527
f59c437a
AD
5282001-11-19 Akim Demaille <akim@epita.fr>
529
530 * src/state.h (CORE_ALLOC, SHIFTS_ALLOC, ERRS_ALLOC)
531 (REDUCTIONS_ALLOC): New.
532 * src/LR0.c, src/conflicts.c: Use them to de-obfuscate memory
533 allocation.
534
6986fd9e
AD
5352001-11-19 Akim Demaille <akim@epita.fr>
536
537 * src/LR0.c (new_state): Complete trace code.
538 * src/nullable.c (set_nullable): Don't translate traces.
539
4bc30f78
AD
5402001-11-19 Akim Demaille <akim@epita.fr>
541
542 * src/print_graph.c (print_core): Better locality of variables.
543 * src/print.c (print_core): Likewise.
544
08a946e0
AD
5452001-11-19 Akim Demaille <akim@epita.fr>
546
547 * src/vcg.c: You do the output, so you are responsible of the
548 handling of VCG syntax, in particular: use quotearg.
549 * src/print_graph.c: Don't.
550 (print_actions): Don't output the actions as part of the nodes,
551 since that's the job of the edges.
552 (print_state): Don't output by hand: fill the node description,
9bfe901c 553 and ask for its output.
08a946e0 554
f0473484
AD
5552001-11-19 Akim Demaille <akim@epita.fr>
556
cc72668c
AD
557 * src/bison.simple (yyparse): When verbosely reporting an error,
558 no longer put additional quotes around token names.
f0473484
AD
559 * tests/calc.at: Adjust.
560
e41dc700
AD
5612001-11-19 Akim Demaille <akim@epita.fr>
562
563 * src/symtab.h, src/symtab.c: `line' is a new member of `bucket'.
564 * src/reader.c (record_rule_lines, rline, rline_allocated): Remove.
565 * src/output.c: Adjust.
566
652a871c
AD
5672001-11-19 Akim Demaille <akim@epita.fr>
568
569 * src/gram.h (rprec, rprecsym, rassoc): Remove, now part of...
570 (rule_t): this.
571 * src/conflicts.c, src/reader.c, src/reduce.c: Adjust.
572
b2ed6e58
AD
5732001-11-19 Akim Demaille <akim@epita.fr>
574
575 * src/gram.h (rule_t): New.
576 (rule_table): New.
577 (rrhs, rlhs): Remove, part of state_t.
578 * src/print_graph.c, src/closure.c, src/conflicts.c, src/derives.c,
579 * src/lalr.c, src/nullable.c, src/output.c, src/print.c,
580 * src/reader.c, src/reduce.c: Adjust.
581
edad7067
AD
5822001-11-19 Akim Demaille <akim@epita.fr>
583
584 * src/reader.c (symbols_output): New, extracted from...
585 (packsymbols): Here.
586 (reader): Call it.
587
3feec034
AD
5882001-11-19 Akim Demaille <akim@epita.fr>
589
590 * src/lalr.c (set_maxrhs, maxrhs): Remove, replaced with...
591 (maxrhs): this new function.
592
ddcd5fdf
AD
5932001-11-19 Akim Demaille <akim@epita.fr>
594
cc72668c 595 * src/lalr.c (F): New macro to access the variable F.
ddcd5fdf
AD
596 Adjust.
597
bb527fc2
AD
5982001-11-19 Akim Demaille <akim@epita.fr>
599
cc72668c 600 * src/lalr.h (LA): New macro to access the variable LA.
bb527fc2
AD
601 * src/output.c, src/lalr.c, src/print_graph.c, src/conflicts.c:
602 * src/lalr.c: Adjust.
603
a845a697
AD
6042001-11-19 Akim Demaille <akim@epita.fr>
605
606 * src/lalr.c (initialize_LA): Only initialize LA. Let...
607 (set_state_table): handle the `lookaheads' members.
608
f004bf6a
AD
6092001-11-19 Akim Demaille <akim@epita.fr>
610
cc72668c
AD
611 * src/lalr.h (lookaheads): Removed array, whose contents is now
612 a member of...
f004bf6a
AD
613 (state_t): this structure.
614 * src/output.c, src/lalr.c, src/print_graph.c, src/conflicts.c:
615 Adjust.
616
de326cc0
AD
6172001-11-19 Akim Demaille <akim@epita.fr>
618
cc72668c
AD
619 * src/lalr.h (consistent): Removed array, whose contents is now
620 a member of...
de326cc0
AD
621 (state_t): this structure.
622 * src/output.c, src/lalr.c, src/print_graph.c, src/conflicts.c:
623 Adjust.
624
90b4416b
AD
6252001-11-19 Akim Demaille <akim@epita.fr>
626
cc72668c
AD
627 * src/lalr.h (reduction_table, shift_table): Removed arrays, whose
628 contents are now members of...
90b4416b
AD
629 (state_t): this structure.
630 * src/output.c, src/lalr.c, src/print_graph.c, src/conflicts.c:
631 Adjust.
632
9703cc49
AD
6332001-11-19 Akim Demaille <akim@epita.fr>
634
635 * src/lalr.h (state_t): New.
636 (state_table): Be a state_t * instead of a core **.
637 (accessing_symbol): Remove, part of state_t.
638 * src/lalr.c: Adjust.
639 (set_accessing_symbol): Merge into...
640 (set_state_table): this.
641 * src/print_graph.c, src/conflicts.c: Adjust.
642
d803322e
AD
6432001-11-14 Akim Demaille <akim@epita.fr>
644
645 * tests/calc.at, tests/output.at, tests/regression.at,
646 * tests/testsuite.at, tests/torture.at: Rely on Autotest 2.52g:
647 now the tests are run in private dirs, therefore AC_CLEANUP and
648 family can be simplified to 0-ary.
649 * tests/atlocal.in: Now that we run `elsewhere' than in tests/,
650 use abs. path to find config.h.
651 * tests/calc.at (AT_CHECK_CALC): Don't try to check the compiler's
652 stderr, there can be way too much random noise.
653 Instead pass -Werror to GCC and rely on the exit status.
654 Reported by Wolfram Wagner.
655
3d76b07d
AD
6562001-11-14 Akim Demaille <akim@epita.fr>
657
658 * src/bison.simple (yyparse): Let yyls1, yyss1 and yyvs1 be
659 defined only if yyoverflow is defined, to avoid `warning: unused
660 variable `yyvs1''.
661 Reported by The Test Suite.
662
09b503c8
AD
6632001-11-14 Akim Demaille <akim@epita.fr>
664
665 * src/print.c: Include reduce.h.
666 Reported by Hans Aberg.
667
6682001-11-14 Akim Demaille <akim@epita.fr>
669
670 * src/lex.c, src/lex.h (token_buffer, unlexed_token_buffer):
671 Revert a previous patch: these are really const.
672 * src/conflicts.c (conflict_report): Additional useless pair of
673 braces to pacify GCC's warnings for `if () if () {} else {}'.
674 * src/lex.c (parse_percent_token): Replace equal_offset with
675 arg_offset.
676 arg is const.
677 Be sure to strdup `arg' when used, since there is no reason for
678 token_buffer not to change.
679
0f37a994
AD
6802001-11-14 Akim Demaille <akim@epita.fr>
681
682 * src/system.h (EXIT_SUCCESS, EXIT_FAILURE): Ensure a proper
683 definition.
684 * src/main.c (main): Use them.
685 Suggested by Hans Aberg.
686
d39d93b8
AD
6872001-11-12 Akim Demaille <akim@epita.fr>
688
689 * src/system.h (ngettext): Now that we use ngettext, be sure to
690 provide a default definition when NLS are not used.
691
9edcd895
AD
6922001-11-12 Akim Demaille <akim@epita.fr>
693
694 * doc/bison.texinfo: Use `$' as shell prompt, not `%'.
695 Use @kbd to denote user input.
696 (Language and Grammar): ANSIfy the example.
697 Adjust its layout for info/notinfo.
698 (Location Tracking Calc): Output error messages to stderr.
699 Output locations in a more GNUtically correct way.
700 Fix a couple of Englishos.
701 Adjust @group/@end group pairs.
702
7da99ede
AD
7032001-11-12 Akim Demaille <akim@epita.fr>
704
705 %expext was not functioning at all.
706
707 * src/conflicts.c (expected_conflicts): Set to -1.
708 (conflict_report): Use ngettext.
709 (conflicts_print): Check %expect and make its violation an error.
710 * doc/bison.texinfo (Expect Decl): Adjust.
711 * configure.in (AM_GNU_GETTEXT): Ask for ngettext.
712 * tests/regression.at (%expect not enough, %expect right)
713 (%expect too much): New.
714
ba9dda1a
AD
7152001-11-12 Akim Demaille <akim@epita.fr>
716
717 * tests/regression.at (Conflicts): Rename as...
718 (Unresolved SR Conflicts): this.
719 (Solved SR Conflicts): New.
720
337c5bd1
AD
7212001-11-12 Akim Demaille <akim@epita.fr>
722
723 * src/reduce.c (print_results): Rename as...
724 (reduce_output): This.
725 Output to OUT, passed as argument, instead of output_obstack.
726 (dump_grammar): Likewise.
727 (reduce_free): New.
728 Also free V1.
729 (reduce_grammar): No longer call reduce_output, since...
730 * src/print.c (print_results): do it.
731 * src/main.c (main): Call reduce_free;
732
c73a41af
AD
7332001-11-12 Akim Demaille <akim@epita.fr>
734
735 * src/conflicts.c (print_reductions): Accept OUT as argument.
736 Output to it, not to output_obstack.
737 * src/print.c (print_actions): Adjust.
738
0df87bb6
AD
7392001-11-12 Akim Demaille <akim@epita.fr>
740
741 * src/conflicts.c (count_sr_conflicts, count_rr_conflicts): Return
742 the result instead of using...
743 (src_total, rrc_total, src_count, rrc_count): Remove.
744 (any_conflicts): Remove.
745 (print_conflicts): Split into...
746 (conflicts_print, conflicts_output): New.
747 * src/conflicts.h: Adjust.
748 * src/main.c (main): Invoke both conflicts_output and conflicts_print.
0f37a994 749 * src/print.c (print_grammar): Issue `\n' between two rules.
0df87bb6
AD
750 * tests/regression.at (Conflicts): New.
751 Reported by Tom Lane.
752
e4d3d4de
AD
7532001-11-12 Akim Demaille <akim@epita.fr>
754
755 * tests/regression.at (Invalid input): Remove, duplicate with
756 ``Invalid input: 1''.
757
6d7d248e
AD
7582001-11-12 Akim Demaille <akim@epita.fr>
759
760 * tests/torture.at (AT_DATA_STACK_TORTURE)
761 (Exploding the Stack Size with Alloca)
762 (Exploding the Stack Size with Malloc): New.
763
e9e4c321
AD
7642001-11-12 Akim Demaille <akim@epita.fr>
765
766 * src/bison.simple (YYSTACK_REALLOC): New.
767 (yyparse) [!yyoverflow]: Use it and free the old stack.
0f37a994 768 Reported by Per Allansson.
e9e4c321 769
5f7e0832
AD
7702001-11-12 Pascal Bart <pascal.bart@epita.fr>
771
772 * src/bison.simple: Define type yystype instead of YYSTYPE, and
773 define CPP macro, which substitute YYSTYPE by yystype.
774 * src/reader.c (parse_union_decl): Output yystype/YYSTYPE as we do
775 with yyltype/YYLTYPE. This allows inclusion of the generated
776 header within the parser if the compiler, such as GGC, accepts
777 multiple equivalent #defines.
778 From Akim.
779
e3f1699f
AD
7802001-11-05 Akim Demaille <akim@epita.fr>
781
782 * src/reader.c (symbols_output): New, extracted from...
783 (packsymbols): here.
784 (reader): Adjust.
785
65be0866
AD
7862001-11-05 Akim Demaille <akim@epita.fr>
787
788 * src/lex.c (parse_percent_token): s/quotearg/quote/.
789
e4d910bf
AD
7902001-11-05 Akim Demaille <akim@epita.fr>
791
792 * tests/regression.at (AT_TEST_CPP_GUARD_H): Adjust the clean up
793 pattern.
794
951366c1
AD
7952001-11-05 Akim Demaille <akim@epita.fr>
796
797 * src/options.h (struct option_table_struct): set_flags is void*.
798 * src/options.c (longopts): Support `--output' and `%output'.
799 (usage): Adjust.
800 * src/lex.h (tok_setopt): Remove, replaced with...
801 (tok_intopt, tok_stropt): these new guys.
802 * src/lex.c (getopt.h): Not needed.
803 (token_buffer, unlexed_token_buffer): Not const.
804 (percent_table): Promote `-' over `_' in directive names.
805 Active `%name-prefix', `file-prefix', and `output'.
806 (parse_percent_token): Accept possible arguments to directives.
807 Promote `-' over `_' in directive names.
808
d8988b2f
AD
8092001-11-04 Akim Demaille <akim@epita.fr>
810
811 * doc/bison.texinfo (Decl Summary): Split the list into
812 `directives for grammars' and `directives for bison'.
813 Sort'em.
814 Add description of `%name-prefix', `file-prefix', and `output'.
815 Promote `-' over `_' in directive names.
816 (Bison Options): s/%locactions/%locations/. Nice Freudian slip.
817 Simplify the description of `--name-prefix'.
818 Promote `-' over `_' in directive names.
819 Promote `--output' over `--output-file'.
820 Fix the description of `--defines'.
821 * tests/output.at: Exercise %file-prefix and %output.
822
6468d18e
AD
8232001-11-02 Akim Demaille <akim@epita.fr>
824
825 * doc/refcard.tex: Update.
826
6b7e85b9
AD
8272001-11-02 Akim Demaille <akim@epita.fr>
828
829 * src/symtab.h (SUNDEF): New.
830 * src/symtab.c (bucket_new): Init user_token_number to SUNDEF to
831 stand for `uninitialized', instead of 0.
832 * src/reader.c (packsymbols, parse_thong_decl): Adjust.
833 * src/lex.c (lex): Adjust.
834
835 * tests/calc.at (_AT_DATA_CALC_Y): Declare a token for EOF.
836 Number it 0.
837 Let yylex return it instead of a plain 0.
838 Reported by Dick Streefland.
839
cd5aafcf
AD
8402001-11-02 Akim Demaille <akim@epita.fr>
841
842 * tests/regression.at (Mixing %token styles): New test.
843
037ca2f1
AD
8442001-11-02 Akim Demaille <akim@epita.fr>
845
846 * src/reader.c (parse_thong_decl): Formatting changes.
847 (token_translations_init): New, extracted from...
848 (packsymbols): Here.
849 Adjust.
850
270a173c
AD
8512001-11-01 Akim Demaille <akim@epita.fr>
852
853 * tests/regression.at (AT_TEST_CPP_GUARD_H): New.
854 Check that `9foo.y' produces correct cpp guards.
855 * src/files.c (compute_header_macro): Prepend `BISON_' to CPP
856 guards.
857 Reported by Wwp.
858
561f9a30
AD
8592001-11-01 Akim Demaille <akim@epita.fr>
860
861 * tests/regression.at (Invalid input: 2): New.
862 * src/lex.c (unlexed_token_buffer): New.
863 (lex, unlex): Adjust: when unlexing, be sure to save token_buffer
864 too.
865 Reported by Wwp.
866
f987e9d2
AD
8672001-11-01 Akim Demaille <akim@epita.fr>
868
869 * tests/calc.at: Catch up with 1.30.
870 * configure.in: Bump to 1.49a.
871 Adjust to newer Autotest.
872
0846f581
PB
8732001-10-19 Pascal Bart <pascal.bart@epita.fr>
874
875 * src/conflicts.c: Move global variables rrc_total and src_total ...
876 (print_conflicts): here.
877 * src/output.c (output): Free global variable user_toknums.
878 * src/lex.c (token_obstack): Become static.
879
3c1a79b3
AD
8802001-10-18 Akim Demaille <akim@epita.fr>
881
882 * tests/atlocal.in (GCC): Add.
883 * tests/calc.at: s/m4_match/m4_bmatch/.
884 s/m4_patsubst/m4_bpatsubst/.
885 (AT_CHECK_CALC): Check the compiler's stderr only if it's GCC.
886 * configure.in: AC_SUBST(GCC).
887
5d52e7d0
MA
8882001-10-14 Marc Autret <autret_m@epita.fr>
889
890 * src/options.c (create_long_option_table): Fix.
891
631aa1d3
AD
8922001-10-10 Akim Demaille <akim@epita.fr>
893
894 * src/bison.simple: Be sure to set YYSTACK_USE_ALLOCA.
895
f6ec6d13
AD
8962001-10-04 Akim Demaille <akim@epita.fr>
897
898 * src/reader.c (parse_union_decl): Push the caracters in
899 union_obstack, not attrs_obstack.
900
342b8b6e
AD
9012001-10-04 Akim Demaille <akim@epita.fr>
902
903 Merge in the branch 1.29.
904
905 * src/reader.c (packsymbols): Use a temporary obstack for
906 `%%tokendef', since output_stack is already used elsewhere.
907
908 2001-10-02 Akim Demaille <akim@epita.fr>
909
910 Bump 1.29d.
911
912 2001-10-02 Akim Demaille <akim@epita.fr>
913
914 Version 1.29c.
915
916 2001-10-02 Akim Demaille <akim@epita.fr>
917
918 * tests/regression.at (Invalid CPP headers): New.
919 From Alexander Belopolsky.
920 * src/files.c (compute_header_macro): Map non alnum chars to `_'.
921
922 2001-10-02 Akim Demaille <akim@epita.fr>
923
924 * tests/regression.at (Invalid input): New.
925 * src/lex.c (lex): Be sure to set `token_buffer' in any case.
926 Reported by Shura.
927
928 2001-10-02 Akim Demaille <akim@epita.fr>
929
930 * tests/calc.at: Now that --debug works, the tests must be adjusted.
931
932 2001-10-02 Akim Demaille <akim@epita.fr>
933
934 * src/output.c (output_parser): Assert `skeleton'.
935 * src/files.c (skeleton_find): Look harder for skeletons on DOSish
936 systems.
937 From Shura.
938
939 2001-10-01 Marc Autret <autret_m@epita.fr>
940
941 * src/lex.h: Echo modifications.
942 * src/lex.c (unlex): Parameter is now token_t.
943 From Hans Aberg.
944
945 2001-10-01 Marc Autret <autret_m@epita.fr>
946
947 * src/main.c: Include lex.h.
948 From Hans Aberg.
949
950 2001-09-29 Akim Demaille <akim@epita.fr>
951
952 * src/getargs.c (longopts): `--debug' is `-t', not `-d'.
953
954 2001-09-28 Akim Demaille <akim@epita.fr>
955
956 * tests/testsuite.at: Update to newer Autotest.
957 * tests/Makefile.am (EXTRA_DIST): bison is not to be shipped.
958
959 2001-09-27 Akim Demaille <akim@epita.fr>
960
961 Position independent wrapper.
962
963 * tests/bison: Remove.
964 * tests/bison.in: New.
965 * configure.in: Adjust.
966
967 2001-09-27 Paul Eggert <eggert@twinsun.com>
968
969 Port quotearg fixes from tar 1.13.24.
970
971 * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
972 tm to be declared.
973 (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
974 (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
975
976 * m4/Makefile.am (EXTRA_DIST): Add mbrtowc.m4.
977 * m4/mbrtowc.m4: New file.
978 * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for mbsinit and stddef.h.
979 Use jm_FUNC_MBRTOWC instead of AC_CHECK_FUNCS(mbrtowc).
980
981 2001-09-27 Akim Demaille <akim@epita.fr>
982
983 Bump to 1.29c.
984
985 2001-09-27 Akim Demaille <akim@epita.fr>
986
987 Version 1.29b.
988
989 2001-09-25 Akim Demaille <akim@epita.fr>
990
991 * src/system.h: Include `xalloc.h'.
992 Remove it from the C files.
993 * src/files.c (output_files): Free the obstacks.
994 * src/lex.c (init_lex): Rename as...
995 (lex_init): this.
996 (lex_free): New.
997 * src/main.c (main): Use it.
998
999 2001-09-24 Marc Autret <autret_m@epita.fr>
1000
1001 * src/vcg.c (open_edge, close_edge, open_node, close_node): Change
1002 to output informations in fout (FILE*).
1003 (open_graph, close_graph): Likewise.
1004 (output_graph, output_edge, output_node): Likewise.
1005 * src/vcg.h: Update function prototypes.
1006 * src/print_graph.c (print_graph): Open output graph file.
1007 (print_actions): Adjust.
1008 * src/files.h: Remove extern declaration.
1009 * src/files.c: Remove graph_obstack declaration.
1010 (open_files): Remove graph_obstack initialization.
1011 (output_files): Remove graph_obstack saving.
1012
1013 2001-09-24 Marc Autret <autret_m@epita.fr>
1014
1015 * src/files.c (compute_output_file_names): Fix.
1016
1017 2001-09-24 Marc Autret <autret_m@epita.fr>,
1018 Akim Demaille <akim@epita.fr>
1019
1020 * src/reader.c (reader): Remove call to free_symtab ().
1021 * src/main.c (main): Call it here.
1022 Include symtab.h.
1023 * src/conflicts.c (initialize_conflicts): Rename as...
1024 (solve_conflicts): this.
1025 * src/print.c (print_core, print_actions, print_state)
1026 (print_grammar): Dump to a file instead a `output_obstack'.
1027 (print_results): Dump `output_obstack', and then proceed with the
1028 FILE *.
1029 * src/files.c (compute_output_file_names, close_files): New.
1030 (output_files): Adjust.
1031 * src/main.c (main): Adjust.
1032
1033 2001-09-23 Marc Autret <autret_m@epita.fr>
1034
1035 * src/files.c (compute_header_macro): Computes header macro name
1036 from spec_defines_file when given.
1037
1038 2001-09-23 Marc Autret <autret_m@epita.fr>
1039
1040 * src/files.c (output_files): Add default extensions.
1041
1042 2001-09-22 Akim Demaille <akim@epita.fr>
1043
1044 * src/conflicts.c (finalize_conflicts): Rename as...
1045 (free_conflicts): this.
1046
1047 2001-09-22 Akim Demaille <akim@epita.fr>
1048
1049 * src/gram.c (gram_free): Rename back as...
1050 (dummy): this.
1051 (output_token_translations): Free `token_translations'.
1052 * src/symtab.c (free_symtab): Free the tag field.
1053
1054 2001-09-22 Akim Demaille <akim@epita.fr>
1055
1056 Remove `translations' as it is always set to true.
1057
1058 * src/gram.h: Adjust.
1059 * src/reader.c (packsymbols, parse_token_decl): Adjust
1060 * src/print.c (print_grammar): Adjust.
1061 * src/output.c (output_token_translations): Adjust.
1062 * src/lex.c (lex): Adjust.
1063 * src/gram.c: Be sure the set pointers to NULL.
1064 (dummy): Rename as...
1065 (gram_free): this.
1066
1067 2001-09-22 Akim Demaille <akim@epita.fr>
1068
1069 * configure.in: Invoke AM_LIB_DMALLOC.
1070 * src/system.h: Use dmalloc.
1071 * src/LR0.c: Be sure to have pointers initialized to NULL.
1072 (allocate_itemsets): Allocate kernel_items only if needed.
1073
1074 2001-09-22 Akim Demaille <akim@epita.fr>
1075
1076 * configure.in: Bump to 1.29b.
1077 * tests/Makefile.am (DISTCLEANFILES): Add package.m4.
1078 * tests/calc.at (_AT_DATA_CALC_Y): #undef malloc so that we don't
1079 need xmalloc.c in calc.y.
1080 From Pascal Bart.
1081
1082 2001-09-21 Akim Demaille <akim@epita.fr>
1083
1084 Version 1.29a.
1085 * Makefile.maint, config/config.guess, config/config.sub,
1086 * config/missing: Update from masters.
1087 * tests/Makefile.am ($(srcdir)/$(TESTSUITE)): No longer depend
1088 upon package.m4.
1089 * configure.in (ALL_LINGUAS): Add `tr'.
1090
1091 2001-09-21 Akim Demaille <akim@epita.fr>
1092
1093 * tests/Makefile.am (package.m4): Move to...
1094 ($(srcdir)/$(TESTSUITE)): here.
1095
1096 2001-09-20 Akim Demaille <akim@epita.fr>
1097
1098 * src/complain.c: No longer try to be standalone: use system.h.
1099 Don't assume __STDC__ is defined to 1. Just test if it is defined.
1100 * src/complain.h: Likewise.
1101 * src/reduce.c (useless_nonterminals, inaccessable_symbols):
1102 Remove the unused variable `n'.
1103 From Albert Chin-A-Young.
1104
1105 2001-09-18 Marc Autret <autret_m@epita.fr>
1106
1107 * doc/bison.1: Update.
1108 * doc/bison.texinfo (Bison Options): Update --defines and --graph
1109 descriptions.
1110 (Option Cross Key): Update.
1111 Add --graph.
1112
1113 2001-09-18 Marc Autret <autret_m@epita.fr>
1114
1115 * tests/regression.at: New test (comment in %union).
1116
1117 2001-09-18 Marc Autret <autret_m@epita.fr>
1118
1119 * src/reader.c (parse_union_decl): Do not output '/'. Let copy_comment
1120 do that.
1121 Reported by Keith Browne.
1122
1123 2001-09-18 Marc Autret <autret_m@epita.fr>
1124
1125 * tests/output.at: Add tests for --defines and --graph.
1126
1127 2001-09-18 Marc Autret <autret_m@epita.fr>
1128
1129 * tests/output.at: Removes tests of %{header,src}_extension features.
1130
1131 2001-09-18 Akim Demaille <akim@epita.fr>
1132
1133 * tests/Makefile.am (package.m4): New.
1134 * tests/calc.at (_AT_CHECK_CALC): Just run `calc input'.
1135 (_AT_CHECK_CALC_ERROR): Likewise.
1136 Factor the `, ' part of verbose error messages.
1137
1138 2001-09-18 Marc Autret <autret_m@epita.fr>
1139
1140 * src/getargs.c (longopts): Declare --defines and --graph as options
1141 with optional arguments.
1142 * src/files.h: Add extern declarations.
1143 * src/files.c (spec_graph_file, spec_defines_file): New.
1144 (output_files): Update.
1145 Remove CPP-outed code.
1146
1147 2001-09-18 Marc Autret <autret_m@epita.fr>
1148
1149 Turn off %{source,header}_extension feature.
1150
1151 * src/files.c (compute_exts_from_gf): Update.
1152 (compute_exts_from_src): Update.
1153 (output_files): CPP-out useless code.
1154 * src/files.h: Remove {header,source}_extension extern declarations.
1155 * src/reader.c (parse_dquoted_param): CPP-out.
1156 (parse_header_extension_decl): Remove.
1157 (parse_source_extension_decl): Remove.
1158 (read_declarations): Remove cases tok_{hdrext,srcext}.
1159 * src/lex.c (percent_table): Remove {header,source}_extension entries.
1160 * src/lex.h (token_t): Remove tok_hdrext and tok_srcext.
1161
1162 2001-09-10 Akim Demaille <akim@epita.fr>
1163
1164 * tests/output.at (AT_CHECK_BISON_FLAGS, AT_CHECK_BISON_PERCENT):
1165 (AT_CHECK_BISON_PERCENT_FLAGS): Merge into...
1166 (AT_CHECK_OUTPUT): this.
1167 Merely check ls' exit status, its output is useless.
1168
1169 2001-09-10 Akim Demaille <akim@epita.fr>
1170
1171 * tests/calc.at: Use m4_match.
1172 (_AT_DATA_CALC_Y): Check `yyin != NULL', not `stdin != NULL'.
1173
1174 2001-09-10 Marc Autret <autret_m@epita.fr>,
1175 Akim Demaille <akim@epita.fr>
1176
1177 * src/vcg.h (graph_s): color, textcolor, bordercolor are now
1178 enum color_e.
1179 * src/print_graph.c (print_graph): Initalize graph.layoutalgorithm
1180 to `normal'.
1181 * src/reader.c (parse_token_decl): Initialize token with tok_eof.
1182 * src/lex.h: Adjust prototype.
1183 (token_t): Add `tok_undef'.
1184 * src/lex.c (struct percent_table_struct): Retval is now a token_t.
1185 (parse_percent_token): Now returns token_t.
1186 Add default statement in switch.
1187 (lex): Separate `c' as an input variable, from the token_t result
1188 part.
1189 (unlexed): Is a token_t.
1190
1191 2001-09-10 Akim Demaille <akim@epita.fr>
1192
1193 * configure.in: Bump to 1.29a.
1194
1195 2001-09-07 Akim Demaille <akim@epita.fr>
1196
1197 Version 1.29.
1198
1199 2001-08-30 Akim Demaille <akim@epita.fr>
1200
1201 * tests/atgeneral.m4, tests/atconfig.in, tests/suite.at: Remove.
1202 * m4/atconfig.m4: Remove.
1203 * tests/testsuite.at, tests/atlocal.in, tests/output.at,
1204 * tests/bison: New.
1205 * tests/regression.at, tests/calc.at: Use m4_define, AT_BANNER,
1206 m4_if, m4_patsubst, and m4_regexp.
1207 * tests/calc.at (_AT_CHECK_CALC, _AT_CHECK_CALC_ERROR): Use an
1208 `input' file instead of echo.
1209
1210 2001-08-29 Akim Demaille <akim@epita.fr>
1211
1212 Bump to 1.28e.
1213
1214 2001-08-29 Akim Demaille <akim@epita.fr>
1215
1216 Version 1.28d.
1217
1218 2001-08-29 Paul Eggert <eggert@twinsun.com>
1219
1220 * src/bison.simple (yyparse): Don't take the address of an
1221 item before the start of an array, as that doesn't conform to
1222 the C Standard.
1223
1224 2001-08-29 Robert Anisko <anisko_r@epita.fr>
1225
1226 * doc/bison.texinfo (Location Tracking Calc): New node.
1227
1228 2001-08-29 Paul Eggert <eggert@twinsun.com>
1229
1230 * src/output.c (output): Do not define const, as this now
1231 causes more problems than it cures.
1232
1233 2001-08-29 Akim Demaille <akim@epita.fr>
1234
1235 * doc/bison.texinfo: Modernize `@node' and `@top' use: just name
1236 the nodes.
1237 Be sure to tag the `detailmenu'.
1238
1239 2001-08-29 Akim Demaille <akim@epita.fr>
1240
1241 * Makefile.maint (do-po-update): Wget refuses to overwrite files:
1242 download in a tmp dir.
1243
1244 2001-08-28 Marc Autret <autret_m@epita.fr>
1245
1246 * config/depcomp: New file.
1247
1248 2001-08-28 Marc Autret <autret_m@epita.fr>
1249
1250 * doc/bison.1 (mandoc): Adjust.
1251 From Juan Manuel Guerrero.
1252
1253 2001-08-28 Marc Autret <autret_m@epita.fr>
1254
1255 * src/print_graph.c (print_state): Fix.
1256
1257 2001-08-27 Marc Autret <autret_m@epita.fr>
1258
1259 * src/vcg.h (classname_s, infoname_s, node_s): Constify the
1260 char * members.
1261 Echo modifications to the functions prototypes.
1262 * src/vcg.c (add_classname, add_infoname): Adjust arguments.
1263
1264 2001-08-27 Marc Autret <autret_m@epita.fr>
1265
1266 * src/vcg.c: Include `xalloc.h'.
1267 (add_colorentry): New.
1268 (add_classname): New.
1269 (add_infoname): New.
1270 * src/vcg.h: Add new prototypes.
1271
1272 2001-08-27 Akim Demaille <akim@epita.fr>
1273
1274 * Makefile.maint: Sync. again with CVS Autoconf.
1275
1276 2001-08-27 Akim Demaille <akim@epita.fr>
1277
1278 * Makefile.maint: Formatting changes.
1279 (po-update, cvs-update, update): New targets.
1280 (AMTAR): Remove.
1281
1282 2001-08-27 Akim Demaille <akim@epita.fr>
1283
1284 * Makefile.am (AUTOMAKE_OPTIONS): 1.5.
1285 * Makefile.maint: Sync. with CVS Autoconf.
1286
1287 2001-08-27 Marc Autret <autret_m@epita.fr>
1288
1289 * src/vcg.h (struct infoname_s): New.
1290 (struct colorentry_s): New.
1291 (graph_s): New fields {vertical,horizontal}_order in structure.
1292 Add `infoname' field.
1293 Add `colorentry' field;
1294 * src/vcg_defaults.h (G_VERTICAL_ORDER): New.
1295 (G_HORIZONTAL_ORDER): New.
1296 (G_INFONAME): New.
1297 (G_COLORENTRY): New.
1298 * src/vcg.c (output_graph): Add output of {vertical,horizontal}_order.
1299 Add output of `infoname'.
1300 Add output of `colorentry'.
1301
1302 2001-08-27 Marc Autret <autret_m@epita.fr>
1303
1304 * src/reader.c (parse_dquoted_param): Rename variable `index' to `i'.
1305 This one shadowed a global parameter.
1306
1307 2001-08-24 Marc Autret <autret_m@epita.fr>
1308
1309 * src/print_graph.c (node_output_size): Declared POSIX `size_t' type,
1310 instead of `unsigned'.
1311 (print_state): Do not call obstack_object_size () in obstack_grow ()
1312 to avoid macro variables shadowing.
1313
1314 2001-08-23 Marc Autret <autret_m@epita.fr>
1315
1316 * src/lex.c (percent_table): Typo: s/naem/name/.
1317 Add graph option.
1318 Normalize new options declarations.
1319
1320 2001-08-20 Pascal Bart <pascal.bart@epita.fr>
1321
1322 * tests/suite.at: Exercise %header_extension and %source_extension.
1323
1324 2001-08-16 Marc Autret <autret_m@epita.fr>
1325
1326 * src/reader.c (parse_dquoted_param): New.
1327 (parse_header_extension_decl): Use it.
1328 (parse_source_extension_decl): Likewise.
1329
1330 2001-08-16 Marc Autret <autret_m@epita.fr>
1331
1332 * src/vcg.c: Remove includes of `complain.h' and `xalloc.h'.
1333 (get_xxxx_str): Use assert () instead of complain ().
1334 Remove return invokations in default cases.
1335 (get_decision_str): Modify default behaviour. Remove second argument.
1336 Echo modifications on calls.
1337 (output_graph): Fix.
1338
1339 2001-08-16 Marc Autret <autret_m@epita.fr>
1340
1341 * src/getargs.c (usage): Update with ``-g, --graph''.
1342
1343 2001-08-16 Marc Autret <autret_m@epita.fr>
1344
1345 * doc/bison.texinfo (Bison Options): Add items `-g', `--graph'.
1346 (Option Cross Key): Likewise.
1347 * doc/bison.1: Update.
1348
1c8c2190
PB
13492001-09-25 Pascal Bart <pascal.bart@epita.fr>
1350
1351 * src/output.c (output_master_parser): Don't finish action_obstack.
1352 (output_parser): Don't care about the muscle action, here.
1353 (prepare): Copy the action_obstack in the action muscle.
1354 (output): Free action_obstack.
1355
180d45ba
PB
13562001-09-23 Pascal Bart <pascal.bart@epita.fr>
1357
1358 * src/reader.c (parse_union_decl): Add new obstack union_obstack. Which
1359 will contain `%union' declaration.
1360 (parse_union_decl): Delete #line directive output.
1361 (parse_union_decl): Substitute /attrs_obstack/union_obstack for all
1362 informations about %union.
1363 (parse_union_decl): Copy the union_obstack in the muscle stype.
1364 * src/bison.simple: Add new #line directive.
1365 Add typdef %%stype YYSTYPE.
1366
c51d1a19
PB
13672001-09-23 Pascal Bart <pascal.bart@epita.fr>
1368
1369 * src/bison.simple: Add new `#line' directive.
1370
6f9344da
PB
13712001-09-22 Pascal Bart <pascal.bart@epita.fr>
1372
1373 * src/bison.simple: New `#line' directive.
1374 * src/output.c (output_parser): Support new dynamic muscle input_line.
1375
652def80
MA
13762001-09-22 Marc Autret <autret_m@epita.fr>
1377
1378 * src/output.c (output_master_parser): New.
1379 (output_parser): Be more re-entrant.
1380
25b222fa
MA
13812001-09-21 Marc Autret <autret_m@epita.fr>
1382
1383 * src/reader.c (copy_definition, parse_union_decl): Update and use
1384 `linef' muscle.
1385 (copy_action): Likewise.
1386 Use obstack_1grow ().
1387 * src/muscle_tab.c (muscle_init): Add muscle `linef'.
1388
6bc35ae5
MA
13892001-09-21 Marc Autret <autret_m@epita.fr>
1390
1391 * src/options.c (option_table): Adjust.
1392 * src/lex.c (parse_percent_token): Fix.
1393
c0629aa1
PB
13942001-09-20 Pascal Bart <pascal.bart@epita.fr>
1395
1396 * src/options.c (symtab.h): Include it, need by lex.h.
342b8b6e 1397
82b6d266
PB
13982001-09-20 Pascal Bart <pascal.bart@epita.fr>
1399
1400 * src/lex.c (parse_percent_token): Change type of variable `tx', which
1401 is now an option_table_struct*.
1402 (option_strcmp): New function option_strcmp.
1403 (parse_percent_token): Call option_strcmp.
1404 * src/getargs.c (xalloc.h, options.h): Include it.
1405 (getargs): Call create_long_option_table.
1406 (getargs): Free longopts at the end of the function.
1407 (shortopts): Move in options.c.
1408 * src/options.c (create_long_option_table): New function. Convert
1409 information from option_table to option structure.
1410 * src/reader.c (options.h): Include it.
1411
1412 * src/Makefile.am: Adjust.
1413 * src/options.c (option_table): Create from longopts and percent_table.
1414 * src/getargs.c (longopts): Delete.
1415 * src/lex.c (struct percent_table_struct): Delete.
1416 (percent_table): Delete.
1417 (options.h): Include it.
1418 * src/options.c: Create.
1419 * src/options.h: Create.
1420 Declare enum opt_access_e.
1421 Define struct option_table_struct.
1422
75f5aaea
MA
14232001-09-20 Marc Autret <autret_m@epita.fr>
1424
1425 * doc/bison.texinfo: Adjust terminologies about prologue and epilogue
1426 sections of Bison.
1427
f508cb0a
PB
14282001-09-19 Pascal Bart <pascal.bart@epita.fr>
1429
1430 * src/bison.simple: s/%%filename/%%skeleton.
1431 * src/muscle_tab.c (getargs.h): Include it.
1432 (muscle_init): Insert new muscle skeleton.
1433
13105fc1
PB
14342001-09-18 Pascal Bart <pascal.bart@epita.fr>
1435
1436 * src/output.c (output_parser): Delete unused variable actions_dumped.
1437
b0c4483e
PB
14382001-09-07 Pascal Bart <pascal.bart@epita.fr>
1439
1440 * src/output.c (output): Delete call to reader_output_yylsp.
1441 * src/reader.c (reader): Likewise.
1442 * src/reader.h: Delete declaration of reader_output_yylsp.
342b8b6e 1443
11d82f03
MA
14442001-09-02 Marc Autret <autret_m@epita.fr>
1445
1446 * src/reader.c: Include muscle_tab.h.
1447 (parse_union_decl): Update.
1448 (parse_macro_decl): Rename parse_muscle_decl.
1449 Update to use renamed functions and variable.
1450 (read_declarations, copy_action, read_additionnal_code, : Updated
1451 with correct variables and functions names.
1452 (packsymbols, reader): Likewise.
342b8b6e 1453
11d82f03 1454 * src/reader.h (muscle_obstack): Extern declaration update.
342b8b6e 1455
11d82f03
MA
1456 * src/output.c: Include muscle_tab.h
1457 In all functions using macro_insert, change by using muscle_insert ().
1458 (macro_obstack): Rename muscle_obstack.
1459 Echo modifications in the whole file.
1460 (MACRO_INSERT_INT): Rename MUSCLE_INSERT_INT.
1461 (MACRO_INSERT_STRING): Rename MUSCLE_INSERT_STRING.
1462 (MACRO_INSERT_PREFIX): Rename MUSCLE_INSERT_PREFIX.
1463
1464 * src/muscle_tab.h: Update double inclusion macros.
1465 (macro_entry_s): Rename muscle_entry_s.
1466 Update prototypes.
342b8b6e 1467
11d82f03
MA
1468 * src/muscle_tab.c: Include muscle_tab.h.
1469 Rename macro_tabble to muscle_table.
1470 (mhash1, mhash2, mcmp): Use muscle_entry.
1471 (macro_init): Rename muscle_init. Update.
1472 (macro_insert): Rename muscle_insert. Update.
1473 (macro_find): Rename muscle_find. Update.
1474
1475 * src/main.c: Include muscle_tab.h.
1476 (main): Call muscle_init ().
1477 * src/Makefile.am (bison_SOURCES): Echo modifications.
1478
93a37297
MA
14792001-09-02 Marc Autret <autret_m@epita.fr>
1480
f753cd62 1481 Now the files macro_tab.[ch] are named muscle_tab.[ch].
342b8b6e 1482
f753cd62
MA
1483 * src/muscle_tab.c, src/muscle_tab.h: Add files.
1484
14852001-09-02 Marc Autret <autret_m@epita.fr>
1486
1487 * src/macrotab.c, src/macrotab.h: Remove.
93a37297 1488
682d48cd
PB
14892001-09-01 Pascal Bart <pascal.bart@epita.fr>
1490
342b8b6e 1491 * src/reader.c (copy_guard): Use muscle to specify the `#line'
682d48cd
PB
1492 filename.
1493
087c8fda
MA
14942001-09-01 Marc Autret <autret_m@epita.fr>
1495
1496 * tests/calc.at (exp): Now, YYERROR_VERBOSE need to be set
1497 to an explicit value to activate the feature. We do it here.
1498
dda680cb
PB
14992001-08-31 Pascal Bart <pascal.bart@epita.fr>
1500
1501 * src/output.c (prepare): Delete the `filename' muscule insertion.
1502 * src/reader.c (copy_action): Use `filename' muscule with `#line'.
1503 (parse_union_decl): Likewise.
1504 * src/macrotab.c (macro_init): Initialize filename by infile.
1505
9e644e64
MA
15062001-08-31 Marc Autret <autret_m@epita.fr>
1507
1508 * src/bison.simple (YYLSP_NEEDED): New definition.
1509 * src/output.c (prepare): Add macro insertion of `locations_flag'
1510
17da6427
PB
15112001-08-31 Pascal Bart <pascal.bart@epita.fr>
1512
1513 * src/output.c (prepare): Delete insertion of previous muscles,
1514 and insert the `prefix' muscles.
1515 * src/macrotab.c (macro_init): Likewise.
1516 (macro_init): Initialization prefix directive by `yy'.
342b8b6e 1517 * src/bison.simple: Substitute all %%yylex, %%yychar, %%yylval,
17da6427
PB
1518 %%yydebug, %%yyerror, %%yynerrs and %%yyparse by yylex, yychar,
1519 yylval, yydebug, yyerror, yynerrs and yyparse.
342b8b6e 1520 New directive `#define' to substitute yydebug, ... with option
17da6427
PB
1521 name_prefix.
1522
e8cb70b9
PB
15232001-08-31 Pascal Bart <pascal.bart@epita.fr>
1524
1525 * src/main.c (main): Standardize.
1526 * src/output.c (output_table_data, output_parser): Likewise.
1527 * src/macrotab.h, src/macrotab.c, src/bison.simple: Likewise.
1528
63c2d5de
MA
15292001-08-31 Pascal Bart <pascal.bart@epita.fr>, Marc Autret <autret_m@epita.fr>
1530
342b8b6e 1531 * src/reader.c (read_additionnal_code): Rename %%user_code to
63c2d5de
MA
1532 %%epilogue.
1533 * src/output.c (output): Rename %%declarations to %%prologue.
1534 * src/bison.simple: Echo modifications.
342b8b6e 1535
d8cb5183
MA
15362001-08-31 Marc Autret <autret_m@epita.fr>
1537
1538 * src/reader.c (readgram): CleanUp.
1539 (output_token_defines): Likewise.
1540 (packsymbols): Likewise.
1541 (reader): Likewise.
1542 * src/output.c (output): CPP-out useless code.
1543
6c686258
PB
15442001-08-31 Pascal Bart <pascal.bart@epita.fr>
1545
342b8b6e 1546 * src/reader.c (reader): Delete obsolete call to function
6c686258
PB
1547 output_trailers and output_headers.
1548 * src/output.h: Remove obsolete functions prototypes of output_headers
1549 and output_trailers.
1550
8f451ef7
PB
15512001-08-30 Pascal Bart <pascal.bart@epita.fr>
1552
1553 * src/main.c: Include macrotab.h.
342b8b6e 1554 * src/macrotab.h (macro_entry_s): Constify fields.
8f451ef7
PB
1555 Adjust functions prototypes.
1556 * src/macrotab.c (macro_insert): Constify key and value.
1557 (macro_find): Constify key.
1558 (macro_insert): Include 'xalloc.h'
1559 (macro_insert): Use XMALLOC.
1560 (macro_find): Constify return value.
1561 * src/output.c (output_table_data): Rename table to table_data.
1562 (output_parser): Constify macro_key, macro_value.
1563
997b6fd0 15642001-08-30 Marc Autret <autret_m@epita.fr>
2ba3b73c
MA
1565
1566 * src/reader.c (parse_skel_decl): New.
342b8b6e 1567 (read_declarations): Add case `tok_skel', call parse_skel_decl ().
2ba3b73c
MA
1568 * src/lex.h (token_t): New token `tok_skel'.
1569 * src/lex.c (percent_table): Add skeleton option entry.
1570 Standardize.
1571
ff48177d
MA
15722001-08-29 Marc Autret <autret_m@epita.fr>
1573
1574 * src/bison.simple: Add %%user_code directive at the end.
1575 * src/reader.c (read_additionnal_code): New.
1576 (reader): Use it.
1577 * src/output.c (output_program): Remove.
1578 (output): Update.
1579
b33160bf
MA
15802001-08-28 Marc Autret <autret_m@epita.fr>
1581
1582 * src/output.c (output_actions): Clean up.
4e5caae2 1583 (output_gram): CPP-out useless code.
b33160bf
MA
1584 * src/reader.c (reader): Clean up, CPP-out useless code.
1585
d1a2daf7
PB
15862001-08-28 Pascal Bart <pascal.bart@epita.fr>
1587
342b8b6e 1588 * src/output.c (output): Copy attrs_obstack in the '%%definitions'
535c0e75 1589 directive.
d1a2daf7
PB
1590 * src/bison.simple: Add `%%definitions'.
1591
2b763dfe
MA
15922001-08-28 Marc Autret <autret_m@epita.fr>
1593
1594 * config/depcomp: New file.
1595
f1a87ef6
PE
15962001-08-27 Paul Eggert <eggert@twinsun.com>
1597
1598 * src/bison.simple (yyparse): Don't take the address of an
1599 item before the start of an array, as that doesn't conform to
1600 the C Standard.
1601
82e236e2
RA
16022001-08-27 Robert Anisko <robert.anisko@epita.fr>
1603
f1a87ef6 1604 * src/output.c (output): Remove the initialization of the macro
82e236e2
RA
1605 obstack. It was done too late here.
1606
1607 * src/reader.c (parse_macro_decl): Fix. Use of the macro obstack was
1608 completely wrong.
1609 (reader): Initialize the macro obstack here, since we need it to grow
1610 '%define' directives.
1611
1612 * src/reader.h: Declare the macro obstack as extern.
1613
b0cfa28a
RA
16142001-08-27 Robert Anisko <robert.anisko@epita.fr>
1615
1616 * src/output.c (output_parser): Fix. Store single '%' characters in
1617 the output obstack instead of throwing them away.
1618
6fc74234
AD
16192001-08-27 Akim Demaille <akim@epita.fr>
1620
1621 * Makefile.am (AUTOMAKE_OPTIONS): 1.5.
1622
9c76d118
RA
16232001-08-25 Robert Anisko <robert.anisko@epita.fr>
1624
1625 * lib/Makefile.am: Adjust.
1626
a8289c62
RA
16272001-08-25 Robert Anisko <robert.anisko@epita.fr>
1628
1629 * src/bison.simple: Update and add '%%' directives.
1630
b6610515
RA
16312001-08-25 Robert Anisko <robert.anisko@epita.fr>
1632
1633 * src/reader.c (reader): Remove calls to 'output_headers' and
1634 'output_trailers'. Remove some C output.
1635 (readgram): Disable a piece of code that was writing a default
1636 definition for 'YYSTYPE'.
1637 (reader_output_yylsp): Remove.
1638 (packsymbols): Output token defintions to a macro.
1639 (copy_definition): Disable C output.
6fc74234 1640
b6610515
RA
1641 * src/reader.c (parse_macro_decl): New function used to parse macro
1642 declarations.
1643 (copy_string2): Put the body of copy_string into this new function.
1644 Add a parameter to let the caller choose whether he wants to copy the
1645 string delimiters or not.
1646 (copy_string): Be a simple call to copy_string2 with the last argument
1647 bound to true.
1648 (read_declarations): Add case for macro definition.
1649 (copy_identifier): New.
6fc74234 1650 (parse_macro_decl): Read macro identifiers using copy_identifier
b6610515
RA
1651 rather than lex.
1652
26f609ff
RA
16532001-08-25 Robert Anisko <robert.anisko@epita.fr>
1654
1655 * src/output.c (prepare): Add prefixed names.
1656 (output_parser): Output semantic actions.
1657 (output_parser): Fix bug on '%%line' directives.
6fc74234 1658
26f609ff
RA
1659 * src/output.c (output_headers): Remove. The C code printed by this
1660 function should now be in the skeletons.
1661 (output_trailers): Remove.
1662 (output): Disable call to 'reader_output_yylsp'.
1663 (output_rule_data): Do not output tables to the table obstack.
1664
1665 * src/output.c: Remove some C dedicated output.
1666 Improve the use of macro and output obstacks.
1667 (output_defines): Remove.
6fc74234 1668
26f609ff
RA
1669 * src/output.c (output_token_translations): Associate 'translate'
1670 table with a macro. No output to the table obstack.
1671 (output_gram): Same for 'rhs' and 'prhs'.
1672 (output_stos): Same for 'stos'.
1673 (output_rule_data): Same for 'r1' and 'r2'.
1674 (token_actions): Same for 'defact'.
1675 (goto_actions): Same for 'defgoto'.
1676 (output_base): Same for 'pact' and 'pgoto'.
1677 (output_table): Same for 'table'.
1678 (output_check): Same for 'check'.
6fc74234 1679
26f609ff
RA
1680 * src/output.c (output_table_data): New function.
1681 (output_short_table): Remove.
1682 (output_short_or_char_table): Remove.
6fc74234 1683
26f609ff
RA
1684 * src/output.c (output_parser): Replace most of the skeleton copy code
1685 with something new. Skeletons are now processed character by character
1686 rather than line by line, and Bison looks for '%%' macros. This is the
1687 first step in making Bison's output process (a lot) more flexible.
1688 (output_parser): Use the macro table.
1689
6f43b113
RA
16902001-08-25 Robert Anisko <robert.anisko@epita.fr>
1691
1692 * src/main.c (main): Initialize the macro table.
1693
dd3127cf
RA
16942001-08-25 Robert Anisko <robert.anisko@epita.fr>
1695
1696 * src/lex.c (percent_table): Add tok_define.
1697 * src/lex.h: Add tok_define.
1698
aa321494
RA
16992001-08-25 Robert Anisko <robert.anisko@epita.fr>
1700
1701 * src/macrotab.c: New file.
1702 * src/macrotab.h: New file.
1703 * src/Makefile.am: Update.
1704
68bd3b6b
RA
17052001-08-25 Robert Anisko <robert.anisko@epita.fr>
1706
1707 * lib/hash.c: New file.
1708 * lib/hash.h: New file.
1709 * lib/Makefile.am: Update.
1710
45f8dd1e
AD
17112001-08-15 Akim Demaille <akim@epita.fr>
1712
1713 Version 1.28c.
1714
40a64a7a 17152001-08-15 Marc Autret <autret_m@epita.fr>
0b8afb77
AD
1716
1717 * src/reader.c (readgram): Indent output macro YYSTYPE.
1718 (packsymbols): Likewise.
1719 (output_token_defines): Likewise.
1720 * src/files.c: Standardize.
1721 (compute_header_macro): New.
1722 (defines_obstack_save): New. Use compute_header_macro.
1723 (output_files): Update. Use defines_obstack_save.
1724
f9a8293a
AD
17252001-08-15 Akim Demaille <akim@epita.fr>
1726
1727 * doc/bison.texinfo (Table of Symbols): Document
1728 YYSTACK_USE_ALLOCA.
1729
150ca7a7
AD
17302001-08-15 Akim Demaille <akim@epita.fr>
1731
1732 * missing: Update from CVS Automake.
1733 * config/config.guess, config/config.sub, config/texinfo.tex:
1734 Update from gnu.org.
1735
69b5cec4
AD
17362001-08-15 Akim Demaille <akim@epita.fr>
1737
1738 * Makefile.maint: Sync with CVS Autoconf.
1739
f2b5126e
PB
17402001-08-14 Pascal Bart <pascal.bart@epita.fr>
1741
69b5cec4 1742 * doc/bison.texinfo: Include GNU Free Documentation License from
f2b5126e
PB
1743 `fdl.texi'.
1744 * doc/fdl.texi: Add to package.
1745
4ecbf796
MA
17462001-08-14 Marc Autret <autret_m@epita.fr>
1747
1748 Turn on %{source,header}_extension features.
1749
69b5cec4 1750 * src/lex.c (percent_table): Un-CPP out header_extension and
4ecbf796
MA
1751 source_extension.
1752 * src/files.c (compute_exts_from_gf): Compare pointers with NULL.
69b5cec4 1753 (compute_exts_from_src): Remove conditions. It restores priorities
4ecbf796
MA
1754 between options.
1755
95fb5662
MA
17562001-08-14 Marc Autret <autret_m@epita.fr>
1757
1758 * src/files.c (compute_base_names): Add extensions computing when
1759 `--file-prefix' used.
1760 Standardize function calls.
1761
78d09da9
MA
17622001-08-13 Marc Autret <autret_m@epita.fr>
1763
69b5cec4 1764 * src/bison.simple (YYSTACK_USE_ALLOCA): Changed to allow users
78d09da9
MA
1765 defining it (defined but null disables alloca).
1766
5a009f2c
MA
17672001-08-13 Marc Autret <autret_m@epita.fr>
1768
1769 * src/bison.simple (_yy_memcpy): CPP reformat.
1770
1e41465a
PB
17712001-08-13 Pascal Bart <pascal.bart@epita.fr>
1772
1773 * tests/atconfig.in (CPPFLAGS): Fix.
1774
c67a198d
PB
17752001-08-10 Pascal Bart <pascal.bart@epita.fr>
1776
79282c6c 1777 * doc/bison.texinfo: Include GNU General Public License from
c67a198d
PB
1778 `gpl.texi'.
1779 * doc/gpl.texi: Add to package.
1780
09a6de7e
MA
17812001-08-10 Marc Autret <autret_m@epita.fr>
1782
1783 * src/print_graph.h: Fix.
1784 * src/reader.c (read_declarations): Use parse_header_extension_decl ().
1785
b77b9ee0
AD
17862001-08-10 Akim Demaille <akim@epita.fr>
1787
1788 * src/system.h: Provide default declarations for stpcpy, strndup,
1789 and strnlen.
1790
3e259915
MA
17912001-08-10 Robert Anisko <anisko_r@epita.fr>
1792
1793 * doc/bison.texinfo (Locations): Update @$ stuff.
1794
ca96bc2d
MA
17952001-08-09 Robert Anisko <anisko_r@epita.fr>
1796
1797 * src/bison.simple (YYLLOC_DEFAULT): Update.
1798 (yyparse): Adjust.
1799
fdc6758b
MA
18002001-08-08 Marc Autret <autret_m@epita.fr>
1801
b77b9ee0 1802 * doc/bison.texinfo: Change @samp{$<@dots{}>} to
fdc6758b
MA
1803 @samp{$<@dots{}>@var{n}} in Section Actions in Mid-Rule.
1804 Reported by Fabrice Bauzac.
957d4dbf 1805
600cad3b
MA
18062001-08-08 Marc Autret <autret_m@epita.fr>
1807
1808 * src/vcg_default.h: Use NULL instead of 0 to initialize pointers.
1809 * src/vcg.c (output_node): Fix.
1810 * src/vcg.h: Cleanup.
1811 * src/print_graph.c: Add comments.
b77b9ee0 1812 (node_output_size): New global variable. Simplify the formatting of
600cad3b 1813 the VCG graph output.
b77b9ee0 1814 (print_actions): Unused code is now used. It notifies the final state
600cad3b 1815 and no action states in the VCG graph. It also give the reduce actions.
b77b9ee0 1816 The `shift and goto' edges are red and the `go to state' edges are
600cad3b
MA
1817 blue.
1818 Get the current node name and node_obstack by argument.
1819 (node_obstack): New variable.
1820 (print_state): Manage node_obstack.
1821 (print_core): Use node_obstack given by argument.
1822 A node is not only computed here but in print_actions also.
1823 (print_graph): CPP out useless code instead of commenting it.
1824
976e528f
AD
18252001-08-07 Pascal Bart <pascal.bart@epita.fr>
1826
1827 * tests/atconfig.in (CPPFLAGS): Fix.
1828
20e8e5ca
AD
18292001-08-07 Akim Demaille <akim@epita.fr>
1830
1831 * src/print_graph.c (quote): New.
1832 (print_core): Use it.
1833
957d4dbf 18342001-08-06 Akim Demaille <akim@epita.fr>, Marc Autret <autret_m@epita.fr>
3e3da797 1835
3e3da797
AD
1836 * src/vcg.c (complain.h): Include it.
1837 Unepitaize `return' invocations.
c4b66126 1838 [NDEBUG] (main): Remove.
79282c6c 1839 * src/vcg.h (node_t, edge_t, graph_t): Constify the char * members.
c4b66126
AD
1840 * src/files.c (open_files): Initialize graph_obstack.
1841 * src/print_graph.c (print_actions): CPP out useless code.
1842 (print_core): Don't output the last `\n' in labels.
1843 Use `quote'.
1844 * src/files.c (output_files): Output the VCG file.
1845 * src/main.c (main): Invoke print_graph ();
3e3da797 1846
957d4dbf 18472001-08-06 Marc Autret <autret_m@epita.fr>
22c2cbc0
AD
1848
1849 Automaton VCG graph output.
1850 Using option ``-g'' or long option ``--graph'', you can generate
1851 a gram_filename.vcg file containing a VCG description of the LALR (1)
1852 automaton of your grammar.
1853
1854 * src/main.c: Call to print_graph() function.
1855 * src/getargs.h: Update.
1856 * src/getargs.c (options): Update to catch `-g' and `--graph' options.
1857 (graph_flag): New flag.
1858 (longopts): Update.
1859 (getargs): Add case `g'.
1860 * src/files.c (graph_obstack): New obstack struct.
1861 (open_files): Initialize new obstack.
1862 (output_files): Saves graph_obstack if required.
1863 * src/files.h (graph_obstack): New extern declaration.
1864 * src/Makefile.am: Add new source files.
1865
957d4dbf 18662001-08-06 Marc Autret <autret_m@epita.fr>
ce4d5ce0
AD
1867
1868 * src/print_graph.c, src/print_graph.h (graph): New.
1869 * src/vcg.h: New file.
1870 * src/vcg.c: New file, VCG graph handling.
1871
7333d403
AD
18722001-08-06 Marc Autret <autret_m@epita.fr>
1873
1874 Add of %source_extension and %header_extension which specify
1875 the source or/and the header output file extension.
1876
1877 * src/files.c (compute_base_names): Remove initialisation of
1878 src_extension and header_extension.
1879 (compute_exts_from_gf): Update.
1880 (compute_exts_from_src): Update.
1881 (output_files): Update.
1882 * src/reader.c (parse_header_extension_decl): New.
1883 (parse_source_extension_decl): New.
1884 (read_declarations): New case statements for the new tokens.
1885 * src/lex.c (percent_table): Add entries for %source_extension
1886 and %header_extension.
1887 * src/lex.h (token_e): New tokens tok_hdrext and tok_srcext.
1888
84163231
AD
18892001-08-06 Marc Autret <autret_m@epita.fr>
1890
1891 * configure.in: Bump to 1.28c.
1892 * doc/bison.texinfo: Texinfo thingies.
1893
8303fc42
AD
18942001-08-04 Pascal Bart <pascal.bart@epita.fr>
1895
1896 * tests/atconfig.in (CPPFLAGS): Add.
1897 * tests/calc.at (AT_CHECK): Use CPPFLAGS.
1898
70a84437
AD
18992001-08-03 Akim Demaille <akim@epita.fr>
1900
1901 Version 1.28b.
1902
2ce10144
AD
19032001-08-03 Akim Demaille <akim@epita.fr>
1904
1905 * tests/Makefile.am (check-local): Ship testsuite.
1906 * tests/calc.at (_AT_DATA_CALC_Y): Prototype all the functions.
1907 Include `string.h'.
1908
1e3e4bc1
AD
19092001-08-03 Akim Demaille <akim@epita.fr>
1910
1911 * configure.in: Try using -Wformat when compiling.
1912
42b45b7f
AD
19132001-08-03 Akim Demaille <akim@epita.fr>
1914
1915 * configure.in: Bump to 1.28b.
1916
8f13fe33
AD
19172001-08-03 Akim Demaille <akim@epita.fr>
1918
1919 * src/complain.c: Adjust strerror_r portability issues.
1920
b37ba92c
AD
19212001-08-03 Akim Demaille <akim@epita.fr>
1922
1923 Version 1.28a.
1924
b0ce6046
AD
19252001-08-03 Akim Demaille <akim@epita.fr>
1926
1927 * src/getargs.c, src/getarg.h (skeleton)): Constify.
1928 * src/lex.c (literalchar): Avoid name clashes on `buf'.
1929 * src/getargs.c: Include complain.h.
1930 * src/files.c, src/files.h (skeleton_find): Avoid name clashes.
1931 * lib/quotearg.c, lib/quotearg.h: Update from fileutils 4.1.
1932
d01c415b
AD
19332001-08-03 Akim Demaille <akim@epita.fr>
1934
1935 * src/reader.c (readgram): Display hidden chars in error messages.
1936
459dd1a6
AD
19372001-08-03 Akim Demaille <akim@epita.fr>
1938
1939 Update to gettext 0.10.39.
1940
53b74c0c
AD
19412001-08-03 Akim Demaille <akim@epita.fr>
1942
1943 * lib/strspn.c: New.
1944
234a3be3
AD
19452001-08-01 Marc Autret <autret_m@epita.fr>
1946
1947 * doc/bison.texinfo: Update.
1948 * doc/bison.1 (mandoc): Update.
1949 * src/system.h (EXT_GUARD_C, EXT_STYPE_H): Remove .c and .h.
1950 * src/files.c: Support output files extensions computing.
1951 (src_extension): New static variable.
1952 (header_extension): New static variable.
1953 (tr): New function.
1954 (get_extension_index): New function, gets the index of an extension
1955 filename in a string.
1956 (compute_exts_from_gf): New function, computes extensions from the
1957 grammar file extension.
1958 (compute_exts_from_src): New functions, computes extensions from the
1959 C source file extension, file given by ``-o'' option.
1960 (compute_base_names): Update.
1961 (output_files): Update.
1962
847bf1f5
AD
19632001-08-01 Robert Anisko <anisko_r@epita.fr>
1964
d995fee7 1965 * doc/bison.texi: Document @$.
847bf1f5
AD
1966 (Locations): New section.
1967
d074a105
AD
19682001-07-18 Akim Demaille <akim@epita.fr>
1969
1970 * Makefile.maint, GNUmakefile: New, from Autoconf 2.52.
1971 * config/prev-version.txt, config/move-if-change: New.
1972 * Makefile.am: Adjust.
1973
3419715d
AD
19742001-07-08 Pascal Bart <pascal.bart@epita.fr>
1975
1976 * src/bison.simple (yyparse): Suppress warning `comparaison
1977 between signed and unsigned'.
1978
62ab6972
AD
19792001-07-05 Pascal Bart <pascal.bart@epita.fr>
1980
1981 * src/getargs.h (raw_flag): Remove.
1982 * src/getargs.c: Die on `-r'/`--raw'.
1983 * src/lex.c (parse_percent_token): Die on `%raw'.
1984 * src/reader.c (output_token_defines): Suppress call to `raw_flag'.
1985 * tests/calc.at: Suppress test with option `--raw'.
1986
1e24cc5b
AD
19872001-07-14 Akim Demaille <akim@epita.fr>
1988
1989 * config/: New.
1990 * configure.in: Require Autoconf 2.50.
1991 Update to gettext 0.10.38.
1992
32dfccf8
AD
19932001-03-16 Akim Demaille <akim@epita.fr>
1994
1995 * doc/bison.texinfo: ANSIfy the examples.
1996
cd5bd6ac
AD
19972001-03-16 Akim Demaille <akim@epita.fr>
1998
1999 * getargs.c (skeleton): New variable.
2000 (longopts): --skeleton is a new option.
2001 (shortopts, getargs): -S is a new option.
2002 * getargs.h: Declare skeleton.
2003 * output.c (output_parser): Use it.
2004
5141b016
AD
20052001-03-16 Akim Demaille <akim@epita.fr>
2006
2007 * m4/strerror_r.m4: New.
2008 * m4/error.m4: Run AC_FUNC_STRERROR_R.
2009 * lib/error.h, lib/error.c: Update.
2010
447992b9
AD
20112001-03-16 Akim Demaille <akim@epita.fr>
2012
2013 * src/getargs.c (longopts): Clean up.
2014
274d42ce
AD
20152001-02-21 Akim Demaille <akim@epita.fr>
2016
2017 * src/reader.c (gensym): `gensym_count' is your own.
2018 Use a static buf to create the symbol name, as token_buffer is no
2019 longer a buffer.
2020
22c821f3
AD
20212001-02-08 Akim Demaille <akim@epita.fr>
2022
2023 * src/conflicts.c (conflict_report): Be sure not to append to res
2024 between two calls, which could happen if both first sprintf were
2025 skipped, but not the first cp += strlen.
2026
18569462
AD
20272001-02-08 Akim Demaille <akim@epita.fr>
2028
2029 * lib/memchr.c, lib/stpcpy.c, lib/strndup.c, lib/strnlen.c:
2030 New, from fileutils 4.0.37.
2031 * configure.in: Require Autoconf 2.49c. I took some time before
2032 making this decision. This is the only way out for portability
2033 issues in Bison, it would mean way too much duplicate effort to
2034 import in Bison features implemented in 2.49c since 2.13.
2035 AC_REPLACE_FUNCS and AC_CHECK_DECLS the functions above.
2036
0d8f3c8a
AD
20372001-02-02 Akim Demaille <akim@epita.fr>
2038
2039 * lib/malloc.c, lib/realloc.c: New, from the fileutils 4.0.37.
66075dcf 2040 * lib/xalloc.h, lib/xmalloc.c: Update.
0d8f3c8a 2041
f17bcd1f
AD
20422001-01-19 Akim Demaille <akim@epita.fr>
2043
2044 Get rid of the ad hoc handling of token_buffer in the scanner: use
2045 the obstacks.
2046
2047 * src/lex.c (token_obstack): New.
2048 (init_lex): Initialize it. No longer call...
2049 (grow_token_buffer): this. Remove it.
2050 Adjust all the places which used it to use the obstack.
2051
511e79b3
AD
20522001-01-19 Akim Demaille <akim@epita.fr>
2053
2054 * src/lex.h: Rename all the tokens:
2055 s/\bENDFILE\b/tok_eof/g;
2056 s/\bIDENTIFIER\b/tok_identifier/g;
2057 etc.
2058 Let them be enums, not #define, to ease debugging.
2059 Adjust all the code.
2060
0d6508ef
AD
20612001-01-18 Akim Demaille <akim@epita.fr>
2062
2063 * src/lex.h (MAXTOKEN, maxtoken, grow_token_buffer): Remove, private.
2064 * src/lex.c (maxtoken, grow_token_buffer): Static.
2065
6deb4447
AD
20662001-01-18 Akim Demaille <akim@epita.fr>
2067
2068 Since we now use obstacks, more % directives can be enabled.
2069
2070 * src/lex.c (percent_table): Also accept `%yacc',
2071 `%fixed_output_files', `%defines', `%no_parser', `%verbose', and
2072 `%debug'.
2073 Handle the actions for `%semantic_parser' and `%pure_parser' here,
2074 instead of returning a token.
2075 * src/lex.h (SEMANTIC_PARSER, PURE_PARSER): Remove, unused.
2076 * src/reader.c (read_declarations): Adjust.
2077 * src/files.c (open_files): Don't call `compute_base_names', don't
2078 compute `attrsfile' since they depend upon data which might be
2079 *in* the input file now.
2080 (output_files): Do it here.
2081 * src/output.c (output_headers): Document the fact that this patch
2082 introduces a guaranteed SEGV for semantic parsers.
2083 * doc/bison.texinfo: Document them.
2084 * tests/suite.at: Exercise these %options.
2085
ff4423cc
AD
20862000-12-20 Akim Demaille <akim@epita.fr>
2087
2088 Also handle the output file (--verbose) with obstacks.
2089
2090 * files.c (foutput): Remove.
2091 (output_obstack): New.
2092 Adjust all dependencies.
2093 * src/conflicts.c: Return a string.
2094 * src/system.h (obstack_grow_string): Rename as...
2095 (obstack_sgrow): this. Be ready to work with non literals.
2096 (obstack_fgrow4): New.
2097
956dba3a
AD
20982000-12-20 Akim Demaille <akim@epita.fr>
2099
2100 * src/files.c (open_files): Fix the computation of short_base_name
2101 in the case of `-o foo.tab.c'.
2102
337bab46
AD
21032000-12-20 Akim Demaille <akim@epita.fr>
2104
2105 * src/reader.c (copy_string, copy_comment, copy_comment2, copy_at)
2106 (copy_dollar): Now that everything uses obstacks, get rid of the
2107 FILE * parameters.
2108
5d3214b8
AD
21092000-12-20 Akim Demaille <akim@epita.fr>
2110
2111 * src/files.c (open_files): Actually the `.output' file is based
2112 on the short_base_name, not base_name.
2113 * tests/suite.at (Checking output file names): Adjust.
2114
29092a57
AD
21152000-12-20 Akim Demaille <akim@epita.fr>
2116
2117 * src/bison.s1: Remove, we now use directly...
2118 * src/bison.simple: this.
2119 * src/Makefile.am: Use pkgdata instead of data.
2120
ea5607fd
AD
21212000-12-20 Akim Demaille <akim@epita.fr>
2122
2123 * src/files.c (guard_obstack): New.
2124 (open_files): Initialize it.
2125 (output_files): Dump it...
2126 * src/files.h: Export it.
2127 * src/reader.c (copy_guard): Use it.
2128
27110317
AD
21292000-12-19 Akim Demaille <akim@epita.fr>
2130
2131 * src/files.c (outfile, defsfile, actfile): Removed as global
2132 vars.
2133 (open_files): Don't compute them.
2134 (output_files): Adjust.
2135 (base_name, short_base_name): Be global.
2136 Adjust dependencies.
2137
19c50364
AD
21382000-12-19 Akim Demaille <akim@epita.fr>
2139
2140 * src/files.c (strsuffix): New.
2141 (stringappend): Be just like strcat but allocate.
2142 (base_names): Eve out from open_files.
2143 Try to simplify the rather hairy computation of base_name and
2144 short_base_name.
2145 (open_files): Use it.
2146 * tests/suite.at (Checking output file names): New test.
2147
573c1d9f
AD
21482000-12-19 Akim Demaille <akim@epita.fr>
2149
2150 * src/system.h (obstack_grow_literal_string): Rename as...
2151 (obstack_grow_string): this.
2152 * src/output.c (output_parser): Recognize `%% actions' instead of
2153 `$'.
2154 * src/bison.s1: s/$/%% actions/.
2155 * src/bison.hairy: Likewise.
2156
ef7ddedd
AD
21572000-12-19 Akim Demaille <akim@epita.fr>
2158
2159 * src/output.c (output_parser): Compute the `#line' lines when
2160 there are.
2161 * src/Makefile.am (bison.simple): Be a simple copy of bison.s1.
2162 Suggested by Hans Aberg.
2163
ff61dabd
AD
21642000-12-19 Akim Demaille <akim@epita.fr>
2165
2166 Let the handling of the skeleton files be local to the procedures
2167 that use it.
2168
2169 * src/files.c (xfopen, xfclose, skeleton_find, guardfile): No
2170 longer static.
2171 (fparser, open_extra_files): Remove.
2172 (open_files, output_files): Don't take care of fparser.
2173 * src/files.h: Adjust.
2174 * src/output.c (output_parser): Open and close the file to the
2175 skeleton.
2176 * src/reader.c (read_declarations): When %semantic_parser, open
2177 fguard.
2178
55b96341
AD
21792000-12-19 Akim Demaille <akim@epita.fr>
2180
2181 * src/file.h (BISON_SIMPLE, BISON_HAIRY): Move from here...
2182 * src/system.h (BISON_SIMPLE, BISON_HAIRY): ... to here.
2183
358c15b7
AD
21842000-12-19 Akim Demaille <akim@epita.fr>
2185
2186 * src/files.c (open_files): Yipee! We no longer need all the code
2187 looking for `/tmp' since we have no tmp file.
2188
7de3329e
AD
21892000-12-19 Akim Demaille <akim@epita.fr>
2190
2191 * src/system.h (EXT_TAB, EXT_OUTPUT, EXT_STYPE_H, EXT_GUARD_C):
2192 New macros.
2193 * src/files.c (open_files): Less dependency on MSDOS etc.
2194
3abcd459
AD
21952000-12-14 Akim Demaille <akim@epita.fr>
2196
2197 * src/bison.s1 (YYLLOC_DEFAULT): New macro.
2198 Provide a default definition.
2199 Use it when executing the default @ action.
2200 * src/reader.c (reader_output_yylsp): No longer include
2201 `timestamp' and `text' in the default YYLTYPE.
2202
2a91a95e
AD
22032000-12-12 Akim Demaille <akim@epita.fr>
2204
2205 * src/reader.c (copy_definition, parse_union_decl, copy_action)
2206 (copy_guard): Quote the file names.
2207 Reported by Laurent Mascherpa.
2208
14d3eb9b
AD
22092000-12-12 Akim Demaille <akim@epita.fr>
2210
2211 * src/output.c (output_headers, output_program, output): Be sure
2212 to escape special characters when outputting filenames.
2213 (ACTSTR_PROLOGUE, ACTSTR_EPILOGUE): Remove.
2214 (output_headers): Don't depend on them, Use ACTSTR.
2215
d7045ec6
AD
22162000-11-17 Akim Demaille <akim@epita.fr>
2217
2218 * lib/obstack.h: Formatting changes.
2219 (obstack_grow, obstack_grow0): Don't cast WHERE at all: it
2220 prevents type checking.
2221 (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
2222 cast the value to (void *): assigning a `foo *' to a `void *'
2223 variable is valid.
2224 (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
2225 * src/reader.c (parse_union_decl): Typo: use obstack_1grow to
2226 append characters.
2227
6fd54b73
AD
22282000-11-17 Akim Demaille <akim@epita.fr>
2229
2230 * tests/Makefile.am (suite.m4, regression.m4, calc.m4): Rename
2231 as...
2232 (suite.m4, regression.m4, calc.m4): these.
2233 * tests/atgeneral.m4: Update from CVS Autoconf.
2234
4c50eae6
AD
22352000-11-17 Akim Demaille <akim@epita.fr>
2236
2237 * tests/regression.m4 (%union and --defines): New test,
2238 demonstrating a current bug in the obstack implementation.
2239
a35f64ea
AD
22402000-11-17 Akim Demaille <akim@epita.fr>
2241
2242 * src/bison.s1 (_YY_DECL_VARIABLES, YY_DECL_VARIABLES): New
2243 macros.
2244 Use them to declare the variables which are global or local to
2245 `yyparse'.
2246
7de23534
AD
22472000-11-17 Akim Demaille <akim@epita.fr>
2248
2249 * acconfig.h: Remove, no longer used.
2250
aa7815f5
AD
22512000-11-07 Akim Demaille <akim@epita.fr>
2252
2253 * src: s/Copyright (C)/Copyright/g.
2254
5af1f549
AD
22552000-11-07 Akim Demaille <akim@epita.fr>
2256
2257 * src/reader.c (reader): #define YYLSP_NEEDED to 1 instead of just
2258 defining.
2259 * src/bison.s1: s/#ifdef YYLSP_NEEDED/#if YYLSP_NEEDED/.
2260
553e2b22
AD
22612000-11-07 Akim Demaille <akim@epita.fr>
2262
2263 * src/bison.s1 (YYLEX): Use #if instead of #ifdef.
2264 Merge in a single CPP if/else.
2265
8a4f41d6
AD
22662000-11-07 Akim Demaille <akim@epita.fr>
2267
2268 * src/output.c (output): Remove useless variables.
2269 * lib/obstack.c (obstack_grow, obstack_grow0): Rename the second
2270 argument `data' for consistency with the prototypes.
2271 Qualify it `const'.
2272 (obstack_copy, obstack_copy0): Rename the second argument as
2273 `address' for consistency. Qualify it `const'.
2274 * lib/obstack.h (obstack_copy, obstack_copy0, obstack_grow)
2275 (obstack_grow0, obstack_ptr_grow, obstack_ptr_grow_fast): Qualify
2276 `const' their input argument (`data' or `address').
2277 Adjust the corresponding macros to include `const' in casts.
2278
095a3fb5
AD
22792000-11-03 Akim Demaille <akim@epita.fr>
2280
2281 * src/Makefile.am (INCLUDES): s/PFILE/BISON_SIMPLE/.
2282 s/PFILE1/BISON_HAIRY/.
2283 Adjust dependencies.
2284
d1cdce7c
AD
22852000-11-03 Akim Demaille <akim@epita.fr>
2286
090c5ebf 2287 For some reason, this was not applied.
d1cdce7c
AD
2288
2289 * src/files.c [VMS]: No longer include `ssdef.h', no longer define
2290 `unlink': it's no longer used.
2291
9311529b
AD
22922000-11-03 Akim Demaille <akim@epita.fr>
2293
2294 * src/files.c (skeleton_find): New function, eved out of...
2295 (open_files, open_extra_files): here.
2296
d8880f69
AD
22972000-11-03 Akim Demaille <akim@epita.fr>
2298
2299 Don't use `atexit'.
2300
2301 * src/files.c (obstack_save): New function.
2302 (done): Rename as...
2303 (output_files): this.
2304 Use `obstack_save'.
2305 * src/main.c (main): Don't use `atexit' to register `done', since
2306 it no longer has to remove tmp files, just call `output_files'
2307 when there are no errors.
2308
0dbb648e
AD
23092000-11-02 Akim Demaille <akim@epita.fr>
2310
2311 * src/files.c [VMS]: No longer include `ssdef.h', no longer define
2312 `unlink': it's no longer used.
2313 * src/files.h: Formatting changes.
2314
896fe5c1
AD
23152000-11-02 Akim Demaille <akim@epita.fr>
2316
2317 Remove the last uses of mktemp and unlink/delete.
2318
2319 * src/files.c (fdefines, ftable): Removed.
2320 (defines_ostack, table_obstack): New.
2321 Adjust dependencies of the former into uses of the latter.
2322 * src/output.c (output_short_or_char_table, output_short_table):
2323 Convert to using obstacks.
2324 * src/reader.c (copy_comment2): Accept one FILE * and two
2325 obstacks.
2326 (output_token_defines, reader_output_yylsp): Use obstacks.
2327 * src/system.h (obstack_fgrow3): New.
2328
dd60faec
AD
23292000-11-01 Akim Demaille <akim@epita.fr>
2330
2331 Change each use of `fattrs' into a use of `attrs_obstack'.
2332
2333 * src/reader.c (copy_at): Typo: s/yylloc/yyloc/.
2334 * src/files.c (fattrs): Remove.
2335 (attrs_obstack): New.
2336 Adjust all dependencies.
2337 (done): If SEMANTIC_PARSER, dump attrs_obstack into attrsfile.
2338
8c7ebe49
AD
23392000-11-01 Akim Demaille <akim@epita.fr>
2340
2341 Introduce obstacks.
2342 Change each use of `faction' into a use of `action_obstack'.
2343
2344 * lib/obstack.h, lib/obstack.c: New files.
2345 * src/files.c (faction): Remove.
2346 (action_obstack): New.
2347 Adjust all dependencies.
2348
77aee789
AD
23492000-10-20 Akim Demaille <akim@epita.fr>
2350
2351 * lib/quote.h (PARAMS): New macro. Use it.
2352
43591cec
AD
23532000-10-16 Akim Demaille <akim@epita.fr>
2354
2355 * src/output.c (output_short_or_char_table): New function.
2356 (output_short_table, output_token_translations): Use it.
2357 (goto_actions): Use output_short_table.
2358
1e9798d5
AD
23592000-10-16 Akim Demaille <akim@epita.fr>
2360
2361 * src/symtab.c (bucket_new): New function.
2362 (getsym): Use it.
2363
2364 * src/output.c (output_short_table): New argument to display the
2365 comment associated with the table.
2366 Adjust dependencies.
2367 (output_gram): Use it.
2368 (output_rule_data): Nicer output layout for YYTNAME.
2369
f282676b
AD
23702000-10-16 Akim Demaille <akim@epita.fr>
2371
2372 * src/lex.c (read_typename): New function.
2373 (lex): Use it.
2374 * src/reader.c (copy_dollar): Likewise.
2375
550a72a3
AD
23762000-10-16 Akim Demaille <akim@epita.fr>
2377
2378 * src/reader.c (copy_comment2): Expect the input stream to be on
2379 the `/' which is suspected to open a comment, instead of being
2380 called after `//' or `/*' was read.
2381 (copy_comment, copy_definition, parse_union_decl, copy_action)
2382 (copy_guard): Adjust.
2383
131e2fef
AD
23842000-10-16 Akim Demaille <akim@epita.fr>
2385
2386 * src/reader.c (parse_expect_decl): Use `skip_white_space' and
2387 `read_signed_integer'.
2388
79282c5a
AD
23892000-10-16 Akim Demaille <akim@epita.fr>
2390
2391 * src/reader.c (copy_dollar): New function.
2392 (copy_guard, copy_action): Use it.
2393
ff4a34be
AD
23942000-10-16 Akim Demaille <akim@epita.fr>
2395
2396 * lib/quote.h, lib/quote.c, lib/quotearg.h, lib/quotearg.c:
2397 * m4/prereq.m4, m4/c-bs-a.m4, m4/mbstate.m4:
2398 New files, from Fileutils 4.0.27.
2399 * src/main.c (printable_version): Remove.
2400 * src/lex.c, src/reader.c: Use `quote'.
2401
24022000-10-04 Akim Demaille <akim@epita.fr>
2403
2404 * lib/error.c, lib/error.h: New files, needed by xmalloc.c.
2405
14ded682
AD
24062000-10-04 Akim Demaille <akim@epita.fr>
2407
2408 * doc/bison.texinfo: Various typos spotted by Neil Booth.
2409
8e03724b
AD
24102000-10-04 Akim Demaille <akim@epita.fr>
2411
2412 When a literal string is used to define two different tokens,
2413 `bison -v' segfaults.
2414 Reported by Piotr Gackiewicz, and fixed by Neil Booth.
2415
2416 * tests/regression.m4: New file.
2417 Include the core of the sample provided by Piotr Gackiewicz.
2418 * src/reader.c (parse_token_decl): Diagnose bad cases, and proceed
2419 properly.
2420
a9e64249
AD
24212000-10-04 Akim Demaille <akim@epita.fr>
2422
2423 * src/reader.c (parse_expect_decl): Keep `count' within the size
2424 of `buffer'.
2425 From Neil Booth.
2426
da9abf43
AD
24272000-10-02 Paul Eggert <eggert@twinsun.com>
2428
2429 * bison.s1 (yyparse): Assign the default value
2430 unconditionally, to avoid a GCC warning and make the parser a
2431 tad smaller.
2432
c33638bb
AD
24332000-10-02 Akim Demaille <akim@epita.fr>
2434
2435 * src/getargs.c (getargs): Don't dump `--help' on unrecognized
2436 options.
2437
444c570a
AD
24382000-10-02 Akim Demaille <akim@epita.fr>
2439
2440 * src/derives.c, src/print.c, src/reduce.c: To ease the
2441 translation, move some `\n' out of the translated strings.
2442
89cab50d
AD
24432000-10-02 Akim Demaille <akim@epita.fr>
2444
2445 The location tracking mechanism is precious for parse error
2446 messages. Nevertheless, it is enabled only when `@n' is used in
2447 the grammar, which is a different issue (you can use it in error
2448 message, but not in the grammar per se). Therefore, there should
2449 be another means to enable it.
2450
2451 * src/getargs.c (getargs): Support `--locations'.
2452 (usage): Report it.
2453 * src/getargs.h (locationsflag): Export it.
2454 * src/lex.c (percent_table): Support `%locations'.
2455 * src/reader.c (yylsp_needed): Remove this variable, now replaced
2456 with `locationsflag'.
2457 * doc/bison.texinfo: Document `--locations' and `%locations'.
2458 Sort the options.
2459 * tests/calc.m4: Test it.
2460
2461 For regularity of the names, replace each
2462 (nolineflag, toknumflag, rawtokenumflag, noparserflag): with...
2463 (no_lineflag, token_tableflag, rawflag, no_parserflag): this.
2464 In addition replace each `flag' with `_flag'.
2465
d6c2cba0
AD
24662000-10-02 Akim Demaille <akim@epita.fr>
2467
2468 Also test parse error messages, including with YYERROR_VERBOSE.
2469
2470 * tests/calc.m4 (calc.y): Add support for `exp = exp' (non
2471 associative).
2472 Use it to check the computations.
2473 Use it to check `nonassoc' is honored.
2474 (AT_DATA_CALC_Y): Equip `calc.y' with YYERROR_VERBOSE when passed
2475 `--yyerror-verbose'.
2476 (_AT_CHECK_CALC): Adjust to this option.
2477 (_AT_CHECK_CALC_ERROR): New macro to check parse error messages.
2478
5a35a6cb
AD
24792000-10-02 Akim Demaille <akim@epita.fr>
2480
2481 Test also `--verbose', `--defines' and `--name-prefix'. Testing
2482 the latter demonstrates a flaw in the handling of non debugging
2483 parsers introduced by myself on 2000-03-16: `#define yydebug 0'
2484 was used in order to simplify:
2485
2486 #if YYDEBUG
2487 if (yydebug)
2488 {
2489 ...
2490 }
2491 #endif
2492
2493 into
2494
2495 if (yydebug)
2496 {
2497 ...
2498 }
2499
2500 unfortunately this leads to a CPP conflict when
2501 `--name-prefix=foo' is used since it produces `#define yydebug
2502 foodebug'.
2503
2504 * src/bison.s1 [!YYDEBUG]: Do not define yydebug.
2505 (YYDPRINTF): New macro.
2506 Spread its use.
2507 * tests/calc.m4 (AT_CHECK_CALC): Do require a title, build it from
2508 the bison options.
2509 Also test `--verbose', `--defines' and `--name-prefix'.
2510
71da9eea
AD
25112000-10-02 Akim Demaille <akim@epita.fr>
2512
2513 Improve the readability of the produced parsers.
2514
2515 * src/bison.s1: Formatting changes.
2516 Improve the comment related to the `$' mark.
2517 (yydefault): Don't fall through to `yyresume': `goto' there.
2518 * src/output.c (output_parser): When the `$' is met, skip the end
2519 of its line.
2520 New variable, `number_of_dollar_signs', to check there's exactly
2521 one `$' in the parser skeleton.
2522
95e36146
AD
25232000-10-02 Akim Demaille <akim@epita.fr>
2524
2525 * lib/xstrdup.c: New file, from the fileutils.
2526 * src/reader.c (parse_token_decl, get_type_name, parse_type_decl)
2527 (parse_assoc_decl, parse_thong_decl, get_type): Use `xstrdup'
2528 instead of strlen + xmalloc + strcpy.
2529 * src/symtab.c (copys): Remove, use xstrdup instead.
2530
d7020c20
AD
25312000-10-02 Akim Demaille <akim@epita.fr>
2532
2533 * src/gram.h (associativity): New enum type which replaces the
2534 former CPP macros `RIGHT_ASSOC', `LEFT_ASSOC' and `NON_ASSOC' with
2535 `right_assoc', `left_assoc' and `non_assoc'.
2536 Adjust all dependencies.
2537 * src/reader.c: Formatting changes.
2538 (LTYPESTR): Don't define it, use it as a literal in
2539 `reader_output_yylsp'.
2540 * src/symtab.h (symbol_class): New enum type which replaces the
2541 former CPP macros `SUNKNOWN', `STOKEN and `SNTERM' with
2542 `sunknown', `stoken and `snterm'.
2543
1916f98e
AD
25442000-10-02 Akim Demaille <akim@epita.fr>
2545
2546 * src/getargs.c (fixed_outfiles): Rename as...
2547 (yaccflag): for consistency and accuracy.
2548 Adjust dependencies.
2549
d7913476
AD
25502000-10-02 Akim Demaille <akim@epita.fr>
2551
2552 Use the more standard files `xalloc.h' and `xmalloc.c' instead of
2553 Bison's `allocate.c' and `alloc.h'. This patch was surprisingly
2554 difficult and introduced a lot of core dump. It turns out that
2555 Bison used an implementation of `xmalloc' based on `calloc', and
2556 at various places it does depend upon the initialization to 0. I
2557 have not tried to isolate the pertinent places, and all the former
2558 calls to Bison's `xmalloc' are now using `XCALLOC'. Someday,
2559 someone should address this issue.
2560
2561 * src/allocate.c, src/alloc.h, m4/bison-decl.m4: Remove.
2562 * lib/xmalloc.c, lib/xalloc.h, m4/malloc.m4, m4/realloc.m4: New
2563 files.
2564 Adjust dependencies.
2565 * src/warshall.h: New file.
2566 Propagate.
2567
340ef489
AD
25682000-10-02 Akim Demaille <akim@epita.fr>
2569
2570 Various anti-`extern in *.c' changes.
2571
2572 * src/system.h: Include `assert.h'.
2573
b2ca4022
AD
25742000-10-02 Akim Demaille <akim@epita.fr>
2575
2576 * src/state.h (nstates, final_state, first_state, first_shift)
2577 (first_reduction): Move their exportation from here...
2578 * src/LR0.h: to here.
2579 Adjust dependencies.
2580 * src/getargs.c (statisticsflag): New variable.
2581 Add support for `--statistics'.
2582 Adjust dependencies.
2583
2584 Remove a lot of now useless `extern' statements in most files.
2585
403b315b
AD
25862000-10-02 Akim Demaille <akim@epita.fr>
2587
2588 * src/LR0.h: New file.
2589 Propagate its use.
2590
07a58c13
AD
25912000-10-02 Akim Demaille <akim@epita.fr>
2592
2593 * src/print.h: New file.
2594 Propagate its use.
2595 * src/print.c: Formatting and ordering changes.
2596 (verbose, terse): Replace with...
2597 (print_results): this new function.
2598 Adjust dependencies.
2599
0619caf0
AD
26002000-10-02 Akim Demaille <akim@epita.fr>
2601
2602 * src/conflicts.c (conflict_report): New function.
2603 (conflict_log, verbose_conflict_log): Replace with...
2604 (print_conflicts): this function.
2605 Adjust dependencies.
2606 * src/conflicts.h: New file.
2607 Propagate its inclusion.
2608
3519ec76
AD
26092000-10-02 Akim Demaille <akim@epita.fr>
2610
2611 * src/nullable.h: New file.
2612 Propagate its inclusion.
2613 * src/nullable.c: Formatting changes.
2614
015acc48
AD
26152000-10-02 Akim Demaille <akim@epita.fr>
2616
2617 * src/reduce.h: New file.
2618 Propagate its inclusion.
2619 * src/reduce.c: Topological sort and other formatting changes.
2620 (bool, TRUE, FALSE): Move their definition to...
2621 * src/system.h: here.
2622
8963a27b
AD
26232000-10-02 Akim Demaille <akim@epita.fr>
2624
2625 * src/files.c: Formatting changes.
2626 (tryopen, tryclose, openfiles): Rename as...
2627 (xfopen, xfclose, open_files): this.
2628 (stringappend): static.
2629 * src/files.h: Complete the list of exported symbols.
2630 Propagate its use.
2631
a70083a3
AD
26322000-10-02 Akim Demaille <akim@epita.fr>
2633
2634 * src/reader.h: New file.
2635 Propagate its use instead of tedious list of `extern' and
2636 prototypes.
2637 * src/reader.c: Formatting changes, topological sort,
2638 s/register//.
2639
abadc117
AD
26402000-10-02 Akim Demaille <akim@epita.fr>
2641
2642 * src/lex.h: Prototype `lex.c' exported functions.
2643 * src/reader.c: Adjust.
2644 * src/lex.c: Formatting changes.
2645 (safegetc): Rename as...
2646 (xgetc): this.
2647
720d742f
AD
26482000-10-02 Akim Demaille <akim@epita.fr>
2649
2650 * src/lalr.h: New file.
2651 Propagate its inclusion instead of prototypes and `extern'.
2652 * src/lalr.c: Formatting changes, topological sorting etc.
2653
f2acea59
AD
26542000-10-02 Akim Demaille <akim@epita.fr>
2655
2656 * src/output.c (token_actions): Introduce a temporary array,
2657 YYDEFACT, that makes it possible for this function to use
2658 output_short_table.
2659
d019d655
AD
26602000-10-02 Akim Demaille <akim@epita.fr>
2661
2662 `user_toknums' is output as a `short[]' in `output.c', while it is
2663 defined as a `int[]' in `reader.c'. For consistency with the
2664 other output tables, `user_toknums' is now defined as a table of
2665 shorts.
2666
2667 * src/reader.c (user_toknums): Be a short table instead of an int
2668 table.
2669 Adjust dependencies.
2670
2671 Factor the short table outputs.
2672
2673 * src/output.c (output_short_table): New function.
2674 * src/output.c (output_gram, output_stos, output_rule_data)
2675 (output_base, output_table, output_check): Use it.
2676
6c89f1c1
AD
26772000-10-02 Akim Demaille <akim@epita.fr>
2678
2679 * src/output.c (output): Topological sort of the functions, in
2680 order to get rid of the `static' prototypes.
2681 No longer use `register'.
2682 * src/output.h: New file.
2683 Propagate its inclusion in files explicitly prototyping functions
2684 from output.c.
2685
d9efd181
AD
26862000-09-21 Akim Demaille <akim@epita.fr>
2687
2688 * src/atgeneral.m4: Update from Autoconf.
2689
c29240e7 26902000-09-21 Akim Demaille <akim@epita.fr>
2fa6973e
AD
2691
2692 * src/closure.h: New file.
2693 * src/closure.c: Formatting changes, topological sort over the
2694 functions, use of closure.h.
2695 (initialize_closure, finalize_closure): Rename as...
2696 (new_closure, free_closure): these. Adjust dependencies.
2697 * src/LR0.c: Formatting changes, topological sort, use of
2698 cloture.h.
2699 (initialize_states): Rename as...
2700 (new_states): this.
2701 * src/Makefile.am (noinst_HEADERS): Adjust.
2702
499daa50
AD
27032000-09-20 Akim Demaille <akim@epita.fr>
2704
2705 * src/acconfig.h: Don't protect config.h against multiple
2706 inclusion.
2707 Don't define PARAMS.
2708 * src/system.h: Define PARAMS.
2709 Remove some of the ad-hoc CPP magic for DOS, VMS etc.: this is the
2710 purpose of config.h. system.h must not try to fix wrong
2711 definitions in config.h.
2712
cc84fd5d
AD
27132000-09-20 Akim Demaille <akim@epita.fr>
2714
2715 * src/derives.h: New file.
2716 * src/main.c, src/derives.h: Use it.
2717 Formatting changes.
2718 * src/Makefile.am (noinst_HEADERS): Adjust.
2719
db5b3a89
AD
27202000-09-20 Akim Demaille <akim@epita.fr>
2721
2722 * tests/atgeneral.m4: Update from Autoconf.
2723 * tests/calc.m4 (_AT_DATA_CALC_Y, AT_DATA_CALC_Y, _AT_CHECK_CALC)
2724 (AT_CHECK_CALC): New macros.
2725 Use these macros to test bison with options `', `--raw',
2726 `--debug', `--yacc', `--yacc --debug'.
2727
ceed8467
AD
27282000-09-19 Akim Demaille <akim@epita.fr>
2729
2730 * src/output.c: Formatting changes.
2731 * src/machine.h: Remove, leaving its contents in...
2732 * src/system.h: here.
2733 Include stdio.h.
2734 Adjust all dependencies on stdio.h and machine.h.
2735 * src/getargs.h: New file.
2736 Let all `extern' declarations about getargs.c be replaced with
2737 inclusion of `getargs.h'.
2738 * src/Makefile.am (noinst_HEADERS): Adjust.
2739
2740 * tests/calc.m4 (yyin): Be initialized in main, not on the global
2741 scope.
2742 (yyerror): Returns void, not int.
2743 * doc/bison.texinfo: Formatting changes.
2744
05a1d24b
AD
27452000-09-19 Akim Demaille <akim@epita.fr>
2746
2747 * tests/calc.m4 (calc.y): Do not assign to stdin, as it's not
2748 portable.
2749
cbd25751
AD
27502000-09-18 Akim Demaille <akim@epita.fr>
2751
2752 * configure.in: Append WARNING_CFLAGS to CFLAGS.
2753 * src/Makefile.am (INCLUDES): Don't.
2754 Be ready to fetch headers in lib/.
2755
13863333
AD
27562000-09-18 Akim Demaille <akim@epita.fr>
2757
2758 * doc/bison.texinfo: Update the copyright.
2759 ANSIfy and GNUify the examples.
2760 Remove the old menu.
2761
0d533154
AD
27622000-09-18 Akim Demaille <akim@epita.fr>
2763
2764 First set of tests: use the `calc' example from the documentation.
2765
2766 * src/bison.s1 (yyparse): Condition the code using `yytname' which
2767 is defined only when YYDEBUG is.
2768 * m4/atconfig.m4 (AT_CONFIG): Adjust to Autoconf 2.13.
2769 * src/files.c (tryopen, tryclose): Formatting changes.
2770 Move to the top and be static.
2771 * src/reader.c (read_signed_integer): Likewise.
2772 * tests/calc.m4: New file.
2773 * Makefile.am, suite.m4: Adjust.
2774 * m4/atconfig.m4: Set BISON_SIMPLE and BISON_HAIRY.
2775
e79137ac
AD
27762000-09-18 Akim Demaille <akim@epita.fr>
2777
2778 Add support for an Autotest test suite for Bison.
2779
2780 * m4/m4.m4, m4/atconfig.m4: New files.
2781 * m4/Makefile.am (EXTRA_DIST): Adjust.
2782 * tests/suite.m4, tests/Makefile.am, tests/atgeneral.m4: New
2783 files.
2784 * src/getargs.c: Display a more standard --version message.
2785 * src/reader.c (reader): Formatting changes.
2786 No longer depend upon VERSION_STRING.
2787 * configure.in: No longer use `dnl'.
2788 Set up the test suite and the new directory `tests/.
2789 (VERSION_STRING): Remove.
2790
27821bff
AD
27912000-04-14 Akim Demaille <akim@epita.fr>
2792
2793 * src/reader.c (copy_comment2): New function, same as former
2794 `copy_comment', but outputs into two FILE *.
2795 (copy_comment): Use it.
2796 (parse_union_decl): Use it.
2797 (get_type, parse_start_decl): Use the same `invalid' message.
2798 (parse_start_decl, parse_union_decl): Use the same `multiple'
2799 message.
2800 (parse_union_decl, copy_guard, copy_action): Use the same
2801 `unmatched' message.
2802 * m4/Makefile.am (EXTRA_DIST): Add `warning.m4'.
2803
cfe5fbc0
AD
28042000-03-31 Akim Demaille <akim@epita.fr>
2805
2806 * src/files.c (tryopen, tryclose): Move to the top.
2807 Be static.
2808
cb7db13e
AD
28092000-03-31 Akim Demaille <akim@epita.fr>
2810
2811 * src/main.c (main): Don't call `done', exit does it.
2812
a0f6b076
AD
28132000-03-31 Akim Demaille <akim@epita.fr>
2814
36281465
AD
2815 * allocate.c: s/return (foo)/return foo/.
2816 * lalr.c: Likewise.
2817 * LR0.c: Likewise.
2818 * output.c: Likewise.
2819 * reader.c: Likewise.
2820 * symtab.c: Likewise.
2821 * vmsgetargs.c: Likewise.
2822
28232000-03-31 Akim Demaille <akim@epita.fr>
2824
2825 Clean up the error reporting functions.
a0f6b076
AD
2826
2827 * src/report.c: New file.
2828 * src/report.h: Likewise.
2829 * src/Makefile.am: Adjust.
2830 * m4/error.m4: New file.
2831 * m4/Makefile.am: Adjust.
2832 * configure.in (jm_PREREQ_ERROR): Call it.
2833 * src/main.c (int_to_string, banner, fatal_banner, warn_banner):
2834 Remove.
2835 (fatal, fatals): Remove. All callers use complain.c::fatal.
2836 (warn, warni, warns, warnss, warnss): Remove. All callers use
2837 complain.c::complain.
2838 (toomany): Remove, use fatal instead.
2839 * src/files.c (done): No argument, use complain_message_count.
2840 * src/main.c (main): Register `done' to `atexit'.
2841
2842 * src/getargs.c (usage): More `fputs', less `fprintf'.
2843
18539825
AD
28442000-03-28 Akim Demaille <akim@epita.fr>
2845
2846 * lib/: New directory.
2847 * Makefile.am (SUBDIRS): Adjust.
2848 * configure.in: Adjust.
2849 (LIBOBJS): Although not used yet, AC_SUBST it, otherwise it's
2850 useless.
2851 * src/alloca.c: Moved to lib/.
2852 * src/getopt.c: Likewise.
2853 * src/getopt1.c: Likewise.
2854 * src/getopt.h: Likewise.
2855 * src/ansi2knr.c: Likewise.
2856 * src/ansi2knr.1: Likewise.
2857 * src/Makefile.am: Adjust.
2858 * lib/Makefile.am: New file.
2859
9f306f2a
AD
28602000-03-28 Akim Demaille <akim@epita.fr>
2861
2862 * src/getargs.c (usage): Refresh the help message.
2863
0ba347b6
AD
28642000-03-17 Akim Demaille <akim@epita.fr>
2865
2866 * src/getopt1.c: Updated from textutils 2.0e
2867 * src/getopt.c: Likewise.
2868 * src/getopt.h: Likewise.
2869
dbe7f271
AD
28702000-03-17 Akim Demaille <akim@epita.fr>
2871
2872 * src/Makefile.am (bison.simple): Fix the awk program: quote only
2873 the file name, not the whole `#line LINE FILE'.
2874
75bbe78d
AD
28752000-03-17 Akim Demaille <akim@epita.fr>
2876
2877 On syntax errors, report the token on which we choked.
2878
aa5fd0ee
AD
2879 * src/bison.s1 (yyparse): In the label yyerrlab, when
2880 YYERROR_VERBOSE, add yychar in msg.
75bbe78d 2881
7b306f52
AD
28822000-03-17 Akim Demaille <akim@epita.fr>
2883
aa5fd0ee 2884 * src/reader.c (copy_at): New function.
7b306f52
AD
2885 (copy_guard): Use it.
2886 (copy_action): Use it.
2887
e87b5700
AD
28882000-03-17 Akim Demaille <akim@epita.fr>
2889
2890 Be kind to translators, save some useless translations.
2891
aa5fd0ee 2892 * src/main.c (banner): New function.
e87b5700
AD
2893 (fatal_banner): Use it.
2894 (warn_banner): Use it.
2895
ae3c3164
AD
28962000-03-17 Akim Demaille <akim@epita.fr>
2897
aa5fd0ee
AD
2898 * src/reader.c (copy_definition): Use copy_string and
2899 copy_comment. Removed now unused `match', `ended',
2900 `cplus_comment'.
ae3c3164
AD
2901 (copy_comment, copy_string): Moved, to be visible from
2902 copy_definition.
2903
4dc58e7c
AD
29042000-03-17 Akim Demaille <akim@epita.fr>
2905
aa5fd0ee
AD
2906 * src/reader.c (copy_string): Declare `static inline'. No
2907 problems with inline, since it is checked by configure.
4dc58e7c
AD
2908 (copy_comment): Likewise.
2909
0a6384c4
AD
29102000-03-17 Akim Demaille <akim@epita.fr>
2911
aa5fd0ee 2912 * src/reader.c (packsymbols): Formatting changes.
0a6384c4 2913
3cef001a
AD
29142000-03-17 Akim Demaille <akim@epita.fr>
2915
aa5fd0ee 2916 * src/reader.c (copy_comment): New function, factored out from:
3cef001a
AD
2917 (copy_action): Use it. Removed now unused `match', `ended',
2918 `cplus_comment'.
2919 (copy_guard): Likewise.
2920
ca36d2ef
AD
29212000-03-17 Akim Demaille <akim@epita.fr>
2922
aa5fd0ee 2923 * src/reader.c (copy_string): New function, factored out from:
ca36d2ef
AD
2924 (copy_action): Use it.
2925 (copy_guard): Likewise.
2926
6666f98f
AD
29272000-03-17 Akim Demaille <akim@epita.fr>
2928
2929 Change the handling of @s so that they behave exactly like $s.
2930 There is now a pseudo variable @$ (readble and writable), location
2931 of the lhs of the rule (by default ranging from the location of
2932 the first symbol of the rhs, to the location of the last symbol,
2933 or, if the rhs is empty, YYLLOC).
2934
2935 * src/bison.s1 [YYLSP_NEEDED] (yyloc): New variable, twin of
2936 yyval.
2937 (yyparse): When providing a default semantic action, provide a
2938 default location action.
2939 (after the $): No longer change `*YYLSP', just stack YYLOC the
2940 same way you stack YYVAL.
2941 * src/reader.c (read_declarations): Use warns.
2942 (copy_guard, case '@'): Also recognize `@$', expanded as `YYLOC'.
2943 (copy_action, case '@'): Likewise.
2944 Use a standard error message, to save useless work from
2945 translators.
2946
41aca2e0
AD
29472000-03-17 Akim Demaille <akim@epita.fr>
2948
aa5fd0ee
AD
2949 * src/bison.s1: Formatting and cosmetics changes.
2950 * src/reader.c: Likewise.
41aca2e0
AD
2951 Update the Copyright notice.
2952
dc08c1d5
AD
29532000-03-17 Akim Demaille <akim@epita.fr>
2954
aa5fd0ee
AD
2955 * src/bison.s1 (#line): All set to `#line' only, since the
2956 Makefile now handles them.
dc08c1d5 2957
9ee3c97b
AD
29582000-03-16 Akim Demaille <akim@epita.fr>
2959
2960 * src/output.c (output_rule_data): Output the documentation of
2961 some of the tables.
2962 (Copyright notice): Update.
2963 Formatting changes.
2964
0de741ca
AD
29652000-03-16 Akim Demaille <akim@epita.fr>
2966
2967 * src/bison.s1 [!YYDEBUG]: Define yydebug to 0. This allows to
2968 remove most `#if YYDEBUG != 0', since `if (yydebug)' is enough.
2969 One `#if YYDEBUG' remains, since it uses variables which are
2970 defined only if `YYDEBUG != 0'.
2971
bb10be54
AD
29722000-03-16 Akim Demaille <akim@epita.fr>
2973
2974 * src/bison.s1 (yyparse): Reorganize the definitions of the stacks
2975 and related variables so that the similarities are highlighted.
2976
b07b484a
AD
29772000-03-16 Akim Demaille <akim@epita.fr>
2978
2979 * src/bison.s1: Properly indent CPP directives.
2980
361f60b3
AD
29812000-03-16 Akim Demaille <akim@epita.fr>
2982
2983 * src/bison.s1: Properly indent the `alloca' CPP section.
2984
8c44d3ec
AD
29852000-03-16 Akim Demaille <akim@epita.fr>
2986
2987 Do not hard code values of directories in `configure.in'.
2988 Update the `configure' tool chain.
2989
2990 * configure.in (XPFILE, XPFILE1, LOCALEDIR): Remove, handled by
2991 src/makefile.am.
2992 (VERSION_STRING): Use the third arg of AC_DEFINE_UNQUOTED.
2993 (AC_OUTPUT): Add m4/Makefile.
2994 Bump to bison 1.28a, 1.29 has never been released.
2995 * acconfig.h (XPFILE, XPFILE1, LOCALEDIR): Remove, since they are
2996 handled via src/Makefile.am.
2997 (VERSION_STRING, PROTOTYPES, ENABLE_NLS, HAVE_CATGETS,
2998 HAVE_GETTEXT, HAVE_LC_MESSAGES, HAVE_STPCPY): Remove, handled by
2999 autoheader.
3000 * Makefile.am (SUBDIRS): Add m4.
3001 (ACLOCAL_AM_FLAGS): New variable.
3002 (AUTOMAKE_OPTIONS): Add check-news.
3003 * src/Makefile.am (bison.simple): Use awk to replace #line lines with
3004 the proper line number and file name.
3005 (DEFS): Propagate the location of bison library files and of the
3006 locale files.
3007 (INCLUDES): Added `-I ..' so that one can compile with srcdir !=
3008 builddir.
3009 * acinclude.m4: Remove, replaced by the directory m4.
3010 * m4/Makefile.am (EXTRA_DIST): New variable.
3011 * m4/gettext.m4: New file, from the fileutils.
3012 * m4/lcmessage.m4: Likewise
3013 * m4/progtest.m4: Likewise.
3014 * m4/bison-decl.m4: New file, extracted from former acinclude.m4.
3015
f95997e7
AD
30162000-03-10 Akim Demaille <akim@epita.fr>
3017
3018 * src/closure.c:
3019 Formatting changes of various comments.
3020 Respect the GNU coding standards at various places.
3021 Don't use `_()' when no translation is needed.
3022
30231999-12-13 Jesse Thilo <jthilo@gnu.org>
3024
3025 * src/files.c:
3026 OS/2 honors TMPDIR environment variable.
3027
30281999-12-13 Jesse Thilo <jthilo@gnu.org>
3029
3030 * doc/bison.texinfo: Tweaked spelling and grammar.
3031 Updated ISBN.
3032 Removed reference to price of printed copy.
3033 Mention BISON_SIMPLE and BISON_HAIRY.
3034
30351999-12-13 Jesse Thilo <jthilo@gnu.org>
3036
3037 * configure.in, NEWS:
3038 Bison 1.29 released.
3039
30401999-10-27 Jesse Thilo <jthilo@gnu.org>
3041
3042 * doc/.cvsignore, doc/Makefile.am, doc/refcard.tex:
3043 Added reference card.
3044
30451999-07-26 Jesse Thilo <jthilo@gnu.org>
3046
3047 * po/ru.po: Added Russian translation.
3048
30491999-07-26 Jesse Thilo <jthilo@gnu.org>
3050
3051 * configure.in: Added Russian translation.
3052
30531999-07-06 Jesse Thilo <jthilo@gnu.org>
3054
3055 * configure.in, NEWS, README:
3056 Released version 1.28.
3057
30581999-06-14 Jesse Thilo <jthilo@gnu.org>
3059
3060 * src/system.h:
3061 Squashed redefinition warning on some systems.
3062
3063 * src/getargs.c, src/Makefile.am, src/reader.c, src/version.c:
3064 Have configure build version string instead of relying on ANSI string
3065 concatentation.
3066
30671999-06-14 Jesse Thilo <jthilo@gnu.org>
3068
3069 * po/POTFILES.in: Got rid of version.c.
3070
30711999-06-14 Jesse Thilo <jthilo@gnu.org>
3072
3073 * acconfig.h, configure.in:
3074 Have configure build version string instead of relying on ANSI string
3075 concatentation.
3076
30771999-06-08 Jesse Thilo <jthilo@gnu.org>
3078
3079 * doc/bison.1:
3080 Dropped mention of `+' for long-named options.
3081
30821999-05-30 Jesse Thilo <jthilo@gnu.org>
3083
3084 * src/files.c: Added <unistd.h> for unlink().
3085
3086 * src/Makefile.am, src/system.h:
3087 I18n fixes.
3088
30891999-05-30 Jesse Thilo <jthilo@gnu.org>
3090
3091 * README: Added a FAQ list.
3092
3093 * configure.in, acconfig.h:
3094 I18n fixes.
3095
30961999-05-30 Jesse Thilo <jthilo@gnu.org>
3097
3098 * doc/FAQ, doc/Makefile.am:
3099 Added a FAQ list.
3100
31011999-05-19 Jesse Thilo <jthilo@gnu.org>
3102
3103 * src/alloc.h, src/symtab.h, src/version.c:
3104 Protected inclusion of "config.h" with HAVE_CONFIG_H.
3105
31061999-04-18 Jesse Thilo <jthilo@gnu.org>
3107
3108 * src/.cvsignore, src/Makefile.am:
3109 Reorganized: sources in `src', documentation in `doc'.
3110
3111 * src/lex.c (literalchar):
3112 fixed the code for escaping double quotes (thanks
3113 Jonathan Czisny.)
3114
31151999-04-18 Jesse Thilo <jthilo@gnu.org>
3116
3117 * po/de.po, po/es.po, po/fr.po, po/nl.po, po/POTFILES.in:
3118 Adjusted paths to reflect directory reorganization.
3119
31201999-04-18 Jesse Thilo <jthilo@gnu.org>
3121
3122 * doc/.cvsignore, doc/Makefile.am:
3123 Reorganized: sources in `src', documentation in `doc'.
3124
31251999-04-18 Jesse Thilo <jthilo@gnu.org>
3126
3127 * configure.in:
3128 Updated AC_INIT file to reflect directory reorganization.
3129
3130 * configure.in, .cvsignore, Makefile.am, POTFILES.in:
3131 Reorganized: sources in `src', documentation in `doc'.
3132
31331999-04-13 Jesse Thilo <jthilo@gnu.org>
3134
3135 * src/allocate.c:
3136 Don't declare calloc() and realloc() if not necessary.
3137
31381999-04-13 Jesse Thilo <jthilo@gnu.org>
3139
3140 * configure.in, acconfig.h, acinclude.m4:
3141 Don't declare calloc() and realloc() if not necessary.
3142
31431999-03-23 Jesse Thilo <jthilo@gnu.org>
3144
3145 * po/.cvsignore: Added i18n support.
3146
31471999-03-23 Jesse Thilo <jthilo@gnu.org>
3148
3149 * acconfig.h, configure.in, Makefile.am:
3150 Added i18n support.
3151
31521999-03-22 Jesse Thilo <jthilo@gnu.org>
3153
3154 * src/bison.s1: Fixed #line numbers.
3155
31561999-03-15 Jesse Thilo <jthilo@gnu.org>
3157
3158 * po/es.po, po/fr.po, po/nl.po, po/de.po:
3159 Added PO files from Translation Project.
3160
31611999-03-03 Jesse Thilo <jthilo@gnu.org>
3162
3163 * Makefile.am:
3164 Added support for non-ANSI compilers (ansi2knr).
3165
31661999-02-16 Jesse Thilo <jthilo@gnu.org>
3167
3168 * configure.in: Bumped version number to 1.27.
3169
3170 * Makefile.am:
3171 Added `bison.simple' to list of files removed by `make distclean'.
3172
31731999-02-12 Jesse Thilo <jthilo@gnu.org>
3174
3175 * src/files.c, src/files.h:
3176 Defined locations of parser files in config.h instead of Makefile.
3177
31781999-02-12 Jesse Thilo <jthilo@gnu.org>
3179
3180 * acconfig.h, acinclude.m4, configure.in, Makefile.am:
3181 Defined locations of parser files in config.h instead of Makefile.
3182
31831999-02-09 Jesse Thilo <jthilo@gnu.org>
3184
3185 * Makefile.am:
3186 Removed inappropriate use of $< macro.
3187
31881999-02-05 Jesse Thilo <jthilo@gnu.org>
3189
3190 * po/Makefile.in.in, po/POTFILES.in:
3191 Add `po' directory skeleton.
3192
31931999-01-27 Jesse Thilo <jthilo@gnu.org>
3194
3195 * README: Document help-bison list.
3196
3197 * configure.in: Add check for mkstemp().
3198
31991999-01-20 Jesse Thilo <jthilo@gnu.org>
3200
3201 * src/conflicts.c, src/LR0.c, src/output.c, src/reader.c:
3202 Hush a few compiler warnings.
3203
3204 * src/files.c:
3205 Add tryclose(), which verifies that fclose was successful.
3206 Hush a couple of compiler warnings.
3207
32081999-01-20 Jesse Thilo <jthilo@gnu.org>
3209
3210 * Makefile.am, OChangeLog:
3211 ChangeLog is now automatically generated. Include the old version as
3212 OChangeLog.
3213
32141999-01-14 Jesse Thilo <jthilo@gnu.org>
3215
3216 * 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:
3217 Update FSF address.
3218
32191999-01-14 Jesse Thilo <jthilo@gnu.org>
3220
3221 * doc/bison.texinfo: Fix formatting glitch.
3222
3223 * doc/bison.texinfo: Update FSF address.
3224
32251999-01-14 Jesse Thilo <jthilo@gnu.org>
3226
3227 * acconfig.h: Update FSF address.
3228
32291999-01-08 Jesse Thilo <jthilo@gnu.org>
3230
3231 * src/system.h:
3232 Don't define PACKAGE here, since config.h defines it.
3233
32341998-12-30 Jesse Thilo <jthilo@gnu.org>
3235
3236 * src/reader.c: Update copyright date.
3237
3238 * src/main.c:
3239 Ditch sprintf to statically-sized buffers in fatal/warn functions in
3240 favor of output directly to stderr (avoids buffer overruns).
3241
3242 * src/reader.c: Some checks for premature EOF.
3243
3244 * 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:
3245 Use prototypes if the compiler understands them.
3246
3247 * src/files.c: Honor TMPDIR on Unix hosts.
3248 Use prototypes if the compiler understands them.
3249
3250 * src/reader.c:
3251 Fix a couple of buffer overrun bugs.
3252 Use prototypes if the compiler understands them.
3253
3254 * src/system.h: Include unistd.h and ctype.h.
3255 Use #ifdef instead of #if for NLS symbols.
3256
32571998-12-30 Jesse Thilo <jthilo@gnu.org>
3258
3259 * doc/bison.texinfo:
3260 Delete comment "consider using @set for edition number, etc..." since
3261 we now are doing so.
3262
32631998-12-30 Jesse Thilo <jthilo@gnu.org>
3264
3265 * configure.in:
3266 Use prototypes if the compiler understands them.
3267
3268 * NEWS: Document 1.26 highlights.
3269
3270 * Makefile.am: Require Automake 1.3 or later.
3271
3272 * acconfig.h:
3273 Use prototypes if the compiler understands them.
3274
32751998-12-29 Jesse Thilo <jthilo@gnu.org>
3276
3277 * src/version.c:
3278 Use VERSION symbol from automake for version number.
3279
32801998-12-29 Jesse Thilo <jthilo@gnu.org>
3281
3282 * acconfig.h, configure.in, version.cin:
3283 Use VERSION symbol from automake for version number.
3284
32851998-11-28 Jesse Thilo <jthilo@gnu.org>
3286
3287 * Makefile.am:
3288 Distribute original version of simple parser (bison.s1), not built
3289 version (bison.simple).
3290
32911998-11-28 Jesse Thilo <jthilo@gnu.org>
3292
3293 * doc/bison.texinfo: Add info dir entry.
3294
3295 * doc/bison.texinfo:
3296 Let automake put version number into documentation.
3297
32981998-11-26 Jesse Thilo <jthilo@gnu.org>
3299
3300 * src/bison.cld, src/build.com, src/vmshlp.mar:
3301 Add non-RCS files from /gd/gnu/bison.
3302
33031998-11-26 Jesse Thilo <jthilo@gnu.org>
3304
3305 * doc/bison.1:
3306 Document the BISON_HAIRY and BISON_SIMPLE variables.
3307
33081998-11-25 Jesse Thilo <jthilo@gnu.org>
3309
3310 * src/version.c: Build version.c automatically.
3311
3312 * src/reader.c:
3313 Fix token numbering (used to start at 258, not 257).
3314
3315 * src/system.h: Include config.h.
3316
3317 * src/getargs.c: Update bug report address.
3318
3319 * src/alloca.c, src/getopt1.c, src/getopt.c, src/getopt.h:
3320 Get latest copies of alloca.c, getopt.c, getopt.h, getopt1.c from gnu.org.
3321
33221998-11-25 Jesse Thilo <jthilo@gnu.org>
3323
3324 * Makefile.am:
3325 Rename bison.simple to bison.s1 (bison.simple is then built from bison.s1).
3326
3327 * configure.in, version.cin:
3328 Build version.c automatically.
3329
3330 * AUTHORS: Add AUTHORS file.
3331
3332 * README: Update bug report address.
3333
3334 * bison.simple:
3335 Rename bison.simple to bison.s1 (bison.simple is then built from bison.s1).
3336
3337 * configure.in, Makefile.am, Makefile.in, stamp-h.in:
3338 Add automake stuff.
3339
33401998-11-25 Jesse Thilo <jthilo@gnu.org>
3341
3342 * doc/bison.texinfo: Clean up some formatting.
3343
33441998-05-05 Richard Stallman <rms@gnu.org>
3345
3346 * doc/bison.texinfo:
3347 Explain better why to make a pure parser.
3348
33491998-01-05 Richard Stallman <rms@gnu.org>
3350
3351 * src/files.c (openfiles):
3352 [_WIN32 && !__CYGWIN32__] Use TEMP or Temp to
3353 find a temporary directory, if possible. Do not unlink files while
3354 they are open.
3355
33561997-08-25 Richard Stallman <rms@gnu.org>
3357
3358 * src/reader.c (stack_offset;):
3359 Change some warni to warns.
3360
3361 * src/lex.c (literalchar): Use warns, not warni.
3362
33631997-06-28 Richard Stallman <rms@gnu.org>
3364
3365 * src/bison.s1: Add a Bison version comment.
3366
3367 * src/main.c (fatal, warn, berror):
3368 Use program_name.
3369
33701997-06-28 Richard Stallman <rms@gnu.org>
3371
3372 * Makefile.in (bison_version): New variable.
3373 (dist): Use that variable.
3374 (bison.s1): Substitute the Bison version into bison.simple.
3375
3376 * bison.simple: Add a Bison version comment.
3377
33781997-06-18 Richard Stallman <rms@gnu.org>
3379
3380 * src/main.c (fatal, warn, berror):
3381 Make error messages standard.
3382 (toomany): Improve error message text.
3383
3384 * 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:
3385 new.h renamed to alloc.h.
3386
33871997-06-18 Richard Stallman <rms@gnu.org>
3388
3389 * Makefile.in: new.h renamed to alloc.h.
3390
33911997-05-24 Richard Stallman <rms@gnu.org>
3392
3393 * src/lex.c (literalchar):
3394 Fix the code for escaping \, " and '.
3395
3396 (lex): Avoid trouble when there are many chars
3397 to discard in a char literal with just several chars in it.
3398
33991997-05-17 Richard Stallman <rms@gnu.org>
3400
3401 * src/bison.s1:
3402 Use malloc, if using alloca is troublesome.
3403 (YYSTACK_USE_ALLOCA): New flag macro.
3404 Define it for some systems and compilers.
3405 (YYSTACK_ALLOC): New macro.
3406 (yyparse): Use YYSTACK_ALLOC to allocate stack.
3407 If it was malloc'd, free it.
3408
34091997-05-17 Richard Stallman <rms@gnu.org>
3410
3411 * bison.simple:
3412 Use malloc, if using alloca is troublesome.
3413 (YYSTACK_USE_ALLOCA): New flag macro.
3414 Define it for some systems and compilers.
3415 (YYSTACK_ALLOC): New macro.
3416 (yyparse): Use YYSTACK_ALLOC to allocate stack.
3417 If it was malloc'd, free it.
3418
34191997-04-23 Richard Stallman <rms@gnu.org>
3420
3421 * src/bison.s1:
3422 (alloca) [__hpux]: Always define as __builtin_alloca.
3423
34241997-04-23 Richard Stallman <rms@gnu.org>
3425
3426 * bison.simple:
3427 (alloca) [__hpux]: Always define as __builtin_alloca.
3428
34291997-04-22 Richard Stallman <rms@gnu.org>
3430
3431 * src/bison.s1:
3432 [__hpux]: Include alloca.h (right for HPUX 10)
3433 instead of declaring alloca (right for HPUX 9).
3434
3435 * src/bison.s1 (__yy_memcpy):
3436 Declare arg `count' as unsigned int.
3437 (yyparse): Cast third arg to __yy_memcpy to unsigned int.
3438
34391997-04-22 Richard Stallman <rms@gnu.org>
3440
3441 * bison.simple:
3442 [__hpux]: Include alloca.h (right for HPUX 10)
3443 instead of declaring alloca (right for HPUX 9).
3444
3445 * bison.simple (__yy_memcpy):
3446 Declare arg `count' as unsigned int.
3447 (yyparse): Cast third arg to __yy_memcpy to unsigned int.
3448
34491997-01-03 Richard Stallman <rms@gnu.org>
3450
3451 * src/allocate.c: [__STDC__ or _MSC_VER]:
3452 Declare calloc and realloc to return void *.
3453
34541997-01-02 Richard Stallman <rms@gnu.org>
3455
3456 * src/system.h:
3457 [_MSC_VER]: Include stdlib.h and process.h.
3458 [_MSC_VER] (getpid): Define as macro--translate it to _getpid.
3459
3460 * src/main.c (main): Return FAILURE as a value.
3461 (printable_version): Declare arg as int, not char.
3462
34631997-01-02 Richard Stallman <rms@gnu.org>
3464
3465 * Makefile.in (dist):
3466 Explicitly check for symlinks, and copy them.
3467
34681996-12-19 Richard Stallman <rms@gnu.org>
3469
3470 * src/files.c:
3471 [_MSC_VER] (XPFILE, XPFILE1): Define, if not already defined.
3472
34731996-12-18 Paul Eggert <eggert@gnu.org>
3474
3475 * src/bison.s1 (yyparse):
3476 If __GNUC__ and YYPARSE_PARAM are both defined,
3477 declare yyparse to have a void * argument.
3478
34791996-12-18 Paul Eggert <eggert@gnu.org>
3480
3481 * bison.simple (yyparse):
3482 If __GNUC__ and YYPARSE_PARAM are both defined,
3483 declare yyparse to have a void * argument.
3484
34851996-12-17 Richard Stallman <rms@gnu.org>
3486
3487 * src/reduce.c (nbits): Add some casts.
3488
34891996-08-12 Richard Stallman <rms@gnu.org>
3490
3491 * src/bison.s1: Test _MSDOS as well as _MSDOS_.
3492
34931996-08-12 Richard Stallman <rms@gnu.org>
3494
3495 * bison.simple: Test _MSDOS as well as _MSDOS_.
3496
34971996-07-31 Richard Stallman <rms@gnu.org>
3498
3499 * src/bison.s1:
3500 [__sun && __i386]: Include alloca.h.
3501
35021996-07-31 Richard Stallman <rms@gnu.org>
3503
3504 * bison.simple:
3505 [__sun && __i386]: Include alloca.h.
3506
35071996-07-30 Richard Stallman <rms@gnu.org>
3508
3509 * src/bison.s1: Comment change.
3510
3511 * src/bison.s1: Test _MSDOS_, not MSDOS.
3512
35131996-07-30 Richard Stallman <rms@gnu.org>
3514
3515 * bison.simple: Comment change.
3516
3517 * bison.simple: Test _MSDOS_, not MSDOS.
3518
35191996-06-01 Richard Stallman <rms@gnu.org>
3520
3521 * 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:
3522 Insert `_' macro around many string constants.
3523
3524 * src/main.c:
3525 Insert `_' macro around many string constants.
3526
3527 (main): Call setlocale, bindtextdomain and textdomain.
3528
3529 * src/system.h: [HAVE_LOCALE_H]: Include locale.h.
3530 [! HAVE_LOCALE_H] (setlocale): Define as no-op.
3531 [ENABLE_NLS]: Include libintl.h.
3532 [ENABLE_NLS] (gettext): Define.
3533 [! ENABLE_NLS] (bintextdomain, textdomain, _): Consolation definitions.
3534 (N_, PACKAGE, LOCALEDIR): New macros.
3535
35361996-06-01 Richard Stallman <rms@gnu.org>
3537
3538 * POTFILES.in: New file.
3539
3540 * Makefile.in (allocate.o):
3541 Define target explicitly.
3542
3543 * Makefile.in (CFLAGS): Set to @CFLAGS@.
3544 (LDFLAGS): Set to @LDFLAGS@.
3545 (configure): Run autoconf only if preceding `cd' succeeds.
3546 (bison.s1): Redirect output to temporary file then move the
3547 temporary to the target, rather than redirecting directly to bison.s1.
3548 (clean): Remove config.status and config.log.
3549 (distclean): Don't remove config.status here.
3550
35511996-05-12 Richard Stallman <rms@gnu.org>
3552
3553 * src/bison.s1:
3554 (__yy_memcpy) [__cplusplus]: Reorder declarations of variables f and t.
3555
35561996-05-12 Richard Stallman <rms@gnu.org>
3557
3558 * bison.simple:
3559 (__yy_memcpy) [__cplusplus]: Reorder declarations of variables f and t.
3560
35611996-05-11 Richard Stallman <rms@gnu.org>
3562
3563 * src/bison.s1 (__yy_memcpy):
3564 Really reorder the args, as was supposedly done on Feb 14 1995.
3565 (yyparse): Calls changed accordingly.
3566
35671996-05-11 Richard Stallman <rms@gnu.org>
3568
3569 * Makefile.in (dist): Don't use $(srcdir).
3570
3571 * bison.simple (__yy_memcpy):
3572 Really reorder the args, as was supposedly done on Feb 14 1995.
3573 (yyparse): Calls changed accordingly.
3574
35751996-01-27 Richard Stallman <rms@gnu.org>
3576
3577 * src/output.c (output_rule_data):
3578 Test YYERROR_VERBOSE in the conditional
3579 around the definition of ttyname.
3580
35811995-12-29 Richard Stallman <rms@gnu.org>
3582
3583 * src/bison.s1:
3584 Fix line numbers in #line commands.
3585
35861995-12-29 Richard Stallman <rms@gnu.org>
3587
3588 * bison.simple:
3589 Fix line numbers in #line commands.
3590
35911995-12-27 Richard Stallman <rms@gnu.org>
3592
3593 * src/bison.s1 (YYPARSE_PARAM_DECL):
3594 In C++, make it always null.
3595 (YYPARSE_PARAM_ARG): New macro.
3596 (yyparse): Use YYPARSE_PARAM_ARG.
3597
35981995-12-27 Richard Stallman <rms@gnu.org>
3599
3600 * bison.simple (YYPARSE_PARAM_DECL):
3601 In C++, make it always null.
3602 (YYPARSE_PARAM_ARG): New macro.
3603 (yyparse): Use YYPARSE_PARAM_ARG.
3604
36051995-11-29 Richard Stallman <rms@gnu.org>
3606
3607 * doc/bison.texinfo:
3608 Describe literal string tokens, %raw, %no_lines, %token_table.
3609
36101995-11-29 Daniel Hagerty <hag@gnu.org>
3611
3612 * doc/bison.texinfo: Fixed update date
3613
36141995-10-16 Richard Stallman <rms@gnu.org>
3615
3616 * src/version.c: Version 1.25.
3617
36181995-10-16 Richard Stallman <rms@gnu.org>
3619
3620 * NEWS: *** empty log message ***
3621
36221995-10-16 Richard Stallman <rms@gnu.org>
3623
3624 * doc/bison.1, doc/bison.rnh:
3625 Add new options.
3626
36271995-10-15 Richard Stallman <rms@gnu.org>
3628
3629 * src/vmsgetargs.c, src/getargs.c:
3630 Added -n, -k, and -raw switches.
3631 (noparserflag, toknumflag, rawtoknumflag): New variables.
3632
3633 * src/symtab.h (SALIAS):
3634 New #define for adding aliases to %token.
3635 (struct bucket): Added `alias' field.
3636
3637 * src/reduce.c (reduce_grammar):
3638 Revise error message.
3639 (print_notices): Remove final `.' from error message.
3640
3641 * src/reader.c (reader_output_yylsp):
3642 New function.
3643 (readgram): Use `#if 0' around code that accepted %command
3644 inside grammar rules: The documentation doesn't allow it,
3645 and it will fail since the %command processors scan for the next %.
3646 (parse_token_decl): Extended the %token
3647 declaration to allow a multi-character symbol as an alias.
3648 (parse_thong_decl): New function.
3649 (read_declarations): Added %thong declarations.
3650 (read_declarations): Handle NOOP to deal with allowing
3651 % declarations as another means to specify the flags.
3652 (readgram): Allow %prec prior to semantics embedded in a rule.
3653 (skip_to_char, read_declarations, copy_definition)
3654 (parse_token_decl, parse_start_decl, parse_type_decl)
3655 (parse_assoc_decl, parse_union_decl, parse_expect_decl)
3656 (get_type_name, copy_guard, copy_action, readgram)
3657 (get_type, packsymbols): Revised most error messages.
3658 Changed `fatal' to `warnxxx' to avoid aborting for error.
3659 Revised and use multiple warnxxx functions to avoid using VARARGS1.
3660 (read_declarations): Improve the error message for
3661 an invalid character. Do not abort.
3662 (read_declarations, copy_guard, copy_action): Use
3663 printable_version to avoid unprintable characters in printed output.
3664 (parse_expect_decl): Error if argument to %expect exceeds 10 digits.
3665 (parse_token_decl, parse_assoc_decl, parse_type_decl, get_type):
3666 Allow the type of a non-terminal can be given
3667 more than once, as long as all specifications give the same type.
3668
3669 * src/output.c:
3670 (output_headers, output_trailers, output, output_gram)
3671 (output_rule_data): Implement noparserflag variable.
3672 Implement toknumflag variable.
3673 (output): Call reader_output_yylsp to output LTYPESTR.
3674
3675 * src/main.c (main):
3676 If reader sees an error, don't process the grammar.
3677 (fatals): Updated to not use VARARGS1.
3678 (printable_version, int_to_string, warn, warni, warns, warnss)
3679 (warnsss): New error reporting functions. Avoid abort for error.
3680
3681 * src/lex.h:
3682 Added THONG and NOOP for alias processing.
3683 Added SETOPT for the new code that allows setting options with %flags.
3684
3685 * src/lex.c:
3686 Include getopt.h. Add some extern decls.
3687 (safegetc): New function to deal with EOF gracefully.
3688 (literalchar); new function to deal with reading \ escapes.
3689 (lex): Use literalchar.
3690 (lex): Implemented "..." tokens.
3691 (literalchar, lex, parse_percent_token): Made tokenbuffer
3692 always contain the token. This includes growing the token
3693 buffer while reading an integer.
3694 (parse_percent_token): Replaced if-else statement with percent_table.
3695 (parse_percent_token): Added % declarations as another
3696 way to specify the flags -n, -l, and -r. Also added hooks for
3697 -d, -k, -y, -v, -t, -p, -b, -o, but implementation requires
3698 major changes to files.c.
3699 (lex) Retain in the incoming stream a character following
3700 an incorrect '/'.
3701 (skip_white_space, lex): Revised most error messages
3702 and changed fatal to warn to avoid aborting.
3703 (percent_table): Added %thong declarations.
3704
3705 * src/gram.h: Comment changes.
3706
3707 * src/files.c (openfiles, open_extra_files, done):
3708 Add faction flag
3709 and actfile file. Handle noparserflag. Both for -n switch.
3710
3711 * src/conflicts.c (resolve_sr_conflict):
3712 Remove use of alloca.
3713
37141995-06-01 Jim Meyering <meyering@gnu.org>
3715
3716 * doc/bison.texinfo: *** empty log message ***
3717
37181995-05-06 Richard Stallman <rms@gnu.org>
3719
3720 * src/bison.s1: Comment change.
3721
37221995-05-06 Richard Stallman <rms@gnu.org>
3723
3724 * bison.simple: Comment change.
3725
37261995-05-03 Richard Stallman <rms@gnu.org>
3727
3728 * src/version.c: Version now 1.24.
3729
3730 * src/bison.s1: Change distribution terms.
3731
3732 * src/version.c: Version now 1.23.
3733
37341995-05-03 Richard Stallman <rms@gnu.org>
3735
3736 * doc/bison.texinfo:
3737 Rewrite "Conditions for Using Bison".
3738 Update version to 1.24.
3739
37401995-05-03 Richard Stallman <rms@gnu.org>
3741
3742 * bison.simple: Change distribution terms.
3743
37441995-02-23 Richard Stallman <rms@gnu.org>
3745
3746 * src/files.c: Test __VMS_POSIX as well as VMS.
3747
37481995-02-14 Jim Meyering <meyering@gnu.org>
3749
3750 * src/bison.s1 (__yy_memcpy):
3751 Renamed from __yy_bcopy to avoid
3752 confusion. Reverse FROM and TO arguments to be consistent with
3753 those of memcpy.
3754
37551995-02-14 Jim Meyering <meyering@gnu.org>
3756
3757 * bison.simple (__yy_memcpy):
3758 Renamed from __yy_bcopy to avoid
3759 confusion. Reverse FROM and TO arguments to be consistent with
3760 those of memcpy.
3761
37621994-11-10 David J. MacKenzie <djm@gnu.org>
3763
3764 * NEWS: reformat
3765
3766 * NEWS: New file.
3767
3768 * Makefile.in (DISTFILES): Include NEWS.
3769
3770 * Makefile.in (DISTFILES):
3771 Include install-sh, not install.sh.
3772
3773 * configure.in: Update to Autoconf v2 macro names.
3774
37751994-10-05 David J. MacKenzie <djm@gnu.org>
3776
3777 * Makefile.in: fix typo
3778
3779 * Makefile.in (prefix, exec_prefix):
3780 Let configure set them.
3781
37821994-09-28 David J. MacKenzie <djm@gnu.org>
3783
3784 * Makefile.in: Set datadir to $(prefix)/share.
3785
37861994-09-15 Richard Stallman <rms@gnu.org>
3787
3788 * src/bison.s1:
3789 Update copyright notice and GPL version.
3790
37911994-09-15 Richard Stallman <rms@gnu.org>
3792
3793 * bison.simple:
3794 Update copyright notice and GPL version.
3795
37961994-07-12 Richard Stallman <rms@gnu.org>
3797
3798 * src/reduce.c, src/reader.c:
3799 entered into RCS
3800
38011994-05-05 David J. MacKenzie <djm@gnu.org>
3802
3803 * Makefile.in: entered into RCS
3804
38051994-03-26 Richard Stallman <rms@gnu.org>
3806
3807 * src/bison.s1: entered into RCS
3808
38091994-03-26 Richard Stallman <rms@gnu.org>
3810
3811 * bison.simple: entered into RCS
3812
38131994-03-25 Richard Stallman <rms@gnu.org>
3814
3815 * src/main.c: entered into RCS
3816
38171994-03-24 Richard Stallman <rms@gnu.org>
3818
3819 * src/conflicts.c: entered into RCS
3820
38211994-01-02 Richard Stallman <rms@gnu.org>
3822
3823 * Makefile.in: *** empty log message ***
3824
38251993-11-21 Richard Stallman <rms@gnu.org>
3826
3827 * src/bison.s1: *** empty log message ***
3828
38291993-11-21 Richard Stallman <rms@gnu.org>
3830
3831 * doc/bison.texinfo: entered into RCS
3832
3833 * doc/bison.texinfo: *** empty log message ***
3834
38351993-11-21 Richard Stallman <rms@gnu.org>
3836
3837 * bison.simple: *** empty log message ***
3838
38391993-10-25 David J. MacKenzie <djm@gnu.org>
3840
3841 * doc/bison.texinfo: *** empty log message ***
3842
38431993-10-19 Richard Stallman <rms@gnu.org>
3844
3845 * src/bison.s1: *** empty log message ***
3846
38471993-10-19 Richard Stallman <rms@gnu.org>
3848
3849 * bison.simple: *** empty log message ***
3850
38511993-10-14 Richard Stallman <rms@gnu.org>
3852
3853 * src/bison.s1: *** empty log message ***
3854
38551993-10-14 Richard Stallman <rms@gnu.org>
3856
3857 * bison.simple: *** empty log message ***
3858
38591993-09-14 David J. MacKenzie <djm@gnu.org>
3860
3861 * doc/bison.texinfo: *** empty log message ***
3862
38631993-09-13 Noah Friedman <friedman@gnu.org>
3864
3865 * Makefile.in: *** empty log message ***
3866
38671993-09-10 Richard Stallman <rms@gnu.org>
3868
3869 * src/conflicts.c: *** empty log message ***
3870
3871 * src/system.h: entered into RCS
3872
38731993-09-10 Richard Stallman <rms@gnu.org>
3874
3875 * doc/bison.1: entered into RCS
3876
38771993-09-06 Noah Friedman <friedman@gnu.org>
3878
3879 * src/version.c: entered into RCS
3880
38811993-09-06 Noah Friedman <friedman@gnu.org>
3882
3883 * Makefile.in: *** empty log message ***
3884
38851993-07-30 David J. MacKenzie <djm@gnu.org>
3886
3887 * Makefile.in: *** empty log message ***
3888
38891993-07-24 Richard Stallman <rms@gnu.org>
3890
3891 * src/bison.s1: *** empty log message ***
3892
38931993-07-24 Richard Stallman <rms@gnu.org>
3894
3895 * bison.simple: *** empty log message ***
3896
38971993-07-08 David J. MacKenzie <djm@gnu.org>
3898
3899 * Makefile.in: *** empty log message ***
3900
39011993-07-04 Richard Stallman <rms@gnu.org>
3902
3903 * src/bison.s1: *** empty log message ***
3904
39051993-07-04 Richard Stallman <rms@gnu.org>
3906
3907 * bison.simple: *** empty log message ***
3908
39091993-06-26 David J. MacKenzie <djm@gnu.org>
3910
3911 * src/getargs.c: entered into RCS
3912
39131993-06-26 David J. MacKenzie <djm@gnu.org>
3914
3915 * doc/bison.texinfo: *** empty log message ***
3916
3917 * doc/bison.1: New file.
3918
39191993-06-25 Richard Stallman <rms@gnu.org>
3920
3921 * src/getargs.c: New file.
3922
39231993-06-16 Richard Stallman <rms@gnu.org>
3924
3925 * src/bison.s1: *** empty log message ***
3926
39271993-06-16 Richard Stallman <rms@gnu.org>
3928
3929 * bison.simple: *** empty log message ***
3930
39311993-06-03 Richard Stallman <rms@gnu.org>
3932
3933 * src/bison.s1: New file.
3934
39351993-06-03 Richard Stallman <rms@gnu.org>
3936
3937 * doc/bison.texinfo: *** empty log message ***
3938
39391993-06-03 Richard Stallman <rms@gnu.org>
3940
3941 * bison.simple: New file.
3942
39431993-05-19 Richard Stallman <rms@gnu.org>
3944
3945 * doc/bison.texinfo: New file.
3946
39471993-05-07 Noah Friedman <friedman@gnu.org>
3948
3949 * Makefile.in: *** empty log message ***
3950
39511993-04-28 Noah Friedman <friedman@gnu.org>
3952
3953 * src/reader.c: *** empty log message ***
3954
39551993-04-23 Noah Friedman <friedman@gnu.org>
3956
3957 * src/alloc.h: entered into RCS
3958
39591993-04-20 David J. MacKenzie <djm@gnu.org>
3960
3961 * src/version.c: *** empty log message ***
3962
3963 * src/files.c, src/allocate.c:
3964 entered into RCS
3965
3966 * src/reader.c: *** empty log message ***
3967
3968 * src/lex.c: entered into RCS
3969
3970 * src/conflicts.c: New file.
3971
3972 * src/symtab.c: entered into RCS
3973
3974 * src/alloc.h: New file.
3975
3976 * src/LR0.c: entered into RCS
3977
39781993-04-18 Noah Friedman <friedman@gnu.org>
3979
3980 * src/reader.c: New file.
3981
3982 * src/version.c: *** empty log message ***
3983
39841993-04-18 Noah Friedman <friedman@gnu.org>
3985
3986 * Makefile.in: *** empty log message ***
3987
39881993-04-17 Noah Friedman <friedman@gnu.org>
3989
3990 * Makefile.in: *** empty log message ***
3991
39921993-04-15 Richard Stallman <rms@gnu.org>
3993
3994 * src/main.c, src/files.c:
3995 New file.
3996
39971993-04-15 Noah Friedman <friedman@gnu.org>
3998
3999 * configure.in: entered into RCS
4000
4001 * configure.in: *** empty log message ***
4002
4003 * configure.in: New file.
4004
40051993-04-14 Richard Stallman <rms@gnu.org>
4006
4007 * Makefile.in: New file.
4008
40091993-04-13 Richard Stallman <rms@gnu.org>
4010
4011 * src/version.c: New file.
4012
40131993-03-25 Richard Stallman <rms@gnu.org>
4014
4015 * src/output.c: entered into RCS
4016
40171992-09-25 Richard Stallman <rms@gnu.org>
4018
4019 * configure.bat: entered into RCS
4020
40211992-06-22 Richard Stallman <rms@gnu.org>
4022
4023 * src/vmsgetargs.c: entered into RCS
4024
40251992-06-22 Richard Stallman <rms@gnu.org>
4026
4027 * doc/bison.rnh: entered into RCS
4028
40291992-04-20 David J. MacKenzie <djm@gnu.org>
4030
4031 * README: entered into RCS
4032
40331992-01-22 Richard Stallman <rms@gnu.org>
4034
4035 * src/machine.h: entered into RCS
4036
40371991-12-21 Richard Stallman <rms@gnu.org>
4038
4039 * src/lalr.c, src/closure.c:
4040 entered into RCS
4041
40421991-12-20 Richard Stallman <rms@gnu.org>
4043
4044 * src/state.h: entered into RCS
4045
40461991-12-18 Richard Stallman <rms@gnu.org>
4047
4048 * src/print.c, src/nullable.c, src/derives.c:
4049 entered into RCS
4050
40511991-11-03 David J. MacKenzie <djm@gnu.org>
4052
4053 * src/warshall.c, src/types.h, src/symtab.h, src/lex.h, src/gram.c, src/gram.h, src/files.h:
4054 entered into RCS
4055
40561988-09-09 Richard Stallman <rms@gnu.org>
4057
4058 * src/bison.hairy: entered into RCS
4059
40601987-12-16 Richard Stallman <rms@gnu.org>
4061
4062 * REFERENCES: entered into RCS