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