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