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