]> git.saurik.com Git - bison.git/blame_incremental - ChangeLog
* src/closure.c (FIRSTS, FDERIVES): Adjust to reality: they are
[bison.git] / ChangeLog
... / ...
CommitLineData
12001-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
72001-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
142001-12-05 Akim Demaille <akim@epita.fr>
15
16 * src/closure.c (set_fderives): De-obfuscate.
17
18
192001-12-05 Akim Demaille <akim@epita.fr>
20
21 * src/closure.c (print_firsts, print_fderives): De-obfuscate.
22
23
242001-12-05 Akim Demaille <akim@epita.fr>
25
26 * src/closure.c (set_firsts): De-obfuscate.
27
282001-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
352001-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
452001-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
522001-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
582001-12-05 Akim Demaille <akim@epita.fr>
59
60 * src/state.h (SHIFT_SYMBOL): New.
61 * src/conflicts.c: Use it to deobfuscate.
62
632001-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
692001-12-05 Akim Demaille <akim@epita.fr>
70
71 * src/conflicts.c (print_reductions): Arrays, not pointers.
72 Use BITISSET.
73
742001-12-05 Akim Demaille <akim@epita.fr>
75
76 * src/conflicts.c (print_reductions): Pessimize, but clarify.
77
782001-12-05 Akim Demaille <akim@epita.fr>
79
80 * src/conflicts.c (print_reductions): Improve variable locality.
81
822001-12-05 Akim Demaille <akim@epita.fr>
83
84 * src/conflicts.c (print_reductions): Pessimize, but clarify.
85
862001-12-05 Akim Demaille <akim@epita.fr>
87
88 * src/conflicts.c (print_reductions): Improve variable locality.
89
902001-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
952001-12-05 Akim Demaille <akim@epita.fr>
96
97 * src/LR0.c (augment_automaton): Formatting changes.
98 Better variable locality.
99
1002001-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
1062001-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
1122001-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
1222001-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
1272001-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
1342001-12-05 Akim Demaille <akim@epita.fr>
135
136 * src/lalr.c (traverse): Use arrays instead of pointers.
137
1382001-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
1442001-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
1662001-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
1722001-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
1812001-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
1912001-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
2012001-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
2122001-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
2492001-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
2552001-11-30 Akim Demaille <akim@epita.fr>
256
257 * tests/reduce.at (Useless Nonterminals): Fix.
258
2592001-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
2642001-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
2762001-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
2832001-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
2902001-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
2972001-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
3162001-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
3222001-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
3292001-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
3472001-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
3542001-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
3592001-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
3642001-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
3692001-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
3742001-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
3802001-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
3852001-11-28 Akim Demaille <akim@epita.fr>
386
387 * src/reduce.c (reduce_print): Use ngettext.
388 (dump_grammar): Improve the trace accuracy.
389
3902001-11-28 Akim Demaille <akim@epita.fr>
391
392 * src/reduce.c (dump_grammar): Don't translate trace messages.
393
3942001-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
4012001-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
4062001-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
4122001-11-27 Marc Autret <autret_m@epita.fr>
413
414 * tests/torture.at [AT_DATA]: Remove YYERROR_VERBOSE definition.
415 Use %error-verbose.
416
4172001-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
4302001-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
4352001-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
4402001-11-27 Akim Demaille <akim@epita.fr>
441
442 * src/files.c: Include error.h.
443 Reported by Hans Aberg.
444
4452001-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
4562001-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
4632001-11-26 Akim Demaille <akim@epita.fr>
464
465 * src/LR0.c (allocate_itemsets): kernel_size contains ints, not
466 size_ts.
467
4682001-11-26 Akim Demaille <akim@epita.fr>
469
470 * src/complain.c, src/complain.h (error): Remove, provided by
471 lib/error.[ch].
472
4732001-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
4802001-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
4852001-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
4922001-11-23 Akim Demaille <akim@epita.fr>
493
494 * lib/alloca.c: Update, from fileutils.
495
4962001-11-23 Akim Demaille <akim@epita.fr>
497
498 * lib/Makefile.am (libbison_a_LIBADD): Add @ALLOCA@.
499
5002001-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
5052001-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
5132001-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
5282001-11-22 Marc Autret <autret_m@epita.fr>
529
530 * src/bison.simple [YYERROR_VERBOSE]: Force its value to be 1 or 0.
531
5322001-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
5382001-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
5452001-11-19 Akim Demaille <akim@epita.fr>
546
547 * src/conflicts.c (conflicts_print): Add a missing \n.
548
5492001-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
5552001-11-19 Akim Demaille <akim@epita.fr>
556
557 * src/print.c (print_actions): Better locality of variables.
558
5592001-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
5642001-11-19 Akim Demaille <akim@epita.fr>
565
566 * src/closure.c (itemsetend): Remove, replaced with...
567 (itemsetsize): new.
568
5692001-11-19 Akim Demaille <akim@epita.fr>
570
571 * src/LR0.c (kernel_end): Remove, replaced with...
572 (kernel_size): new.
573
5742001-11-19 Akim Demaille <akim@epita.fr>
575
576 * src/conflicts.c (set_conflicts): Use arrays instead of pointers
577 to clarify.
578
5792001-11-19 Akim Demaille <akim@epita.fr>
580
581 * src/closure.c (closure): Use arrays instead of pointers to clarify.
582
5832001-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
5902001-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
5992001-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
6052001-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
6172001-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
6242001-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
6312001-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
6362001-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
6412001-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
6512001-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
6572001-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
6632001-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
6692001-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
6782001-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
6842001-11-19 Akim Demaille <akim@epita.fr>
685
686 * src/lalr.c (set_maxrhs, maxrhs): Remove, replaced with...
687 (maxrhs): this new function.
688
6892001-11-19 Akim Demaille <akim@epita.fr>
690
691 * src/lalr.c (F): New macro to access the variable F.
692 Adjust.
693
6942001-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
7002001-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
7052001-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
7132001-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
7212001-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
7292001-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
7392001-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
7522001-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
7592001-11-14 Akim Demaille <akim@epita.fr>
760
761 * src/print.c: Include reduce.h.
762 Reported by Hans Aberg.
763
7642001-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
7762001-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
7832001-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
7882001-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
7992001-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
8112001-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
8172001-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
8292001-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
8352001-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
8492001-11-12 Akim Demaille <akim@epita.fr>
850
851 * tests/regression.at (Invalid input): Remove, duplicate with
852 ``Invalid input: 1''.
853
8542001-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
8602001-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
8662001-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
8762001-11-05 Akim Demaille <akim@epita.fr>
877
878 * src/reader.c (symbols_output): New, extracted from...
879 (packsymbols): here.
880 (reader): Adjust.
881
8822001-11-05 Akim Demaille <akim@epita.fr>
883
884 * src/lex.c (parse_percent_token): s/quotearg/quote/.
885
8862001-11-05 Akim Demaille <akim@epita.fr>
887
888 * tests/regression.at (AT_TEST_CPP_GUARD_H): Adjust the clean up
889 pattern.
890
8912001-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
9052001-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
9192001-11-02 Akim Demaille <akim@epita.fr>
920
921 * doc/refcard.tex: Update.
922
9232001-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
9362001-11-02 Akim Demaille <akim@epita.fr>
937
938 * tests/regression.at (Mixing %token styles): New test.
939
9402001-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
9472001-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
9552001-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
9632001-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
9692001-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
9762001-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
9842001-10-14 Marc Autret <autret_m@epita.fr>
985
986 * src/options.c (create_long_option_table): Fix.
987
9882001-10-10 Akim Demaille <akim@epita.fr>
989
990 * src/bison.simple: Be sure to set YYSTACK_USE_ALLOCA.
991
9922001-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
9972001-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
14452001-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
14522001-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
14632001-09-23 Pascal Bart <pascal.bart@epita.fr>
1464
1465 * src/bison.simple: Add new `#line' directive.
1466
14672001-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
14722001-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
14772001-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
14852001-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
14902001-09-20 Pascal Bart <pascal.bart@epita.fr>
1491
1492 * src/options.c (symtab.h): Include it, need by lex.h.
1493
14942001-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
15192001-09-20 Marc Autret <autret_m@epita.fr>
1520
1521 * doc/bison.texinfo: Adjust terminologies about prologue and epilogue
1522 sections of Bison.
1523
15242001-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
15302001-09-18 Pascal Bart <pascal.bart@epita.fr>
1531
1532 * src/output.c (output_parser): Delete unused variable actions_dumped.
1533
15342001-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
15402001-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
15752001-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
15812001-09-02 Marc Autret <autret_m@epita.fr>
1582
1583 * src/macrotab.c, src/macrotab.h: Remove.
1584
15852001-09-01 Pascal Bart <pascal.bart@epita.fr>
1586
1587 * src/reader.c (copy_guard): Use muscle to specify the `#line'
1588 filename.
1589
15902001-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
15952001-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
16022001-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
16072001-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
16192001-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
16252001-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
16322001-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
16402001-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
16472001-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
16602001-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
16682001-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
16762001-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
16822001-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
16882001-08-28 Marc Autret <autret_m@epita.fr>
1689
1690 * config/depcomp: New file.
1691
16922001-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
16982001-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
17102001-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
17152001-08-27 Akim Demaille <akim@epita.fr>
1716
1717 * Makefile.am (AUTOMAKE_OPTIONS): 1.5.
1718
17192001-08-25 Robert Anisko <robert.anisko@epita.fr>
1720
1721 * lib/Makefile.am: Adjust.
1722
17232001-08-25 Robert Anisko <robert.anisko@epita.fr>
1724
1725 * src/bison.simple: Update and add '%%' directives.
1726
17272001-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
17492001-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
17862001-08-25 Robert Anisko <robert.anisko@epita.fr>
1787
1788 * src/main.c (main): Initialize the macro table.
1789
17902001-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
17952001-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
18012001-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
18072001-08-15 Akim Demaille <akim@epita.fr>
1808
1809 Version 1.28c.
1810
18112001-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
18212001-08-15 Akim Demaille <akim@epita.fr>
1822
1823 * doc/bison.texinfo (Table of Symbols): Document
1824 YYSTACK_USE_ALLOCA.
1825
18262001-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
18322001-08-15 Akim Demaille <akim@epita.fr>
1833
1834 * Makefile.maint: Sync with CVS Autoconf.
1835
18362001-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
18422001-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
18522001-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
18582001-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
18632001-08-13 Marc Autret <autret_m@epita.fr>
1864
1865 * src/bison.simple (_yy_memcpy): CPP reformat.
1866
18672001-08-13 Pascal Bart <pascal.bart@epita.fr>
1868
1869 * tests/atconfig.in (CPPFLAGS): Fix.
1870
18712001-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
18772001-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
18822001-08-10 Akim Demaille <akim@epita.fr>
1883
1884 * src/system.h: Provide default declarations for stpcpy, strndup,
1885 and strnlen.
1886
18872001-08-10 Robert Anisko <anisko_r@epita.fr>
1888
1889 * doc/bison.texinfo (Locations): Update @$ stuff.
1890
18912001-08-09 Robert Anisko <anisko_r@epita.fr>
1892
1893 * src/bison.simple (YYLLOC_DEFAULT): Update.
1894 (yyparse): Adjust.
1895
18962001-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
19022001-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
19212001-08-07 Pascal Bart <pascal.bart@epita.fr>
1922
1923 * tests/atconfig.in (CPPFLAGS): Fix.
1924
19252001-08-07 Akim Demaille <akim@epita.fr>
1926
1927 * src/print_graph.c (quote): New.
1928 (print_core): Use it.
1929
19302001-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
19432001-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
19622001-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
19682001-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
19852001-08-06 Marc Autret <autret_m@epita.fr>
1986
1987 * configure.in: Bump to 1.28c.
1988 * doc/bison.texinfo: Texinfo thingies.
1989
19902001-08-04 Pascal Bart <pascal.bart@epita.fr>
1991
1992 * tests/atconfig.in (CPPFLAGS): Add.
1993 * tests/calc.at (AT_CHECK): Use CPPFLAGS.
1994
19952001-08-03 Akim Demaille <akim@epita.fr>
1996
1997 Version 1.28b.
1998
19992001-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
20052001-08-03 Akim Demaille <akim@epita.fr>
2006
2007 * configure.in: Try using -Wformat when compiling.
2008
20092001-08-03 Akim Demaille <akim@epita.fr>
2010
2011 * configure.in: Bump to 1.28b.
2012
20132001-08-03 Akim Demaille <akim@epita.fr>
2014
2015 * src/complain.c: Adjust strerror_r portability issues.
2016
20172001-08-03 Akim Demaille <akim@epita.fr>
2018
2019 Version 1.28a.
2020
20212001-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
20292001-08-03 Akim Demaille <akim@epita.fr>
2030
2031 * src/reader.c (readgram): Display hidden chars in error messages.
2032
20332001-08-03 Akim Demaille <akim@epita.fr>
2034
2035 Update to gettext 0.10.39.
2036
20372001-08-03 Akim Demaille <akim@epita.fr>
2038
2039 * lib/strspn.c: New.
2040
20412001-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
20592001-08-01 Robert Anisko <anisko_r@epita.fr>
2060
2061 * doc/bison.texi: Document @$.
2062 (Locations): New section.
2063
20642001-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
20702001-07-08 Pascal Bart <pascal.bart@epita.fr>
2071
2072 * src/bison.simple (yyparse): Suppress warning `comparaison
2073 between signed and unsigned'.
2074
20752001-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
20832001-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
20892001-03-16 Akim Demaille <akim@epita.fr>
2090
2091 * doc/bison.texinfo: ANSIfy the examples.
2092
20932001-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
21012001-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
21072001-03-16 Akim Demaille <akim@epita.fr>
2108
2109 * src/getargs.c (longopts): Clean up.
2110
21112001-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
21172001-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
21232001-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
21332001-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
21382001-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
21482001-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
21572001-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
21622001-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
21822000-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
21942000-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
21992000-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
22052000-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
22112000-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
22172000-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
22252000-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
22342000-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
22442000-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
22532000-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
22602000-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
22752000-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
22802000-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
22852000-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
22912000-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
22992000-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
23052000-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
23122000-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
23242000-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
23312000-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
23362000-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
23432000-11-17 Akim Demaille <akim@epita.fr>
2344
2345 * acconfig.h: Remove, no longer used.
2346
23472000-11-07 Akim Demaille <akim@epita.fr>
2348
2349 * src: s/Copyright (C)/Copyright/g.
2350
23512000-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
23572000-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
23622000-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
23752000-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
23812000-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
23882000-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
23932000-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
24052000-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
24112000-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
24252000-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
24352000-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
24452000-10-20 Akim Demaille <akim@epita.fr>
2446
2447 * lib/quote.h (PARAMS): New macro. Use it.
2448
24492000-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
24552000-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
24662000-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
24722000-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
24802000-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
24852000-10-16 Akim Demaille <akim@epita.fr>
2486
2487 * src/reader.c (copy_dollar): New function.
2488 (copy_guard, copy_action): Use it.
2489
24902000-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
24982000-10-04 Akim Demaille <akim@epita.fr>
2499
2500 * lib/error.c, lib/error.h: New files, needed by xmalloc.c.
2501
25022000-10-04 Akim Demaille <akim@epita.fr>
2503
2504 * doc/bison.texinfo: Various typos spotted by Neil Booth.
2505
25062000-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
25172000-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
25232000-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
25292000-10-02 Akim Demaille <akim@epita.fr>
2530
2531 * src/getargs.c (getargs): Don't dump `--help' on unrecognized
2532 options.
2533
25342000-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
25392000-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
25622000-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
25752000-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
26072000-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
26192000-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
26272000-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
26402000-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
26462000-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
26642000-10-02 Akim Demaille <akim@epita.fr>
2665
2666 Various anti-`extern in *.c' changes.
2667
2668 * src/system.h: Include `assert.h'.
2669
26702000-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
26822000-10-02 Akim Demaille <akim@epita.fr>
2683
2684 * src/LR0.h: New file.
2685 Propagate its use.
2686
26872000-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
26962000-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
27052000-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
27112000-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
27192000-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
27282000-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
27362000-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
27442000-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
27502000-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
27562000-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
27732000-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
27822000-09-21 Akim Demaille <akim@epita.fr>
2783
2784 * src/atgeneral.m4: Update from Autoconf.
2785
27862000-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
27992000-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
28092000-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
28162000-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
28242000-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
28412000-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
28462000-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
28522000-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
28582000-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
28722000-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
28872000-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
29002000-03-31 Akim Demaille <akim@epita.fr>
2901
2902 * src/files.c (tryopen, tryclose): Move to the top.
2903 Be static.
2904
29052000-03-31 Akim Demaille <akim@epita.fr>
2906
2907 * src/main.c (main): Don't call `done', exit does it.
2908
29092000-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
29192000-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
29402000-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
29562000-03-28 Akim Demaille <akim@epita.fr>
2957
2958 * src/getargs.c (usage): Refresh the help message.
2959
29602000-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
29662000-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
29712000-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
29782000-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
29842000-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
29922000-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
30002000-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
30062000-03-17 Akim Demaille <akim@epita.fr>
3007
3008 * src/reader.c (packsymbols): Formatting changes.
3009
30102000-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
30172000-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
30232000-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
30432000-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
30492000-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
30542000-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
30612000-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
30682000-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
30732000-03-16 Akim Demaille <akim@epita.fr>
3074
3075 * src/bison.s1: Properly indent CPP directives.
3076
30772000-03-16 Akim Demaille <akim@epita.fr>
3078
3079 * src/bison.s1: Properly indent the `alloca' CPP section.
3080
30812000-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
31122000-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
31191999-12-13 Jesse Thilo <jthilo@gnu.org>
3120
3121 * src/files.c:
3122 OS/2 honors TMPDIR environment variable.
3123
31241999-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
31311999-12-13 Jesse Thilo <jthilo@gnu.org>
3132
3133 * configure.in, NEWS:
3134 Bison 1.29 released.
3135
31361999-10-27 Jesse Thilo <jthilo@gnu.org>
3137
3138 * doc/.cvsignore, doc/Makefile.am, doc/refcard.tex:
3139 Added reference card.
3140
31411999-07-26 Jesse Thilo <jthilo@gnu.org>
3142
3143 * po/ru.po: Added Russian translation.
3144
31451999-07-26 Jesse Thilo <jthilo@gnu.org>
3146
3147 * configure.in: Added Russian translation.
3148
31491999-07-06 Jesse Thilo <jthilo@gnu.org>
3150
3151 * configure.in, NEWS, README:
3152 Released version 1.28.
3153
31541999-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
31631999-06-14 Jesse Thilo <jthilo@gnu.org>
3164
3165 * po/POTFILES.in: Got rid of version.c.
3166
31671999-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
31731999-06-08 Jesse Thilo <jthilo@gnu.org>
3174
3175 * doc/bison.1:
3176 Dropped mention of `+' for long-named options.
3177
31781999-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
31851999-05-30 Jesse Thilo <jthilo@gnu.org>
3186
3187 * README: Added a FAQ list.
3188
3189 * configure.in, acconfig.h:
3190 I18n fixes.
3191
31921999-05-30 Jesse Thilo <jthilo@gnu.org>
3193
3194 * doc/FAQ, doc/Makefile.am:
3195 Added a FAQ list.
3196
31971999-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
32021999-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
32111999-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
32161999-04-18 Jesse Thilo <jthilo@gnu.org>
3217
3218 * doc/.cvsignore, doc/Makefile.am:
3219 Reorganized: sources in `src', documentation in `doc'.
3220
32211999-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
32291999-04-13 Jesse Thilo <jthilo@gnu.org>
3230
3231 * src/allocate.c:
3232 Don't declare calloc() and realloc() if not necessary.
3233
32341999-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
32391999-03-23 Jesse Thilo <jthilo@gnu.org>
3240
3241 * po/.cvsignore: Added i18n support.
3242
32431999-03-23 Jesse Thilo <jthilo@gnu.org>
3244
3245 * acconfig.h, configure.in, Makefile.am:
3246 Added i18n support.
3247
32481999-03-22 Jesse Thilo <jthilo@gnu.org>
3249
3250 * src/bison.s1: Fixed #line numbers.
3251
32521999-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
32571999-03-03 Jesse Thilo <jthilo@gnu.org>
3258
3259 * Makefile.am:
3260 Added support for non-ANSI compilers (ansi2knr).
3261
32621999-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
32691999-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
32741999-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
32791999-02-09 Jesse Thilo <jthilo@gnu.org>
3280
3281 * Makefile.am:
3282 Removed inappropriate use of $< macro.
3283
32841999-02-05 Jesse Thilo <jthilo@gnu.org>
3285
3286 * po/Makefile.in.in, po/POTFILES.in:
3287 Add `po' directory skeleton.
3288
32891999-01-27 Jesse Thilo <jthilo@gnu.org>
3290
3291 * README: Document help-bison list.
3292
3293 * configure.in: Add check for mkstemp().
3294
32951999-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
33041999-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
33101999-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
33151999-01-14 Jesse Thilo <jthilo@gnu.org>
3316
3317 * doc/bison.texinfo: Fix formatting glitch.
3318
3319 * doc/bison.texinfo: Update FSF address.
3320
33211999-01-14 Jesse Thilo <jthilo@gnu.org>
3322
3323 * acconfig.h: Update FSF address.
3324
33251999-01-08 Jesse Thilo <jthilo@gnu.org>
3326
3327 * src/system.h:
3328 Don't define PACKAGE here, since config.h defines it.
3329
33301998-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
33531998-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
33591998-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
33711998-12-29 Jesse Thilo <jthilo@gnu.org>
3372
3373 * src/version.c:
3374 Use VERSION symbol from automake for version number.
3375
33761998-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
33811998-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
33871998-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
33941998-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
33991998-11-26 Jesse Thilo <jthilo@gnu.org>
3400
3401 * doc/bison.1:
3402 Document the BISON_HAIRY and BISON_SIMPLE variables.
3403
34041998-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
34181998-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
34361998-11-25 Jesse Thilo <jthilo@gnu.org>
3437
3438 * doc/bison.texinfo: Clean up some formatting.
3439
34401998-05-05 Richard Stallman <rms@gnu.org>
3441
3442 * doc/bison.texinfo:
3443 Explain better why to make a pure parser.
3444
34451998-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
34521997-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
34591997-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
34661997-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
34741997-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
34831997-06-18 Richard Stallman <rms@gnu.org>
3484
3485 * Makefile.in: new.h renamed to alloc.h.
3486
34871997-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
34951997-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
35051997-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
35151997-04-23 Richard Stallman <rms@gnu.org>
3516
3517 * src/bison.s1:
3518 (alloca) [__hpux]: Always define as __builtin_alloca.
3519
35201997-04-23 Richard Stallman <rms@gnu.org>
3521
3522 * bison.simple:
3523 (alloca) [__hpux]: Always define as __builtin_alloca.
3524
35251997-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
35351997-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
35451997-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
35501997-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
35591997-01-02 Richard Stallman <rms@gnu.org>
3560
3561 * Makefile.in (dist):
3562 Explicitly check for symlinks, and copy them.
3563
35641996-12-19 Richard Stallman <rms@gnu.org>
3565
3566 * src/files.c:
3567 [_MSC_VER] (XPFILE, XPFILE1): Define, if not already defined.
3568
35691996-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
35751996-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
35811996-12-17 Richard Stallman <rms@gnu.org>
3582
3583 * src/reduce.c (nbits): Add some casts.
3584
35851996-08-12 Richard Stallman <rms@gnu.org>
3586
3587 * src/bison.s1: Test _MSDOS as well as _MSDOS_.
3588
35891996-08-12 Richard Stallman <rms@gnu.org>
3590
3591 * bison.simple: Test _MSDOS as well as _MSDOS_.
3592
35931996-07-31 Richard Stallman <rms@gnu.org>
3594
3595 * src/bison.s1:
3596 [__sun && __i386]: Include alloca.h.
3597
35981996-07-31 Richard Stallman <rms@gnu.org>
3599
3600 * bison.simple:
3601 [__sun && __i386]: Include alloca.h.
3602
36031996-07-30 Richard Stallman <rms@gnu.org>
3604
3605 * src/bison.s1: Comment change.
3606
3607 * src/bison.s1: Test _MSDOS_, not MSDOS.
3608
36091996-07-30 Richard Stallman <rms@gnu.org>
3610
3611 * bison.simple: Comment change.
3612
3613 * bison.simple: Test _MSDOS_, not MSDOS.
3614
36151996-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
36321996-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
36471996-05-12 Richard Stallman <rms@gnu.org>
3648
3649 * src/bison.s1:
3650 (__yy_memcpy) [__cplusplus]: Reorder declarations of variables f and t.
3651
36521996-05-12 Richard Stallman <rms@gnu.org>
3653
3654 * bison.simple:
3655 (__yy_memcpy) [__cplusplus]: Reorder declarations of variables f and t.
3656
36571996-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
36631996-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
36711996-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
36771995-12-29 Richard Stallman <rms@gnu.org>
3678
3679 * src/bison.s1:
3680 Fix line numbers in #line commands.
3681
36821995-12-29 Richard Stallman <rms@gnu.org>
3683
3684 * bison.simple:
3685 Fix line numbers in #line commands.
3686
36871995-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
36941995-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
37011995-11-29 Richard Stallman <rms@gnu.org>
3702
3703 * doc/bison.texinfo:
3704 Describe literal string tokens, %raw, %no_lines, %token_table.
3705
37061995-11-29 Daniel Hagerty <hag@gnu.org>
3707
3708 * doc/bison.texinfo: Fixed update date
3709
37101995-10-16 Richard Stallman <rms@gnu.org>
3711
3712 * src/version.c: Version 1.25.
3713
37141995-10-16 Richard Stallman <rms@gnu.org>
3715
3716 * NEWS: *** empty log message ***
3717
37181995-10-16 Richard Stallman <rms@gnu.org>
3719
3720 * doc/bison.1, doc/bison.rnh:
3721 Add new options.
3722
37231995-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
38101995-06-01 Jim Meyering <meyering@gnu.org>
3811
3812 * doc/bison.texinfo: *** empty log message ***
3813
38141995-05-06 Richard Stallman <rms@gnu.org>
3815
3816 * src/bison.s1: Comment change.
3817
38181995-05-06 Richard Stallman <rms@gnu.org>
3819
3820 * bison.simple: Comment change.
3821
38221995-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
38301995-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
38361995-05-03 Richard Stallman <rms@gnu.org>
3837
3838 * bison.simple: Change distribution terms.
3839
38401995-02-23 Richard Stallman <rms@gnu.org>
3841
3842 * src/files.c: Test __VMS_POSIX as well as VMS.
3843
38441995-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
38511995-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
38581994-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
38711994-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
38781994-09-28 David J. MacKenzie <djm@gnu.org>
3879
3880 * Makefile.in: Set datadir to $(prefix)/share.
3881
38821994-09-15 Richard Stallman <rms@gnu.org>
3883
3884 * src/bison.s1:
3885 Update copyright notice and GPL version.
3886
38871994-09-15 Richard Stallman <rms@gnu.org>
3888
3889 * bison.simple:
3890 Update copyright notice and GPL version.
3891
38921994-07-12 Richard Stallman <rms@gnu.org>
3893
3894 * src/reduce.c, src/reader.c:
3895 entered into RCS
3896
38971994-05-05 David J. MacKenzie <djm@gnu.org>
3898
3899 * Makefile.in: entered into RCS
3900
39011994-03-26 Richard Stallman <rms@gnu.org>
3902
3903 * src/bison.s1: entered into RCS
3904
39051994-03-26 Richard Stallman <rms@gnu.org>
3906
3907 * bison.simple: entered into RCS
3908
39091994-03-25 Richard Stallman <rms@gnu.org>
3910
3911 * src/main.c: entered into RCS
3912
39131994-03-24 Richard Stallman <rms@gnu.org>
3914
3915 * src/conflicts.c: entered into RCS
3916
39171994-01-02 Richard Stallman <rms@gnu.org>
3918
3919 * Makefile.in: *** empty log message ***
3920
39211993-11-21 Richard Stallman <rms@gnu.org>
3922
3923 * src/bison.s1: *** empty log message ***
3924
39251993-11-21 Richard Stallman <rms@gnu.org>
3926
3927 * doc/bison.texinfo: entered into RCS
3928
3929 * doc/bison.texinfo: *** empty log message ***
3930
39311993-11-21 Richard Stallman <rms@gnu.org>
3932
3933 * bison.simple: *** empty log message ***
3934
39351993-10-25 David J. MacKenzie <djm@gnu.org>
3936
3937 * doc/bison.texinfo: *** empty log message ***
3938
39391993-10-19 Richard Stallman <rms@gnu.org>
3940
3941 * src/bison.s1: *** empty log message ***
3942
39431993-10-19 Richard Stallman <rms@gnu.org>
3944
3945 * bison.simple: *** empty log message ***
3946
39471993-10-14 Richard Stallman <rms@gnu.org>
3948
3949 * src/bison.s1: *** empty log message ***
3950
39511993-10-14 Richard Stallman <rms@gnu.org>
3952
3953 * bison.simple: *** empty log message ***
3954
39551993-09-14 David J. MacKenzie <djm@gnu.org>
3956
3957 * doc/bison.texinfo: *** empty log message ***
3958
39591993-09-13 Noah Friedman <friedman@gnu.org>
3960
3961 * Makefile.in: *** empty log message ***
3962
39631993-09-10 Richard Stallman <rms@gnu.org>
3964
3965 * src/conflicts.c: *** empty log message ***
3966
3967 * src/system.h: entered into RCS
3968
39691993-09-10 Richard Stallman <rms@gnu.org>
3970
3971 * doc/bison.1: entered into RCS
3972
39731993-09-06 Noah Friedman <friedman@gnu.org>
3974
3975 * src/version.c: entered into RCS
3976
39771993-09-06 Noah Friedman <friedman@gnu.org>
3978
3979 * Makefile.in: *** empty log message ***
3980
39811993-07-30 David J. MacKenzie <djm@gnu.org>
3982
3983 * Makefile.in: *** empty log message ***
3984
39851993-07-24 Richard Stallman <rms@gnu.org>
3986
3987 * src/bison.s1: *** empty log message ***
3988
39891993-07-24 Richard Stallman <rms@gnu.org>
3990
3991 * bison.simple: *** empty log message ***
3992
39931993-07-08 David J. MacKenzie <djm@gnu.org>
3994
3995 * Makefile.in: *** empty log message ***
3996
39971993-07-04 Richard Stallman <rms@gnu.org>
3998
3999 * src/bison.s1: *** empty log message ***
4000
40011993-07-04 Richard Stallman <rms@gnu.org>
4002
4003 * bison.simple: *** empty log message ***
4004
40051993-06-26 David J. MacKenzie <djm@gnu.org>
4006
4007 * src/getargs.c: entered into RCS
4008
40091993-06-26 David J. MacKenzie <djm@gnu.org>
4010
4011 * doc/bison.texinfo: *** empty log message ***
4012
4013 * doc/bison.1: New file.
4014
40151993-06-25 Richard Stallman <rms@gnu.org>
4016
4017 * src/getargs.c: New file.
4018
40191993-06-16 Richard Stallman <rms@gnu.org>
4020
4021 * src/bison.s1: *** empty log message ***
4022
40231993-06-16 Richard Stallman <rms@gnu.org>
4024
4025 * bison.simple: *** empty log message ***
4026
40271993-06-03 Richard Stallman <rms@gnu.org>
4028
4029 * src/bison.s1: New file.
4030
40311993-06-03 Richard Stallman <rms@gnu.org>
4032
4033 * doc/bison.texinfo: *** empty log message ***
4034
40351993-06-03 Richard Stallman <rms@gnu.org>
4036
4037 * bison.simple: New file.
4038
40391993-05-19 Richard Stallman <rms@gnu.org>
4040
4041 * doc/bison.texinfo: New file.
4042
40431993-05-07 Noah Friedman <friedman@gnu.org>
4044
4045 * Makefile.in: *** empty log message ***
4046
40471993-04-28 Noah Friedman <friedman@gnu.org>
4048
4049 * src/reader.c: *** empty log message ***
4050
40511993-04-23 Noah Friedman <friedman@gnu.org>
4052
4053 * src/alloc.h: entered into RCS
4054
40551993-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
40741993-04-18 Noah Friedman <friedman@gnu.org>
4075
4076 * src/reader.c: New file.
4077
4078 * src/version.c: *** empty log message ***
4079
40801993-04-18 Noah Friedman <friedman@gnu.org>
4081
4082 * Makefile.in: *** empty log message ***
4083
40841993-04-17 Noah Friedman <friedman@gnu.org>
4085
4086 * Makefile.in: *** empty log message ***
4087
40881993-04-15 Richard Stallman <rms@gnu.org>
4089
4090 * src/main.c, src/files.c:
4091 New file.
4092
40931993-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
41011993-04-14 Richard Stallman <rms@gnu.org>
4102
4103 * Makefile.in: New file.
4104
41051993-04-13 Richard Stallman <rms@gnu.org>
4106
4107 * src/version.c: New file.
4108
41091993-03-25 Richard Stallman <rms@gnu.org>
4110
4111 * src/output.c: entered into RCS
4112
41131992-09-25 Richard Stallman <rms@gnu.org>
4114
4115 * configure.bat: entered into RCS
4116
41171992-06-22 Richard Stallman <rms@gnu.org>
4118
4119 * src/vmsgetargs.c: entered into RCS
4120
41211992-06-22 Richard Stallman <rms@gnu.org>
4122
4123 * doc/bison.rnh: entered into RCS
4124
41251992-04-20 David J. MacKenzie <djm@gnu.org>
4126
4127 * README: entered into RCS
4128
41291992-01-22 Richard Stallman <rms@gnu.org>
4130
4131 * src/machine.h: entered into RCS
4132
41331991-12-21 Richard Stallman <rms@gnu.org>
4134
4135 * src/lalr.c, src/closure.c:
4136 entered into RCS
4137
41381991-12-20 Richard Stallman <rms@gnu.org>
4139
4140 * src/state.h: entered into RCS
4141
41421991-12-18 Richard Stallman <rms@gnu.org>
4143
4144 * src/print.c, src/nullable.c, src/derives.c:
4145 entered into RCS
4146
41471991-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
41521988-09-09 Richard Stallman <rms@gnu.org>
4153
4154 * src/bison.hairy: entered into RCS
4155
41561987-12-16 Richard Stallman <rms@gnu.org>
4157
4158 * REFERENCES: entered into RCS