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