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