]> git.saurik.com Git - bison.git/blame - ChangeLog
* src/conflicts.c (print_reductions): Improve variable locality.
[bison.git] / ChangeLog
CommitLineData
c8ea038e
AD
12001-12-05 Akim Demaille <akim@epita.fr>
2
3 * src/conflicts.c (print_reductions): Improve variable locality.
4
5
aa2aab3c
AD
62001-12-05 Akim Demaille <akim@epita.fr>
7
8 * src/state.h (SHIFT_IS_ERROR, SHIFT_IS_GOTO, SHIFT_IS_SHIFT): New.
9 * src/lalr.c: Use them.
10
11
b178c8cc
AD
122001-12-05 Akim Demaille <akim@epita.fr>
13
14 * src/LR0.c (augment_automaton): Formatting changes.
15 Better variable locality.
16
17
f67d13aa
AD
182001-12-05 Akim Demaille <akim@epita.fr>
19
20 * src/lalr.c (matrix_print): New.
21 (transpose): Use it.
22 Use arrays instead of pointers.
23
c2713865
AD
242001-12-05 Akim Demaille <akim@epita.fr>
25
26 * src/lalr.c (maxrhs): Move to...
27 * src/gram.c, src/gram.h (ritem_longest_rhs): here.
28 * src/lalr.c (build_relations): Adjust.
29
9887c18a
AD
302001-12-05 Akim Demaille <akim@epita.fr>
31
32 * src/lalr.c (transpose): Free the memory allocated to the
33 argument, as it is replaced by the results by the unique caller.
34 (build_relations): Merely invoke transpose: it handles the memory
35 deallocation.
36 Improve variable locality.
37 Avoid variables used as mere abbreviations.
38 (compute_lookaheads): Use arrays instead of pointers.
39
4d4f699c
AD
402001-12-05 Akim Demaille <akim@epita.fr>
41
42 * src/lalr.c (initialize_F): Improve variable locality.
43 Avoid variables used as mere abbreviations.
44
80a69750
AD
452001-12-05 Akim Demaille <akim@epita.fr>
46
47 * src/derives.c (print_derives): Display the ruleno.
48 * src/lalr.c (initialize_F, transpose): Better variable locality
49 to improve readability.
50 Avoid variables used as mere abbreviations.
51
fe961097
AD
522001-12-05 Akim Demaille <akim@epita.fr>
53
54 * src/lalr.c (traverse): Use arrays instead of pointers.
55
e3e4e814
AD
562001-12-05 Akim Demaille <akim@epita.fr>
57
58 * src/nullable.c (set_nullable): Use a for loop to de-obfuscate
59 the handling of squeue.
60 `symbol >= 0' is wrong now, use `rule_table[ruleno].useful'.
61
62
630e182b
AD
632001-12-05 Akim Demaille <akim@epita.fr>
64
65 Because useless nonterminals are now kept alive (instead of being
66 `destroyed'), we now sometimes examine them, and store information
67 related to them. Hence we need to know their number, and adjust
68 memory allocations.
69
70 * src/reduce.c, src/reduce.h (nuseless_nonterminals): No longer
71 static.
72 * src/LR0.c (allocate_itemsets): The memory allocated to
73 `symbol_count' was used for two different purpose: once to count
74 the number of occurrences of each symbol, and later reassigned to
75 `shift_symbol', containing the symbol that can be shifted from a
76 given state.
77 Deobfuscate, i.e., allocate, use and free `symbol_count' here
78 only, and...
79 (new_itemsets): Allocate `shift_symbol' here.
80 (allocate_itemsets): symbol_count includes useless nonterminals.
81 Make room for them.
82 (free_storage): Use `free', not `XFREE', for pointers that cannot
83 be null.
84
85
81b51460
AD
862001-12-05 Akim Demaille <akim@epita.fr>
87
88 * src/nullable.c (set_nullable): Deobfuscate the handling of
89 ritem.
90 `symbol >= 0' is wrong now, use `rule_table[ruleno].useful'.
91
92
3067fbef
AD
932001-12-05 Akim Demaille <akim@epita.fr>
94
95 * src/gram.c, src/gram.h (ritem_print): New.
96 * src/gram.c (dummy): Remove, now there is actual code in gram.c.
97 (This useless function was defined only to work around VMS linkers
98 that can't handle compilation units with variables only).
99 * src/reduce.c (dump_grammar): Use it to trace the construction of
100 ritem.
101
c2bea5f9
PE
1022001-12-04 Paul Eggert <eggert@twinsun.com>
103
7d27c823
PE
104 * src/bison.simple (union yyalloc): Change member names
105 to be the same as the stack names.
106 (yyparse): yyptr is now union yyalloc *, not char *.
107 (YYSTACK_RELOCATE): Likewise. This avoids a GCC warning,
108 and may generate better code on some machines.
c2bea5f9
PE
109 (yystpcpy): Use prototype if __STDC__ is defined, not just
110 if __cplusplus is defined.
111
2c8a9dfa
AD
1122001-11-30 Akim Demaille <akim@epita.fr>
113
114 * configure.in (WARNING_CFLAGS): Add -Werror when possible.
115 (CFLAGS): Do not include the WARNING_CFLAGS here, since GNU
116 Gettext doesn't compile cleanly, and dies with -Werror.
117 * src/Makefile.am, lib/Makefile.am, tests/atlocal.in (CFLAGS):
118 Include WARNING_CFLAGS here.
119 * lib/xstrdup.c: Include xalloc.h, so that xstrdup be declared
120 before being defined.
121
f4e421e6
AD
1222001-11-27 Paul Eggert <eggert@twinsun.com>
123
124 * lib/quotearg.h (quotearg_n, quotearg_n_style):
125 First arg is int, not unsigned.
126 * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
127 (SIZE_MAX, UINT_MAX): New macros.
128 (quotearg_n_options): Abort if N is negative.
129 Avoid overflow check on hosts where size_t is 64 bits and int
130 is 32 bits, as overflow is impossible there.
131 Fix off-by-one typo that caused unnecessary reallocation.
132
7093d0f5
AD
1332001-11-29 Paul Eggert <eggert@twinsun.com>
134
135 Name space cleanup in generated parser.
136
137 * doc/bison.texinfo (Bison Parser): Discuss system headers
138 and their effect on the user name space.
139
140 * src/bison.simple:
141 (YYSTACK_ALLOC, YYSTACK_FREE, union yyalloc, YYSTACK_GAP_MAX,
142 YYSTACK_BYTES, YYSTACK_RELOCATE): Do not define unless necessary,
143 i.e. unless ! defined (yyoverflow) || defined (YYERROR_VERBOSE).
144
145 (YYSIZE_T): New macro. Use it instead of size_t, to avoid infringing
146 on user names when possible.
147
148 (YYSTACK_USE_ALLOCA): Do not define; just use any existing defn.
149 Simplify test for whather <alloca.h> exists.
150
151 (<stdlib.h>): Include if we will use malloc, and if standard C or C++.
152
153 (<stdio.h>): Include if YYDEBUG.
154
155 (yymemcpy): Renamed from __yy_memcpy. Do not define unless
156 ! defined (yyoverflow) && ! defined (yymemcpy).
157
158 (yymemcpy, yyparse): Rename local variables as needed so that
159 they all begin with 'yy'.
160
161 (yystrlen, yystpcpy): New functions.
162
163 (YY_DECL_NON_LSP_VARIABLES): Renamed from _YY_DECL_VARIABLES.
164 All uses changed.
165
166 (yyparse): size_t -> YYSIZE_T. Use yystrlen and yystpcpy
167 instead of relying on string.h functions. Use YYSTACK_ALLOC
168 and YYSTACK_FREE instead of malloc and free.
169
fd51e5ff
AD
1702001-11-30 Akim Demaille <akim@epita.fr>
171
172 * src/bison.simple (YYSTYPE, YYLTYPE): Move their definitions
173 before their first uses.
174 (YYBISON, YYPURE): Move to the top of the output.
175
7d13ff5f
AD
1762001-11-30 Akim Demaille <akim@epita.fr>
177
178 * tests/reduce.at (Useless Nonterminals): Fix.
179
892a3995
AD
1802001-11-30 Akim Demaille <akim@epita.fr>
181
182 * src/bison.simple (YYSTACK_FREE): Use `do {;} while (0)' as empty
183 if body instead of `;' to pacify GCC's warnings.
184
68f1e3ed
AD
1852001-11-30 Akim Demaille <akim@epita.fr>
186
187 Instead of mapping the LHS of unused rules to -1, keep the LHS
188 valid, but flag the rules as invalid.
189
190 * src/gram.h (rule_t): `useful' is a new member.
191 * src/print.c (print_grammar): Adjust.
192 * src/derives.c (set_derives): Likewise.
193 * src/reader.c (packgram, reduce_output): Likewise.
194 * src/reduce.c (reduce_grammar_tables): Likewise.
195 * tests/reduce.at (Underivable Rules, Useless Rules): New.
196
d2d1b42b
AD
1972001-11-30 Akim Demaille <akim@epita.fr>
198
199 * src/reduce.c (reduce_output): Formatting changes.
200 * src/print.c (print_results, print_grammar): Likewise.
201 * tests/regression.at (Rule Line Numbers)
202 (Solved SR Conflicts, Unresolved SR Conflicts): Adjust.
203
760b53a8
AD
2042001-11-30 Akim Demaille <akim@epita.fr>
205
206 * src/reduce.c (nonterminals_reduce): Instead of throwing away
207 useless nonterminals, move them at the end of the symbol arrays.
208 (reduce_output): Adjust.
209 * tests/reduce.at (Useless Nonterminals): Adjust.
210
00238958
AD
2112001-11-30 Akim Demaille <akim@epita.fr>
212
213 * src/reduce.c: Various comment/formatting changes.
214 (nonterminals_reduce): New, extracted from...
215 (reduce_grammar_tables): here.
216 (reduce_grammar): Call nonterminals_reduce.
217
396452de
PE
2182001-11-29 Paul Eggert <eggert@twinsun.com>
219
220 * src/bison.simple (YYSTACK_REALLOC): Remove.
221 (YYSTACK_ALLOC): Resurrect this macro, with its old meaning.
222 (YYSTACK_FREE, YYSTACK_GAP_MAX, YYSTACK_BYTES, YYSTACK_RELOCATE):
223 New macros.
224 (union yyalloc): New type.
225 (__yy_memcpy): Last arg is size_t, not unsigned int, to remove
226 an arbitrary restriction on hosts where size_t is wider than int.
227
228 (yyparse): Don't dump core if alloca or malloc fails; instead, report
229 a parser stack overflow. Allocate just one block of memory for all
230 three stacks, instead of allocating three blocks; this typically is
231 faster and reduces fragmentation.
232
233 Do not limit the number of items in the stack to a value that fits
234 in 'int', as this is an arbitrary limit on hosts with 64-bit
235 size_t and 32-bit int.
236
147e184c
MA
2372001-11-29 Marc Autret <autret_m@epita.fr>
238
239 * tests/calc.at [AT_DATA_CALC_Y]: Use %error-verbose instead
240 of defining YYERROR_VERBOSE.
241 [AT_DATA]: $4 is now out of C declarations in the prologue.
242
426cf563
MA
2432001-11-28 Marc Autret <autret_m@epita.fr>
244
245 * src/reader.c (parse_dquoted_param): New.
246 (parse_skel_decl): Use it.
247 * src/lex.h: Add its prototype.
248 * src/lex.c (literalchar): Become not static.
249
c7925b99
MA
2502001-11-28 Marc Autret <autret_m@epita.fr>
251
252 * src/output.h: And put its extern declaration here.
253 * src/output.c (error_verbose): Define here.
254 (prepare): Echo name modification.
255 * src/getargs.h: Clean its extern declaration.
256 * src/getargs.c (error_verbose_flag): Remove.
257 (getargs): Remove case 'e'.
258 * src/options.c (option_table): 'error-verbose' is now seen as simple
259 percent option.
260 Include output.h.
261
262 * src/reader.c (read_declarations): Remove case tok_include.
263 (parse_include_decl): Remove.
264 * src/lex.h (token_t): Remove tok_include.
265 * src/options.c (option_table): 'include' is now a simple command line
266 option.
267
5b5d1929
MA
2682001-11-28 Marc Autret <autret_m@epita.fr>
269
270 * src/bison.simple: Adjust muscle names.
271 * src/muscle_tab.c (muscle_init): Also rename the muscles.
272 * src/output.c (prepare): s/_/-/ for the muscles names.
273 (output_parser): When scanning for a muscle, allow '-' instead of '_'.
274
8850be4b
MA
2752001-11-28 Marc Autret <autret_m@epita.fr>
276
277 * src/bison.simple: Fix debug.
278 [YYERROR_VERBOSE]: Re-integrate as an internal macro.
279
4a38e613
AD
2802001-11-28 Akim Demaille <akim@epita.fr>
281
282 * src/LR0.c (shifts_new): New.
283 (save_shifts, insert_start_shift, augment_automaton): Use it.
284
4b35e1c1
AD
2852001-11-28 Akim Demaille <akim@epita.fr>
286
287 * src/closure.c (closure): `b' and `ruleno' denote the same value:
288 keep ruleno only.
289
d2b04478
AD
2902001-11-28 Akim Demaille <akim@epita.fr>
291
292 * src/closure.c (closure): Instead of looping over word in array
293 then bits in words, loop over bits in array.
294
2c4c30aa
AD
2952001-11-28 Akim Demaille <akim@epita.fr>
296
297 * src/closure.c (closure): No longer optimize the special case
298 where all the bits of `ruleset[r]' are set to 0, to make the code
299 clearer.
300
576890b7
AD
3012001-11-28 Akim Demaille <akim@epita.fr>
302
303 * src/closure.c (closure): `r' and `c' are new variables, used to
304 de-obfuscate accesses to RULESET and CORE.
305
cb487d7d
AD
3062001-11-28 Akim Demaille <akim@epita.fr>
307
308 * src/reduce.c (reduce_print): Use ngettext.
309 (dump_grammar): Improve the trace accuracy.
310
6013d43f
AD
3112001-11-28 Akim Demaille <akim@epita.fr>
312
313 * src/reduce.c (dump_grammar): Don't translate trace messages.
314
cb4956ee
AD
3152001-11-28 Akim Demaille <akim@epita.fr>
316
317 * tests/reduce.at (Useless Terminals, Useless Nonterminals): New.
318 * src/reduce.c (reduce_grammar_tables): Do not free useless tags,
319 as all tags are free'ed afterwards.
320 From Enrico Scholz.
321
648185ab
PE
3222001-11-27 Paul Eggert <eggert@twinsun.com>
323
324 * src/bison.simple (YYSTACK_REALLOC): Fix typo that caused us to
325 use alloca when we didn't want to, and vice versa.
326
68254a03
MA
3272001-11-27 Marc Autret <autret_m@epita.fr>
328
9113b58f
AD
329 * src/muscle_tab.c (muscle_init): Remove 'verbose' muscle
330 initialization.
68254a03
MA
331 * src/output.c (prepare): Remove its update.
332
04d843a2
MA
3332001-11-27 Marc Autret <autret_m@epita.fr>
334
335 * tests/torture.at [AT_DATA]: Remove YYERROR_VERBOSE definition.
336 Use %error-verbose.
337
d2079671 3382001-11-27 Marc Autret <autret_m@epita.fr>
eeeb962b
MA
339
340 * src/bison.simple: Remove YYERROR_VERBOSE using.
341 Use %%error_verbose.
342 (yyparse): Likewise.
343 * src/output.c (prepare): Give its final value.
344 * src/muscle_tab.c (muscle_init): Init new muscle 'error_verbose'.
345 * src/getargs.h: Add its extern declaration.
346 * src/getargs.c (error_verbose_flag): New int.
347 (getargs): Update to catch new case.
348 * src/options.c (option_table): 'error-verbose' is a new option.
349 (shortopts): Update.
350
e0327bc8
AD
3512001-11-27 Akim Demaille <akim@epita.fr>
352
353 * src/system.h: Use intl/libgettext.h.
354 * src/Makefile.am (INCLUDES): Add -I $(top_srcdir).
355
000f1a3c
AD
3562001-11-27 Akim Demaille <akim@epita.fr>
357
358 * tests/torture.at (Exploding the Stack Size with Malloc):
359 s/YYSTACK_USE_ALLOCA_ALLOCA/YYSTACK_USE_ALLOCA/.
360
26cfe0be
AD
3612001-11-27 Akim Demaille <akim@epita.fr>
362
363 * src/files.c: Include error.h.
364 Reported by Hans Aberg.
365
f6bd5427
MA
3662001-11-26 Marc Autret <autret_m@epita.fr>
367
d2079671 368 * src/reader.c (parse_include_decl): New, not yet implemented.
f6bd5427
MA
369 (read_declarations): Add case tok_include.
370 * src/getargs.h (include): Add its extern definition.
371 * src/getargs.c (include): New const char *.
372 (getargs): Add case '-I'.
373 * src/options.c (option_table): Add include as command line and
374 percent option.
375 * src/lex.h (token_t): Add tok_include.
376
2ca209c1
AD
3772001-11-26 Akim Demaille <akim@epita.fr>
378
379 * src/reader.c (readgram): Make sure rules for mid-rule actions
380 have a lineno equal to that of their host rule.
381 Reported by Hans Aberg.
382 * tests/regression.at (Rule Line Numbers): New.
383
0e41b407
AD
3842001-11-26 Akim Demaille <akim@epita.fr>
385
386 * src/LR0.c (allocate_itemsets): kernel_size contains ints, not
387 size_ts.
388
3892001-11-26 Akim Demaille <akim@epita.fr>
390
391 * src/complain.c, src/complain.h (error): Remove, provided by
392 lib/error.[ch].
393
e0c40012
AD
3942001-11-26 Akim Demaille <akim@epita.fr>
395
396 * src/reader.c (read_declarations): Don't abort on tok_illegal,
397 issue an error message.
398 * tests/regression.at (Invalid %directive): New.
399 Reported by Hans Aberg.
400
5e147124
AD
4012001-11-26 Akim Demaille <akim@epita.fr>
402
403 * configure.in: Invoke AC_FUNC_OBSTACK and AC_FUNC_ERROR_AT_LINE.
404 * lib/Makefile.am (libbison_a_SOURCES): Adjust.
405
a034c8b8
AD
4062001-11-26 Akim Demaille <akim@epita.fr>
407
408 * src/conflicts.c (conflicts_print): Don't complain at all when
409 there are no reduce/reduce conflicts, and as many shift/reduce
410 conflicts as expected.
411 * tests/regression.at (%expect right): Adjust.
412
c64a20f3
AD
4132001-11-23 Akim Demaille <akim@epita.fr>
414
415 * lib/alloca.c: Update, from fileutils.
416
5b0d29bb
AD
4172001-11-23 Akim Demaille <akim@epita.fr>
418
419 * lib/Makefile.am (libbison_a_LIBADD): Add @ALLOCA@.
420
722c4bfe
AD
4212001-11-23 Akim Demaille <akim@epita.fr>
422
423 * src/system.h: Include alloca.h.
424 * src/main.c (main) [C_ALLOCA]: Call alloca (0).
425
6255b435
AD
4262001-11-23 Akim Demaille <akim@epita.fr>
427
428 * src/print_graph.c (print_actions): Remove `rule', unused.
429 * src/LR0.c (kernel_size): Contain `int' instead of `size_t' to
430 pacify GCC's signed < unsigned warnings.
431 * src/closure.c (itemsetsize): Likewise.
432 * src/reader.c (symbol_list_new): Static.
433
b29b2ed5
AD
4342001-11-23 Akim Demaille <akim@epita.fr>
435
436 Attaching lineno to buckets is stupid, since only one copy of each
437 symbol is kept, only the line of the first occurrence is kept too.
438
439 * src/symtab.h, src/symtab.c (bucket): Remove the line member.
440 * src/reader.c (rline_allocated): Remove, unused.
441 (symbol_list): Have a `line' member.
442 (symbol_list_new): New.
443 (readgram): Use it.
444 * src/print.c (print_grammar): Output the rule line numbers.
445 * tests/regression.at (Solved SR Conflicts)
446 (Unresolved SR Conflicts): Adjust.
447 Reported by Hans Aberg.
448
a81b1d4a
MA
4492001-11-22 Marc Autret <autret_m@epita.fr>
450
451 * src/bison.simple [YYERROR_VERBOSE]: Force its value to be 1 or 0.
452
c1ecb3c1
MA
4532001-11-22 Marc Autret <autret_m@epita.fr>
454
455 * src/muscle_tab.c (muscle_init): Remove initialization of
456 skeleton muscle.
457 * src/output.c (output_master_parser): Do it here.
458
fbe01355
AD
4592001-11-20 Akim Demaille <akim@epita.fr>
460
461 * po/sv.po: New.
462 * configure.in (ALL_LINGUAS): Adjust.
463 * po/POTFILE.in: Remove `nullable.c' and `derives.c' which no
464 longer contains strings to translate.
465
81e895c0
AD
4662001-11-19 Akim Demaille <akim@epita.fr>
467
468 * src/conflicts.c (conflicts_print): Add a missing \n.
469
6bb1878b
AD
4702001-11-19 Akim Demaille <akim@epita.fr>
471
472 * src/nullable.c (nullable_print): New.
473 (set_nullable): Call it when tracing.
474 Better locality of variables.
475
d9ec2d07
AD
4762001-11-19 Akim Demaille <akim@epita.fr>
477
478 * src/print.c (print_actions): Better locality of variables.
479
720e5c1b
AD
4802001-11-19 Akim Demaille <akim@epita.fr>
481
482 * src/derives.c (print_derives): Fix and enrich.
483 * src/closure.c (print_fderives): Likewise.
484
fb908786
AD
4852001-11-19 Akim Demaille <akim@epita.fr>
486
487 * src/closure.c (itemsetend): Remove, replaced with...
488 (itemsetsize): new.
489
125ecb56
AD
4902001-11-19 Akim Demaille <akim@epita.fr>
491
492 * src/LR0.c (kernel_end): Remove, replaced with...
493 (kernel_size): new.
494
d8cf039f
AD
4952001-11-19 Akim Demaille <akim@epita.fr>
496
497 * src/conflicts.c (set_conflicts): Use arrays instead of pointers
498 to clarify.
499
7bec0760
AD
5002001-11-19 Akim Demaille <akim@epita.fr>
501
502 * src/closure.c (closure): Use arrays instead of pointers to clarify.
503
c87d4863
AD
5042001-11-19 Akim Demaille <akim@epita.fr>
505
506 * src/closure.c, src/derives.c, src/nullable.c: Adjust various
507 trace messages.
508 * src/LR0.c: Likewise.
509 (allocate_itemsets): Use arrays instead of pointers to clarify.
510
9bfe901c
AD
5112001-11-19 Akim Demaille <akim@epita.fr>
512
513 * src/getargs.c (statistics_flag): Replace with...
514 (trace_flag): New.
515 (longopts): Accept --trace instead of --statistics.
516 * src/getargs.h, src/options.c: Adjust.
517 * src/LR0.c, src/closure.c, src/derives.c, src/nullable.c,
518 * src/reduce.c: Use trace_flags instead of the CPP conditional TRACE.
519
97db7bd4
AD
5202001-11-19 Akim Demaille <akim@epita.fr>
521
cc72668c 522 * src/LR0.c (new_itemsets, get_state): Use more arrays and fewer
97db7bd4
AD
523 pointers to clarify the code.
524 (save_reductions, save_shifts): Factor common parts of alternatives.
525
2c5f66ed
AD
5262001-11-19 Akim Demaille <akim@epita.fr>
527
528 * src/LR0.c (new_state, get_state): Complete TRACE code.
529 * src/closure.c: Include `reader.h' to get `tags', needed by the
530 trace code.
531 Rename the conditional DEBUG as TRACE.
532 Output consistently TRACEs to stderr, not stdout.
533 * src/derives.c: Likewise.
534 * src/reduce.c: (inaccessable_symbols): Using if is better style
535 than goto.
536 Use `#if TRACE' instead of `#if 0' for tracing code.
537
300f275f
AD
5382001-11-19 Akim Demaille <akim@epita.fr>
539
540 * src/system.h (LIST_FREE, shortcpy): New.
541 * src/LR0.c: Use them.
542 * src/output.c (free_itemsets, free_reductions, free_shifts):
543 Remove, replaced by LIST_FREE.
544
f59c437a
AD
5452001-11-19 Akim Demaille <akim@epita.fr>
546
547 * src/state.h (CORE_ALLOC, SHIFTS_ALLOC, ERRS_ALLOC)
548 (REDUCTIONS_ALLOC): New.
549 * src/LR0.c, src/conflicts.c: Use them to de-obfuscate memory
550 allocation.
551
6986fd9e
AD
5522001-11-19 Akim Demaille <akim@epita.fr>
553
554 * src/LR0.c (new_state): Complete trace code.
555 * src/nullable.c (set_nullable): Don't translate traces.
556
4bc30f78
AD
5572001-11-19 Akim Demaille <akim@epita.fr>
558
559 * src/print_graph.c (print_core): Better locality of variables.
560 * src/print.c (print_core): Likewise.
561
08a946e0
AD
5622001-11-19 Akim Demaille <akim@epita.fr>
563
564 * src/vcg.c: You do the output, so you are responsible of the
565 handling of VCG syntax, in particular: use quotearg.
566 * src/print_graph.c: Don't.
567 (print_actions): Don't output the actions as part of the nodes,
568 since that's the job of the edges.
569 (print_state): Don't output by hand: fill the node description,
9bfe901c 570 and ask for its output.
08a946e0 571
f0473484
AD
5722001-11-19 Akim Demaille <akim@epita.fr>
573
cc72668c
AD
574 * src/bison.simple (yyparse): When verbosely reporting an error,
575 no longer put additional quotes around token names.
f0473484
AD
576 * tests/calc.at: Adjust.
577
e41dc700
AD
5782001-11-19 Akim Demaille <akim@epita.fr>
579
580 * src/symtab.h, src/symtab.c: `line' is a new member of `bucket'.
581 * src/reader.c (record_rule_lines, rline, rline_allocated): Remove.
582 * src/output.c: Adjust.
583
652a871c
AD
5842001-11-19 Akim Demaille <akim@epita.fr>
585
586 * src/gram.h (rprec, rprecsym, rassoc): Remove, now part of...
587 (rule_t): this.
588 * src/conflicts.c, src/reader.c, src/reduce.c: Adjust.
589
b2ed6e58
AD
5902001-11-19 Akim Demaille <akim@epita.fr>
591
592 * src/gram.h (rule_t): New.
593 (rule_table): New.
594 (rrhs, rlhs): Remove, part of state_t.
595 * src/print_graph.c, src/closure.c, src/conflicts.c, src/derives.c,
596 * src/lalr.c, src/nullable.c, src/output.c, src/print.c,
597 * src/reader.c, src/reduce.c: Adjust.
598
edad7067
AD
5992001-11-19 Akim Demaille <akim@epita.fr>
600
601 * src/reader.c (symbols_output): New, extracted from...
602 (packsymbols): Here.
603 (reader): Call it.
604
3feec034
AD
6052001-11-19 Akim Demaille <akim@epita.fr>
606
607 * src/lalr.c (set_maxrhs, maxrhs): Remove, replaced with...
608 (maxrhs): this new function.
609
ddcd5fdf
AD
6102001-11-19 Akim Demaille <akim@epita.fr>
611
cc72668c 612 * src/lalr.c (F): New macro to access the variable F.
ddcd5fdf
AD
613 Adjust.
614
bb527fc2
AD
6152001-11-19 Akim Demaille <akim@epita.fr>
616
cc72668c 617 * src/lalr.h (LA): New macro to access the variable LA.
bb527fc2
AD
618 * src/output.c, src/lalr.c, src/print_graph.c, src/conflicts.c:
619 * src/lalr.c: Adjust.
620
a845a697
AD
6212001-11-19 Akim Demaille <akim@epita.fr>
622
623 * src/lalr.c (initialize_LA): Only initialize LA. Let...
624 (set_state_table): handle the `lookaheads' members.
625
f004bf6a
AD
6262001-11-19 Akim Demaille <akim@epita.fr>
627
cc72668c
AD
628 * src/lalr.h (lookaheads): Removed array, whose contents is now
629 a member of...
f004bf6a
AD
630 (state_t): this structure.
631 * src/output.c, src/lalr.c, src/print_graph.c, src/conflicts.c:
632 Adjust.
633
de326cc0
AD
6342001-11-19 Akim Demaille <akim@epita.fr>
635
cc72668c
AD
636 * src/lalr.h (consistent): Removed array, whose contents is now
637 a member of...
de326cc0
AD
638 (state_t): this structure.
639 * src/output.c, src/lalr.c, src/print_graph.c, src/conflicts.c:
640 Adjust.
641
90b4416b
AD
6422001-11-19 Akim Demaille <akim@epita.fr>
643
cc72668c
AD
644 * src/lalr.h (reduction_table, shift_table): Removed arrays, whose
645 contents are now members of...
90b4416b
AD
646 (state_t): this structure.
647 * src/output.c, src/lalr.c, src/print_graph.c, src/conflicts.c:
648 Adjust.
649
9703cc49
AD
6502001-11-19 Akim Demaille <akim@epita.fr>
651
652 * src/lalr.h (state_t): New.
653 (state_table): Be a state_t * instead of a core **.
654 (accessing_symbol): Remove, part of state_t.
655 * src/lalr.c: Adjust.
656 (set_accessing_symbol): Merge into...
657 (set_state_table): this.
658 * src/print_graph.c, src/conflicts.c: Adjust.
659
d803322e
AD
6602001-11-14 Akim Demaille <akim@epita.fr>
661
662 * tests/calc.at, tests/output.at, tests/regression.at,
663 * tests/testsuite.at, tests/torture.at: Rely on Autotest 2.52g:
664 now the tests are run in private dirs, therefore AC_CLEANUP and
665 family can be simplified to 0-ary.
666 * tests/atlocal.in: Now that we run `elsewhere' than in tests/,
667 use abs. path to find config.h.
668 * tests/calc.at (AT_CHECK_CALC): Don't try to check the compiler's
669 stderr, there can be way too much random noise.
670 Instead pass -Werror to GCC and rely on the exit status.
671 Reported by Wolfram Wagner.
672
3d76b07d
AD
6732001-11-14 Akim Demaille <akim@epita.fr>
674
675 * src/bison.simple (yyparse): Let yyls1, yyss1 and yyvs1 be
676 defined only if yyoverflow is defined, to avoid `warning: unused
677 variable `yyvs1''.
678 Reported by The Test Suite.
679
09b503c8
AD
6802001-11-14 Akim Demaille <akim@epita.fr>
681
682 * src/print.c: Include reduce.h.
683 Reported by Hans Aberg.
684
6852001-11-14 Akim Demaille <akim@epita.fr>
686
687 * src/lex.c, src/lex.h (token_buffer, unlexed_token_buffer):
688 Revert a previous patch: these are really const.
689 * src/conflicts.c (conflict_report): Additional useless pair of
690 braces to pacify GCC's warnings for `if () if () {} else {}'.
691 * src/lex.c (parse_percent_token): Replace equal_offset with
692 arg_offset.
693 arg is const.
694 Be sure to strdup `arg' when used, since there is no reason for
695 token_buffer not to change.
696
0f37a994
AD
6972001-11-14 Akim Demaille <akim@epita.fr>
698
699 * src/system.h (EXIT_SUCCESS, EXIT_FAILURE): Ensure a proper
700 definition.
701 * src/main.c (main): Use them.
702 Suggested by Hans Aberg.
703
d39d93b8
AD
7042001-11-12 Akim Demaille <akim@epita.fr>
705
706 * src/system.h (ngettext): Now that we use ngettext, be sure to
707 provide a default definition when NLS are not used.
708
9edcd895
AD
7092001-11-12 Akim Demaille <akim@epita.fr>
710
711 * doc/bison.texinfo: Use `$' as shell prompt, not `%'.
712 Use @kbd to denote user input.
713 (Language and Grammar): ANSIfy the example.
714 Adjust its layout for info/notinfo.
715 (Location Tracking Calc): Output error messages to stderr.
716 Output locations in a more GNUtically correct way.
717 Fix a couple of Englishos.
718 Adjust @group/@end group pairs.
719
7da99ede
AD
7202001-11-12 Akim Demaille <akim@epita.fr>
721
722 %expext was not functioning at all.
723
724 * src/conflicts.c (expected_conflicts): Set to -1.
725 (conflict_report): Use ngettext.
726 (conflicts_print): Check %expect and make its violation an error.
727 * doc/bison.texinfo (Expect Decl): Adjust.
728 * configure.in (AM_GNU_GETTEXT): Ask for ngettext.
729 * tests/regression.at (%expect not enough, %expect right)
730 (%expect too much): New.
731
ba9dda1a
AD
7322001-11-12 Akim Demaille <akim@epita.fr>
733
734 * tests/regression.at (Conflicts): Rename as...
735 (Unresolved SR Conflicts): this.
736 (Solved SR Conflicts): New.
737
337c5bd1
AD
7382001-11-12 Akim Demaille <akim@epita.fr>
739
740 * src/reduce.c (print_results): Rename as...
741 (reduce_output): This.
742 Output to OUT, passed as argument, instead of output_obstack.
743 (dump_grammar): Likewise.
744 (reduce_free): New.
745 Also free V1.
746 (reduce_grammar): No longer call reduce_output, since...
747 * src/print.c (print_results): do it.
748 * src/main.c (main): Call reduce_free;
749
c73a41af
AD
7502001-11-12 Akim Demaille <akim@epita.fr>
751
752 * src/conflicts.c (print_reductions): Accept OUT as argument.
753 Output to it, not to output_obstack.
754 * src/print.c (print_actions): Adjust.
755
0df87bb6
AD
7562001-11-12 Akim Demaille <akim@epita.fr>
757
758 * src/conflicts.c (count_sr_conflicts, count_rr_conflicts): Return
759 the result instead of using...
760 (src_total, rrc_total, src_count, rrc_count): Remove.
761 (any_conflicts): Remove.
762 (print_conflicts): Split into...
763 (conflicts_print, conflicts_output): New.
764 * src/conflicts.h: Adjust.
765 * src/main.c (main): Invoke both conflicts_output and conflicts_print.
0f37a994 766 * src/print.c (print_grammar): Issue `\n' between two rules.
0df87bb6
AD
767 * tests/regression.at (Conflicts): New.
768 Reported by Tom Lane.
769
e4d3d4de
AD
7702001-11-12 Akim Demaille <akim@epita.fr>
771
772 * tests/regression.at (Invalid input): Remove, duplicate with
773 ``Invalid input: 1''.
774
6d7d248e
AD
7752001-11-12 Akim Demaille <akim@epita.fr>
776
777 * tests/torture.at (AT_DATA_STACK_TORTURE)
778 (Exploding the Stack Size with Alloca)
779 (Exploding the Stack Size with Malloc): New.
780
e9e4c321
AD
7812001-11-12 Akim Demaille <akim@epita.fr>
782
783 * src/bison.simple (YYSTACK_REALLOC): New.
784 (yyparse) [!yyoverflow]: Use it and free the old stack.
0f37a994 785 Reported by Per Allansson.
e9e4c321 786
5f7e0832
AD
7872001-11-12 Pascal Bart <pascal.bart@epita.fr>
788
789 * src/bison.simple: Define type yystype instead of YYSTYPE, and
790 define CPP macro, which substitute YYSTYPE by yystype.
791 * src/reader.c (parse_union_decl): Output yystype/YYSTYPE as we do
792 with yyltype/YYLTYPE. This allows inclusion of the generated
793 header within the parser if the compiler, such as GGC, accepts
794 multiple equivalent #defines.
795 From Akim.
796
e3f1699f
AD
7972001-11-05 Akim Demaille <akim@epita.fr>
798
799 * src/reader.c (symbols_output): New, extracted from...
800 (packsymbols): here.
801 (reader): Adjust.
802
65be0866
AD
8032001-11-05 Akim Demaille <akim@epita.fr>
804
805 * src/lex.c (parse_percent_token): s/quotearg/quote/.
806
e4d910bf
AD
8072001-11-05 Akim Demaille <akim@epita.fr>
808
809 * tests/regression.at (AT_TEST_CPP_GUARD_H): Adjust the clean up
810 pattern.
811
951366c1
AD
8122001-11-05 Akim Demaille <akim@epita.fr>
813
814 * src/options.h (struct option_table_struct): set_flags is void*.
815 * src/options.c (longopts): Support `--output' and `%output'.
816 (usage): Adjust.
817 * src/lex.h (tok_setopt): Remove, replaced with...
818 (tok_intopt, tok_stropt): these new guys.
819 * src/lex.c (getopt.h): Not needed.
820 (token_buffer, unlexed_token_buffer): Not const.
821 (percent_table): Promote `-' over `_' in directive names.
822 Active `%name-prefix', `file-prefix', and `output'.
823 (parse_percent_token): Accept possible arguments to directives.
824 Promote `-' over `_' in directive names.
825
d8988b2f
AD
8262001-11-04 Akim Demaille <akim@epita.fr>
827
828 * doc/bison.texinfo (Decl Summary): Split the list into
829 `directives for grammars' and `directives for bison'.
830 Sort'em.
831 Add description of `%name-prefix', `file-prefix', and `output'.
832 Promote `-' over `_' in directive names.
833 (Bison Options): s/%locactions/%locations/. Nice Freudian slip.
834 Simplify the description of `--name-prefix'.
835 Promote `-' over `_' in directive names.
836 Promote `--output' over `--output-file'.
837 Fix the description of `--defines'.
838 * tests/output.at: Exercise %file-prefix and %output.
839
6468d18e
AD
8402001-11-02 Akim Demaille <akim@epita.fr>
841
842 * doc/refcard.tex: Update.
843
6b7e85b9
AD
8442001-11-02 Akim Demaille <akim@epita.fr>
845
846 * src/symtab.h (SUNDEF): New.
847 * src/symtab.c (bucket_new): Init user_token_number to SUNDEF to
848 stand for `uninitialized', instead of 0.
849 * src/reader.c (packsymbols, parse_thong_decl): Adjust.
850 * src/lex.c (lex): Adjust.
851
852 * tests/calc.at (_AT_DATA_CALC_Y): Declare a token for EOF.
853 Number it 0.
854 Let yylex return it instead of a plain 0.
855 Reported by Dick Streefland.
856
cd5aafcf
AD
8572001-11-02 Akim Demaille <akim@epita.fr>
858
859 * tests/regression.at (Mixing %token styles): New test.
860
037ca2f1
AD
8612001-11-02 Akim Demaille <akim@epita.fr>
862
863 * src/reader.c (parse_thong_decl): Formatting changes.
864 (token_translations_init): New, extracted from...
865 (packsymbols): Here.
866 Adjust.
867
270a173c
AD
8682001-11-01 Akim Demaille <akim@epita.fr>
869
870 * tests/regression.at (AT_TEST_CPP_GUARD_H): New.
871 Check that `9foo.y' produces correct cpp guards.
872 * src/files.c (compute_header_macro): Prepend `BISON_' to CPP
873 guards.
874 Reported by Wwp.
875
561f9a30
AD
8762001-11-01 Akim Demaille <akim@epita.fr>
877
878 * tests/regression.at (Invalid input: 2): New.
879 * src/lex.c (unlexed_token_buffer): New.
880 (lex, unlex): Adjust: when unlexing, be sure to save token_buffer
881 too.
882 Reported by Wwp.
883
f987e9d2
AD
8842001-11-01 Akim Demaille <akim@epita.fr>
885
886 * tests/calc.at: Catch up with 1.30.
887 * configure.in: Bump to 1.49a.
888 Adjust to newer Autotest.
889
0846f581
PB
8902001-10-19 Pascal Bart <pascal.bart@epita.fr>
891
892 * src/conflicts.c: Move global variables rrc_total and src_total ...
893 (print_conflicts): here.
894 * src/output.c (output): Free global variable user_toknums.
895 * src/lex.c (token_obstack): Become static.
896
3c1a79b3
AD
8972001-10-18 Akim Demaille <akim@epita.fr>
898
899 * tests/atlocal.in (GCC): Add.
900 * tests/calc.at: s/m4_match/m4_bmatch/.
901 s/m4_patsubst/m4_bpatsubst/.
902 (AT_CHECK_CALC): Check the compiler's stderr only if it's GCC.
903 * configure.in: AC_SUBST(GCC).
904
5d52e7d0
MA
9052001-10-14 Marc Autret <autret_m@epita.fr>
906
907 * src/options.c (create_long_option_table): Fix.
908
631aa1d3
AD
9092001-10-10 Akim Demaille <akim@epita.fr>
910
911 * src/bison.simple: Be sure to set YYSTACK_USE_ALLOCA.
912
f6ec6d13
AD
9132001-10-04 Akim Demaille <akim@epita.fr>
914
915 * src/reader.c (parse_union_decl): Push the caracters in
916 union_obstack, not attrs_obstack.
917
342b8b6e
AD
9182001-10-04 Akim Demaille <akim@epita.fr>
919
920 Merge in the branch 1.29.
921
922 * src/reader.c (packsymbols): Use a temporary obstack for
923 `%%tokendef', since output_stack is already used elsewhere.
924
925 2001-10-02 Akim Demaille <akim@epita.fr>
926
927 Bump 1.29d.
928
929 2001-10-02 Akim Demaille <akim@epita.fr>
930
931 Version 1.29c.
932
933 2001-10-02 Akim Demaille <akim@epita.fr>
934
935 * tests/regression.at (Invalid CPP headers): New.
936 From Alexander Belopolsky.
937 * src/files.c (compute_header_macro): Map non alnum chars to `_'.
938
939 2001-10-02 Akim Demaille <akim@epita.fr>
940
941 * tests/regression.at (Invalid input): New.
942 * src/lex.c (lex): Be sure to set `token_buffer' in any case.
943 Reported by Shura.
944
945 2001-10-02 Akim Demaille <akim@epita.fr>
946
947 * tests/calc.at: Now that --debug works, the tests must be adjusted.
948
949 2001-10-02 Akim Demaille <akim@epita.fr>
950
951 * src/output.c (output_parser): Assert `skeleton'.
952 * src/files.c (skeleton_find): Look harder for skeletons on DOSish
953 systems.
954 From Shura.
955
956 2001-10-01 Marc Autret <autret_m@epita.fr>
957
958 * src/lex.h: Echo modifications.
959 * src/lex.c (unlex): Parameter is now token_t.
960 From Hans Aberg.
961
962 2001-10-01 Marc Autret <autret_m@epita.fr>
963
964 * src/main.c: Include lex.h.
965 From Hans Aberg.
966
967 2001-09-29 Akim Demaille <akim@epita.fr>
968
969 * src/getargs.c (longopts): `--debug' is `-t', not `-d'.
970
971 2001-09-28 Akim Demaille <akim@epita.fr>
972
973 * tests/testsuite.at: Update to newer Autotest.
974 * tests/Makefile.am (EXTRA_DIST): bison is not to be shipped.
975
976 2001-09-27 Akim Demaille <akim@epita.fr>
977
978 Position independent wrapper.
979
980 * tests/bison: Remove.
981 * tests/bison.in: New.
982 * configure.in: Adjust.
983
984 2001-09-27 Paul Eggert <eggert@twinsun.com>
985
986 Port quotearg fixes from tar 1.13.24.
987
988 * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
989 tm to be declared.
990 (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
991 (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
992
993 * m4/Makefile.am (EXTRA_DIST): Add mbrtowc.m4.
994 * m4/mbrtowc.m4: New file.
995 * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for mbsinit and stddef.h.
996 Use jm_FUNC_MBRTOWC instead of AC_CHECK_FUNCS(mbrtowc).
997
998 2001-09-27 Akim Demaille <akim@epita.fr>
999
1000 Bump to 1.29c.
1001
1002 2001-09-27 Akim Demaille <akim@epita.fr>
1003
1004 Version 1.29b.
1005
1006 2001-09-25 Akim Demaille <akim@epita.fr>
1007
1008 * src/system.h: Include `xalloc.h'.
1009 Remove it from the C files.
1010 * src/files.c (output_files): Free the obstacks.
1011 * src/lex.c (init_lex): Rename as...
1012 (lex_init): this.
1013 (lex_free): New.
1014 * src/main.c (main): Use it.
1015
1016 2001-09-24 Marc Autret <autret_m@epita.fr>
1017
1018 * src/vcg.c (open_edge, close_edge, open_node, close_node): Change
1019 to output informations in fout (FILE*).
1020 (open_graph, close_graph): Likewise.
1021 (output_graph, output_edge, output_node): Likewise.
1022 * src/vcg.h: Update function prototypes.
1023 * src/print_graph.c (print_graph): Open output graph file.
1024 (print_actions): Adjust.
1025 * src/files.h: Remove extern declaration.
1026 * src/files.c: Remove graph_obstack declaration.
1027 (open_files): Remove graph_obstack initialization.
1028 (output_files): Remove graph_obstack saving.
1029
1030 2001-09-24 Marc Autret <autret_m@epita.fr>
1031
1032 * src/files.c (compute_output_file_names): Fix.
1033
1034 2001-09-24 Marc Autret <autret_m@epita.fr>,
1035 Akim Demaille <akim@epita.fr>
1036
1037 * src/reader.c (reader): Remove call to free_symtab ().
1038 * src/main.c (main): Call it here.
1039 Include symtab.h.
1040 * src/conflicts.c (initialize_conflicts): Rename as...
1041 (solve_conflicts): this.
1042 * src/print.c (print_core, print_actions, print_state)
1043 (print_grammar): Dump to a file instead a `output_obstack'.
1044 (print_results): Dump `output_obstack', and then proceed with the
1045 FILE *.
1046 * src/files.c (compute_output_file_names, close_files): New.
1047 (output_files): Adjust.
1048 * src/main.c (main): Adjust.
1049
1050 2001-09-23 Marc Autret <autret_m@epita.fr>
1051
1052 * src/files.c (compute_header_macro): Computes header macro name
1053 from spec_defines_file when given.
1054
1055 2001-09-23 Marc Autret <autret_m@epita.fr>
1056
1057 * src/files.c (output_files): Add default extensions.
1058
1059 2001-09-22 Akim Demaille <akim@epita.fr>
1060
1061 * src/conflicts.c (finalize_conflicts): Rename as...
1062 (free_conflicts): this.
1063
1064 2001-09-22 Akim Demaille <akim@epita.fr>
1065
1066 * src/gram.c (gram_free): Rename back as...
1067 (dummy): this.
1068 (output_token_translations): Free `token_translations'.
1069 * src/symtab.c (free_symtab): Free the tag field.
1070
1071 2001-09-22 Akim Demaille <akim@epita.fr>
1072
1073 Remove `translations' as it is always set to true.
1074
1075 * src/gram.h: Adjust.
1076 * src/reader.c (packsymbols, parse_token_decl): Adjust
1077 * src/print.c (print_grammar): Adjust.
1078 * src/output.c (output_token_translations): Adjust.
1079 * src/lex.c (lex): Adjust.
1080 * src/gram.c: Be sure the set pointers to NULL.
1081 (dummy): Rename as...
1082 (gram_free): this.
1083
1084 2001-09-22 Akim Demaille <akim@epita.fr>
1085
1086 * configure.in: Invoke AM_LIB_DMALLOC.
1087 * src/system.h: Use dmalloc.
1088 * src/LR0.c: Be sure to have pointers initialized to NULL.
1089 (allocate_itemsets): Allocate kernel_items only if needed.
1090
1091 2001-09-22 Akim Demaille <akim@epita.fr>
1092
1093 * configure.in: Bump to 1.29b.
1094 * tests/Makefile.am (DISTCLEANFILES): Add package.m4.
1095 * tests/calc.at (_AT_DATA_CALC_Y): #undef malloc so that we don't
1096 need xmalloc.c in calc.y.
1097 From Pascal Bart.
1098
1099 2001-09-21 Akim Demaille <akim@epita.fr>
1100
1101 Version 1.29a.
1102 * Makefile.maint, config/config.guess, config/config.sub,
1103 * config/missing: Update from masters.
1104 * tests/Makefile.am ($(srcdir)/$(TESTSUITE)): No longer depend
1105 upon package.m4.
1106 * configure.in (ALL_LINGUAS): Add `tr'.
1107
1108 2001-09-21 Akim Demaille <akim@epita.fr>
1109
1110 * tests/Makefile.am (package.m4): Move to...
1111 ($(srcdir)/$(TESTSUITE)): here.
1112
1113 2001-09-20 Akim Demaille <akim@epita.fr>
1114
1115 * src/complain.c: No longer try to be standalone: use system.h.
1116 Don't assume __STDC__ is defined to 1. Just test if it is defined.
1117 * src/complain.h: Likewise.
1118 * src/reduce.c (useless_nonterminals, inaccessable_symbols):
1119 Remove the unused variable `n'.
1120 From Albert Chin-A-Young.
1121
1122 2001-09-18 Marc Autret <autret_m@epita.fr>
1123
1124 * doc/bison.1: Update.
1125 * doc/bison.texinfo (Bison Options): Update --defines and --graph
1126 descriptions.
1127 (Option Cross Key): Update.
1128 Add --graph.
1129
1130 2001-09-18 Marc Autret <autret_m@epita.fr>
1131
1132 * tests/regression.at: New test (comment in %union).
1133
1134 2001-09-18 Marc Autret <autret_m@epita.fr>
1135
1136 * src/reader.c (parse_union_decl): Do not output '/'. Let copy_comment
1137 do that.
1138 Reported by Keith Browne.
1139
1140 2001-09-18 Marc Autret <autret_m@epita.fr>
1141
1142 * tests/output.at: Add tests for --defines and --graph.
1143
1144 2001-09-18 Marc Autret <autret_m@epita.fr>
1145
1146 * tests/output.at: Removes tests of %{header,src}_extension features.
1147
1148 2001-09-18 Akim Demaille <akim@epita.fr>
1149
1150 * tests/Makefile.am (package.m4): New.
1151 * tests/calc.at (_AT_CHECK_CALC): Just run `calc input'.
1152 (_AT_CHECK_CALC_ERROR): Likewise.
1153 Factor the `, ' part of verbose error messages.
1154
1155 2001-09-18 Marc Autret <autret_m@epita.fr>
1156
1157 * src/getargs.c (longopts): Declare --defines and --graph as options
1158 with optional arguments.
1159 * src/files.h: Add extern declarations.
1160 * src/files.c (spec_graph_file, spec_defines_file): New.
1161 (output_files): Update.
1162 Remove CPP-outed code.
1163
1164 2001-09-18 Marc Autret <autret_m@epita.fr>
1165
1166 Turn off %{source,header}_extension feature.
1167
1168 * src/files.c (compute_exts_from_gf): Update.
1169 (compute_exts_from_src): Update.
1170 (output_files): CPP-out useless code.
1171 * src/files.h: Remove {header,source}_extension extern declarations.
1172 * src/reader.c (parse_dquoted_param): CPP-out.
1173 (parse_header_extension_decl): Remove.
1174 (parse_source_extension_decl): Remove.
1175 (read_declarations): Remove cases tok_{hdrext,srcext}.
1176 * src/lex.c (percent_table): Remove {header,source}_extension entries.
1177 * src/lex.h (token_t): Remove tok_hdrext and tok_srcext.
1178
1179 2001-09-10 Akim Demaille <akim@epita.fr>
1180
1181 * tests/output.at (AT_CHECK_BISON_FLAGS, AT_CHECK_BISON_PERCENT):
1182 (AT_CHECK_BISON_PERCENT_FLAGS): Merge into...
1183 (AT_CHECK_OUTPUT): this.
1184 Merely check ls' exit status, its output is useless.
1185
1186 2001-09-10 Akim Demaille <akim@epita.fr>
1187
1188 * tests/calc.at: Use m4_match.
1189 (_AT_DATA_CALC_Y): Check `yyin != NULL', not `stdin != NULL'.
1190
1191 2001-09-10 Marc Autret <autret_m@epita.fr>,
1192 Akim Demaille <akim@epita.fr>
1193
1194 * src/vcg.h (graph_s): color, textcolor, bordercolor are now
1195 enum color_e.
1196 * src/print_graph.c (print_graph): Initalize graph.layoutalgorithm
1197 to `normal'.
1198 * src/reader.c (parse_token_decl): Initialize token with tok_eof.
1199 * src/lex.h: Adjust prototype.
1200 (token_t): Add `tok_undef'.
1201 * src/lex.c (struct percent_table_struct): Retval is now a token_t.
1202 (parse_percent_token): Now returns token_t.
1203 Add default statement in switch.
1204 (lex): Separate `c' as an input variable, from the token_t result
1205 part.
1206 (unlexed): Is a token_t.
1207
1208 2001-09-10 Akim Demaille <akim@epita.fr>
1209
1210 * configure.in: Bump to 1.29a.
1211
1212 2001-09-07 Akim Demaille <akim@epita.fr>
1213
1214 Version 1.29.
1215
1216 2001-08-30 Akim Demaille <akim@epita.fr>
1217
1218 * tests/atgeneral.m4, tests/atconfig.in, tests/suite.at: Remove.
1219 * m4/atconfig.m4: Remove.
1220 * tests/testsuite.at, tests/atlocal.in, tests/output.at,
1221 * tests/bison: New.
1222 * tests/regression.at, tests/calc.at: Use m4_define, AT_BANNER,
1223 m4_if, m4_patsubst, and m4_regexp.
1224 * tests/calc.at (_AT_CHECK_CALC, _AT_CHECK_CALC_ERROR): Use an
1225 `input' file instead of echo.
1226
1227 2001-08-29 Akim Demaille <akim@epita.fr>
1228
1229 Bump to 1.28e.
1230
1231 2001-08-29 Akim Demaille <akim@epita.fr>
1232
1233 Version 1.28d.
1234
1235 2001-08-29 Paul Eggert <eggert@twinsun.com>
1236
1237 * src/bison.simple (yyparse): Don't take the address of an
1238 item before the start of an array, as that doesn't conform to
1239 the C Standard.
1240
1241 2001-08-29 Robert Anisko <anisko_r@epita.fr>
1242
1243 * doc/bison.texinfo (Location Tracking Calc): New node.
1244
1245 2001-08-29 Paul Eggert <eggert@twinsun.com>
1246
1247 * src/output.c (output): Do not define const, as this now
1248 causes more problems than it cures.
1249
1250 2001-08-29 Akim Demaille <akim@epita.fr>
1251
1252 * doc/bison.texinfo: Modernize `@node' and `@top' use: just name
1253 the nodes.
1254 Be sure to tag the `detailmenu'.
1255
1256 2001-08-29 Akim Demaille <akim@epita.fr>
1257
1258 * Makefile.maint (do-po-update): Wget refuses to overwrite files:
1259 download in a tmp dir.
1260
1261 2001-08-28 Marc Autret <autret_m@epita.fr>
1262
1263 * config/depcomp: New file.
1264
1265 2001-08-28 Marc Autret <autret_m@epita.fr>
1266
1267 * doc/bison.1 (mandoc): Adjust.
1268 From Juan Manuel Guerrero.
1269
1270 2001-08-28 Marc Autret <autret_m@epita.fr>
1271
1272 * src/print_graph.c (print_state): Fix.
1273
1274 2001-08-27 Marc Autret <autret_m@epita.fr>
1275
1276 * src/vcg.h (classname_s, infoname_s, node_s): Constify the
1277 char * members.
1278 Echo modifications to the functions prototypes.
1279 * src/vcg.c (add_classname, add_infoname): Adjust arguments.
1280
1281 2001-08-27 Marc Autret <autret_m@epita.fr>
1282
1283 * src/vcg.c: Include `xalloc.h'.
1284 (add_colorentry): New.
1285 (add_classname): New.
1286 (add_infoname): New.
1287 * src/vcg.h: Add new prototypes.
1288
1289 2001-08-27 Akim Demaille <akim@epita.fr>
1290
1291 * Makefile.maint: Sync. again with CVS Autoconf.
1292
1293 2001-08-27 Akim Demaille <akim@epita.fr>
1294
1295 * Makefile.maint: Formatting changes.
1296 (po-update, cvs-update, update): New targets.
1297 (AMTAR): Remove.
1298
1299 2001-08-27 Akim Demaille <akim@epita.fr>
1300
1301 * Makefile.am (AUTOMAKE_OPTIONS): 1.5.
1302 * Makefile.maint: Sync. with CVS Autoconf.
1303
1304 2001-08-27 Marc Autret <autret_m@epita.fr>
1305
1306 * src/vcg.h (struct infoname_s): New.
1307 (struct colorentry_s): New.
1308 (graph_s): New fields {vertical,horizontal}_order in structure.
1309 Add `infoname' field.
1310 Add `colorentry' field;
1311 * src/vcg_defaults.h (G_VERTICAL_ORDER): New.
1312 (G_HORIZONTAL_ORDER): New.
1313 (G_INFONAME): New.
1314 (G_COLORENTRY): New.
1315 * src/vcg.c (output_graph): Add output of {vertical,horizontal}_order.
1316 Add output of `infoname'.
1317 Add output of `colorentry'.
1318
1319 2001-08-27 Marc Autret <autret_m@epita.fr>
1320
1321 * src/reader.c (parse_dquoted_param): Rename variable `index' to `i'.
1322 This one shadowed a global parameter.
1323
1324 2001-08-24 Marc Autret <autret_m@epita.fr>
1325
1326 * src/print_graph.c (node_output_size): Declared POSIX `size_t' type,
1327 instead of `unsigned'.
1328 (print_state): Do not call obstack_object_size () in obstack_grow ()
1329 to avoid macro variables shadowing.
1330
1331 2001-08-23 Marc Autret <autret_m@epita.fr>
1332
1333 * src/lex.c (percent_table): Typo: s/naem/name/.
1334 Add graph option.
1335 Normalize new options declarations.
1336
1337 2001-08-20 Pascal Bart <pascal.bart@epita.fr>
1338
1339 * tests/suite.at: Exercise %header_extension and %source_extension.
1340
1341 2001-08-16 Marc Autret <autret_m@epita.fr>
1342
1343 * src/reader.c (parse_dquoted_param): New.
1344 (parse_header_extension_decl): Use it.
1345 (parse_source_extension_decl): Likewise.
1346
1347 2001-08-16 Marc Autret <autret_m@epita.fr>
1348
1349 * src/vcg.c: Remove includes of `complain.h' and `xalloc.h'.
1350 (get_xxxx_str): Use assert () instead of complain ().
1351 Remove return invokations in default cases.
1352 (get_decision_str): Modify default behaviour. Remove second argument.
1353 Echo modifications on calls.
1354 (output_graph): Fix.
1355
1356 2001-08-16 Marc Autret <autret_m@epita.fr>
1357
1358 * src/getargs.c (usage): Update with ``-g, --graph''.
1359
1360 2001-08-16 Marc Autret <autret_m@epita.fr>
1361
1362 * doc/bison.texinfo (Bison Options): Add items `-g', `--graph'.
1363 (Option Cross Key): Likewise.
1364 * doc/bison.1: Update.
1365
1c8c2190
PB
13662001-09-25 Pascal Bart <pascal.bart@epita.fr>
1367
1368 * src/output.c (output_master_parser): Don't finish action_obstack.
1369 (output_parser): Don't care about the muscle action, here.
1370 (prepare): Copy the action_obstack in the action muscle.
1371 (output): Free action_obstack.
1372
180d45ba
PB
13732001-09-23 Pascal Bart <pascal.bart@epita.fr>
1374
1375 * src/reader.c (parse_union_decl): Add new obstack union_obstack. Which
1376 will contain `%union' declaration.
1377 (parse_union_decl): Delete #line directive output.
1378 (parse_union_decl): Substitute /attrs_obstack/union_obstack for all
1379 informations about %union.
1380 (parse_union_decl): Copy the union_obstack in the muscle stype.
1381 * src/bison.simple: Add new #line directive.
1382 Add typdef %%stype YYSTYPE.
1383
c51d1a19
PB
13842001-09-23 Pascal Bart <pascal.bart@epita.fr>
1385
1386 * src/bison.simple: Add new `#line' directive.
1387
6f9344da
PB
13882001-09-22 Pascal Bart <pascal.bart@epita.fr>
1389
1390 * src/bison.simple: New `#line' directive.
1391 * src/output.c (output_parser): Support new dynamic muscle input_line.
1392
652def80
MA
13932001-09-22 Marc Autret <autret_m@epita.fr>
1394
1395 * src/output.c (output_master_parser): New.
1396 (output_parser): Be more re-entrant.
1397
25b222fa
MA
13982001-09-21 Marc Autret <autret_m@epita.fr>
1399
1400 * src/reader.c (copy_definition, parse_union_decl): Update and use
1401 `linef' muscle.
1402 (copy_action): Likewise.
1403 Use obstack_1grow ().
1404 * src/muscle_tab.c (muscle_init): Add muscle `linef'.
1405
6bc35ae5
MA
14062001-09-21 Marc Autret <autret_m@epita.fr>
1407
1408 * src/options.c (option_table): Adjust.
1409 * src/lex.c (parse_percent_token): Fix.
1410
c0629aa1
PB
14112001-09-20 Pascal Bart <pascal.bart@epita.fr>
1412
1413 * src/options.c (symtab.h): Include it, need by lex.h.
342b8b6e 1414
82b6d266
PB
14152001-09-20 Pascal Bart <pascal.bart@epita.fr>
1416
1417 * src/lex.c (parse_percent_token): Change type of variable `tx', which
1418 is now an option_table_struct*.
1419 (option_strcmp): New function option_strcmp.
1420 (parse_percent_token): Call option_strcmp.
1421 * src/getargs.c (xalloc.h, options.h): Include it.
1422 (getargs): Call create_long_option_table.
1423 (getargs): Free longopts at the end of the function.
1424 (shortopts): Move in options.c.
1425 * src/options.c (create_long_option_table): New function. Convert
1426 information from option_table to option structure.
1427 * src/reader.c (options.h): Include it.
1428
1429 * src/Makefile.am: Adjust.
1430 * src/options.c (option_table): Create from longopts and percent_table.
1431 * src/getargs.c (longopts): Delete.
1432 * src/lex.c (struct percent_table_struct): Delete.
1433 (percent_table): Delete.
1434 (options.h): Include it.
1435 * src/options.c: Create.
1436 * src/options.h: Create.
1437 Declare enum opt_access_e.
1438 Define struct option_table_struct.
1439
75f5aaea
MA
14402001-09-20 Marc Autret <autret_m@epita.fr>
1441
1442 * doc/bison.texinfo: Adjust terminologies about prologue and epilogue
1443 sections of Bison.
1444
f508cb0a
PB
14452001-09-19 Pascal Bart <pascal.bart@epita.fr>
1446
1447 * src/bison.simple: s/%%filename/%%skeleton.
1448 * src/muscle_tab.c (getargs.h): Include it.
1449 (muscle_init): Insert new muscle skeleton.
1450
13105fc1
PB
14512001-09-18 Pascal Bart <pascal.bart@epita.fr>
1452
1453 * src/output.c (output_parser): Delete unused variable actions_dumped.
1454
b0c4483e
PB
14552001-09-07 Pascal Bart <pascal.bart@epita.fr>
1456
1457 * src/output.c (output): Delete call to reader_output_yylsp.
1458 * src/reader.c (reader): Likewise.
1459 * src/reader.h: Delete declaration of reader_output_yylsp.
342b8b6e 1460
11d82f03
MA
14612001-09-02 Marc Autret <autret_m@epita.fr>
1462
1463 * src/reader.c: Include muscle_tab.h.
1464 (parse_union_decl): Update.
1465 (parse_macro_decl): Rename parse_muscle_decl.
1466 Update to use renamed functions and variable.
1467 (read_declarations, copy_action, read_additionnal_code, : Updated
1468 with correct variables and functions names.
1469 (packsymbols, reader): Likewise.
342b8b6e 1470
11d82f03 1471 * src/reader.h (muscle_obstack): Extern declaration update.
342b8b6e 1472
11d82f03
MA
1473 * src/output.c: Include muscle_tab.h
1474 In all functions using macro_insert, change by using muscle_insert ().
1475 (macro_obstack): Rename muscle_obstack.
1476 Echo modifications in the whole file.
1477 (MACRO_INSERT_INT): Rename MUSCLE_INSERT_INT.
1478 (MACRO_INSERT_STRING): Rename MUSCLE_INSERT_STRING.
1479 (MACRO_INSERT_PREFIX): Rename MUSCLE_INSERT_PREFIX.
1480
1481 * src/muscle_tab.h: Update double inclusion macros.
1482 (macro_entry_s): Rename muscle_entry_s.
1483 Update prototypes.
342b8b6e 1484
11d82f03
MA
1485 * src/muscle_tab.c: Include muscle_tab.h.
1486 Rename macro_tabble to muscle_table.
1487 (mhash1, mhash2, mcmp): Use muscle_entry.
1488 (macro_init): Rename muscle_init. Update.
1489 (macro_insert): Rename muscle_insert. Update.
1490 (macro_find): Rename muscle_find. Update.
1491
1492 * src/main.c: Include muscle_tab.h.
1493 (main): Call muscle_init ().
1494 * src/Makefile.am (bison_SOURCES): Echo modifications.
1495
93a37297
MA
14962001-09-02 Marc Autret <autret_m@epita.fr>
1497
f753cd62 1498 Now the files macro_tab.[ch] are named muscle_tab.[ch].
342b8b6e 1499
f753cd62
MA
1500 * src/muscle_tab.c, src/muscle_tab.h: Add files.
1501
15022001-09-02 Marc Autret <autret_m@epita.fr>
1503
1504 * src/macrotab.c, src/macrotab.h: Remove.
93a37297 1505
682d48cd
PB
15062001-09-01 Pascal Bart <pascal.bart@epita.fr>
1507
342b8b6e 1508 * src/reader.c (copy_guard): Use muscle to specify the `#line'
682d48cd
PB
1509 filename.
1510
087c8fda
MA
15112001-09-01 Marc Autret <autret_m@epita.fr>
1512
1513 * tests/calc.at (exp): Now, YYERROR_VERBOSE need to be set
1514 to an explicit value to activate the feature. We do it here.
1515
dda680cb
PB
15162001-08-31 Pascal Bart <pascal.bart@epita.fr>
1517
1518 * src/output.c (prepare): Delete the `filename' muscule insertion.
1519 * src/reader.c (copy_action): Use `filename' muscule with `#line'.
1520 (parse_union_decl): Likewise.
1521 * src/macrotab.c (macro_init): Initialize filename by infile.
1522
9e644e64
MA
15232001-08-31 Marc Autret <autret_m@epita.fr>
1524
1525 * src/bison.simple (YYLSP_NEEDED): New definition.
1526 * src/output.c (prepare): Add macro insertion of `locations_flag'
1527
17da6427
PB
15282001-08-31 Pascal Bart <pascal.bart@epita.fr>
1529
1530 * src/output.c (prepare): Delete insertion of previous muscles,
1531 and insert the `prefix' muscles.
1532 * src/macrotab.c (macro_init): Likewise.
1533 (macro_init): Initialization prefix directive by `yy'.
342b8b6e 1534 * src/bison.simple: Substitute all %%yylex, %%yychar, %%yylval,
17da6427
PB
1535 %%yydebug, %%yyerror, %%yynerrs and %%yyparse by yylex, yychar,
1536 yylval, yydebug, yyerror, yynerrs and yyparse.
342b8b6e 1537 New directive `#define' to substitute yydebug, ... with option
17da6427
PB
1538 name_prefix.
1539
e8cb70b9
PB
15402001-08-31 Pascal Bart <pascal.bart@epita.fr>
1541
1542 * src/main.c (main): Standardize.
1543 * src/output.c (output_table_data, output_parser): Likewise.
1544 * src/macrotab.h, src/macrotab.c, src/bison.simple: Likewise.
1545
63c2d5de
MA
15462001-08-31 Pascal Bart <pascal.bart@epita.fr>, Marc Autret <autret_m@epita.fr>
1547
342b8b6e 1548 * src/reader.c (read_additionnal_code): Rename %%user_code to
63c2d5de
MA
1549 %%epilogue.
1550 * src/output.c (output): Rename %%declarations to %%prologue.
1551 * src/bison.simple: Echo modifications.
342b8b6e 1552
d8cb5183
MA
15532001-08-31 Marc Autret <autret_m@epita.fr>
1554
1555 * src/reader.c (readgram): CleanUp.
1556 (output_token_defines): Likewise.
1557 (packsymbols): Likewise.
1558 (reader): Likewise.
1559 * src/output.c (output): CPP-out useless code.
1560
6c686258
PB
15612001-08-31 Pascal Bart <pascal.bart@epita.fr>
1562
342b8b6e 1563 * src/reader.c (reader): Delete obsolete call to function
6c686258
PB
1564 output_trailers and output_headers.
1565 * src/output.h: Remove obsolete functions prototypes of output_headers
1566 and output_trailers.
1567
8f451ef7
PB
15682001-08-30 Pascal Bart <pascal.bart@epita.fr>
1569
1570 * src/main.c: Include macrotab.h.
342b8b6e 1571 * src/macrotab.h (macro_entry_s): Constify fields.
8f451ef7
PB
1572 Adjust functions prototypes.
1573 * src/macrotab.c (macro_insert): Constify key and value.
1574 (macro_find): Constify key.
1575 (macro_insert): Include 'xalloc.h'
1576 (macro_insert): Use XMALLOC.
1577 (macro_find): Constify return value.
1578 * src/output.c (output_table_data): Rename table to table_data.
1579 (output_parser): Constify macro_key, macro_value.
1580
997b6fd0 15812001-08-30 Marc Autret <autret_m@epita.fr>
2ba3b73c
MA
1582
1583 * src/reader.c (parse_skel_decl): New.
342b8b6e 1584 (read_declarations): Add case `tok_skel', call parse_skel_decl ().
2ba3b73c
MA
1585 * src/lex.h (token_t): New token `tok_skel'.
1586 * src/lex.c (percent_table): Add skeleton option entry.
1587 Standardize.
1588
ff48177d
MA
15892001-08-29 Marc Autret <autret_m@epita.fr>
1590
1591 * src/bison.simple: Add %%user_code directive at the end.
1592 * src/reader.c (read_additionnal_code): New.
1593 (reader): Use it.
1594 * src/output.c (output_program): Remove.
1595 (output): Update.
1596
b33160bf
MA
15972001-08-28 Marc Autret <autret_m@epita.fr>
1598
1599 * src/output.c (output_actions): Clean up.
4e5caae2 1600 (output_gram): CPP-out useless code.
b33160bf
MA
1601 * src/reader.c (reader): Clean up, CPP-out useless code.
1602
d1a2daf7
PB
16032001-08-28 Pascal Bart <pascal.bart@epita.fr>
1604
342b8b6e 1605 * src/output.c (output): Copy attrs_obstack in the '%%definitions'
535c0e75 1606 directive.
d1a2daf7
PB
1607 * src/bison.simple: Add `%%definitions'.
1608
2b763dfe
MA
16092001-08-28 Marc Autret <autret_m@epita.fr>
1610
1611 * config/depcomp: New file.
1612
f1a87ef6
PE
16132001-08-27 Paul Eggert <eggert@twinsun.com>
1614
1615 * src/bison.simple (yyparse): Don't take the address of an
1616 item before the start of an array, as that doesn't conform to
1617 the C Standard.
1618
82e236e2
RA
16192001-08-27 Robert Anisko <robert.anisko@epita.fr>
1620
f1a87ef6 1621 * src/output.c (output): Remove the initialization of the macro
82e236e2
RA
1622 obstack. It was done too late here.
1623
1624 * src/reader.c (parse_macro_decl): Fix. Use of the macro obstack was
1625 completely wrong.
1626 (reader): Initialize the macro obstack here, since we need it to grow
1627 '%define' directives.
1628
1629 * src/reader.h: Declare the macro obstack as extern.
1630
b0cfa28a
RA
16312001-08-27 Robert Anisko <robert.anisko@epita.fr>
1632
1633 * src/output.c (output_parser): Fix. Store single '%' characters in
1634 the output obstack instead of throwing them away.
1635
6fc74234
AD
16362001-08-27 Akim Demaille <akim@epita.fr>
1637
1638 * Makefile.am (AUTOMAKE_OPTIONS): 1.5.
1639
9c76d118
RA
16402001-08-25 Robert Anisko <robert.anisko@epita.fr>
1641
1642 * lib/Makefile.am: Adjust.
1643
a8289c62
RA
16442001-08-25 Robert Anisko <robert.anisko@epita.fr>
1645
1646 * src/bison.simple: Update and add '%%' directives.
1647
b6610515
RA
16482001-08-25 Robert Anisko <robert.anisko@epita.fr>
1649
1650 * src/reader.c (reader): Remove calls to 'output_headers' and
1651 'output_trailers'. Remove some C output.
1652 (readgram): Disable a piece of code that was writing a default
1653 definition for 'YYSTYPE'.
1654 (reader_output_yylsp): Remove.
1655 (packsymbols): Output token defintions to a macro.
1656 (copy_definition): Disable C output.
6fc74234 1657
b6610515
RA
1658 * src/reader.c (parse_macro_decl): New function used to parse macro
1659 declarations.
1660 (copy_string2): Put the body of copy_string into this new function.
1661 Add a parameter to let the caller choose whether he wants to copy the
1662 string delimiters or not.
1663 (copy_string): Be a simple call to copy_string2 with the last argument
1664 bound to true.
1665 (read_declarations): Add case for macro definition.
1666 (copy_identifier): New.
6fc74234 1667 (parse_macro_decl): Read macro identifiers using copy_identifier
b6610515
RA
1668 rather than lex.
1669
26f609ff
RA
16702001-08-25 Robert Anisko <robert.anisko@epita.fr>
1671
1672 * src/output.c (prepare): Add prefixed names.
1673 (output_parser): Output semantic actions.
1674 (output_parser): Fix bug on '%%line' directives.
6fc74234 1675
26f609ff
RA
1676 * src/output.c (output_headers): Remove. The C code printed by this
1677 function should now be in the skeletons.
1678 (output_trailers): Remove.
1679 (output): Disable call to 'reader_output_yylsp'.
1680 (output_rule_data): Do not output tables to the table obstack.
1681
1682 * src/output.c: Remove some C dedicated output.
1683 Improve the use of macro and output obstacks.
1684 (output_defines): Remove.
6fc74234 1685
26f609ff
RA
1686 * src/output.c (output_token_translations): Associate 'translate'
1687 table with a macro. No output to the table obstack.
1688 (output_gram): Same for 'rhs' and 'prhs'.
1689 (output_stos): Same for 'stos'.
1690 (output_rule_data): Same for 'r1' and 'r2'.
1691 (token_actions): Same for 'defact'.
1692 (goto_actions): Same for 'defgoto'.
1693 (output_base): Same for 'pact' and 'pgoto'.
1694 (output_table): Same for 'table'.
1695 (output_check): Same for 'check'.
6fc74234 1696
26f609ff
RA
1697 * src/output.c (output_table_data): New function.
1698 (output_short_table): Remove.
1699 (output_short_or_char_table): Remove.
6fc74234 1700
26f609ff
RA
1701 * src/output.c (output_parser): Replace most of the skeleton copy code
1702 with something new. Skeletons are now processed character by character
1703 rather than line by line, and Bison looks for '%%' macros. This is the
1704 first step in making Bison's output process (a lot) more flexible.
1705 (output_parser): Use the macro table.
1706
6f43b113
RA
17072001-08-25 Robert Anisko <robert.anisko@epita.fr>
1708
1709 * src/main.c (main): Initialize the macro table.
1710
dd3127cf
RA
17112001-08-25 Robert Anisko <robert.anisko@epita.fr>
1712
1713 * src/lex.c (percent_table): Add tok_define.
1714 * src/lex.h: Add tok_define.
1715
aa321494
RA
17162001-08-25 Robert Anisko <robert.anisko@epita.fr>
1717
1718 * src/macrotab.c: New file.
1719 * src/macrotab.h: New file.
1720 * src/Makefile.am: Update.
1721
68bd3b6b
RA
17222001-08-25 Robert Anisko <robert.anisko@epita.fr>
1723
1724 * lib/hash.c: New file.
1725 * lib/hash.h: New file.
1726 * lib/Makefile.am: Update.
1727
45f8dd1e
AD
17282001-08-15 Akim Demaille <akim@epita.fr>
1729
1730 Version 1.28c.
1731
40a64a7a 17322001-08-15 Marc Autret <autret_m@epita.fr>
0b8afb77
AD
1733
1734 * src/reader.c (readgram): Indent output macro YYSTYPE.
1735 (packsymbols): Likewise.
1736 (output_token_defines): Likewise.
1737 * src/files.c: Standardize.
1738 (compute_header_macro): New.
1739 (defines_obstack_save): New. Use compute_header_macro.
1740 (output_files): Update. Use defines_obstack_save.
1741
f9a8293a
AD
17422001-08-15 Akim Demaille <akim@epita.fr>
1743
1744 * doc/bison.texinfo (Table of Symbols): Document
1745 YYSTACK_USE_ALLOCA.
1746
150ca7a7
AD
17472001-08-15 Akim Demaille <akim@epita.fr>
1748
1749 * missing: Update from CVS Automake.
1750 * config/config.guess, config/config.sub, config/texinfo.tex:
1751 Update from gnu.org.
1752
69b5cec4
AD
17532001-08-15 Akim Demaille <akim@epita.fr>
1754
1755 * Makefile.maint: Sync with CVS Autoconf.
1756
f2b5126e
PB
17572001-08-14 Pascal Bart <pascal.bart@epita.fr>
1758
69b5cec4 1759 * doc/bison.texinfo: Include GNU Free Documentation License from
f2b5126e
PB
1760 `fdl.texi'.
1761 * doc/fdl.texi: Add to package.
1762
4ecbf796
MA
17632001-08-14 Marc Autret <autret_m@epita.fr>
1764
1765 Turn on %{source,header}_extension features.
1766
69b5cec4 1767 * src/lex.c (percent_table): Un-CPP out header_extension and
4ecbf796
MA
1768 source_extension.
1769 * src/files.c (compute_exts_from_gf): Compare pointers with NULL.
69b5cec4 1770 (compute_exts_from_src): Remove conditions. It restores priorities
4ecbf796
MA
1771 between options.
1772
95fb5662
MA
17732001-08-14 Marc Autret <autret_m@epita.fr>
1774
1775 * src/files.c (compute_base_names): Add extensions computing when
1776 `--file-prefix' used.
1777 Standardize function calls.
1778
78d09da9
MA
17792001-08-13 Marc Autret <autret_m@epita.fr>
1780
69b5cec4 1781 * src/bison.simple (YYSTACK_USE_ALLOCA): Changed to allow users
78d09da9
MA
1782 defining it (defined but null disables alloca).
1783
5a009f2c
MA
17842001-08-13 Marc Autret <autret_m@epita.fr>
1785
1786 * src/bison.simple (_yy_memcpy): CPP reformat.
1787
1e41465a
PB
17882001-08-13 Pascal Bart <pascal.bart@epita.fr>
1789
1790 * tests/atconfig.in (CPPFLAGS): Fix.
1791
c67a198d
PB
17922001-08-10 Pascal Bart <pascal.bart@epita.fr>
1793
79282c6c 1794 * doc/bison.texinfo: Include GNU General Public License from
c67a198d
PB
1795 `gpl.texi'.
1796 * doc/gpl.texi: Add to package.
1797
09a6de7e
MA
17982001-08-10 Marc Autret <autret_m@epita.fr>
1799
1800 * src/print_graph.h: Fix.
1801 * src/reader.c (read_declarations): Use parse_header_extension_decl ().
1802
b77b9ee0
AD
18032001-08-10 Akim Demaille <akim@epita.fr>
1804
1805 * src/system.h: Provide default declarations for stpcpy, strndup,
1806 and strnlen.
1807
3e259915
MA
18082001-08-10 Robert Anisko <anisko_r@epita.fr>
1809
1810 * doc/bison.texinfo (Locations): Update @$ stuff.
1811
ca96bc2d
MA
18122001-08-09 Robert Anisko <anisko_r@epita.fr>
1813
1814 * src/bison.simple (YYLLOC_DEFAULT): Update.
1815 (yyparse): Adjust.
1816
fdc6758b
MA
18172001-08-08 Marc Autret <autret_m@epita.fr>
1818
b77b9ee0 1819 * doc/bison.texinfo: Change @samp{$<@dots{}>} to
fdc6758b
MA
1820 @samp{$<@dots{}>@var{n}} in Section Actions in Mid-Rule.
1821 Reported by Fabrice Bauzac.
957d4dbf 1822
600cad3b
MA
18232001-08-08 Marc Autret <autret_m@epita.fr>
1824
1825 * src/vcg_default.h: Use NULL instead of 0 to initialize pointers.
1826 * src/vcg.c (output_node): Fix.
1827 * src/vcg.h: Cleanup.
1828 * src/print_graph.c: Add comments.
b77b9ee0 1829 (node_output_size): New global variable. Simplify the formatting of
600cad3b 1830 the VCG graph output.
b77b9ee0 1831 (print_actions): Unused code is now used. It notifies the final state
600cad3b 1832 and no action states in the VCG graph. It also give the reduce actions.
b77b9ee0 1833 The `shift and goto' edges are red and the `go to state' edges are
600cad3b
MA
1834 blue.
1835 Get the current node name and node_obstack by argument.
1836 (node_obstack): New variable.
1837 (print_state): Manage node_obstack.
1838 (print_core): Use node_obstack given by argument.
1839 A node is not only computed here but in print_actions also.
1840 (print_graph): CPP out useless code instead of commenting it.
1841
976e528f
AD
18422001-08-07 Pascal Bart <pascal.bart@epita.fr>
1843
1844 * tests/atconfig.in (CPPFLAGS): Fix.
1845
20e8e5ca
AD
18462001-08-07 Akim Demaille <akim@epita.fr>
1847
1848 * src/print_graph.c (quote): New.
1849 (print_core): Use it.
1850
957d4dbf 18512001-08-06 Akim Demaille <akim@epita.fr>, Marc Autret <autret_m@epita.fr>
3e3da797 1852
3e3da797
AD
1853 * src/vcg.c (complain.h): Include it.
1854 Unepitaize `return' invocations.
c4b66126 1855 [NDEBUG] (main): Remove.
79282c6c 1856 * src/vcg.h (node_t, edge_t, graph_t): Constify the char * members.
c4b66126
AD
1857 * src/files.c (open_files): Initialize graph_obstack.
1858 * src/print_graph.c (print_actions): CPP out useless code.
1859 (print_core): Don't output the last `\n' in labels.
1860 Use `quote'.
1861 * src/files.c (output_files): Output the VCG file.
1862 * src/main.c (main): Invoke print_graph ();
3e3da797 1863
957d4dbf 18642001-08-06 Marc Autret <autret_m@epita.fr>
22c2cbc0
AD
1865
1866 Automaton VCG graph output.
1867 Using option ``-g'' or long option ``--graph'', you can generate
1868 a gram_filename.vcg file containing a VCG description of the LALR (1)
1869 automaton of your grammar.
1870
1871 * src/main.c: Call to print_graph() function.
1872 * src/getargs.h: Update.
1873 * src/getargs.c (options): Update to catch `-g' and `--graph' options.
1874 (graph_flag): New flag.
1875 (longopts): Update.
1876 (getargs): Add case `g'.
1877 * src/files.c (graph_obstack): New obstack struct.
1878 (open_files): Initialize new obstack.
1879 (output_files): Saves graph_obstack if required.
1880 * src/files.h (graph_obstack): New extern declaration.
1881 * src/Makefile.am: Add new source files.
1882
957d4dbf 18832001-08-06 Marc Autret <autret_m@epita.fr>
ce4d5ce0
AD
1884
1885 * src/print_graph.c, src/print_graph.h (graph): New.
1886 * src/vcg.h: New file.
1887 * src/vcg.c: New file, VCG graph handling.
1888
7333d403
AD
18892001-08-06 Marc Autret <autret_m@epita.fr>
1890
1891 Add of %source_extension and %header_extension which specify
1892 the source or/and the header output file extension.
1893
1894 * src/files.c (compute_base_names): Remove initialisation of
1895 src_extension and header_extension.
1896 (compute_exts_from_gf): Update.
1897 (compute_exts_from_src): Update.
1898 (output_files): Update.
1899 * src/reader.c (parse_header_extension_decl): New.
1900 (parse_source_extension_decl): New.
1901 (read_declarations): New case statements for the new tokens.
1902 * src/lex.c (percent_table): Add entries for %source_extension
1903 and %header_extension.
1904 * src/lex.h (token_e): New tokens tok_hdrext and tok_srcext.
1905
84163231
AD
19062001-08-06 Marc Autret <autret_m@epita.fr>
1907
1908 * configure.in: Bump to 1.28c.
1909 * doc/bison.texinfo: Texinfo thingies.
1910
8303fc42
AD
19112001-08-04 Pascal Bart <pascal.bart@epita.fr>
1912
1913 * tests/atconfig.in (CPPFLAGS): Add.
1914 * tests/calc.at (AT_CHECK): Use CPPFLAGS.
1915
70a84437
AD
19162001-08-03 Akim Demaille <akim@epita.fr>
1917
1918 Version 1.28b.
1919
2ce10144
AD
19202001-08-03 Akim Demaille <akim@epita.fr>
1921
1922 * tests/Makefile.am (check-local): Ship testsuite.
1923 * tests/calc.at (_AT_DATA_CALC_Y): Prototype all the functions.
1924 Include `string.h'.
1925
1e3e4bc1
AD
19262001-08-03 Akim Demaille <akim@epita.fr>
1927
1928 * configure.in: Try using -Wformat when compiling.
1929
42b45b7f
AD
19302001-08-03 Akim Demaille <akim@epita.fr>
1931
1932 * configure.in: Bump to 1.28b.
1933
8f13fe33
AD
19342001-08-03 Akim Demaille <akim@epita.fr>
1935
1936 * src/complain.c: Adjust strerror_r portability issues.
1937
b37ba92c
AD
19382001-08-03 Akim Demaille <akim@epita.fr>
1939
1940 Version 1.28a.
1941
b0ce6046
AD
19422001-08-03 Akim Demaille <akim@epita.fr>
1943
1944 * src/getargs.c, src/getarg.h (skeleton)): Constify.
1945 * src/lex.c (literalchar): Avoid name clashes on `buf'.
1946 * src/getargs.c: Include complain.h.
1947 * src/files.c, src/files.h (skeleton_find): Avoid name clashes.
1948 * lib/quotearg.c, lib/quotearg.h: Update from fileutils 4.1.
1949
d01c415b
AD
19502001-08-03 Akim Demaille <akim@epita.fr>
1951
1952 * src/reader.c (readgram): Display hidden chars in error messages.
1953
459dd1a6
AD
19542001-08-03 Akim Demaille <akim@epita.fr>
1955
1956 Update to gettext 0.10.39.
1957
53b74c0c
AD
19582001-08-03 Akim Demaille <akim@epita.fr>
1959
1960 * lib/strspn.c: New.
1961
234a3be3
AD
19622001-08-01 Marc Autret <autret_m@epita.fr>
1963
1964 * doc/bison.texinfo: Update.
1965 * doc/bison.1 (mandoc): Update.
1966 * src/system.h (EXT_GUARD_C, EXT_STYPE_H): Remove .c and .h.
1967 * src/files.c: Support output files extensions computing.
1968 (src_extension): New static variable.
1969 (header_extension): New static variable.
1970 (tr): New function.
1971 (get_extension_index): New function, gets the index of an extension
1972 filename in a string.
1973 (compute_exts_from_gf): New function, computes extensions from the
1974 grammar file extension.
1975 (compute_exts_from_src): New functions, computes extensions from the
1976 C source file extension, file given by ``-o'' option.
1977 (compute_base_names): Update.
1978 (output_files): Update.
1979
847bf1f5
AD
19802001-08-01 Robert Anisko <anisko_r@epita.fr>
1981
d995fee7 1982 * doc/bison.texi: Document @$.
847bf1f5
AD
1983 (Locations): New section.
1984
d074a105
AD
19852001-07-18 Akim Demaille <akim@epita.fr>
1986
1987 * Makefile.maint, GNUmakefile: New, from Autoconf 2.52.
1988 * config/prev-version.txt, config/move-if-change: New.
1989 * Makefile.am: Adjust.
1990
3419715d
AD
19912001-07-08 Pascal Bart <pascal.bart@epita.fr>
1992
1993 * src/bison.simple (yyparse): Suppress warning `comparaison
1994 between signed and unsigned'.
1995
62ab6972
AD
19962001-07-05 Pascal Bart <pascal.bart@epita.fr>
1997
1998 * src/getargs.h (raw_flag): Remove.
1999 * src/getargs.c: Die on `-r'/`--raw'.
2000 * src/lex.c (parse_percent_token): Die on `%raw'.
2001 * src/reader.c (output_token_defines): Suppress call to `raw_flag'.
2002 * tests/calc.at: Suppress test with option `--raw'.
2003
1e24cc5b
AD
20042001-07-14 Akim Demaille <akim@epita.fr>
2005
2006 * config/: New.
2007 * configure.in: Require Autoconf 2.50.
2008 Update to gettext 0.10.38.
2009
32dfccf8
AD
20102001-03-16 Akim Demaille <akim@epita.fr>
2011
2012 * doc/bison.texinfo: ANSIfy the examples.
2013
cd5bd6ac
AD
20142001-03-16 Akim Demaille <akim@epita.fr>
2015
2016 * getargs.c (skeleton): New variable.
2017 (longopts): --skeleton is a new option.
2018 (shortopts, getargs): -S is a new option.
2019 * getargs.h: Declare skeleton.
2020 * output.c (output_parser): Use it.
2021
5141b016
AD
20222001-03-16 Akim Demaille <akim@epita.fr>
2023
2024 * m4/strerror_r.m4: New.
2025 * m4/error.m4: Run AC_FUNC_STRERROR_R.
2026 * lib/error.h, lib/error.c: Update.
2027
447992b9
AD
20282001-03-16 Akim Demaille <akim@epita.fr>
2029
2030 * src/getargs.c (longopts): Clean up.
2031
274d42ce
AD
20322001-02-21 Akim Demaille <akim@epita.fr>
2033
2034 * src/reader.c (gensym): `gensym_count' is your own.
2035 Use a static buf to create the symbol name, as token_buffer is no
2036 longer a buffer.
2037
22c821f3
AD
20382001-02-08 Akim Demaille <akim@epita.fr>
2039
2040 * src/conflicts.c (conflict_report): Be sure not to append to res
2041 between two calls, which could happen if both first sprintf were
2042 skipped, but not the first cp += strlen.
2043
18569462
AD
20442001-02-08 Akim Demaille <akim@epita.fr>
2045
2046 * lib/memchr.c, lib/stpcpy.c, lib/strndup.c, lib/strnlen.c:
2047 New, from fileutils 4.0.37.
2048 * configure.in: Require Autoconf 2.49c. I took some time before
2049 making this decision. This is the only way out for portability
2050 issues in Bison, it would mean way too much duplicate effort to
2051 import in Bison features implemented in 2.49c since 2.13.
2052 AC_REPLACE_FUNCS and AC_CHECK_DECLS the functions above.
2053
0d8f3c8a
AD
20542001-02-02 Akim Demaille <akim@epita.fr>
2055
2056 * lib/malloc.c, lib/realloc.c: New, from the fileutils 4.0.37.
66075dcf 2057 * lib/xalloc.h, lib/xmalloc.c: Update.
0d8f3c8a 2058
f17bcd1f
AD
20592001-01-19 Akim Demaille <akim@epita.fr>
2060
2061 Get rid of the ad hoc handling of token_buffer in the scanner: use
2062 the obstacks.
2063
2064 * src/lex.c (token_obstack): New.
2065 (init_lex): Initialize it. No longer call...
2066 (grow_token_buffer): this. Remove it.
2067 Adjust all the places which used it to use the obstack.
2068
511e79b3
AD
20692001-01-19 Akim Demaille <akim@epita.fr>
2070
2071 * src/lex.h: Rename all the tokens:
2072 s/\bENDFILE\b/tok_eof/g;
2073 s/\bIDENTIFIER\b/tok_identifier/g;
2074 etc.
2075 Let them be enums, not #define, to ease debugging.
2076 Adjust all the code.
2077
0d6508ef
AD
20782001-01-18 Akim Demaille <akim@epita.fr>
2079
2080 * src/lex.h (MAXTOKEN, maxtoken, grow_token_buffer): Remove, private.
2081 * src/lex.c (maxtoken, grow_token_buffer): Static.
2082
6deb4447
AD
20832001-01-18 Akim Demaille <akim@epita.fr>
2084
2085 Since we now use obstacks, more % directives can be enabled.
2086
2087 * src/lex.c (percent_table): Also accept `%yacc',
2088 `%fixed_output_files', `%defines', `%no_parser', `%verbose', and
2089 `%debug'.
2090 Handle the actions for `%semantic_parser' and `%pure_parser' here,
2091 instead of returning a token.
2092 * src/lex.h (SEMANTIC_PARSER, PURE_PARSER): Remove, unused.
2093 * src/reader.c (read_declarations): Adjust.
2094 * src/files.c (open_files): Don't call `compute_base_names', don't
2095 compute `attrsfile' since they depend upon data which might be
2096 *in* the input file now.
2097 (output_files): Do it here.
2098 * src/output.c (output_headers): Document the fact that this patch
2099 introduces a guaranteed SEGV for semantic parsers.
2100 * doc/bison.texinfo: Document them.
2101 * tests/suite.at: Exercise these %options.
2102
ff4423cc
AD
21032000-12-20 Akim Demaille <akim@epita.fr>
2104
2105 Also handle the output file (--verbose) with obstacks.
2106
2107 * files.c (foutput): Remove.
2108 (output_obstack): New.
2109 Adjust all dependencies.
2110 * src/conflicts.c: Return a string.
2111 * src/system.h (obstack_grow_string): Rename as...
2112 (obstack_sgrow): this. Be ready to work with non literals.
2113 (obstack_fgrow4): New.
2114
956dba3a
AD
21152000-12-20 Akim Demaille <akim@epita.fr>
2116
2117 * src/files.c (open_files): Fix the computation of short_base_name
2118 in the case of `-o foo.tab.c'.
2119
337bab46
AD
21202000-12-20 Akim Demaille <akim@epita.fr>
2121
2122 * src/reader.c (copy_string, copy_comment, copy_comment2, copy_at)
2123 (copy_dollar): Now that everything uses obstacks, get rid of the
2124 FILE * parameters.
2125
5d3214b8
AD
21262000-12-20 Akim Demaille <akim@epita.fr>
2127
2128 * src/files.c (open_files): Actually the `.output' file is based
2129 on the short_base_name, not base_name.
2130 * tests/suite.at (Checking output file names): Adjust.
2131
29092a57
AD
21322000-12-20 Akim Demaille <akim@epita.fr>
2133
2134 * src/bison.s1: Remove, we now use directly...
2135 * src/bison.simple: this.
2136 * src/Makefile.am: Use pkgdata instead of data.
2137
ea5607fd
AD
21382000-12-20 Akim Demaille <akim@epita.fr>
2139
2140 * src/files.c (guard_obstack): New.
2141 (open_files): Initialize it.
2142 (output_files): Dump it...
2143 * src/files.h: Export it.
2144 * src/reader.c (copy_guard): Use it.
2145
27110317
AD
21462000-12-19 Akim Demaille <akim@epita.fr>
2147
2148 * src/files.c (outfile, defsfile, actfile): Removed as global
2149 vars.
2150 (open_files): Don't compute them.
2151 (output_files): Adjust.
2152 (base_name, short_base_name): Be global.
2153 Adjust dependencies.
2154
19c50364
AD
21552000-12-19 Akim Demaille <akim@epita.fr>
2156
2157 * src/files.c (strsuffix): New.
2158 (stringappend): Be just like strcat but allocate.
2159 (base_names): Eve out from open_files.
2160 Try to simplify the rather hairy computation of base_name and
2161 short_base_name.
2162 (open_files): Use it.
2163 * tests/suite.at (Checking output file names): New test.
2164
573c1d9f
AD
21652000-12-19 Akim Demaille <akim@epita.fr>
2166
2167 * src/system.h (obstack_grow_literal_string): Rename as...
2168 (obstack_grow_string): this.
2169 * src/output.c (output_parser): Recognize `%% actions' instead of
2170 `$'.
2171 * src/bison.s1: s/$/%% actions/.
2172 * src/bison.hairy: Likewise.
2173
ef7ddedd
AD
21742000-12-19 Akim Demaille <akim@epita.fr>
2175
2176 * src/output.c (output_parser): Compute the `#line' lines when
2177 there are.
2178 * src/Makefile.am (bison.simple): Be a simple copy of bison.s1.
2179 Suggested by Hans Aberg.
2180
ff61dabd
AD
21812000-12-19 Akim Demaille <akim@epita.fr>
2182
2183 Let the handling of the skeleton files be local to the procedures
2184 that use it.
2185
2186 * src/files.c (xfopen, xfclose, skeleton_find, guardfile): No
2187 longer static.
2188 (fparser, open_extra_files): Remove.
2189 (open_files, output_files): Don't take care of fparser.
2190 * src/files.h: Adjust.
2191 * src/output.c (output_parser): Open and close the file to the
2192 skeleton.
2193 * src/reader.c (read_declarations): When %semantic_parser, open
2194 fguard.
2195
55b96341
AD
21962000-12-19 Akim Demaille <akim@epita.fr>
2197
2198 * src/file.h (BISON_SIMPLE, BISON_HAIRY): Move from here...
2199 * src/system.h (BISON_SIMPLE, BISON_HAIRY): ... to here.
2200
358c15b7
AD
22012000-12-19 Akim Demaille <akim@epita.fr>
2202
2203 * src/files.c (open_files): Yipee! We no longer need all the code
2204 looking for `/tmp' since we have no tmp file.
2205
7de3329e
AD
22062000-12-19 Akim Demaille <akim@epita.fr>
2207
2208 * src/system.h (EXT_TAB, EXT_OUTPUT, EXT_STYPE_H, EXT_GUARD_C):
2209 New macros.
2210 * src/files.c (open_files): Less dependency on MSDOS etc.
2211
3abcd459
AD
22122000-12-14 Akim Demaille <akim@epita.fr>
2213
2214 * src/bison.s1 (YYLLOC_DEFAULT): New macro.
2215 Provide a default definition.
2216 Use it when executing the default @ action.
2217 * src/reader.c (reader_output_yylsp): No longer include
2218 `timestamp' and `text' in the default YYLTYPE.
2219
2a91a95e
AD
22202000-12-12 Akim Demaille <akim@epita.fr>
2221
2222 * src/reader.c (copy_definition, parse_union_decl, copy_action)
2223 (copy_guard): Quote the file names.
2224 Reported by Laurent Mascherpa.
2225
14d3eb9b
AD
22262000-12-12 Akim Demaille <akim@epita.fr>
2227
2228 * src/output.c (output_headers, output_program, output): Be sure
2229 to escape special characters when outputting filenames.
2230 (ACTSTR_PROLOGUE, ACTSTR_EPILOGUE): Remove.
2231 (output_headers): Don't depend on them, Use ACTSTR.
2232
d7045ec6
AD
22332000-11-17 Akim Demaille <akim@epita.fr>
2234
2235 * lib/obstack.h: Formatting changes.
2236 (obstack_grow, obstack_grow0): Don't cast WHERE at all: it
2237 prevents type checking.
2238 (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
2239 cast the value to (void *): assigning a `foo *' to a `void *'
2240 variable is valid.
2241 (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
2242 * src/reader.c (parse_union_decl): Typo: use obstack_1grow to
2243 append characters.
2244
6fd54b73
AD
22452000-11-17 Akim Demaille <akim@epita.fr>
2246
2247 * tests/Makefile.am (suite.m4, regression.m4, calc.m4): Rename
2248 as...
2249 (suite.m4, regression.m4, calc.m4): these.
2250 * tests/atgeneral.m4: Update from CVS Autoconf.
2251
4c50eae6
AD
22522000-11-17 Akim Demaille <akim@epita.fr>
2253
2254 * tests/regression.m4 (%union and --defines): New test,
2255 demonstrating a current bug in the obstack implementation.
2256
a35f64ea
AD
22572000-11-17 Akim Demaille <akim@epita.fr>
2258
2259 * src/bison.s1 (_YY_DECL_VARIABLES, YY_DECL_VARIABLES): New
2260 macros.
2261 Use them to declare the variables which are global or local to
2262 `yyparse'.
2263
7de23534
AD
22642000-11-17 Akim Demaille <akim@epita.fr>
2265
2266 * acconfig.h: Remove, no longer used.
2267
aa7815f5
AD
22682000-11-07 Akim Demaille <akim@epita.fr>
2269
2270 * src: s/Copyright (C)/Copyright/g.
2271
5af1f549
AD
22722000-11-07 Akim Demaille <akim@epita.fr>
2273
2274 * src/reader.c (reader): #define YYLSP_NEEDED to 1 instead of just
2275 defining.
2276 * src/bison.s1: s/#ifdef YYLSP_NEEDED/#if YYLSP_NEEDED/.
2277
553e2b22
AD
22782000-11-07 Akim Demaille <akim@epita.fr>
2279
2280 * src/bison.s1 (YYLEX): Use #if instead of #ifdef.
2281 Merge in a single CPP if/else.
2282
8a4f41d6
AD
22832000-11-07 Akim Demaille <akim@epita.fr>
2284
2285 * src/output.c (output): Remove useless variables.
2286 * lib/obstack.c (obstack_grow, obstack_grow0): Rename the second
2287 argument `data' for consistency with the prototypes.
2288 Qualify it `const'.
2289 (obstack_copy, obstack_copy0): Rename the second argument as
2290 `address' for consistency. Qualify it `const'.
2291 * lib/obstack.h (obstack_copy, obstack_copy0, obstack_grow)
2292 (obstack_grow0, obstack_ptr_grow, obstack_ptr_grow_fast): Qualify
2293 `const' their input argument (`data' or `address').
2294 Adjust the corresponding macros to include `const' in casts.
2295
095a3fb5
AD
22962000-11-03 Akim Demaille <akim@epita.fr>
2297
2298 * src/Makefile.am (INCLUDES): s/PFILE/BISON_SIMPLE/.
2299 s/PFILE1/BISON_HAIRY/.
2300 Adjust dependencies.
2301
d1cdce7c
AD
23022000-11-03 Akim Demaille <akim@epita.fr>
2303
090c5ebf 2304 For some reason, this was not applied.
d1cdce7c
AD
2305
2306 * src/files.c [VMS]: No longer include `ssdef.h', no longer define
2307 `unlink': it's no longer used.
2308
9311529b
AD
23092000-11-03 Akim Demaille <akim@epita.fr>
2310
2311 * src/files.c (skeleton_find): New function, eved out of...
2312 (open_files, open_extra_files): here.
2313
d8880f69
AD
23142000-11-03 Akim Demaille <akim@epita.fr>
2315
2316 Don't use `atexit'.
2317
2318 * src/files.c (obstack_save): New function.
2319 (done): Rename as...
2320 (output_files): this.
2321 Use `obstack_save'.
2322 * src/main.c (main): Don't use `atexit' to register `done', since
2323 it no longer has to remove tmp files, just call `output_files'
2324 when there are no errors.
2325
0dbb648e
AD
23262000-11-02 Akim Demaille <akim@epita.fr>
2327
2328 * src/files.c [VMS]: No longer include `ssdef.h', no longer define
2329 `unlink': it's no longer used.
2330 * src/files.h: Formatting changes.
2331
896fe5c1
AD
23322000-11-02 Akim Demaille <akim@epita.fr>
2333
2334 Remove the last uses of mktemp and unlink/delete.
2335
2336 * src/files.c (fdefines, ftable): Removed.
2337 (defines_ostack, table_obstack): New.
2338 Adjust dependencies of the former into uses of the latter.
2339 * src/output.c (output_short_or_char_table, output_short_table):
2340 Convert to using obstacks.
2341 * src/reader.c (copy_comment2): Accept one FILE * and two
2342 obstacks.
2343 (output_token_defines, reader_output_yylsp): Use obstacks.
2344 * src/system.h (obstack_fgrow3): New.
2345
dd60faec
AD
23462000-11-01 Akim Demaille <akim@epita.fr>
2347
2348 Change each use of `fattrs' into a use of `attrs_obstack'.
2349
2350 * src/reader.c (copy_at): Typo: s/yylloc/yyloc/.
2351 * src/files.c (fattrs): Remove.
2352 (attrs_obstack): New.
2353 Adjust all dependencies.
2354 (done): If SEMANTIC_PARSER, dump attrs_obstack into attrsfile.
2355
8c7ebe49
AD
23562000-11-01 Akim Demaille <akim@epita.fr>
2357
2358 Introduce obstacks.
2359 Change each use of `faction' into a use of `action_obstack'.
2360
2361 * lib/obstack.h, lib/obstack.c: New files.
2362 * src/files.c (faction): Remove.
2363 (action_obstack): New.
2364 Adjust all dependencies.
2365
77aee789
AD
23662000-10-20 Akim Demaille <akim@epita.fr>
2367
2368 * lib/quote.h (PARAMS): New macro. Use it.
2369
43591cec
AD
23702000-10-16 Akim Demaille <akim@epita.fr>
2371
2372 * src/output.c (output_short_or_char_table): New function.
2373 (output_short_table, output_token_translations): Use it.
2374 (goto_actions): Use output_short_table.
2375
1e9798d5
AD
23762000-10-16 Akim Demaille <akim@epita.fr>
2377
2378 * src/symtab.c (bucket_new): New function.
2379 (getsym): Use it.
2380
2381 * src/output.c (output_short_table): New argument to display the
2382 comment associated with the table.
2383 Adjust dependencies.
2384 (output_gram): Use it.
2385 (output_rule_data): Nicer output layout for YYTNAME.
2386
f282676b
AD
23872000-10-16 Akim Demaille <akim@epita.fr>
2388
2389 * src/lex.c (read_typename): New function.
2390 (lex): Use it.
2391 * src/reader.c (copy_dollar): Likewise.
2392
550a72a3
AD
23932000-10-16 Akim Demaille <akim@epita.fr>
2394
2395 * src/reader.c (copy_comment2): Expect the input stream to be on
2396 the `/' which is suspected to open a comment, instead of being
2397 called after `//' or `/*' was read.
2398 (copy_comment, copy_definition, parse_union_decl, copy_action)
2399 (copy_guard): Adjust.
2400
131e2fef
AD
24012000-10-16 Akim Demaille <akim@epita.fr>
2402
2403 * src/reader.c (parse_expect_decl): Use `skip_white_space' and
2404 `read_signed_integer'.
2405
79282c5a
AD
24062000-10-16 Akim Demaille <akim@epita.fr>
2407
2408 * src/reader.c (copy_dollar): New function.
2409 (copy_guard, copy_action): Use it.
2410
ff4a34be
AD
24112000-10-16 Akim Demaille <akim@epita.fr>
2412
2413 * lib/quote.h, lib/quote.c, lib/quotearg.h, lib/quotearg.c:
2414 * m4/prereq.m4, m4/c-bs-a.m4, m4/mbstate.m4:
2415 New files, from Fileutils 4.0.27.
2416 * src/main.c (printable_version): Remove.
2417 * src/lex.c, src/reader.c: Use `quote'.
2418
24192000-10-04 Akim Demaille <akim@epita.fr>
2420
2421 * lib/error.c, lib/error.h: New files, needed by xmalloc.c.
2422
14ded682
AD
24232000-10-04 Akim Demaille <akim@epita.fr>
2424
2425 * doc/bison.texinfo: Various typos spotted by Neil Booth.
2426
8e03724b
AD
24272000-10-04 Akim Demaille <akim@epita.fr>
2428
2429 When a literal string is used to define two different tokens,
2430 `bison -v' segfaults.
2431 Reported by Piotr Gackiewicz, and fixed by Neil Booth.
2432
2433 * tests/regression.m4: New file.
2434 Include the core of the sample provided by Piotr Gackiewicz.
2435 * src/reader.c (parse_token_decl): Diagnose bad cases, and proceed
2436 properly.
2437
a9e64249
AD
24382000-10-04 Akim Demaille <akim@epita.fr>
2439
2440 * src/reader.c (parse_expect_decl): Keep `count' within the size
2441 of `buffer'.
2442 From Neil Booth.
2443
da9abf43
AD
24442000-10-02 Paul Eggert <eggert@twinsun.com>
2445
2446 * bison.s1 (yyparse): Assign the default value
2447 unconditionally, to avoid a GCC warning and make the parser a
2448 tad smaller.
2449
c33638bb
AD
24502000-10-02 Akim Demaille <akim@epita.fr>
2451
2452 * src/getargs.c (getargs): Don't dump `--help' on unrecognized
2453 options.
2454
444c570a
AD
24552000-10-02 Akim Demaille <akim@epita.fr>
2456
2457 * src/derives.c, src/print.c, src/reduce.c: To ease the
2458 translation, move some `\n' out of the translated strings.
2459
89cab50d
AD
24602000-10-02 Akim Demaille <akim@epita.fr>
2461
2462 The location tracking mechanism is precious for parse error
2463 messages. Nevertheless, it is enabled only when `@n' is used in
2464 the grammar, which is a different issue (you can use it in error
2465 message, but not in the grammar per se). Therefore, there should
2466 be another means to enable it.
2467
2468 * src/getargs.c (getargs): Support `--locations'.
2469 (usage): Report it.
2470 * src/getargs.h (locationsflag): Export it.
2471 * src/lex.c (percent_table): Support `%locations'.
2472 * src/reader.c (yylsp_needed): Remove this variable, now replaced
2473 with `locationsflag'.
2474 * doc/bison.texinfo: Document `--locations' and `%locations'.
2475 Sort the options.
2476 * tests/calc.m4: Test it.
2477
2478 For regularity of the names, replace each
2479 (nolineflag, toknumflag, rawtokenumflag, noparserflag): with...
2480 (no_lineflag, token_tableflag, rawflag, no_parserflag): this.
2481 In addition replace each `flag' with `_flag'.
2482
d6c2cba0
AD
24832000-10-02 Akim Demaille <akim@epita.fr>
2484
2485 Also test parse error messages, including with YYERROR_VERBOSE.
2486
2487 * tests/calc.m4 (calc.y): Add support for `exp = exp' (non
2488 associative).
2489 Use it to check the computations.
2490 Use it to check `nonassoc' is honored.
2491 (AT_DATA_CALC_Y): Equip `calc.y' with YYERROR_VERBOSE when passed
2492 `--yyerror-verbose'.
2493 (_AT_CHECK_CALC): Adjust to this option.
2494 (_AT_CHECK_CALC_ERROR): New macro to check parse error messages.
2495
5a35a6cb
AD
24962000-10-02 Akim Demaille <akim@epita.fr>
2497
2498 Test also `--verbose', `--defines' and `--name-prefix'. Testing
2499 the latter demonstrates a flaw in the handling of non debugging
2500 parsers introduced by myself on 2000-03-16: `#define yydebug 0'
2501 was used in order to simplify:
2502
2503 #if YYDEBUG
2504 if (yydebug)
2505 {
2506 ...
2507 }
2508 #endif
2509
2510 into
2511
2512 if (yydebug)
2513 {
2514 ...
2515 }
2516
2517 unfortunately this leads to a CPP conflict when
2518 `--name-prefix=foo' is used since it produces `#define yydebug
2519 foodebug'.
2520
2521 * src/bison.s1 [!YYDEBUG]: Do not define yydebug.
2522 (YYDPRINTF): New macro.
2523 Spread its use.
2524 * tests/calc.m4 (AT_CHECK_CALC): Do require a title, build it from
2525 the bison options.
2526 Also test `--verbose', `--defines' and `--name-prefix'.
2527
71da9eea
AD
25282000-10-02 Akim Demaille <akim@epita.fr>
2529
2530 Improve the readability of the produced parsers.
2531
2532 * src/bison.s1: Formatting changes.
2533 Improve the comment related to the `$' mark.
2534 (yydefault): Don't fall through to `yyresume': `goto' there.
2535 * src/output.c (output_parser): When the `$' is met, skip the end
2536 of its line.
2537 New variable, `number_of_dollar_signs', to check there's exactly
2538 one `$' in the parser skeleton.
2539
95e36146
AD
25402000-10-02 Akim Demaille <akim@epita.fr>
2541
2542 * lib/xstrdup.c: New file, from the fileutils.
2543 * src/reader.c (parse_token_decl, get_type_name, parse_type_decl)
2544 (parse_assoc_decl, parse_thong_decl, get_type): Use `xstrdup'
2545 instead of strlen + xmalloc + strcpy.
2546 * src/symtab.c (copys): Remove, use xstrdup instead.
2547
d7020c20
AD
25482000-10-02 Akim Demaille <akim@epita.fr>
2549
2550 * src/gram.h (associativity): New enum type which replaces the
2551 former CPP macros `RIGHT_ASSOC', `LEFT_ASSOC' and `NON_ASSOC' with
2552 `right_assoc', `left_assoc' and `non_assoc'.
2553 Adjust all dependencies.
2554 * src/reader.c: Formatting changes.
2555 (LTYPESTR): Don't define it, use it as a literal in
2556 `reader_output_yylsp'.
2557 * src/symtab.h (symbol_class): New enum type which replaces the
2558 former CPP macros `SUNKNOWN', `STOKEN and `SNTERM' with
2559 `sunknown', `stoken and `snterm'.
2560
1916f98e
AD
25612000-10-02 Akim Demaille <akim@epita.fr>
2562
2563 * src/getargs.c (fixed_outfiles): Rename as...
2564 (yaccflag): for consistency and accuracy.
2565 Adjust dependencies.
2566
d7913476
AD
25672000-10-02 Akim Demaille <akim@epita.fr>
2568
2569 Use the more standard files `xalloc.h' and `xmalloc.c' instead of
2570 Bison's `allocate.c' and `alloc.h'. This patch was surprisingly
2571 difficult and introduced a lot of core dump. It turns out that
2572 Bison used an implementation of `xmalloc' based on `calloc', and
2573 at various places it does depend upon the initialization to 0. I
2574 have not tried to isolate the pertinent places, and all the former
2575 calls to Bison's `xmalloc' are now using `XCALLOC'. Someday,
2576 someone should address this issue.
2577
2578 * src/allocate.c, src/alloc.h, m4/bison-decl.m4: Remove.
2579 * lib/xmalloc.c, lib/xalloc.h, m4/malloc.m4, m4/realloc.m4: New
2580 files.
2581 Adjust dependencies.
2582 * src/warshall.h: New file.
2583 Propagate.
2584
340ef489
AD
25852000-10-02 Akim Demaille <akim@epita.fr>
2586
2587 Various anti-`extern in *.c' changes.
2588
2589 * src/system.h: Include `assert.h'.
2590
b2ca4022
AD
25912000-10-02 Akim Demaille <akim@epita.fr>
2592
2593 * src/state.h (nstates, final_state, first_state, first_shift)
2594 (first_reduction): Move their exportation from here...
2595 * src/LR0.h: to here.
2596 Adjust dependencies.
2597 * src/getargs.c (statisticsflag): New variable.
2598 Add support for `--statistics'.
2599 Adjust dependencies.
2600
2601 Remove a lot of now useless `extern' statements in most files.
2602
403b315b
AD
26032000-10-02 Akim Demaille <akim@epita.fr>
2604
2605 * src/LR0.h: New file.
2606 Propagate its use.
2607
07a58c13
AD
26082000-10-02 Akim Demaille <akim@epita.fr>
2609
2610 * src/print.h: New file.
2611 Propagate its use.
2612 * src/print.c: Formatting and ordering changes.
2613 (verbose, terse): Replace with...
2614 (print_results): this new function.
2615 Adjust dependencies.
2616
0619caf0
AD
26172000-10-02 Akim Demaille <akim@epita.fr>
2618
2619 * src/conflicts.c (conflict_report): New function.
2620 (conflict_log, verbose_conflict_log): Replace with...
2621 (print_conflicts): this function.
2622 Adjust dependencies.
2623 * src/conflicts.h: New file.
2624 Propagate its inclusion.
2625
3519ec76
AD
26262000-10-02 Akim Demaille <akim@epita.fr>
2627
2628 * src/nullable.h: New file.
2629 Propagate its inclusion.
2630 * src/nullable.c: Formatting changes.
2631
015acc48
AD
26322000-10-02 Akim Demaille <akim@epita.fr>
2633
2634 * src/reduce.h: New file.
2635 Propagate its inclusion.
2636 * src/reduce.c: Topological sort and other formatting changes.
2637 (bool, TRUE, FALSE): Move their definition to...
2638 * src/system.h: here.
2639
8963a27b
AD
26402000-10-02 Akim Demaille <akim@epita.fr>
2641
2642 * src/files.c: Formatting changes.
2643 (tryopen, tryclose, openfiles): Rename as...
2644 (xfopen, xfclose, open_files): this.
2645 (stringappend): static.
2646 * src/files.h: Complete the list of exported symbols.
2647 Propagate its use.
2648
a70083a3
AD
26492000-10-02 Akim Demaille <akim@epita.fr>
2650
2651 * src/reader.h: New file.
2652 Propagate its use instead of tedious list of `extern' and
2653 prototypes.
2654 * src/reader.c: Formatting changes, topological sort,
2655 s/register//.
2656
abadc117
AD
26572000-10-02 Akim Demaille <akim@epita.fr>
2658
2659 * src/lex.h: Prototype `lex.c' exported functions.
2660 * src/reader.c: Adjust.
2661 * src/lex.c: Formatting changes.
2662 (safegetc): Rename as...
2663 (xgetc): this.
2664
720d742f
AD
26652000-10-02 Akim Demaille <akim@epita.fr>
2666
2667 * src/lalr.h: New file.
2668 Propagate its inclusion instead of prototypes and `extern'.
2669 * src/lalr.c: Formatting changes, topological sorting etc.
2670
f2acea59
AD
26712000-10-02 Akim Demaille <akim@epita.fr>
2672
2673 * src/output.c (token_actions): Introduce a temporary array,
2674 YYDEFACT, that makes it possible for this function to use
2675 output_short_table.
2676
d019d655
AD
26772000-10-02 Akim Demaille <akim@epita.fr>
2678
2679 `user_toknums' is output as a `short[]' in `output.c', while it is
2680 defined as a `int[]' in `reader.c'. For consistency with the
2681 other output tables, `user_toknums' is now defined as a table of
2682 shorts.
2683
2684 * src/reader.c (user_toknums): Be a short table instead of an int
2685 table.
2686 Adjust dependencies.
2687
2688 Factor the short table outputs.
2689
2690 * src/output.c (output_short_table): New function.
2691 * src/output.c (output_gram, output_stos, output_rule_data)
2692 (output_base, output_table, output_check): Use it.
2693
6c89f1c1
AD
26942000-10-02 Akim Demaille <akim@epita.fr>
2695
2696 * src/output.c (output): Topological sort of the functions, in
2697 order to get rid of the `static' prototypes.
2698 No longer use `register'.
2699 * src/output.h: New file.
2700 Propagate its inclusion in files explicitly prototyping functions
2701 from output.c.
2702
d9efd181
AD
27032000-09-21 Akim Demaille <akim@epita.fr>
2704
2705 * src/atgeneral.m4: Update from Autoconf.
2706
c29240e7 27072000-09-21 Akim Demaille <akim@epita.fr>
2fa6973e
AD
2708
2709 * src/closure.h: New file.
2710 * src/closure.c: Formatting changes, topological sort over the
2711 functions, use of closure.h.
2712 (initialize_closure, finalize_closure): Rename as...
2713 (new_closure, free_closure): these. Adjust dependencies.
2714 * src/LR0.c: Formatting changes, topological sort, use of
2715 cloture.h.
2716 (initialize_states): Rename as...
2717 (new_states): this.
2718 * src/Makefile.am (noinst_HEADERS): Adjust.
2719
499daa50
AD
27202000-09-20 Akim Demaille <akim@epita.fr>
2721
2722 * src/acconfig.h: Don't protect config.h against multiple
2723 inclusion.
2724 Don't define PARAMS.
2725 * src/system.h: Define PARAMS.
2726 Remove some of the ad-hoc CPP magic for DOS, VMS etc.: this is the
2727 purpose of config.h. system.h must not try to fix wrong
2728 definitions in config.h.
2729
cc84fd5d
AD
27302000-09-20 Akim Demaille <akim@epita.fr>
2731
2732 * src/derives.h: New file.
2733 * src/main.c, src/derives.h: Use it.
2734 Formatting changes.
2735 * src/Makefile.am (noinst_HEADERS): Adjust.
2736
db5b3a89
AD
27372000-09-20 Akim Demaille <akim@epita.fr>
2738
2739 * tests/atgeneral.m4: Update from Autoconf.
2740 * tests/calc.m4 (_AT_DATA_CALC_Y, AT_DATA_CALC_Y, _AT_CHECK_CALC)
2741 (AT_CHECK_CALC): New macros.
2742 Use these macros to test bison with options `', `--raw',
2743 `--debug', `--yacc', `--yacc --debug'.
2744
ceed8467
AD
27452000-09-19 Akim Demaille <akim@epita.fr>
2746
2747 * src/output.c: Formatting changes.
2748 * src/machine.h: Remove, leaving its contents in...
2749 * src/system.h: here.
2750 Include stdio.h.
2751 Adjust all dependencies on stdio.h and machine.h.
2752 * src/getargs.h: New file.
2753 Let all `extern' declarations about getargs.c be replaced with
2754 inclusion of `getargs.h'.
2755 * src/Makefile.am (noinst_HEADERS): Adjust.
2756
2757 * tests/calc.m4 (yyin): Be initialized in main, not on the global
2758 scope.
2759 (yyerror): Returns void, not int.
2760 * doc/bison.texinfo: Formatting changes.
2761
05a1d24b
AD
27622000-09-19 Akim Demaille <akim@epita.fr>
2763
2764 * tests/calc.m4 (calc.y): Do not assign to stdin, as it's not
2765 portable.
2766
cbd25751
AD
27672000-09-18 Akim Demaille <akim@epita.fr>
2768
2769 * configure.in: Append WARNING_CFLAGS to CFLAGS.
2770 * src/Makefile.am (INCLUDES): Don't.
2771 Be ready to fetch headers in lib/.
2772
13863333
AD
27732000-09-18 Akim Demaille <akim@epita.fr>
2774
2775 * doc/bison.texinfo: Update the copyright.
2776 ANSIfy and GNUify the examples.
2777 Remove the old menu.
2778
0d533154
AD
27792000-09-18 Akim Demaille <akim@epita.fr>
2780
2781 First set of tests: use the `calc' example from the documentation.
2782
2783 * src/bison.s1 (yyparse): Condition the code using `yytname' which
2784 is defined only when YYDEBUG is.
2785 * m4/atconfig.m4 (AT_CONFIG): Adjust to Autoconf 2.13.
2786 * src/files.c (tryopen, tryclose): Formatting changes.
2787 Move to the top and be static.
2788 * src/reader.c (read_signed_integer): Likewise.
2789 * tests/calc.m4: New file.
2790 * Makefile.am, suite.m4: Adjust.
2791 * m4/atconfig.m4: Set BISON_SIMPLE and BISON_HAIRY.
2792
e79137ac
AD
27932000-09-18 Akim Demaille <akim@epita.fr>
2794
2795 Add support for an Autotest test suite for Bison.
2796
2797 * m4/m4.m4, m4/atconfig.m4: New files.
2798 * m4/Makefile.am (EXTRA_DIST): Adjust.
2799 * tests/suite.m4, tests/Makefile.am, tests/atgeneral.m4: New
2800 files.
2801 * src/getargs.c: Display a more standard --version message.
2802 * src/reader.c (reader): Formatting changes.
2803 No longer depend upon VERSION_STRING.
2804 * configure.in: No longer use `dnl'.
2805 Set up the test suite and the new directory `tests/.
2806 (VERSION_STRING): Remove.
2807
27821bff
AD
28082000-04-14 Akim Demaille <akim@epita.fr>
2809
2810 * src/reader.c (copy_comment2): New function, same as former
2811 `copy_comment', but outputs into two FILE *.
2812 (copy_comment): Use it.
2813 (parse_union_decl): Use it.
2814 (get_type, parse_start_decl): Use the same `invalid' message.
2815 (parse_start_decl, parse_union_decl): Use the same `multiple'
2816 message.
2817 (parse_union_decl, copy_guard, copy_action): Use the same
2818 `unmatched' message.
2819 * m4/Makefile.am (EXTRA_DIST): Add `warning.m4'.
2820
cfe5fbc0
AD
28212000-03-31 Akim Demaille <akim@epita.fr>
2822
2823 * src/files.c (tryopen, tryclose): Move to the top.
2824 Be static.
2825
cb7db13e
AD
28262000-03-31 Akim Demaille <akim@epita.fr>
2827
2828 * src/main.c (main): Don't call `done', exit does it.
2829
a0f6b076
AD
28302000-03-31 Akim Demaille <akim@epita.fr>
2831
36281465
AD
2832 * allocate.c: s/return (foo)/return foo/.
2833 * lalr.c: Likewise.
2834 * LR0.c: Likewise.
2835 * output.c: Likewise.
2836 * reader.c: Likewise.
2837 * symtab.c: Likewise.
2838 * vmsgetargs.c: Likewise.
2839
28402000-03-31 Akim Demaille <akim@epita.fr>
2841
2842 Clean up the error reporting functions.
a0f6b076
AD
2843
2844 * src/report.c: New file.
2845 * src/report.h: Likewise.
2846 * src/Makefile.am: Adjust.
2847 * m4/error.m4: New file.
2848 * m4/Makefile.am: Adjust.
2849 * configure.in (jm_PREREQ_ERROR): Call it.
2850 * src/main.c (int_to_string, banner, fatal_banner, warn_banner):
2851 Remove.
2852 (fatal, fatals): Remove. All callers use complain.c::fatal.
2853 (warn, warni, warns, warnss, warnss): Remove. All callers use
2854 complain.c::complain.
2855 (toomany): Remove, use fatal instead.
2856 * src/files.c (done): No argument, use complain_message_count.
2857 * src/main.c (main): Register `done' to `atexit'.
2858
2859 * src/getargs.c (usage): More `fputs', less `fprintf'.
2860
18539825
AD
28612000-03-28 Akim Demaille <akim@epita.fr>
2862
2863 * lib/: New directory.
2864 * Makefile.am (SUBDIRS): Adjust.
2865 * configure.in: Adjust.
2866 (LIBOBJS): Although not used yet, AC_SUBST it, otherwise it's
2867 useless.
2868 * src/alloca.c: Moved to lib/.
2869 * src/getopt.c: Likewise.
2870 * src/getopt1.c: Likewise.
2871 * src/getopt.h: Likewise.
2872 * src/ansi2knr.c: Likewise.
2873 * src/ansi2knr.1: Likewise.
2874 * src/Makefile.am: Adjust.
2875 * lib/Makefile.am: New file.
2876
9f306f2a
AD
28772000-03-28 Akim Demaille <akim@epita.fr>
2878
2879 * src/getargs.c (usage): Refresh the help message.
2880
0ba347b6
AD
28812000-03-17 Akim Demaille <akim@epita.fr>
2882
2883 * src/getopt1.c: Updated from textutils 2.0e
2884 * src/getopt.c: Likewise.
2885 * src/getopt.h: Likewise.
2886
dbe7f271
AD
28872000-03-17 Akim Demaille <akim@epita.fr>
2888
2889 * src/Makefile.am (bison.simple): Fix the awk program: quote only
2890 the file name, not the whole `#line LINE FILE'.
2891
75bbe78d
AD
28922000-03-17 Akim Demaille <akim@epita.fr>
2893
2894 On syntax errors, report the token on which we choked.
2895
aa5fd0ee
AD
2896 * src/bison.s1 (yyparse): In the label yyerrlab, when
2897 YYERROR_VERBOSE, add yychar in msg.
75bbe78d 2898
7b306f52
AD
28992000-03-17 Akim Demaille <akim@epita.fr>
2900
aa5fd0ee 2901 * src/reader.c (copy_at): New function.
7b306f52
AD
2902 (copy_guard): Use it.
2903 (copy_action): Use it.
2904
e87b5700
AD
29052000-03-17 Akim Demaille <akim@epita.fr>
2906
2907 Be kind to translators, save some useless translations.
2908
aa5fd0ee 2909 * src/main.c (banner): New function.
e87b5700
AD
2910 (fatal_banner): Use it.
2911 (warn_banner): Use it.
2912
ae3c3164
AD
29132000-03-17 Akim Demaille <akim@epita.fr>
2914
aa5fd0ee
AD
2915 * src/reader.c (copy_definition): Use copy_string and
2916 copy_comment. Removed now unused `match', `ended',
2917 `cplus_comment'.
ae3c3164
AD
2918 (copy_comment, copy_string): Moved, to be visible from
2919 copy_definition.
2920
4dc58e7c
AD
29212000-03-17 Akim Demaille <akim@epita.fr>
2922
aa5fd0ee
AD
2923 * src/reader.c (copy_string): Declare `static inline'. No
2924 problems with inline, since it is checked by configure.
4dc58e7c
AD
2925 (copy_comment): Likewise.
2926
0a6384c4
AD
29272000-03-17 Akim Demaille <akim@epita.fr>
2928
aa5fd0ee 2929 * src/reader.c (packsymbols): Formatting changes.
0a6384c4 2930
3cef001a
AD
29312000-03-17 Akim Demaille <akim@epita.fr>
2932
aa5fd0ee 2933 * src/reader.c (copy_comment): New function, factored out from:
3cef001a
AD
2934 (copy_action): Use it. Removed now unused `match', `ended',
2935 `cplus_comment'.
2936 (copy_guard): Likewise.
2937
ca36d2ef
AD
29382000-03-17 Akim Demaille <akim@epita.fr>
2939
aa5fd0ee 2940 * src/reader.c (copy_string): New function, factored out from:
ca36d2ef
AD
2941 (copy_action): Use it.
2942 (copy_guard): Likewise.
2943
6666f98f
AD
29442000-03-17 Akim Demaille <akim@epita.fr>
2945
2946 Change the handling of @s so that they behave exactly like $s.
2947 There is now a pseudo variable @$ (readble and writable), location
2948 of the lhs of the rule (by default ranging from the location of
2949 the first symbol of the rhs, to the location of the last symbol,
2950 or, if the rhs is empty, YYLLOC).
2951
2952 * src/bison.s1 [YYLSP_NEEDED] (yyloc): New variable, twin of
2953 yyval.
2954 (yyparse): When providing a default semantic action, provide a
2955 default location action.
2956 (after the $): No longer change `*YYLSP', just stack YYLOC the
2957 same way you stack YYVAL.
2958 * src/reader.c (read_declarations): Use warns.
2959 (copy_guard, case '@'): Also recognize `@$', expanded as `YYLOC'.
2960 (copy_action, case '@'): Likewise.
2961 Use a standard error message, to save useless work from
2962 translators.
2963
41aca2e0
AD
29642000-03-17 Akim Demaille <akim@epita.fr>
2965
aa5fd0ee
AD
2966 * src/bison.s1: Formatting and cosmetics changes.
2967 * src/reader.c: Likewise.
41aca2e0
AD
2968 Update the Copyright notice.
2969
dc08c1d5
AD
29702000-03-17 Akim Demaille <akim@epita.fr>
2971
aa5fd0ee
AD
2972 * src/bison.s1 (#line): All set to `#line' only, since the
2973 Makefile now handles them.
dc08c1d5 2974
9ee3c97b
AD
29752000-03-16 Akim Demaille <akim@epita.fr>
2976
2977 * src/output.c (output_rule_data): Output the documentation of
2978 some of the tables.
2979 (Copyright notice): Update.
2980 Formatting changes.
2981
0de741ca
AD
29822000-03-16 Akim Demaille <akim@epita.fr>
2983
2984 * src/bison.s1 [!YYDEBUG]: Define yydebug to 0. This allows to
2985 remove most `#if YYDEBUG != 0', since `if (yydebug)' is enough.
2986 One `#if YYDEBUG' remains, since it uses variables which are
2987 defined only if `YYDEBUG != 0'.
2988
bb10be54
AD
29892000-03-16 Akim Demaille <akim@epita.fr>
2990
2991 * src/bison.s1 (yyparse): Reorganize the definitions of the stacks
2992 and related variables so that the similarities are highlighted.
2993
b07b484a
AD
29942000-03-16 Akim Demaille <akim@epita.fr>
2995
2996 * src/bison.s1: Properly indent CPP directives.
2997
361f60b3
AD
29982000-03-16 Akim Demaille <akim@epita.fr>
2999
3000 * src/bison.s1: Properly indent the `alloca' CPP section.
3001
8c44d3ec
AD
30022000-03-16 Akim Demaille <akim@epita.fr>
3003
3004 Do not hard code values of directories in `configure.in'.
3005 Update the `configure' tool chain.
3006
3007 * configure.in (XPFILE, XPFILE1, LOCALEDIR): Remove, handled by
3008 src/makefile.am.
3009 (VERSION_STRING): Use the third arg of AC_DEFINE_UNQUOTED.
3010 (AC_OUTPUT): Add m4/Makefile.
3011 Bump to bison 1.28a, 1.29 has never been released.
3012 * acconfig.h (XPFILE, XPFILE1, LOCALEDIR): Remove, since they are
3013 handled via src/Makefile.am.
3014 (VERSION_STRING, PROTOTYPES, ENABLE_NLS, HAVE_CATGETS,
3015 HAVE_GETTEXT, HAVE_LC_MESSAGES, HAVE_STPCPY): Remove, handled by
3016 autoheader.
3017 * Makefile.am (SUBDIRS): Add m4.
3018 (ACLOCAL_AM_FLAGS): New variable.
3019 (AUTOMAKE_OPTIONS): Add check-news.
3020 * src/Makefile.am (bison.simple): Use awk to replace #line lines with
3021 the proper line number and file name.
3022 (DEFS): Propagate the location of bison library files and of the
3023 locale files.
3024 (INCLUDES): Added `-I ..' so that one can compile with srcdir !=
3025 builddir.
3026 * acinclude.m4: Remove, replaced by the directory m4.
3027 * m4/Makefile.am (EXTRA_DIST): New variable.
3028 * m4/gettext.m4: New file, from the fileutils.
3029 * m4/lcmessage.m4: Likewise
3030 * m4/progtest.m4: Likewise.
3031 * m4/bison-decl.m4: New file, extracted from former acinclude.m4.
3032
f95997e7
AD
30332000-03-10 Akim Demaille <akim@epita.fr>
3034
3035 * src/closure.c:
3036 Formatting changes of various comments.
3037 Respect the GNU coding standards at various places.
3038 Don't use `_()' when no translation is needed.
3039
30401999-12-13 Jesse Thilo <jthilo@gnu.org>
3041
3042 * src/files.c:
3043 OS/2 honors TMPDIR environment variable.
3044
30451999-12-13 Jesse Thilo <jthilo@gnu.org>
3046
3047 * doc/bison.texinfo: Tweaked spelling and grammar.
3048 Updated ISBN.
3049 Removed reference to price of printed copy.
3050 Mention BISON_SIMPLE and BISON_HAIRY.
3051
30521999-12-13 Jesse Thilo <jthilo@gnu.org>
3053
3054 * configure.in, NEWS:
3055 Bison 1.29 released.
3056
30571999-10-27 Jesse Thilo <jthilo@gnu.org>
3058
3059 * doc/.cvsignore, doc/Makefile.am, doc/refcard.tex:
3060 Added reference card.
3061
30621999-07-26 Jesse Thilo <jthilo@gnu.org>
3063
3064 * po/ru.po: Added Russian translation.
3065
30661999-07-26 Jesse Thilo <jthilo@gnu.org>
3067
3068 * configure.in: Added Russian translation.
3069
30701999-07-06 Jesse Thilo <jthilo@gnu.org>
3071
3072 * configure.in, NEWS, README:
3073 Released version 1.28.
3074
30751999-06-14 Jesse Thilo <jthilo@gnu.org>
3076
3077 * src/system.h:
3078 Squashed redefinition warning on some systems.
3079
3080 * src/getargs.c, src/Makefile.am, src/reader.c, src/version.c:
3081 Have configure build version string instead of relying on ANSI string
3082 concatentation.
3083
30841999-06-14 Jesse Thilo <jthilo@gnu.org>
3085
3086 * po/POTFILES.in: Got rid of version.c.
3087
30881999-06-14 Jesse Thilo <jthilo@gnu.org>
3089
3090 * acconfig.h, configure.in:
3091 Have configure build version string instead of relying on ANSI string
3092 concatentation.
3093
30941999-06-08 Jesse Thilo <jthilo@gnu.org>
3095
3096 * doc/bison.1:
3097 Dropped mention of `+' for long-named options.
3098
30991999-05-30 Jesse Thilo <jthilo@gnu.org>
3100
3101 * src/files.c: Added <unistd.h> for unlink().
3102
3103 * src/Makefile.am, src/system.h:
3104 I18n fixes.
3105
31061999-05-30 Jesse Thilo <jthilo@gnu.org>
3107
3108 * README: Added a FAQ list.
3109
3110 * configure.in, acconfig.h:
3111 I18n fixes.
3112
31131999-05-30 Jesse Thilo <jthilo@gnu.org>
3114
3115 * doc/FAQ, doc/Makefile.am:
3116 Added a FAQ list.
3117
31181999-05-19 Jesse Thilo <jthilo@gnu.org>
3119
3120 * src/alloc.h, src/symtab.h, src/version.c:
3121 Protected inclusion of "config.h" with HAVE_CONFIG_H.
3122
31231999-04-18 Jesse Thilo <jthilo@gnu.org>
3124
3125 * src/.cvsignore, src/Makefile.am:
3126 Reorganized: sources in `src', documentation in `doc'.
3127
3128 * src/lex.c (literalchar):
3129 fixed the code for escaping double quotes (thanks
3130 Jonathan Czisny.)
3131
31321999-04-18 Jesse Thilo <jthilo@gnu.org>
3133
3134 * po/de.po, po/es.po, po/fr.po, po/nl.po, po/POTFILES.in:
3135 Adjusted paths to reflect directory reorganization.
3136
31371999-04-18 Jesse Thilo <jthilo@gnu.org>
3138
3139 * doc/.cvsignore, doc/Makefile.am:
3140 Reorganized: sources in `src', documentation in `doc'.
3141
31421999-04-18 Jesse Thilo <jthilo@gnu.org>
3143
3144 * configure.in:
3145 Updated AC_INIT file to reflect directory reorganization.
3146
3147 * configure.in, .cvsignore, Makefile.am, POTFILES.in:
3148 Reorganized: sources in `src', documentation in `doc'.
3149
31501999-04-13 Jesse Thilo <jthilo@gnu.org>
3151
3152 * src/allocate.c:
3153 Don't declare calloc() and realloc() if not necessary.
3154
31551999-04-13 Jesse Thilo <jthilo@gnu.org>
3156
3157 * configure.in, acconfig.h, acinclude.m4:
3158 Don't declare calloc() and realloc() if not necessary.
3159
31601999-03-23 Jesse Thilo <jthilo@gnu.org>
3161
3162 * po/.cvsignore: Added i18n support.
3163
31641999-03-23 Jesse Thilo <jthilo@gnu.org>
3165
3166 * acconfig.h, configure.in, Makefile.am:
3167 Added i18n support.
3168
31691999-03-22 Jesse Thilo <jthilo@gnu.org>
3170
3171 * src/bison.s1: Fixed #line numbers.
3172
31731999-03-15 Jesse Thilo <jthilo@gnu.org>
3174
3175 * po/es.po, po/fr.po, po/nl.po, po/de.po:
3176 Added PO files from Translation Project.
3177
31781999-03-03 Jesse Thilo <jthilo@gnu.org>
3179
3180 * Makefile.am:
3181 Added support for non-ANSI compilers (ansi2knr).
3182
31831999-02-16 Jesse Thilo <jthilo@gnu.org>
3184
3185 * configure.in: Bumped version number to 1.27.
3186
3187 * Makefile.am:
3188 Added `bison.simple' to list of files removed by `make distclean'.
3189
31901999-02-12 Jesse Thilo <jthilo@gnu.org>
3191
3192 * src/files.c, src/files.h:
3193 Defined locations of parser files in config.h instead of Makefile.
3194
31951999-02-12 Jesse Thilo <jthilo@gnu.org>
3196
3197 * acconfig.h, acinclude.m4, configure.in, Makefile.am:
3198 Defined locations of parser files in config.h instead of Makefile.
3199
32001999-02-09 Jesse Thilo <jthilo@gnu.org>
3201
3202 * Makefile.am:
3203 Removed inappropriate use of $< macro.
3204
32051999-02-05 Jesse Thilo <jthilo@gnu.org>
3206
3207 * po/Makefile.in.in, po/POTFILES.in:
3208 Add `po' directory skeleton.
3209
32101999-01-27 Jesse Thilo <jthilo@gnu.org>
3211
3212 * README: Document help-bison list.
3213
3214 * configure.in: Add check for mkstemp().
3215
32161999-01-20 Jesse Thilo <jthilo@gnu.org>
3217
3218 * src/conflicts.c, src/LR0.c, src/output.c, src/reader.c:
3219 Hush a few compiler warnings.
3220
3221 * src/files.c:
3222 Add tryclose(), which verifies that fclose was successful.
3223 Hush a couple of compiler warnings.
3224
32251999-01-20 Jesse Thilo <jthilo@gnu.org>
3226
3227 * Makefile.am, OChangeLog:
3228 ChangeLog is now automatically generated. Include the old version as
3229 OChangeLog.
3230
32311999-01-14 Jesse Thilo <jthilo@gnu.org>
3232
3233 * 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:
3234 Update FSF address.
3235
32361999-01-14 Jesse Thilo <jthilo@gnu.org>
3237
3238 * doc/bison.texinfo: Fix formatting glitch.
3239
3240 * doc/bison.texinfo: Update FSF address.
3241
32421999-01-14 Jesse Thilo <jthilo@gnu.org>
3243
3244 * acconfig.h: Update FSF address.
3245
32461999-01-08 Jesse Thilo <jthilo@gnu.org>
3247
3248 * src/system.h:
3249 Don't define PACKAGE here, since config.h defines it.
3250
32511998-12-30 Jesse Thilo <jthilo@gnu.org>
3252
3253 * src/reader.c: Update copyright date.
3254
3255 * src/main.c:
3256 Ditch sprintf to statically-sized buffers in fatal/warn functions in
3257 favor of output directly to stderr (avoids buffer overruns).
3258
3259 * src/reader.c: Some checks for premature EOF.
3260
3261 * 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:
3262 Use prototypes if the compiler understands them.
3263
3264 * src/files.c: Honor TMPDIR on Unix hosts.
3265 Use prototypes if the compiler understands them.
3266
3267 * src/reader.c:
3268 Fix a couple of buffer overrun bugs.
3269 Use prototypes if the compiler understands them.
3270
3271 * src/system.h: Include unistd.h and ctype.h.
3272 Use #ifdef instead of #if for NLS symbols.
3273
32741998-12-30 Jesse Thilo <jthilo@gnu.org>
3275
3276 * doc/bison.texinfo:
3277 Delete comment "consider using @set for edition number, etc..." since
3278 we now are doing so.
3279
32801998-12-30 Jesse Thilo <jthilo@gnu.org>
3281
3282 * configure.in:
3283 Use prototypes if the compiler understands them.
3284
3285 * NEWS: Document 1.26 highlights.
3286
3287 * Makefile.am: Require Automake 1.3 or later.
3288
3289 * acconfig.h:
3290 Use prototypes if the compiler understands them.
3291
32921998-12-29 Jesse Thilo <jthilo@gnu.org>
3293
3294 * src/version.c:
3295 Use VERSION symbol from automake for version number.
3296
32971998-12-29 Jesse Thilo <jthilo@gnu.org>
3298
3299 * acconfig.h, configure.in, version.cin:
3300 Use VERSION symbol from automake for version number.
3301
33021998-11-28 Jesse Thilo <jthilo@gnu.org>
3303
3304 * Makefile.am:
3305 Distribute original version of simple parser (bison.s1), not built
3306 version (bison.simple).
3307
33081998-11-28 Jesse Thilo <jthilo@gnu.org>
3309
3310 * doc/bison.texinfo: Add info dir entry.
3311
3312 * doc/bison.texinfo:
3313 Let automake put version number into documentation.
3314
33151998-11-26 Jesse Thilo <jthilo@gnu.org>
3316
3317 * src/bison.cld, src/build.com, src/vmshlp.mar:
3318 Add non-RCS files from /gd/gnu/bison.
3319
33201998-11-26 Jesse Thilo <jthilo@gnu.org>
3321
3322 * doc/bison.1:
3323 Document the BISON_HAIRY and BISON_SIMPLE variables.
3324
33251998-11-25 Jesse Thilo <jthilo@gnu.org>
3326
3327 * src/version.c: Build version.c automatically.
3328
3329 * src/reader.c:
3330 Fix token numbering (used to start at 258, not 257).
3331
3332 * src/system.h: Include config.h.
3333
3334 * src/getargs.c: Update bug report address.
3335
3336 * src/alloca.c, src/getopt1.c, src/getopt.c, src/getopt.h:
3337 Get latest copies of alloca.c, getopt.c, getopt.h, getopt1.c from gnu.org.
3338
33391998-11-25 Jesse Thilo <jthilo@gnu.org>
3340
3341 * Makefile.am:
3342 Rename bison.simple to bison.s1 (bison.simple is then built from bison.s1).
3343
3344 * configure.in, version.cin:
3345 Build version.c automatically.
3346
3347 * AUTHORS: Add AUTHORS file.
3348
3349 * README: Update bug report address.
3350
3351 * bison.simple:
3352 Rename bison.simple to bison.s1 (bison.simple is then built from bison.s1).
3353
3354 * configure.in, Makefile.am, Makefile.in, stamp-h.in:
3355 Add automake stuff.
3356
33571998-11-25 Jesse Thilo <jthilo@gnu.org>
3358
3359 * doc/bison.texinfo: Clean up some formatting.
3360
33611998-05-05 Richard Stallman <rms@gnu.org>
3362
3363 * doc/bison.texinfo:
3364 Explain better why to make a pure parser.
3365
33661998-01-05 Richard Stallman <rms@gnu.org>
3367
3368 * src/files.c (openfiles):
3369 [_WIN32 && !__CYGWIN32__] Use TEMP or Temp to
3370 find a temporary directory, if possible. Do not unlink files while
3371 they are open.
3372
33731997-08-25 Richard Stallman <rms@gnu.org>
3374
3375 * src/reader.c (stack_offset;):
3376 Change some warni to warns.
3377
3378 * src/lex.c (literalchar): Use warns, not warni.
3379
33801997-06-28 Richard Stallman <rms@gnu.org>
3381
3382 * src/bison.s1: Add a Bison version comment.
3383
3384 * src/main.c (fatal, warn, berror):
3385 Use program_name.
3386
33871997-06-28 Richard Stallman <rms@gnu.org>
3388
3389 * Makefile.in (bison_version): New variable.
3390 (dist): Use that variable.
3391 (bison.s1): Substitute the Bison version into bison.simple.
3392
3393 * bison.simple: Add a Bison version comment.
3394
33951997-06-18 Richard Stallman <rms@gnu.org>
3396
3397 * src/main.c (fatal, warn, berror):
3398 Make error messages standard.
3399 (toomany): Improve error message text.
3400
3401 * 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:
3402 new.h renamed to alloc.h.
3403
34041997-06-18 Richard Stallman <rms@gnu.org>
3405
3406 * Makefile.in: new.h renamed to alloc.h.
3407
34081997-05-24 Richard Stallman <rms@gnu.org>
3409
3410 * src/lex.c (literalchar):
3411 Fix the code for escaping \, " and '.
3412
3413 (lex): Avoid trouble when there are many chars
3414 to discard in a char literal with just several chars in it.
3415
34161997-05-17 Richard Stallman <rms@gnu.org>
3417
3418 * src/bison.s1:
3419 Use malloc, if using alloca is troublesome.
3420 (YYSTACK_USE_ALLOCA): New flag macro.
3421 Define it for some systems and compilers.
3422 (YYSTACK_ALLOC): New macro.
3423 (yyparse): Use YYSTACK_ALLOC to allocate stack.
3424 If it was malloc'd, free it.
3425
34261997-05-17 Richard Stallman <rms@gnu.org>
3427
3428 * bison.simple:
3429 Use malloc, if using alloca is troublesome.
3430 (YYSTACK_USE_ALLOCA): New flag macro.
3431 Define it for some systems and compilers.
3432 (YYSTACK_ALLOC): New macro.
3433 (yyparse): Use YYSTACK_ALLOC to allocate stack.
3434 If it was malloc'd, free it.
3435
34361997-04-23 Richard Stallman <rms@gnu.org>
3437
3438 * src/bison.s1:
3439 (alloca) [__hpux]: Always define as __builtin_alloca.
3440
34411997-04-23 Richard Stallman <rms@gnu.org>
3442
3443 * bison.simple:
3444 (alloca) [__hpux]: Always define as __builtin_alloca.
3445
34461997-04-22 Richard Stallman <rms@gnu.org>
3447
3448 * src/bison.s1:
3449 [__hpux]: Include alloca.h (right for HPUX 10)
3450 instead of declaring alloca (right for HPUX 9).
3451
3452 * src/bison.s1 (__yy_memcpy):
3453 Declare arg `count' as unsigned int.
3454 (yyparse): Cast third arg to __yy_memcpy to unsigned int.
3455
34561997-04-22 Richard Stallman <rms@gnu.org>
3457
3458 * bison.simple:
3459 [__hpux]: Include alloca.h (right for HPUX 10)
3460 instead of declaring alloca (right for HPUX 9).
3461
3462 * bison.simple (__yy_memcpy):
3463 Declare arg `count' as unsigned int.
3464 (yyparse): Cast third arg to __yy_memcpy to unsigned int.
3465
34661997-01-03 Richard Stallman <rms@gnu.org>
3467
3468 * src/allocate.c: [__STDC__ or _MSC_VER]:
3469 Declare calloc and realloc to return void *.
3470
34711997-01-02 Richard Stallman <rms@gnu.org>
3472
3473 * src/system.h:
3474 [_MSC_VER]: Include stdlib.h and process.h.
3475 [_MSC_VER] (getpid): Define as macro--translate it to _getpid.
3476
3477 * src/main.c (main): Return FAILURE as a value.
3478 (printable_version): Declare arg as int, not char.
3479
34801997-01-02 Richard Stallman <rms@gnu.org>
3481
3482 * Makefile.in (dist):
3483 Explicitly check for symlinks, and copy them.
3484
34851996-12-19 Richard Stallman <rms@gnu.org>
3486
3487 * src/files.c:
3488 [_MSC_VER] (XPFILE, XPFILE1): Define, if not already defined.
3489
34901996-12-18 Paul Eggert <eggert@gnu.org>
3491
3492 * src/bison.s1 (yyparse):
3493 If __GNUC__ and YYPARSE_PARAM are both defined,
3494 declare yyparse to have a void * argument.
3495
34961996-12-18 Paul Eggert <eggert@gnu.org>
3497
3498 * bison.simple (yyparse):
3499 If __GNUC__ and YYPARSE_PARAM are both defined,
3500 declare yyparse to have a void * argument.
3501
35021996-12-17 Richard Stallman <rms@gnu.org>
3503
3504 * src/reduce.c (nbits): Add some casts.
3505
35061996-08-12 Richard Stallman <rms@gnu.org>
3507
3508 * src/bison.s1: Test _MSDOS as well as _MSDOS_.
3509
35101996-08-12 Richard Stallman <rms@gnu.org>
3511
3512 * bison.simple: Test _MSDOS as well as _MSDOS_.
3513
35141996-07-31 Richard Stallman <rms@gnu.org>
3515
3516 * src/bison.s1:
3517 [__sun && __i386]: Include alloca.h.
3518
35191996-07-31 Richard Stallman <rms@gnu.org>
3520
3521 * bison.simple:
3522 [__sun && __i386]: Include alloca.h.
3523
35241996-07-30 Richard Stallman <rms@gnu.org>
3525
3526 * src/bison.s1: Comment change.
3527
3528 * src/bison.s1: Test _MSDOS_, not MSDOS.
3529
35301996-07-30 Richard Stallman <rms@gnu.org>
3531
3532 * bison.simple: Comment change.
3533
3534 * bison.simple: Test _MSDOS_, not MSDOS.
3535
35361996-06-01 Richard Stallman <rms@gnu.org>
3537
3538 * 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:
3539 Insert `_' macro around many string constants.
3540
3541 * src/main.c:
3542 Insert `_' macro around many string constants.
3543
3544 (main): Call setlocale, bindtextdomain and textdomain.
3545
3546 * src/system.h: [HAVE_LOCALE_H]: Include locale.h.
3547 [! HAVE_LOCALE_H] (setlocale): Define as no-op.
3548 [ENABLE_NLS]: Include libintl.h.
3549 [ENABLE_NLS] (gettext): Define.
3550 [! ENABLE_NLS] (bintextdomain, textdomain, _): Consolation definitions.
3551 (N_, PACKAGE, LOCALEDIR): New macros.
3552
35531996-06-01 Richard Stallman <rms@gnu.org>
3554
3555 * POTFILES.in: New file.
3556
3557 * Makefile.in (allocate.o):
3558 Define target explicitly.
3559
3560 * Makefile.in (CFLAGS): Set to @CFLAGS@.
3561 (LDFLAGS): Set to @LDFLAGS@.
3562 (configure): Run autoconf only if preceding `cd' succeeds.
3563 (bison.s1): Redirect output to temporary file then move the
3564 temporary to the target, rather than redirecting directly to bison.s1.
3565 (clean): Remove config.status and config.log.
3566 (distclean): Don't remove config.status here.
3567
35681996-05-12 Richard Stallman <rms@gnu.org>
3569
3570 * src/bison.s1:
3571 (__yy_memcpy) [__cplusplus]: Reorder declarations of variables f and t.
3572
35731996-05-12 Richard Stallman <rms@gnu.org>
3574
3575 * bison.simple:
3576 (__yy_memcpy) [__cplusplus]: Reorder declarations of variables f and t.
3577
35781996-05-11 Richard Stallman <rms@gnu.org>
3579
3580 * src/bison.s1 (__yy_memcpy):
3581 Really reorder the args, as was supposedly done on Feb 14 1995.
3582 (yyparse): Calls changed accordingly.
3583
35841996-05-11 Richard Stallman <rms@gnu.org>
3585
3586 * Makefile.in (dist): Don't use $(srcdir).
3587
3588 * bison.simple (__yy_memcpy):
3589 Really reorder the args, as was supposedly done on Feb 14 1995.
3590 (yyparse): Calls changed accordingly.
3591
35921996-01-27 Richard Stallman <rms@gnu.org>
3593
3594 * src/output.c (output_rule_data):
3595 Test YYERROR_VERBOSE in the conditional
3596 around the definition of ttyname.
3597
35981995-12-29 Richard Stallman <rms@gnu.org>
3599
3600 * src/bison.s1:
3601 Fix line numbers in #line commands.
3602
36031995-12-29 Richard Stallman <rms@gnu.org>
3604
3605 * bison.simple:
3606 Fix line numbers in #line commands.
3607
36081995-12-27 Richard Stallman <rms@gnu.org>
3609
3610 * src/bison.s1 (YYPARSE_PARAM_DECL):
3611 In C++, make it always null.
3612 (YYPARSE_PARAM_ARG): New macro.
3613 (yyparse): Use YYPARSE_PARAM_ARG.
3614
36151995-12-27 Richard Stallman <rms@gnu.org>
3616
3617 * bison.simple (YYPARSE_PARAM_DECL):
3618 In C++, make it always null.
3619 (YYPARSE_PARAM_ARG): New macro.
3620 (yyparse): Use YYPARSE_PARAM_ARG.
3621
36221995-11-29 Richard Stallman <rms@gnu.org>
3623
3624 * doc/bison.texinfo:
3625 Describe literal string tokens, %raw, %no_lines, %token_table.
3626
36271995-11-29 Daniel Hagerty <hag@gnu.org>
3628
3629 * doc/bison.texinfo: Fixed update date
3630
36311995-10-16 Richard Stallman <rms@gnu.org>
3632
3633 * src/version.c: Version 1.25.
3634
36351995-10-16 Richard Stallman <rms@gnu.org>
3636
3637 * NEWS: *** empty log message ***
3638
36391995-10-16 Richard Stallman <rms@gnu.org>
3640
3641 * doc/bison.1, doc/bison.rnh:
3642 Add new options.
3643
36441995-10-15 Richard Stallman <rms@gnu.org>
3645
3646 * src/vmsgetargs.c, src/getargs.c:
3647 Added -n, -k, and -raw switches.
3648 (noparserflag, toknumflag, rawtoknumflag): New variables.
3649
3650 * src/symtab.h (SALIAS):
3651 New #define for adding aliases to %token.
3652 (struct bucket): Added `alias' field.
3653
3654 * src/reduce.c (reduce_grammar):
3655 Revise error message.
3656 (print_notices): Remove final `.' from error message.
3657
3658 * src/reader.c (reader_output_yylsp):
3659 New function.
3660 (readgram): Use `#if 0' around code that accepted %command
3661 inside grammar rules: The documentation doesn't allow it,
3662 and it will fail since the %command processors scan for the next %.
3663 (parse_token_decl): Extended the %token
3664 declaration to allow a multi-character symbol as an alias.
3665 (parse_thong_decl): New function.
3666 (read_declarations): Added %thong declarations.
3667 (read_declarations): Handle NOOP to deal with allowing
3668 % declarations as another means to specify the flags.
3669 (readgram): Allow %prec prior to semantics embedded in a rule.
3670 (skip_to_char, read_declarations, copy_definition)
3671 (parse_token_decl, parse_start_decl, parse_type_decl)
3672 (parse_assoc_decl, parse_union_decl, parse_expect_decl)
3673 (get_type_name, copy_guard, copy_action, readgram)
3674 (get_type, packsymbols): Revised most error messages.
3675 Changed `fatal' to `warnxxx' to avoid aborting for error.
3676 Revised and use multiple warnxxx functions to avoid using VARARGS1.
3677 (read_declarations): Improve the error message for
3678 an invalid character. Do not abort.
3679 (read_declarations, copy_guard, copy_action): Use
3680 printable_version to avoid unprintable characters in printed output.
3681 (parse_expect_decl): Error if argument to %expect exceeds 10 digits.
3682 (parse_token_decl, parse_assoc_decl, parse_type_decl, get_type):
3683 Allow the type of a non-terminal can be given
3684 more than once, as long as all specifications give the same type.
3685
3686 * src/output.c:
3687 (output_headers, output_trailers, output, output_gram)
3688 (output_rule_data): Implement noparserflag variable.
3689 Implement toknumflag variable.
3690 (output): Call reader_output_yylsp to output LTYPESTR.
3691
3692 * src/main.c (main):
3693 If reader sees an error, don't process the grammar.
3694 (fatals): Updated to not use VARARGS1.
3695 (printable_version, int_to_string, warn, warni, warns, warnss)
3696 (warnsss): New error reporting functions. Avoid abort for error.
3697
3698 * src/lex.h:
3699 Added THONG and NOOP for alias processing.
3700 Added SETOPT for the new code that allows setting options with %flags.
3701
3702 * src/lex.c:
3703 Include getopt.h. Add some extern decls.
3704 (safegetc): New function to deal with EOF gracefully.
3705 (literalchar); new function to deal with reading \ escapes.
3706 (lex): Use literalchar.
3707 (lex): Implemented "..." tokens.
3708 (literalchar, lex, parse_percent_token): Made tokenbuffer
3709 always contain the token. This includes growing the token
3710 buffer while reading an integer.
3711 (parse_percent_token): Replaced if-else statement with percent_table.
3712 (parse_percent_token): Added % declarations as another
3713 way to specify the flags -n, -l, and -r. Also added hooks for
3714 -d, -k, -y, -v, -t, -p, -b, -o, but implementation requires
3715 major changes to files.c.
3716 (lex) Retain in the incoming stream a character following
3717 an incorrect '/'.
3718 (skip_white_space, lex): Revised most error messages
3719 and changed fatal to warn to avoid aborting.
3720 (percent_table): Added %thong declarations.
3721
3722 * src/gram.h: Comment changes.
3723
3724 * src/files.c (openfiles, open_extra_files, done):
3725 Add faction flag
3726 and actfile file. Handle noparserflag. Both for -n switch.
3727
3728 * src/conflicts.c (resolve_sr_conflict):
3729 Remove use of alloca.
3730
37311995-06-01 Jim Meyering <meyering@gnu.org>
3732
3733 * doc/bison.texinfo: *** empty log message ***
3734
37351995-05-06 Richard Stallman <rms@gnu.org>
3736
3737 * src/bison.s1: Comment change.
3738
37391995-05-06 Richard Stallman <rms@gnu.org>
3740
3741 * bison.simple: Comment change.
3742
37431995-05-03 Richard Stallman <rms@gnu.org>
3744
3745 * src/version.c: Version now 1.24.
3746
3747 * src/bison.s1: Change distribution terms.
3748
3749 * src/version.c: Version now 1.23.
3750
37511995-05-03 Richard Stallman <rms@gnu.org>
3752
3753 * doc/bison.texinfo:
3754 Rewrite "Conditions for Using Bison".
3755 Update version to 1.24.
3756
37571995-05-03 Richard Stallman <rms@gnu.org>
3758
3759 * bison.simple: Change distribution terms.
3760
37611995-02-23 Richard Stallman <rms@gnu.org>
3762
3763 * src/files.c: Test __VMS_POSIX as well as VMS.
3764
37651995-02-14 Jim Meyering <meyering@gnu.org>
3766
3767 * src/bison.s1 (__yy_memcpy):
3768 Renamed from __yy_bcopy to avoid
3769 confusion. Reverse FROM and TO arguments to be consistent with
3770 those of memcpy.
3771
37721995-02-14 Jim Meyering <meyering@gnu.org>
3773
3774 * bison.simple (__yy_memcpy):
3775 Renamed from __yy_bcopy to avoid
3776 confusion. Reverse FROM and TO arguments to be consistent with
3777 those of memcpy.
3778
37791994-11-10 David J. MacKenzie <djm@gnu.org>
3780
3781 * NEWS: reformat
3782
3783 * NEWS: New file.
3784
3785 * Makefile.in (DISTFILES): Include NEWS.
3786
3787 * Makefile.in (DISTFILES):
3788 Include install-sh, not install.sh.
3789
3790 * configure.in: Update to Autoconf v2 macro names.
3791
37921994-10-05 David J. MacKenzie <djm@gnu.org>
3793
3794 * Makefile.in: fix typo
3795
3796 * Makefile.in (prefix, exec_prefix):
3797 Let configure set them.
3798
37991994-09-28 David J. MacKenzie <djm@gnu.org>
3800
3801 * Makefile.in: Set datadir to $(prefix)/share.
3802
38031994-09-15 Richard Stallman <rms@gnu.org>
3804
3805 * src/bison.s1:
3806 Update copyright notice and GPL version.
3807
38081994-09-15 Richard Stallman <rms@gnu.org>
3809
3810 * bison.simple:
3811 Update copyright notice and GPL version.
3812
38131994-07-12 Richard Stallman <rms@gnu.org>
3814
3815 * src/reduce.c, src/reader.c:
3816 entered into RCS
3817
38181994-05-05 David J. MacKenzie <djm@gnu.org>
3819
3820 * Makefile.in: entered into RCS
3821
38221994-03-26 Richard Stallman <rms@gnu.org>
3823
3824 * src/bison.s1: entered into RCS
3825
38261994-03-26 Richard Stallman <rms@gnu.org>
3827
3828 * bison.simple: entered into RCS
3829
38301994-03-25 Richard Stallman <rms@gnu.org>
3831
3832 * src/main.c: entered into RCS
3833
38341994-03-24 Richard Stallman <rms@gnu.org>
3835
3836 * src/conflicts.c: entered into RCS
3837
38381994-01-02 Richard Stallman <rms@gnu.org>
3839
3840 * Makefile.in: *** empty log message ***
3841
38421993-11-21 Richard Stallman <rms@gnu.org>
3843
3844 * src/bison.s1: *** empty log message ***
3845
38461993-11-21 Richard Stallman <rms@gnu.org>
3847
3848 * doc/bison.texinfo: entered into RCS
3849
3850 * doc/bison.texinfo: *** empty log message ***
3851
38521993-11-21 Richard Stallman <rms@gnu.org>
3853
3854 * bison.simple: *** empty log message ***
3855
38561993-10-25 David J. MacKenzie <djm@gnu.org>
3857
3858 * doc/bison.texinfo: *** empty log message ***
3859
38601993-10-19 Richard Stallman <rms@gnu.org>
3861
3862 * src/bison.s1: *** empty log message ***
3863
38641993-10-19 Richard Stallman <rms@gnu.org>
3865
3866 * bison.simple: *** empty log message ***
3867
38681993-10-14 Richard Stallman <rms@gnu.org>
3869
3870 * src/bison.s1: *** empty log message ***
3871
38721993-10-14 Richard Stallman <rms@gnu.org>
3873
3874 * bison.simple: *** empty log message ***
3875
38761993-09-14 David J. MacKenzie <djm@gnu.org>
3877
3878 * doc/bison.texinfo: *** empty log message ***
3879
38801993-09-13 Noah Friedman <friedman@gnu.org>
3881
3882 * Makefile.in: *** empty log message ***
3883
38841993-09-10 Richard Stallman <rms@gnu.org>
3885
3886 * src/conflicts.c: *** empty log message ***
3887
3888 * src/system.h: entered into RCS
3889
38901993-09-10 Richard Stallman <rms@gnu.org>
3891
3892 * doc/bison.1: entered into RCS
3893
38941993-09-06 Noah Friedman <friedman@gnu.org>
3895
3896 * src/version.c: entered into RCS
3897
38981993-09-06 Noah Friedman <friedman@gnu.org>
3899
3900 * Makefile.in: *** empty log message ***
3901
39021993-07-30 David J. MacKenzie <djm@gnu.org>
3903
3904 * Makefile.in: *** empty log message ***
3905
39061993-07-24 Richard Stallman <rms@gnu.org>
3907
3908 * src/bison.s1: *** empty log message ***
3909
39101993-07-24 Richard Stallman <rms@gnu.org>
3911
3912 * bison.simple: *** empty log message ***
3913
39141993-07-08 David J. MacKenzie <djm@gnu.org>
3915
3916 * Makefile.in: *** empty log message ***
3917
39181993-07-04 Richard Stallman <rms@gnu.org>
3919
3920 * src/bison.s1: *** empty log message ***
3921
39221993-07-04 Richard Stallman <rms@gnu.org>
3923
3924 * bison.simple: *** empty log message ***
3925
39261993-06-26 David J. MacKenzie <djm@gnu.org>
3927
3928 * src/getargs.c: entered into RCS
3929
39301993-06-26 David J. MacKenzie <djm@gnu.org>
3931
3932 * doc/bison.texinfo: *** empty log message ***
3933
3934 * doc/bison.1: New file.
3935
39361993-06-25 Richard Stallman <rms@gnu.org>
3937
3938 * src/getargs.c: New file.
3939
39401993-06-16 Richard Stallman <rms@gnu.org>
3941
3942 * src/bison.s1: *** empty log message ***
3943
39441993-06-16 Richard Stallman <rms@gnu.org>
3945
3946 * bison.simple: *** empty log message ***
3947
39481993-06-03 Richard Stallman <rms@gnu.org>
3949
3950 * src/bison.s1: New file.
3951
39521993-06-03 Richard Stallman <rms@gnu.org>
3953
3954 * doc/bison.texinfo: *** empty log message ***
3955
39561993-06-03 Richard Stallman <rms@gnu.org>
3957
3958 * bison.simple: New file.
3959
39601993-05-19 Richard Stallman <rms@gnu.org>
3961
3962 * doc/bison.texinfo: New file.
3963
39641993-05-07 Noah Friedman <friedman@gnu.org>
3965
3966 * Makefile.in: *** empty log message ***
3967
39681993-04-28 Noah Friedman <friedman@gnu.org>
3969
3970 * src/reader.c: *** empty log message ***
3971
39721993-04-23 Noah Friedman <friedman@gnu.org>
3973
3974 * src/alloc.h: entered into RCS
3975
39761993-04-20 David J. MacKenzie <djm@gnu.org>
3977
3978 * src/version.c: *** empty log message ***
3979
3980 * src/files.c, src/allocate.c:
3981 entered into RCS
3982
3983 * src/reader.c: *** empty log message ***
3984
3985 * src/lex.c: entered into RCS
3986
3987 * src/conflicts.c: New file.
3988
3989 * src/symtab.c: entered into RCS
3990
3991 * src/alloc.h: New file.
3992
3993 * src/LR0.c: entered into RCS
3994
39951993-04-18 Noah Friedman <friedman@gnu.org>
3996
3997 * src/reader.c: New file.
3998
3999 * src/version.c: *** empty log message ***
4000
40011993-04-18 Noah Friedman <friedman@gnu.org>
4002
4003 * Makefile.in: *** empty log message ***
4004
40051993-04-17 Noah Friedman <friedman@gnu.org>
4006
4007 * Makefile.in: *** empty log message ***
4008
40091993-04-15 Richard Stallman <rms@gnu.org>
4010
4011 * src/main.c, src/files.c:
4012 New file.
4013
40141993-04-15 Noah Friedman <friedman@gnu.org>
4015
4016 * configure.in: entered into RCS
4017
4018 * configure.in: *** empty log message ***
4019
4020 * configure.in: New file.
4021
40221993-04-14 Richard Stallman <rms@gnu.org>
4023
4024 * Makefile.in: New file.
4025
40261993-04-13 Richard Stallman <rms@gnu.org>
4027
4028 * src/version.c: New file.
4029
40301993-03-25 Richard Stallman <rms@gnu.org>
4031
4032 * src/output.c: entered into RCS
4033
40341992-09-25 Richard Stallman <rms@gnu.org>
4035
4036 * configure.bat: entered into RCS
4037
40381992-06-22 Richard Stallman <rms@gnu.org>
4039
4040 * src/vmsgetargs.c: entered into RCS
4041
40421992-06-22 Richard Stallman <rms@gnu.org>
4043
4044 * doc/bison.rnh: entered into RCS
4045
40461992-04-20 David J. MacKenzie <djm@gnu.org>
4047
4048 * README: entered into RCS
4049
40501992-01-22 Richard Stallman <rms@gnu.org>
4051
4052 * src/machine.h: entered into RCS
4053
40541991-12-21 Richard Stallman <rms@gnu.org>
4055
4056 * src/lalr.c, src/closure.c:
4057 entered into RCS
4058
40591991-12-20 Richard Stallman <rms@gnu.org>
4060
4061 * src/state.h: entered into RCS
4062
40631991-12-18 Richard Stallman <rms@gnu.org>
4064
4065 * src/print.c, src/nullable.c, src/derives.c:
4066 entered into RCS
4067
40681991-11-03 David J. MacKenzie <djm@gnu.org>
4069
4070 * src/warshall.c, src/types.h, src/symtab.h, src/lex.h, src/gram.c, src/gram.h, src/files.h:
4071 entered into RCS
4072
40731988-09-09 Richard Stallman <rms@gnu.org>
4074
4075 * src/bison.hairy: entered into RCS
4076
40771987-12-16 Richard Stallman <rms@gnu.org>
4078
4079 * REFERENCES: entered into RCS