]> git.saurik.com Git - bison.git/blame - ChangeLog
* src/bison.simple (YYSTACK_REALLOC): Remove.
[bison.git] / ChangeLog
CommitLineData
396452de
PE
12001-11-29 Paul Eggert <eggert@twinsun.com>
2
3 * src/bison.simple (YYSTACK_REALLOC): Remove.
4 (YYSTACK_ALLOC): Resurrect this macro, with its old meaning.
5 (YYSTACK_FREE, YYSTACK_GAP_MAX, YYSTACK_BYTES, YYSTACK_RELOCATE):
6 New macros.
7 (union yyalloc): New type.
8 (__yy_memcpy): Last arg is size_t, not unsigned int, to remove
9 an arbitrary restriction on hosts where size_t is wider than int.
10
11 (yyparse): Don't dump core if alloca or malloc fails; instead, report
12 a parser stack overflow. Allocate just one block of memory for all
13 three stacks, instead of allocating three blocks; this typically is
14 faster and reduces fragmentation.
15
16 Do not limit the number of items in the stack to a value that fits
17 in 'int', as this is an arbitrary limit on hosts with 64-bit
18 size_t and 32-bit int.
19
147e184c
MA
202001-11-29 Marc Autret <autret_m@epita.fr>
21
22 * tests/calc.at [AT_DATA_CALC_Y]: Use %error-verbose instead
23 of defining YYERROR_VERBOSE.
24 [AT_DATA]: $4 is now out of C declarations in the prologue.
25
426cf563
MA
262001-11-28 Marc Autret <autret_m@epita.fr>
27
28 * src/reader.c (parse_dquoted_param): New.
29 (parse_skel_decl): Use it.
30 * src/lex.h: Add its prototype.
31 * src/lex.c (literalchar): Become not static.
32
c7925b99
MA
332001-11-28 Marc Autret <autret_m@epita.fr>
34
35 * src/output.h: And put its extern declaration here.
36 * src/output.c (error_verbose): Define here.
37 (prepare): Echo name modification.
38 * src/getargs.h: Clean its extern declaration.
39 * src/getargs.c (error_verbose_flag): Remove.
40 (getargs): Remove case 'e'.
41 * src/options.c (option_table): 'error-verbose' is now seen as simple
42 percent option.
43 Include output.h.
44
45 * src/reader.c (read_declarations): Remove case tok_include.
46 (parse_include_decl): Remove.
47 * src/lex.h (token_t): Remove tok_include.
48 * src/options.c (option_table): 'include' is now a simple command line
49 option.
50
5b5d1929
MA
512001-11-28 Marc Autret <autret_m@epita.fr>
52
53 * src/bison.simple: Adjust muscle names.
54 * src/muscle_tab.c (muscle_init): Also rename the muscles.
55 * src/output.c (prepare): s/_/-/ for the muscles names.
56 (output_parser): When scanning for a muscle, allow '-' instead of '_'.
57
8850be4b
MA
582001-11-28 Marc Autret <autret_m@epita.fr>
59
60 * src/bison.simple: Fix debug.
61 [YYERROR_VERBOSE]: Re-integrate as an internal macro.
62
4a38e613
AD
632001-11-28 Akim Demaille <akim@epita.fr>
64
65 * src/LR0.c (shifts_new): New.
66 (save_shifts, insert_start_shift, augment_automaton): Use it.
67
4b35e1c1
AD
682001-11-28 Akim Demaille <akim@epita.fr>
69
70 * src/closure.c (closure): `b' and `ruleno' denote the same value:
71 keep ruleno only.
72
d2b04478
AD
732001-11-28 Akim Demaille <akim@epita.fr>
74
75 * src/closure.c (closure): Instead of looping over word in array
76 then bits in words, loop over bits in array.
77
2c4c30aa
AD
782001-11-28 Akim Demaille <akim@epita.fr>
79
80 * src/closure.c (closure): No longer optimize the special case
81 where all the bits of `ruleset[r]' are set to 0, to make the code
82 clearer.
83
576890b7
AD
842001-11-28 Akim Demaille <akim@epita.fr>
85
86 * src/closure.c (closure): `r' and `c' are new variables, used to
87 de-obfuscate accesses to RULESET and CORE.
88
cb487d7d
AD
892001-11-28 Akim Demaille <akim@epita.fr>
90
91 * src/reduce.c (reduce_print): Use ngettext.
92 (dump_grammar): Improve the trace accuracy.
93
6013d43f
AD
942001-11-28 Akim Demaille <akim@epita.fr>
95
96 * src/reduce.c (dump_grammar): Don't translate trace messages.
97
cb4956ee
AD
982001-11-28 Akim Demaille <akim@epita.fr>
99
100 * tests/reduce.at (Useless Terminals, Useless Nonterminals): New.
101 * src/reduce.c (reduce_grammar_tables): Do not free useless tags,
102 as all tags are free'ed afterwards.
103 From Enrico Scholz.
104
648185ab
PE
1052001-11-27 Paul Eggert <eggert@twinsun.com>
106
107 * src/bison.simple (YYSTACK_REALLOC): Fix typo that caused us to
108 use alloca when we didn't want to, and vice versa.
109
68254a03
MA
1102001-11-27 Marc Autret <autret_m@epita.fr>
111
9113b58f
AD
112 * src/muscle_tab.c (muscle_init): Remove 'verbose' muscle
113 initialization.
68254a03
MA
114 * src/output.c (prepare): Remove its update.
115
04d843a2
MA
1162001-11-27 Marc Autret <autret_m@epita.fr>
117
118 * tests/torture.at [AT_DATA]: Remove YYERROR_VERBOSE definition.
119 Use %error-verbose.
120
d2079671 1212001-11-27 Marc Autret <autret_m@epita.fr>
eeeb962b
MA
122
123 * src/bison.simple: Remove YYERROR_VERBOSE using.
124 Use %%error_verbose.
125 (yyparse): Likewise.
126 * src/output.c (prepare): Give its final value.
127 * src/muscle_tab.c (muscle_init): Init new muscle 'error_verbose'.
128 * src/getargs.h: Add its extern declaration.
129 * src/getargs.c (error_verbose_flag): New int.
130 (getargs): Update to catch new case.
131 * src/options.c (option_table): 'error-verbose' is a new option.
132 (shortopts): Update.
133
e0327bc8
AD
1342001-11-27 Akim Demaille <akim@epita.fr>
135
136 * src/system.h: Use intl/libgettext.h.
137 * src/Makefile.am (INCLUDES): Add -I $(top_srcdir).
138
000f1a3c
AD
1392001-11-27 Akim Demaille <akim@epita.fr>
140
141 * tests/torture.at (Exploding the Stack Size with Malloc):
142 s/YYSTACK_USE_ALLOCA_ALLOCA/YYSTACK_USE_ALLOCA/.
143
26cfe0be
AD
1442001-11-27 Akim Demaille <akim@epita.fr>
145
146 * src/files.c: Include error.h.
147 Reported by Hans Aberg.
148
f6bd5427
MA
1492001-11-26 Marc Autret <autret_m@epita.fr>
150
d2079671 151 * src/reader.c (parse_include_decl): New, not yet implemented.
f6bd5427
MA
152 (read_declarations): Add case tok_include.
153 * src/getargs.h (include): Add its extern definition.
154 * src/getargs.c (include): New const char *.
155 (getargs): Add case '-I'.
156 * src/options.c (option_table): Add include as command line and
157 percent option.
158 * src/lex.h (token_t): Add tok_include.
159
2ca209c1
AD
1602001-11-26 Akim Demaille <akim@epita.fr>
161
162 * src/reader.c (readgram): Make sure rules for mid-rule actions
163 have a lineno equal to that of their host rule.
164 Reported by Hans Aberg.
165 * tests/regression.at (Rule Line Numbers): New.
166
0e41b407
AD
1672001-11-26 Akim Demaille <akim@epita.fr>
168
169 * src/LR0.c (allocate_itemsets): kernel_size contains ints, not
170 size_ts.
171
1722001-11-26 Akim Demaille <akim@epita.fr>
173
174 * src/complain.c, src/complain.h (error): Remove, provided by
175 lib/error.[ch].
176
e0c40012
AD
1772001-11-26 Akim Demaille <akim@epita.fr>
178
179 * src/reader.c (read_declarations): Don't abort on tok_illegal,
180 issue an error message.
181 * tests/regression.at (Invalid %directive): New.
182 Reported by Hans Aberg.
183
5e147124
AD
1842001-11-26 Akim Demaille <akim@epita.fr>
185
186 * configure.in: Invoke AC_FUNC_OBSTACK and AC_FUNC_ERROR_AT_LINE.
187 * lib/Makefile.am (libbison_a_SOURCES): Adjust.
188
a034c8b8
AD
1892001-11-26 Akim Demaille <akim@epita.fr>
190
191 * src/conflicts.c (conflicts_print): Don't complain at all when
192 there are no reduce/reduce conflicts, and as many shift/reduce
193 conflicts as expected.
194 * tests/regression.at (%expect right): Adjust.
195
c64a20f3
AD
1962001-11-23 Akim Demaille <akim@epita.fr>
197
198 * lib/alloca.c: Update, from fileutils.
199
5b0d29bb
AD
2002001-11-23 Akim Demaille <akim@epita.fr>
201
202 * lib/Makefile.am (libbison_a_LIBADD): Add @ALLOCA@.
203
722c4bfe
AD
2042001-11-23 Akim Demaille <akim@epita.fr>
205
206 * src/system.h: Include alloca.h.
207 * src/main.c (main) [C_ALLOCA]: Call alloca (0).
208
6255b435
AD
2092001-11-23 Akim Demaille <akim@epita.fr>
210
211 * src/print_graph.c (print_actions): Remove `rule', unused.
212 * src/LR0.c (kernel_size): Contain `int' instead of `size_t' to
213 pacify GCC's signed < unsigned warnings.
214 * src/closure.c (itemsetsize): Likewise.
215 * src/reader.c (symbol_list_new): Static.
216
b29b2ed5
AD
2172001-11-23 Akim Demaille <akim@epita.fr>
218
219 Attaching lineno to buckets is stupid, since only one copy of each
220 symbol is kept, only the line of the first occurrence is kept too.
221
222 * src/symtab.h, src/symtab.c (bucket): Remove the line member.
223 * src/reader.c (rline_allocated): Remove, unused.
224 (symbol_list): Have a `line' member.
225 (symbol_list_new): New.
226 (readgram): Use it.
227 * src/print.c (print_grammar): Output the rule line numbers.
228 * tests/regression.at (Solved SR Conflicts)
229 (Unresolved SR Conflicts): Adjust.
230 Reported by Hans Aberg.
231
a81b1d4a
MA
2322001-11-22 Marc Autret <autret_m@epita.fr>
233
234 * src/bison.simple [YYERROR_VERBOSE]: Force its value to be 1 or 0.
235
c1ecb3c1
MA
2362001-11-22 Marc Autret <autret_m@epita.fr>
237
238 * src/muscle_tab.c (muscle_init): Remove initialization of
239 skeleton muscle.
240 * src/output.c (output_master_parser): Do it here.
241
fbe01355
AD
2422001-11-20 Akim Demaille <akim@epita.fr>
243
244 * po/sv.po: New.
245 * configure.in (ALL_LINGUAS): Adjust.
246 * po/POTFILE.in: Remove `nullable.c' and `derives.c' which no
247 longer contains strings to translate.
248
81e895c0
AD
2492001-11-19 Akim Demaille <akim@epita.fr>
250
251 * src/conflicts.c (conflicts_print): Add a missing \n.
252
6bb1878b
AD
2532001-11-19 Akim Demaille <akim@epita.fr>
254
255 * src/nullable.c (nullable_print): New.
256 (set_nullable): Call it when tracing.
257 Better locality of variables.
258
d9ec2d07
AD
2592001-11-19 Akim Demaille <akim@epita.fr>
260
261 * src/print.c (print_actions): Better locality of variables.
262
720e5c1b
AD
2632001-11-19 Akim Demaille <akim@epita.fr>
264
265 * src/derives.c (print_derives): Fix and enrich.
266 * src/closure.c (print_fderives): Likewise.
267
fb908786
AD
2682001-11-19 Akim Demaille <akim@epita.fr>
269
270 * src/closure.c (itemsetend): Remove, replaced with...
271 (itemsetsize): new.
272
125ecb56
AD
2732001-11-19 Akim Demaille <akim@epita.fr>
274
275 * src/LR0.c (kernel_end): Remove, replaced with...
276 (kernel_size): new.
277
d8cf039f
AD
2782001-11-19 Akim Demaille <akim@epita.fr>
279
280 * src/conflicts.c (set_conflicts): Use arrays instead of pointers
281 to clarify.
282
7bec0760
AD
2832001-11-19 Akim Demaille <akim@epita.fr>
284
285 * src/closure.c (closure): Use arrays instead of pointers to clarify.
286
c87d4863
AD
2872001-11-19 Akim Demaille <akim@epita.fr>
288
289 * src/closure.c, src/derives.c, src/nullable.c: Adjust various
290 trace messages.
291 * src/LR0.c: Likewise.
292 (allocate_itemsets): Use arrays instead of pointers to clarify.
293
9bfe901c
AD
2942001-11-19 Akim Demaille <akim@epita.fr>
295
296 * src/getargs.c (statistics_flag): Replace with...
297 (trace_flag): New.
298 (longopts): Accept --trace instead of --statistics.
299 * src/getargs.h, src/options.c: Adjust.
300 * src/LR0.c, src/closure.c, src/derives.c, src/nullable.c,
301 * src/reduce.c: Use trace_flags instead of the CPP conditional TRACE.
302
97db7bd4
AD
3032001-11-19 Akim Demaille <akim@epita.fr>
304
cc72668c 305 * src/LR0.c (new_itemsets, get_state): Use more arrays and fewer
97db7bd4
AD
306 pointers to clarify the code.
307 (save_reductions, save_shifts): Factor common parts of alternatives.
308
2c5f66ed
AD
3092001-11-19 Akim Demaille <akim@epita.fr>
310
311 * src/LR0.c (new_state, get_state): Complete TRACE code.
312 * src/closure.c: Include `reader.h' to get `tags', needed by the
313 trace code.
314 Rename the conditional DEBUG as TRACE.
315 Output consistently TRACEs to stderr, not stdout.
316 * src/derives.c: Likewise.
317 * src/reduce.c: (inaccessable_symbols): Using if is better style
318 than goto.
319 Use `#if TRACE' instead of `#if 0' for tracing code.
320
300f275f
AD
3212001-11-19 Akim Demaille <akim@epita.fr>
322
323 * src/system.h (LIST_FREE, shortcpy): New.
324 * src/LR0.c: Use them.
325 * src/output.c (free_itemsets, free_reductions, free_shifts):
326 Remove, replaced by LIST_FREE.
327
f59c437a
AD
3282001-11-19 Akim Demaille <akim@epita.fr>
329
330 * src/state.h (CORE_ALLOC, SHIFTS_ALLOC, ERRS_ALLOC)
331 (REDUCTIONS_ALLOC): New.
332 * src/LR0.c, src/conflicts.c: Use them to de-obfuscate memory
333 allocation.
334
6986fd9e
AD
3352001-11-19 Akim Demaille <akim@epita.fr>
336
337 * src/LR0.c (new_state): Complete trace code.
338 * src/nullable.c (set_nullable): Don't translate traces.
339
4bc30f78
AD
3402001-11-19 Akim Demaille <akim@epita.fr>
341
342 * src/print_graph.c (print_core): Better locality of variables.
343 * src/print.c (print_core): Likewise.
344
08a946e0
AD
3452001-11-19 Akim Demaille <akim@epita.fr>
346
347 * src/vcg.c: You do the output, so you are responsible of the
348 handling of VCG syntax, in particular: use quotearg.
349 * src/print_graph.c: Don't.
350 (print_actions): Don't output the actions as part of the nodes,
351 since that's the job of the edges.
352 (print_state): Don't output by hand: fill the node description,
9bfe901c 353 and ask for its output.
08a946e0 354
f0473484
AD
3552001-11-19 Akim Demaille <akim@epita.fr>
356
cc72668c
AD
357 * src/bison.simple (yyparse): When verbosely reporting an error,
358 no longer put additional quotes around token names.
f0473484
AD
359 * tests/calc.at: Adjust.
360
e41dc700
AD
3612001-11-19 Akim Demaille <akim@epita.fr>
362
363 * src/symtab.h, src/symtab.c: `line' is a new member of `bucket'.
364 * src/reader.c (record_rule_lines, rline, rline_allocated): Remove.
365 * src/output.c: Adjust.
366
652a871c
AD
3672001-11-19 Akim Demaille <akim@epita.fr>
368
369 * src/gram.h (rprec, rprecsym, rassoc): Remove, now part of...
370 (rule_t): this.
371 * src/conflicts.c, src/reader.c, src/reduce.c: Adjust.
372
b2ed6e58
AD
3732001-11-19 Akim Demaille <akim@epita.fr>
374
375 * src/gram.h (rule_t): New.
376 (rule_table): New.
377 (rrhs, rlhs): Remove, part of state_t.
378 * src/print_graph.c, src/closure.c, src/conflicts.c, src/derives.c,
379 * src/lalr.c, src/nullable.c, src/output.c, src/print.c,
380 * src/reader.c, src/reduce.c: Adjust.
381
edad7067
AD
3822001-11-19 Akim Demaille <akim@epita.fr>
383
384 * src/reader.c (symbols_output): New, extracted from...
385 (packsymbols): Here.
386 (reader): Call it.
387
3feec034
AD
3882001-11-19 Akim Demaille <akim@epita.fr>
389
390 * src/lalr.c (set_maxrhs, maxrhs): Remove, replaced with...
391 (maxrhs): this new function.
392
ddcd5fdf
AD
3932001-11-19 Akim Demaille <akim@epita.fr>
394
cc72668c 395 * src/lalr.c (F): New macro to access the variable F.
ddcd5fdf
AD
396 Adjust.
397
bb527fc2
AD
3982001-11-19 Akim Demaille <akim@epita.fr>
399
cc72668c 400 * src/lalr.h (LA): New macro to access the variable LA.
bb527fc2
AD
401 * src/output.c, src/lalr.c, src/print_graph.c, src/conflicts.c:
402 * src/lalr.c: Adjust.
403
a845a697
AD
4042001-11-19 Akim Demaille <akim@epita.fr>
405
406 * src/lalr.c (initialize_LA): Only initialize LA. Let...
407 (set_state_table): handle the `lookaheads' members.
408
f004bf6a
AD
4092001-11-19 Akim Demaille <akim@epita.fr>
410
cc72668c
AD
411 * src/lalr.h (lookaheads): Removed array, whose contents is now
412 a member of...
f004bf6a
AD
413 (state_t): this structure.
414 * src/output.c, src/lalr.c, src/print_graph.c, src/conflicts.c:
415 Adjust.
416
de326cc0
AD
4172001-11-19 Akim Demaille <akim@epita.fr>
418
cc72668c
AD
419 * src/lalr.h (consistent): Removed array, whose contents is now
420 a member of...
de326cc0
AD
421 (state_t): this structure.
422 * src/output.c, src/lalr.c, src/print_graph.c, src/conflicts.c:
423 Adjust.
424
90b4416b
AD
4252001-11-19 Akim Demaille <akim@epita.fr>
426
cc72668c
AD
427 * src/lalr.h (reduction_table, shift_table): Removed arrays, whose
428 contents are now members of...
90b4416b
AD
429 (state_t): this structure.
430 * src/output.c, src/lalr.c, src/print_graph.c, src/conflicts.c:
431 Adjust.
432
9703cc49
AD
4332001-11-19 Akim Demaille <akim@epita.fr>
434
435 * src/lalr.h (state_t): New.
436 (state_table): Be a state_t * instead of a core **.
437 (accessing_symbol): Remove, part of state_t.
438 * src/lalr.c: Adjust.
439 (set_accessing_symbol): Merge into...
440 (set_state_table): this.
441 * src/print_graph.c, src/conflicts.c: Adjust.
442
d803322e
AD
4432001-11-14 Akim Demaille <akim@epita.fr>
444
445 * tests/calc.at, tests/output.at, tests/regression.at,
446 * tests/testsuite.at, tests/torture.at: Rely on Autotest 2.52g:
447 now the tests are run in private dirs, therefore AC_CLEANUP and
448 family can be simplified to 0-ary.
449 * tests/atlocal.in: Now that we run `elsewhere' than in tests/,
450 use abs. path to find config.h.
451 * tests/calc.at (AT_CHECK_CALC): Don't try to check the compiler's
452 stderr, there can be way too much random noise.
453 Instead pass -Werror to GCC and rely on the exit status.
454 Reported by Wolfram Wagner.
455
3d76b07d
AD
4562001-11-14 Akim Demaille <akim@epita.fr>
457
458 * src/bison.simple (yyparse): Let yyls1, yyss1 and yyvs1 be
459 defined only if yyoverflow is defined, to avoid `warning: unused
460 variable `yyvs1''.
461 Reported by The Test Suite.
462
09b503c8
AD
4632001-11-14 Akim Demaille <akim@epita.fr>
464
465 * src/print.c: Include reduce.h.
466 Reported by Hans Aberg.
467
4682001-11-14 Akim Demaille <akim@epita.fr>
469
470 * src/lex.c, src/lex.h (token_buffer, unlexed_token_buffer):
471 Revert a previous patch: these are really const.
472 * src/conflicts.c (conflict_report): Additional useless pair of
473 braces to pacify GCC's warnings for `if () if () {} else {}'.
474 * src/lex.c (parse_percent_token): Replace equal_offset with
475 arg_offset.
476 arg is const.
477 Be sure to strdup `arg' when used, since there is no reason for
478 token_buffer not to change.
479
0f37a994
AD
4802001-11-14 Akim Demaille <akim@epita.fr>
481
482 * src/system.h (EXIT_SUCCESS, EXIT_FAILURE): Ensure a proper
483 definition.
484 * src/main.c (main): Use them.
485 Suggested by Hans Aberg.
486
d39d93b8
AD
4872001-11-12 Akim Demaille <akim@epita.fr>
488
489 * src/system.h (ngettext): Now that we use ngettext, be sure to
490 provide a default definition when NLS are not used.
491
9edcd895
AD
4922001-11-12 Akim Demaille <akim@epita.fr>
493
494 * doc/bison.texinfo: Use `$' as shell prompt, not `%'.
495 Use @kbd to denote user input.
496 (Language and Grammar): ANSIfy the example.
497 Adjust its layout for info/notinfo.
498 (Location Tracking Calc): Output error messages to stderr.
499 Output locations in a more GNUtically correct way.
500 Fix a couple of Englishos.
501 Adjust @group/@end group pairs.
502
7da99ede
AD
5032001-11-12 Akim Demaille <akim@epita.fr>
504
505 %expext was not functioning at all.
506
507 * src/conflicts.c (expected_conflicts): Set to -1.
508 (conflict_report): Use ngettext.
509 (conflicts_print): Check %expect and make its violation an error.
510 * doc/bison.texinfo (Expect Decl): Adjust.
511 * configure.in (AM_GNU_GETTEXT): Ask for ngettext.
512 * tests/regression.at (%expect not enough, %expect right)
513 (%expect too much): New.
514
ba9dda1a
AD
5152001-11-12 Akim Demaille <akim@epita.fr>
516
517 * tests/regression.at (Conflicts): Rename as...
518 (Unresolved SR Conflicts): this.
519 (Solved SR Conflicts): New.
520
337c5bd1
AD
5212001-11-12 Akim Demaille <akim@epita.fr>
522
523 * src/reduce.c (print_results): Rename as...
524 (reduce_output): This.
525 Output to OUT, passed as argument, instead of output_obstack.
526 (dump_grammar): Likewise.
527 (reduce_free): New.
528 Also free V1.
529 (reduce_grammar): No longer call reduce_output, since...
530 * src/print.c (print_results): do it.
531 * src/main.c (main): Call reduce_free;
532
c73a41af
AD
5332001-11-12 Akim Demaille <akim@epita.fr>
534
535 * src/conflicts.c (print_reductions): Accept OUT as argument.
536 Output to it, not to output_obstack.
537 * src/print.c (print_actions): Adjust.
538
0df87bb6
AD
5392001-11-12 Akim Demaille <akim@epita.fr>
540
541 * src/conflicts.c (count_sr_conflicts, count_rr_conflicts): Return
542 the result instead of using...
543 (src_total, rrc_total, src_count, rrc_count): Remove.
544 (any_conflicts): Remove.
545 (print_conflicts): Split into...
546 (conflicts_print, conflicts_output): New.
547 * src/conflicts.h: Adjust.
548 * src/main.c (main): Invoke both conflicts_output and conflicts_print.
0f37a994 549 * src/print.c (print_grammar): Issue `\n' between two rules.
0df87bb6
AD
550 * tests/regression.at (Conflicts): New.
551 Reported by Tom Lane.
552
e4d3d4de
AD
5532001-11-12 Akim Demaille <akim@epita.fr>
554
555 * tests/regression.at (Invalid input): Remove, duplicate with
556 ``Invalid input: 1''.
557
6d7d248e
AD
5582001-11-12 Akim Demaille <akim@epita.fr>
559
560 * tests/torture.at (AT_DATA_STACK_TORTURE)
561 (Exploding the Stack Size with Alloca)
562 (Exploding the Stack Size with Malloc): New.
563
e9e4c321
AD
5642001-11-12 Akim Demaille <akim@epita.fr>
565
566 * src/bison.simple (YYSTACK_REALLOC): New.
567 (yyparse) [!yyoverflow]: Use it and free the old stack.
0f37a994 568 Reported by Per Allansson.
e9e4c321 569
5f7e0832
AD
5702001-11-12 Pascal Bart <pascal.bart@epita.fr>
571
572 * src/bison.simple: Define type yystype instead of YYSTYPE, and
573 define CPP macro, which substitute YYSTYPE by yystype.
574 * src/reader.c (parse_union_decl): Output yystype/YYSTYPE as we do
575 with yyltype/YYLTYPE. This allows inclusion of the generated
576 header within the parser if the compiler, such as GGC, accepts
577 multiple equivalent #defines.
578 From Akim.
579
e3f1699f
AD
5802001-11-05 Akim Demaille <akim@epita.fr>
581
582 * src/reader.c (symbols_output): New, extracted from...
583 (packsymbols): here.
584 (reader): Adjust.
585
65be0866
AD
5862001-11-05 Akim Demaille <akim@epita.fr>
587
588 * src/lex.c (parse_percent_token): s/quotearg/quote/.
589
e4d910bf
AD
5902001-11-05 Akim Demaille <akim@epita.fr>
591
592 * tests/regression.at (AT_TEST_CPP_GUARD_H): Adjust the clean up
593 pattern.
594
951366c1
AD
5952001-11-05 Akim Demaille <akim@epita.fr>
596
597 * src/options.h (struct option_table_struct): set_flags is void*.
598 * src/options.c (longopts): Support `--output' and `%output'.
599 (usage): Adjust.
600 * src/lex.h (tok_setopt): Remove, replaced with...
601 (tok_intopt, tok_stropt): these new guys.
602 * src/lex.c (getopt.h): Not needed.
603 (token_buffer, unlexed_token_buffer): Not const.
604 (percent_table): Promote `-' over `_' in directive names.
605 Active `%name-prefix', `file-prefix', and `output'.
606 (parse_percent_token): Accept possible arguments to directives.
607 Promote `-' over `_' in directive names.
608
d8988b2f
AD
6092001-11-04 Akim Demaille <akim@epita.fr>
610
611 * doc/bison.texinfo (Decl Summary): Split the list into
612 `directives for grammars' and `directives for bison'.
613 Sort'em.
614 Add description of `%name-prefix', `file-prefix', and `output'.
615 Promote `-' over `_' in directive names.
616 (Bison Options): s/%locactions/%locations/. Nice Freudian slip.
617 Simplify the description of `--name-prefix'.
618 Promote `-' over `_' in directive names.
619 Promote `--output' over `--output-file'.
620 Fix the description of `--defines'.
621 * tests/output.at: Exercise %file-prefix and %output.
622
6468d18e
AD
6232001-11-02 Akim Demaille <akim@epita.fr>
624
625 * doc/refcard.tex: Update.
626
6b7e85b9
AD
6272001-11-02 Akim Demaille <akim@epita.fr>
628
629 * src/symtab.h (SUNDEF): New.
630 * src/symtab.c (bucket_new): Init user_token_number to SUNDEF to
631 stand for `uninitialized', instead of 0.
632 * src/reader.c (packsymbols, parse_thong_decl): Adjust.
633 * src/lex.c (lex): Adjust.
634
635 * tests/calc.at (_AT_DATA_CALC_Y): Declare a token for EOF.
636 Number it 0.
637 Let yylex return it instead of a plain 0.
638 Reported by Dick Streefland.
639
cd5aafcf
AD
6402001-11-02 Akim Demaille <akim@epita.fr>
641
642 * tests/regression.at (Mixing %token styles): New test.
643
037ca2f1
AD
6442001-11-02 Akim Demaille <akim@epita.fr>
645
646 * src/reader.c (parse_thong_decl): Formatting changes.
647 (token_translations_init): New, extracted from...
648 (packsymbols): Here.
649 Adjust.
650
270a173c
AD
6512001-11-01 Akim Demaille <akim@epita.fr>
652
653 * tests/regression.at (AT_TEST_CPP_GUARD_H): New.
654 Check that `9foo.y' produces correct cpp guards.
655 * src/files.c (compute_header_macro): Prepend `BISON_' to CPP
656 guards.
657 Reported by Wwp.
658
561f9a30
AD
6592001-11-01 Akim Demaille <akim@epita.fr>
660
661 * tests/regression.at (Invalid input: 2): New.
662 * src/lex.c (unlexed_token_buffer): New.
663 (lex, unlex): Adjust: when unlexing, be sure to save token_buffer
664 too.
665 Reported by Wwp.
666
f987e9d2
AD
6672001-11-01 Akim Demaille <akim@epita.fr>
668
669 * tests/calc.at: Catch up with 1.30.
670 * configure.in: Bump to 1.49a.
671 Adjust to newer Autotest.
672
0846f581
PB
6732001-10-19 Pascal Bart <pascal.bart@epita.fr>
674
675 * src/conflicts.c: Move global variables rrc_total and src_total ...
676 (print_conflicts): here.
677 * src/output.c (output): Free global variable user_toknums.
678 * src/lex.c (token_obstack): Become static.
679
3c1a79b3
AD
6802001-10-18 Akim Demaille <akim@epita.fr>
681
682 * tests/atlocal.in (GCC): Add.
683 * tests/calc.at: s/m4_match/m4_bmatch/.
684 s/m4_patsubst/m4_bpatsubst/.
685 (AT_CHECK_CALC): Check the compiler's stderr only if it's GCC.
686 * configure.in: AC_SUBST(GCC).
687
5d52e7d0
MA
6882001-10-14 Marc Autret <autret_m@epita.fr>
689
690 * src/options.c (create_long_option_table): Fix.
691
631aa1d3
AD
6922001-10-10 Akim Demaille <akim@epita.fr>
693
694 * src/bison.simple: Be sure to set YYSTACK_USE_ALLOCA.
695
f6ec6d13
AD
6962001-10-04 Akim Demaille <akim@epita.fr>
697
698 * src/reader.c (parse_union_decl): Push the caracters in
699 union_obstack, not attrs_obstack.
700
342b8b6e
AD
7012001-10-04 Akim Demaille <akim@epita.fr>
702
703 Merge in the branch 1.29.
704
705 * src/reader.c (packsymbols): Use a temporary obstack for
706 `%%tokendef', since output_stack is already used elsewhere.
707
708 2001-10-02 Akim Demaille <akim@epita.fr>
709
710 Bump 1.29d.
711
712 2001-10-02 Akim Demaille <akim@epita.fr>
713
714 Version 1.29c.
715
716 2001-10-02 Akim Demaille <akim@epita.fr>
717
718 * tests/regression.at (Invalid CPP headers): New.
719 From Alexander Belopolsky.
720 * src/files.c (compute_header_macro): Map non alnum chars to `_'.
721
722 2001-10-02 Akim Demaille <akim@epita.fr>
723
724 * tests/regression.at (Invalid input): New.
725 * src/lex.c (lex): Be sure to set `token_buffer' in any case.
726 Reported by Shura.
727
728 2001-10-02 Akim Demaille <akim@epita.fr>
729
730 * tests/calc.at: Now that --debug works, the tests must be adjusted.
731
732 2001-10-02 Akim Demaille <akim@epita.fr>
733
734 * src/output.c (output_parser): Assert `skeleton'.
735 * src/files.c (skeleton_find): Look harder for skeletons on DOSish
736 systems.
737 From Shura.
738
739 2001-10-01 Marc Autret <autret_m@epita.fr>
740
741 * src/lex.h: Echo modifications.
742 * src/lex.c (unlex): Parameter is now token_t.
743 From Hans Aberg.
744
745 2001-10-01 Marc Autret <autret_m@epita.fr>
746
747 * src/main.c: Include lex.h.
748 From Hans Aberg.
749
750 2001-09-29 Akim Demaille <akim@epita.fr>
751
752 * src/getargs.c (longopts): `--debug' is `-t', not `-d'.
753
754 2001-09-28 Akim Demaille <akim@epita.fr>
755
756 * tests/testsuite.at: Update to newer Autotest.
757 * tests/Makefile.am (EXTRA_DIST): bison is not to be shipped.
758
759 2001-09-27 Akim Demaille <akim@epita.fr>
760
761 Position independent wrapper.
762
763 * tests/bison: Remove.
764 * tests/bison.in: New.
765 * configure.in: Adjust.
766
767 2001-09-27 Paul Eggert <eggert@twinsun.com>
768
769 Port quotearg fixes from tar 1.13.24.
770
771 * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
772 tm to be declared.
773 (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
774 (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
775
776 * m4/Makefile.am (EXTRA_DIST): Add mbrtowc.m4.
777 * m4/mbrtowc.m4: New file.
778 * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for mbsinit and stddef.h.
779 Use jm_FUNC_MBRTOWC instead of AC_CHECK_FUNCS(mbrtowc).
780
781 2001-09-27 Akim Demaille <akim@epita.fr>
782
783 Bump to 1.29c.
784
785 2001-09-27 Akim Demaille <akim@epita.fr>
786
787 Version 1.29b.
788
789 2001-09-25 Akim Demaille <akim@epita.fr>
790
791 * src/system.h: Include `xalloc.h'.
792 Remove it from the C files.
793 * src/files.c (output_files): Free the obstacks.
794 * src/lex.c (init_lex): Rename as...
795 (lex_init): this.
796 (lex_free): New.
797 * src/main.c (main): Use it.
798
799 2001-09-24 Marc Autret <autret_m@epita.fr>
800
801 * src/vcg.c (open_edge, close_edge, open_node, close_node): Change
802 to output informations in fout (FILE*).
803 (open_graph, close_graph): Likewise.
804 (output_graph, output_edge, output_node): Likewise.
805 * src/vcg.h: Update function prototypes.
806 * src/print_graph.c (print_graph): Open output graph file.
807 (print_actions): Adjust.
808 * src/files.h: Remove extern declaration.
809 * src/files.c: Remove graph_obstack declaration.
810 (open_files): Remove graph_obstack initialization.
811 (output_files): Remove graph_obstack saving.
812
813 2001-09-24 Marc Autret <autret_m@epita.fr>
814
815 * src/files.c (compute_output_file_names): Fix.
816
817 2001-09-24 Marc Autret <autret_m@epita.fr>,
818 Akim Demaille <akim@epita.fr>
819
820 * src/reader.c (reader): Remove call to free_symtab ().
821 * src/main.c (main): Call it here.
822 Include symtab.h.
823 * src/conflicts.c (initialize_conflicts): Rename as...
824 (solve_conflicts): this.
825 * src/print.c (print_core, print_actions, print_state)
826 (print_grammar): Dump to a file instead a `output_obstack'.
827 (print_results): Dump `output_obstack', and then proceed with the
828 FILE *.
829 * src/files.c (compute_output_file_names, close_files): New.
830 (output_files): Adjust.
831 * src/main.c (main): Adjust.
832
833 2001-09-23 Marc Autret <autret_m@epita.fr>
834
835 * src/files.c (compute_header_macro): Computes header macro name
836 from spec_defines_file when given.
837
838 2001-09-23 Marc Autret <autret_m@epita.fr>
839
840 * src/files.c (output_files): Add default extensions.
841
842 2001-09-22 Akim Demaille <akim@epita.fr>
843
844 * src/conflicts.c (finalize_conflicts): Rename as...
845 (free_conflicts): this.
846
847 2001-09-22 Akim Demaille <akim@epita.fr>
848
849 * src/gram.c (gram_free): Rename back as...
850 (dummy): this.
851 (output_token_translations): Free `token_translations'.
852 * src/symtab.c (free_symtab): Free the tag field.
853
854 2001-09-22 Akim Demaille <akim@epita.fr>
855
856 Remove `translations' as it is always set to true.
857
858 * src/gram.h: Adjust.
859 * src/reader.c (packsymbols, parse_token_decl): Adjust
860 * src/print.c (print_grammar): Adjust.
861 * src/output.c (output_token_translations): Adjust.
862 * src/lex.c (lex): Adjust.
863 * src/gram.c: Be sure the set pointers to NULL.
864 (dummy): Rename as...
865 (gram_free): this.
866
867 2001-09-22 Akim Demaille <akim@epita.fr>
868
869 * configure.in: Invoke AM_LIB_DMALLOC.
870 * src/system.h: Use dmalloc.
871 * src/LR0.c: Be sure to have pointers initialized to NULL.
872 (allocate_itemsets): Allocate kernel_items only if needed.
873
874 2001-09-22 Akim Demaille <akim@epita.fr>
875
876 * configure.in: Bump to 1.29b.
877 * tests/Makefile.am (DISTCLEANFILES): Add package.m4.
878 * tests/calc.at (_AT_DATA_CALC_Y): #undef malloc so that we don't
879 need xmalloc.c in calc.y.
880 From Pascal Bart.
881
882 2001-09-21 Akim Demaille <akim@epita.fr>
883
884 Version 1.29a.
885 * Makefile.maint, config/config.guess, config/config.sub,
886 * config/missing: Update from masters.
887 * tests/Makefile.am ($(srcdir)/$(TESTSUITE)): No longer depend
888 upon package.m4.
889 * configure.in (ALL_LINGUAS): Add `tr'.
890
891 2001-09-21 Akim Demaille <akim@epita.fr>
892
893 * tests/Makefile.am (package.m4): Move to...
894 ($(srcdir)/$(TESTSUITE)): here.
895
896 2001-09-20 Akim Demaille <akim@epita.fr>
897
898 * src/complain.c: No longer try to be standalone: use system.h.
899 Don't assume __STDC__ is defined to 1. Just test if it is defined.
900 * src/complain.h: Likewise.
901 * src/reduce.c (useless_nonterminals, inaccessable_symbols):
902 Remove the unused variable `n'.
903 From Albert Chin-A-Young.
904
905 2001-09-18 Marc Autret <autret_m@epita.fr>
906
907 * doc/bison.1: Update.
908 * doc/bison.texinfo (Bison Options): Update --defines and --graph
909 descriptions.
910 (Option Cross Key): Update.
911 Add --graph.
912
913 2001-09-18 Marc Autret <autret_m@epita.fr>
914
915 * tests/regression.at: New test (comment in %union).
916
917 2001-09-18 Marc Autret <autret_m@epita.fr>
918
919 * src/reader.c (parse_union_decl): Do not output '/'. Let copy_comment
920 do that.
921 Reported by Keith Browne.
922
923 2001-09-18 Marc Autret <autret_m@epita.fr>
924
925 * tests/output.at: Add tests for --defines and --graph.
926
927 2001-09-18 Marc Autret <autret_m@epita.fr>
928
929 * tests/output.at: Removes tests of %{header,src}_extension features.
930
931 2001-09-18 Akim Demaille <akim@epita.fr>
932
933 * tests/Makefile.am (package.m4): New.
934 * tests/calc.at (_AT_CHECK_CALC): Just run `calc input'.
935 (_AT_CHECK_CALC_ERROR): Likewise.
936 Factor the `, ' part of verbose error messages.
937
938 2001-09-18 Marc Autret <autret_m@epita.fr>
939
940 * src/getargs.c (longopts): Declare --defines and --graph as options
941 with optional arguments.
942 * src/files.h: Add extern declarations.
943 * src/files.c (spec_graph_file, spec_defines_file): New.
944 (output_files): Update.
945 Remove CPP-outed code.
946
947 2001-09-18 Marc Autret <autret_m@epita.fr>
948
949 Turn off %{source,header}_extension feature.
950
951 * src/files.c (compute_exts_from_gf): Update.
952 (compute_exts_from_src): Update.
953 (output_files): CPP-out useless code.
954 * src/files.h: Remove {header,source}_extension extern declarations.
955 * src/reader.c (parse_dquoted_param): CPP-out.
956 (parse_header_extension_decl): Remove.
957 (parse_source_extension_decl): Remove.
958 (read_declarations): Remove cases tok_{hdrext,srcext}.
959 * src/lex.c (percent_table): Remove {header,source}_extension entries.
960 * src/lex.h (token_t): Remove tok_hdrext and tok_srcext.
961
962 2001-09-10 Akim Demaille <akim@epita.fr>
963
964 * tests/output.at (AT_CHECK_BISON_FLAGS, AT_CHECK_BISON_PERCENT):
965 (AT_CHECK_BISON_PERCENT_FLAGS): Merge into...
966 (AT_CHECK_OUTPUT): this.
967 Merely check ls' exit status, its output is useless.
968
969 2001-09-10 Akim Demaille <akim@epita.fr>
970
971 * tests/calc.at: Use m4_match.
972 (_AT_DATA_CALC_Y): Check `yyin != NULL', not `stdin != NULL'.
973
974 2001-09-10 Marc Autret <autret_m@epita.fr>,
975 Akim Demaille <akim@epita.fr>
976
977 * src/vcg.h (graph_s): color, textcolor, bordercolor are now
978 enum color_e.
979 * src/print_graph.c (print_graph): Initalize graph.layoutalgorithm
980 to `normal'.
981 * src/reader.c (parse_token_decl): Initialize token with tok_eof.
982 * src/lex.h: Adjust prototype.
983 (token_t): Add `tok_undef'.
984 * src/lex.c (struct percent_table_struct): Retval is now a token_t.
985 (parse_percent_token): Now returns token_t.
986 Add default statement in switch.
987 (lex): Separate `c' as an input variable, from the token_t result
988 part.
989 (unlexed): Is a token_t.
990
991 2001-09-10 Akim Demaille <akim@epita.fr>
992
993 * configure.in: Bump to 1.29a.
994
995 2001-09-07 Akim Demaille <akim@epita.fr>
996
997 Version 1.29.
998
999 2001-08-30 Akim Demaille <akim@epita.fr>
1000
1001 * tests/atgeneral.m4, tests/atconfig.in, tests/suite.at: Remove.
1002 * m4/atconfig.m4: Remove.
1003 * tests/testsuite.at, tests/atlocal.in, tests/output.at,
1004 * tests/bison: New.
1005 * tests/regression.at, tests/calc.at: Use m4_define, AT_BANNER,
1006 m4_if, m4_patsubst, and m4_regexp.
1007 * tests/calc.at (_AT_CHECK_CALC, _AT_CHECK_CALC_ERROR): Use an
1008 `input' file instead of echo.
1009
1010 2001-08-29 Akim Demaille <akim@epita.fr>
1011
1012 Bump to 1.28e.
1013
1014 2001-08-29 Akim Demaille <akim@epita.fr>
1015
1016 Version 1.28d.
1017
1018 2001-08-29 Paul Eggert <eggert@twinsun.com>
1019
1020 * src/bison.simple (yyparse): Don't take the address of an
1021 item before the start of an array, as that doesn't conform to
1022 the C Standard.
1023
1024 2001-08-29 Robert Anisko <anisko_r@epita.fr>
1025
1026 * doc/bison.texinfo (Location Tracking Calc): New node.
1027
1028 2001-08-29 Paul Eggert <eggert@twinsun.com>
1029
1030 * src/output.c (output): Do not define const, as this now
1031 causes more problems than it cures.
1032
1033 2001-08-29 Akim Demaille <akim@epita.fr>
1034
1035 * doc/bison.texinfo: Modernize `@node' and `@top' use: just name
1036 the nodes.
1037 Be sure to tag the `detailmenu'.
1038
1039 2001-08-29 Akim Demaille <akim@epita.fr>
1040
1041 * Makefile.maint (do-po-update): Wget refuses to overwrite files:
1042 download in a tmp dir.
1043
1044 2001-08-28 Marc Autret <autret_m@epita.fr>
1045
1046 * config/depcomp: New file.
1047
1048 2001-08-28 Marc Autret <autret_m@epita.fr>
1049
1050 * doc/bison.1 (mandoc): Adjust.
1051 From Juan Manuel Guerrero.
1052
1053 2001-08-28 Marc Autret <autret_m@epita.fr>
1054
1055 * src/print_graph.c (print_state): Fix.
1056
1057 2001-08-27 Marc Autret <autret_m@epita.fr>
1058
1059 * src/vcg.h (classname_s, infoname_s, node_s): Constify the
1060 char * members.
1061 Echo modifications to the functions prototypes.
1062 * src/vcg.c (add_classname, add_infoname): Adjust arguments.
1063
1064 2001-08-27 Marc Autret <autret_m@epita.fr>
1065
1066 * src/vcg.c: Include `xalloc.h'.
1067 (add_colorentry): New.
1068 (add_classname): New.
1069 (add_infoname): New.
1070 * src/vcg.h: Add new prototypes.
1071
1072 2001-08-27 Akim Demaille <akim@epita.fr>
1073
1074 * Makefile.maint: Sync. again with CVS Autoconf.
1075
1076 2001-08-27 Akim Demaille <akim@epita.fr>
1077
1078 * Makefile.maint: Formatting changes.
1079 (po-update, cvs-update, update): New targets.
1080 (AMTAR): Remove.
1081
1082 2001-08-27 Akim Demaille <akim@epita.fr>
1083
1084 * Makefile.am (AUTOMAKE_OPTIONS): 1.5.
1085 * Makefile.maint: Sync. with CVS Autoconf.
1086
1087 2001-08-27 Marc Autret <autret_m@epita.fr>
1088
1089 * src/vcg.h (struct infoname_s): New.
1090 (struct colorentry_s): New.
1091 (graph_s): New fields {vertical,horizontal}_order in structure.
1092 Add `infoname' field.
1093 Add `colorentry' field;
1094 * src/vcg_defaults.h (G_VERTICAL_ORDER): New.
1095 (G_HORIZONTAL_ORDER): New.
1096 (G_INFONAME): New.
1097 (G_COLORENTRY): New.
1098 * src/vcg.c (output_graph): Add output of {vertical,horizontal}_order.
1099 Add output of `infoname'.
1100 Add output of `colorentry'.
1101
1102 2001-08-27 Marc Autret <autret_m@epita.fr>
1103
1104 * src/reader.c (parse_dquoted_param): Rename variable `index' to `i'.
1105 This one shadowed a global parameter.
1106
1107 2001-08-24 Marc Autret <autret_m@epita.fr>
1108
1109 * src/print_graph.c (node_output_size): Declared POSIX `size_t' type,
1110 instead of `unsigned'.
1111 (print_state): Do not call obstack_object_size () in obstack_grow ()
1112 to avoid macro variables shadowing.
1113
1114 2001-08-23 Marc Autret <autret_m@epita.fr>
1115
1116 * src/lex.c (percent_table): Typo: s/naem/name/.
1117 Add graph option.
1118 Normalize new options declarations.
1119
1120 2001-08-20 Pascal Bart <pascal.bart@epita.fr>
1121
1122 * tests/suite.at: Exercise %header_extension and %source_extension.
1123
1124 2001-08-16 Marc Autret <autret_m@epita.fr>
1125
1126 * src/reader.c (parse_dquoted_param): New.
1127 (parse_header_extension_decl): Use it.
1128 (parse_source_extension_decl): Likewise.
1129
1130 2001-08-16 Marc Autret <autret_m@epita.fr>
1131
1132 * src/vcg.c: Remove includes of `complain.h' and `xalloc.h'.
1133 (get_xxxx_str): Use assert () instead of complain ().
1134 Remove return invokations in default cases.
1135 (get_decision_str): Modify default behaviour. Remove second argument.
1136 Echo modifications on calls.
1137 (output_graph): Fix.
1138
1139 2001-08-16 Marc Autret <autret_m@epita.fr>
1140
1141 * src/getargs.c (usage): Update with ``-g, --graph''.
1142
1143 2001-08-16 Marc Autret <autret_m@epita.fr>
1144
1145 * doc/bison.texinfo (Bison Options): Add items `-g', `--graph'.
1146 (Option Cross Key): Likewise.
1147 * doc/bison.1: Update.
1148
1c8c2190
PB
11492001-09-25 Pascal Bart <pascal.bart@epita.fr>
1150
1151 * src/output.c (output_master_parser): Don't finish action_obstack.
1152 (output_parser): Don't care about the muscle action, here.
1153 (prepare): Copy the action_obstack in the action muscle.
1154 (output): Free action_obstack.
1155
180d45ba
PB
11562001-09-23 Pascal Bart <pascal.bart@epita.fr>
1157
1158 * src/reader.c (parse_union_decl): Add new obstack union_obstack. Which
1159 will contain `%union' declaration.
1160 (parse_union_decl): Delete #line directive output.
1161 (parse_union_decl): Substitute /attrs_obstack/union_obstack for all
1162 informations about %union.
1163 (parse_union_decl): Copy the union_obstack in the muscle stype.
1164 * src/bison.simple: Add new #line directive.
1165 Add typdef %%stype YYSTYPE.
1166
c51d1a19
PB
11672001-09-23 Pascal Bart <pascal.bart@epita.fr>
1168
1169 * src/bison.simple: Add new `#line' directive.
1170
6f9344da
PB
11712001-09-22 Pascal Bart <pascal.bart@epita.fr>
1172
1173 * src/bison.simple: New `#line' directive.
1174 * src/output.c (output_parser): Support new dynamic muscle input_line.
1175
652def80
MA
11762001-09-22 Marc Autret <autret_m@epita.fr>
1177
1178 * src/output.c (output_master_parser): New.
1179 (output_parser): Be more re-entrant.
1180
25b222fa
MA
11812001-09-21 Marc Autret <autret_m@epita.fr>
1182
1183 * src/reader.c (copy_definition, parse_union_decl): Update and use
1184 `linef' muscle.
1185 (copy_action): Likewise.
1186 Use obstack_1grow ().
1187 * src/muscle_tab.c (muscle_init): Add muscle `linef'.
1188
6bc35ae5
MA
11892001-09-21 Marc Autret <autret_m@epita.fr>
1190
1191 * src/options.c (option_table): Adjust.
1192 * src/lex.c (parse_percent_token): Fix.
1193
c0629aa1
PB
11942001-09-20 Pascal Bart <pascal.bart@epita.fr>
1195
1196 * src/options.c (symtab.h): Include it, need by lex.h.
342b8b6e 1197
82b6d266
PB
11982001-09-20 Pascal Bart <pascal.bart@epita.fr>
1199
1200 * src/lex.c (parse_percent_token): Change type of variable `tx', which
1201 is now an option_table_struct*.
1202 (option_strcmp): New function option_strcmp.
1203 (parse_percent_token): Call option_strcmp.
1204 * src/getargs.c (xalloc.h, options.h): Include it.
1205 (getargs): Call create_long_option_table.
1206 (getargs): Free longopts at the end of the function.
1207 (shortopts): Move in options.c.
1208 * src/options.c (create_long_option_table): New function. Convert
1209 information from option_table to option structure.
1210 * src/reader.c (options.h): Include it.
1211
1212 * src/Makefile.am: Adjust.
1213 * src/options.c (option_table): Create from longopts and percent_table.
1214 * src/getargs.c (longopts): Delete.
1215 * src/lex.c (struct percent_table_struct): Delete.
1216 (percent_table): Delete.
1217 (options.h): Include it.
1218 * src/options.c: Create.
1219 * src/options.h: Create.
1220 Declare enum opt_access_e.
1221 Define struct option_table_struct.
1222
75f5aaea
MA
12232001-09-20 Marc Autret <autret_m@epita.fr>
1224
1225 * doc/bison.texinfo: Adjust terminologies about prologue and epilogue
1226 sections of Bison.
1227
f508cb0a
PB
12282001-09-19 Pascal Bart <pascal.bart@epita.fr>
1229
1230 * src/bison.simple: s/%%filename/%%skeleton.
1231 * src/muscle_tab.c (getargs.h): Include it.
1232 (muscle_init): Insert new muscle skeleton.
1233
13105fc1
PB
12342001-09-18 Pascal Bart <pascal.bart@epita.fr>
1235
1236 * src/output.c (output_parser): Delete unused variable actions_dumped.
1237
b0c4483e
PB
12382001-09-07 Pascal Bart <pascal.bart@epita.fr>
1239
1240 * src/output.c (output): Delete call to reader_output_yylsp.
1241 * src/reader.c (reader): Likewise.
1242 * src/reader.h: Delete declaration of reader_output_yylsp.
342b8b6e 1243
11d82f03
MA
12442001-09-02 Marc Autret <autret_m@epita.fr>
1245
1246 * src/reader.c: Include muscle_tab.h.
1247 (parse_union_decl): Update.
1248 (parse_macro_decl): Rename parse_muscle_decl.
1249 Update to use renamed functions and variable.
1250 (read_declarations, copy_action, read_additionnal_code, : Updated
1251 with correct variables and functions names.
1252 (packsymbols, reader): Likewise.
342b8b6e 1253
11d82f03 1254 * src/reader.h (muscle_obstack): Extern declaration update.
342b8b6e 1255
11d82f03
MA
1256 * src/output.c: Include muscle_tab.h
1257 In all functions using macro_insert, change by using muscle_insert ().
1258 (macro_obstack): Rename muscle_obstack.
1259 Echo modifications in the whole file.
1260 (MACRO_INSERT_INT): Rename MUSCLE_INSERT_INT.
1261 (MACRO_INSERT_STRING): Rename MUSCLE_INSERT_STRING.
1262 (MACRO_INSERT_PREFIX): Rename MUSCLE_INSERT_PREFIX.
1263
1264 * src/muscle_tab.h: Update double inclusion macros.
1265 (macro_entry_s): Rename muscle_entry_s.
1266 Update prototypes.
342b8b6e 1267
11d82f03
MA
1268 * src/muscle_tab.c: Include muscle_tab.h.
1269 Rename macro_tabble to muscle_table.
1270 (mhash1, mhash2, mcmp): Use muscle_entry.
1271 (macro_init): Rename muscle_init. Update.
1272 (macro_insert): Rename muscle_insert. Update.
1273 (macro_find): Rename muscle_find. Update.
1274
1275 * src/main.c: Include muscle_tab.h.
1276 (main): Call muscle_init ().
1277 * src/Makefile.am (bison_SOURCES): Echo modifications.
1278
93a37297
MA
12792001-09-02 Marc Autret <autret_m@epita.fr>
1280
f753cd62 1281 Now the files macro_tab.[ch] are named muscle_tab.[ch].
342b8b6e 1282
f753cd62
MA
1283 * src/muscle_tab.c, src/muscle_tab.h: Add files.
1284
12852001-09-02 Marc Autret <autret_m@epita.fr>
1286
1287 * src/macrotab.c, src/macrotab.h: Remove.
93a37297 1288
682d48cd
PB
12892001-09-01 Pascal Bart <pascal.bart@epita.fr>
1290
342b8b6e 1291 * src/reader.c (copy_guard): Use muscle to specify the `#line'
682d48cd
PB
1292 filename.
1293
087c8fda
MA
12942001-09-01 Marc Autret <autret_m@epita.fr>
1295
1296 * tests/calc.at (exp): Now, YYERROR_VERBOSE need to be set
1297 to an explicit value to activate the feature. We do it here.
1298
dda680cb
PB
12992001-08-31 Pascal Bart <pascal.bart@epita.fr>
1300
1301 * src/output.c (prepare): Delete the `filename' muscule insertion.
1302 * src/reader.c (copy_action): Use `filename' muscule with `#line'.
1303 (parse_union_decl): Likewise.
1304 * src/macrotab.c (macro_init): Initialize filename by infile.
1305
9e644e64
MA
13062001-08-31 Marc Autret <autret_m@epita.fr>
1307
1308 * src/bison.simple (YYLSP_NEEDED): New definition.
1309 * src/output.c (prepare): Add macro insertion of `locations_flag'
1310
17da6427
PB
13112001-08-31 Pascal Bart <pascal.bart@epita.fr>
1312
1313 * src/output.c (prepare): Delete insertion of previous muscles,
1314 and insert the `prefix' muscles.
1315 * src/macrotab.c (macro_init): Likewise.
1316 (macro_init): Initialization prefix directive by `yy'.
342b8b6e 1317 * src/bison.simple: Substitute all %%yylex, %%yychar, %%yylval,
17da6427
PB
1318 %%yydebug, %%yyerror, %%yynerrs and %%yyparse by yylex, yychar,
1319 yylval, yydebug, yyerror, yynerrs and yyparse.
342b8b6e 1320 New directive `#define' to substitute yydebug, ... with option
17da6427
PB
1321 name_prefix.
1322
e8cb70b9
PB
13232001-08-31 Pascal Bart <pascal.bart@epita.fr>
1324
1325 * src/main.c (main): Standardize.
1326 * src/output.c (output_table_data, output_parser): Likewise.
1327 * src/macrotab.h, src/macrotab.c, src/bison.simple: Likewise.
1328
63c2d5de
MA
13292001-08-31 Pascal Bart <pascal.bart@epita.fr>, Marc Autret <autret_m@epita.fr>
1330
342b8b6e 1331 * src/reader.c (read_additionnal_code): Rename %%user_code to
63c2d5de
MA
1332 %%epilogue.
1333 * src/output.c (output): Rename %%declarations to %%prologue.
1334 * src/bison.simple: Echo modifications.
342b8b6e 1335
d8cb5183
MA
13362001-08-31 Marc Autret <autret_m@epita.fr>
1337
1338 * src/reader.c (readgram): CleanUp.
1339 (output_token_defines): Likewise.
1340 (packsymbols): Likewise.
1341 (reader): Likewise.
1342 * src/output.c (output): CPP-out useless code.
1343
6c686258
PB
13442001-08-31 Pascal Bart <pascal.bart@epita.fr>
1345
342b8b6e 1346 * src/reader.c (reader): Delete obsolete call to function
6c686258
PB
1347 output_trailers and output_headers.
1348 * src/output.h: Remove obsolete functions prototypes of output_headers
1349 and output_trailers.
1350
8f451ef7
PB
13512001-08-30 Pascal Bart <pascal.bart@epita.fr>
1352
1353 * src/main.c: Include macrotab.h.
342b8b6e 1354 * src/macrotab.h (macro_entry_s): Constify fields.
8f451ef7
PB
1355 Adjust functions prototypes.
1356 * src/macrotab.c (macro_insert): Constify key and value.
1357 (macro_find): Constify key.
1358 (macro_insert): Include 'xalloc.h'
1359 (macro_insert): Use XMALLOC.
1360 (macro_find): Constify return value.
1361 * src/output.c (output_table_data): Rename table to table_data.
1362 (output_parser): Constify macro_key, macro_value.
1363
997b6fd0 13642001-08-30 Marc Autret <autret_m@epita.fr>
2ba3b73c
MA
1365
1366 * src/reader.c (parse_skel_decl): New.
342b8b6e 1367 (read_declarations): Add case `tok_skel', call parse_skel_decl ().
2ba3b73c
MA
1368 * src/lex.h (token_t): New token `tok_skel'.
1369 * src/lex.c (percent_table): Add skeleton option entry.
1370 Standardize.
1371
ff48177d
MA
13722001-08-29 Marc Autret <autret_m@epita.fr>
1373
1374 * src/bison.simple: Add %%user_code directive at the end.
1375 * src/reader.c (read_additionnal_code): New.
1376 (reader): Use it.
1377 * src/output.c (output_program): Remove.
1378 (output): Update.
1379
b33160bf
MA
13802001-08-28 Marc Autret <autret_m@epita.fr>
1381
1382 * src/output.c (output_actions): Clean up.
4e5caae2 1383 (output_gram): CPP-out useless code.
b33160bf
MA
1384 * src/reader.c (reader): Clean up, CPP-out useless code.
1385
d1a2daf7
PB
13862001-08-28 Pascal Bart <pascal.bart@epita.fr>
1387
342b8b6e 1388 * src/output.c (output): Copy attrs_obstack in the '%%definitions'
535c0e75 1389 directive.
d1a2daf7
PB
1390 * src/bison.simple: Add `%%definitions'.
1391
2b763dfe
MA
13922001-08-28 Marc Autret <autret_m@epita.fr>
1393
1394 * config/depcomp: New file.
1395
f1a87ef6
PE
13962001-08-27 Paul Eggert <eggert@twinsun.com>
1397
1398 * src/bison.simple (yyparse): Don't take the address of an
1399 item before the start of an array, as that doesn't conform to
1400 the C Standard.
1401
82e236e2
RA
14022001-08-27 Robert Anisko <robert.anisko@epita.fr>
1403
f1a87ef6 1404 * src/output.c (output): Remove the initialization of the macro
82e236e2
RA
1405 obstack. It was done too late here.
1406
1407 * src/reader.c (parse_macro_decl): Fix. Use of the macro obstack was
1408 completely wrong.
1409 (reader): Initialize the macro obstack here, since we need it to grow
1410 '%define' directives.
1411
1412 * src/reader.h: Declare the macro obstack as extern.
1413
b0cfa28a
RA
14142001-08-27 Robert Anisko <robert.anisko@epita.fr>
1415
1416 * src/output.c (output_parser): Fix. Store single '%' characters in
1417 the output obstack instead of throwing them away.
1418
6fc74234
AD
14192001-08-27 Akim Demaille <akim@epita.fr>
1420
1421 * Makefile.am (AUTOMAKE_OPTIONS): 1.5.
1422
9c76d118
RA
14232001-08-25 Robert Anisko <robert.anisko@epita.fr>
1424
1425 * lib/Makefile.am: Adjust.
1426
a8289c62
RA
14272001-08-25 Robert Anisko <robert.anisko@epita.fr>
1428
1429 * src/bison.simple: Update and add '%%' directives.
1430
b6610515
RA
14312001-08-25 Robert Anisko <robert.anisko@epita.fr>
1432
1433 * src/reader.c (reader): Remove calls to 'output_headers' and
1434 'output_trailers'. Remove some C output.
1435 (readgram): Disable a piece of code that was writing a default
1436 definition for 'YYSTYPE'.
1437 (reader_output_yylsp): Remove.
1438 (packsymbols): Output token defintions to a macro.
1439 (copy_definition): Disable C output.
6fc74234 1440
b6610515
RA
1441 * src/reader.c (parse_macro_decl): New function used to parse macro
1442 declarations.
1443 (copy_string2): Put the body of copy_string into this new function.
1444 Add a parameter to let the caller choose whether he wants to copy the
1445 string delimiters or not.
1446 (copy_string): Be a simple call to copy_string2 with the last argument
1447 bound to true.
1448 (read_declarations): Add case for macro definition.
1449 (copy_identifier): New.
6fc74234 1450 (parse_macro_decl): Read macro identifiers using copy_identifier
b6610515
RA
1451 rather than lex.
1452
26f609ff
RA
14532001-08-25 Robert Anisko <robert.anisko@epita.fr>
1454
1455 * src/output.c (prepare): Add prefixed names.
1456 (output_parser): Output semantic actions.
1457 (output_parser): Fix bug on '%%line' directives.
6fc74234 1458
26f609ff
RA
1459 * src/output.c (output_headers): Remove. The C code printed by this
1460 function should now be in the skeletons.
1461 (output_trailers): Remove.
1462 (output): Disable call to 'reader_output_yylsp'.
1463 (output_rule_data): Do not output tables to the table obstack.
1464
1465 * src/output.c: Remove some C dedicated output.
1466 Improve the use of macro and output obstacks.
1467 (output_defines): Remove.
6fc74234 1468
26f609ff
RA
1469 * src/output.c (output_token_translations): Associate 'translate'
1470 table with a macro. No output to the table obstack.
1471 (output_gram): Same for 'rhs' and 'prhs'.
1472 (output_stos): Same for 'stos'.
1473 (output_rule_data): Same for 'r1' and 'r2'.
1474 (token_actions): Same for 'defact'.
1475 (goto_actions): Same for 'defgoto'.
1476 (output_base): Same for 'pact' and 'pgoto'.
1477 (output_table): Same for 'table'.
1478 (output_check): Same for 'check'.
6fc74234 1479
26f609ff
RA
1480 * src/output.c (output_table_data): New function.
1481 (output_short_table): Remove.
1482 (output_short_or_char_table): Remove.
6fc74234 1483
26f609ff
RA
1484 * src/output.c (output_parser): Replace most of the skeleton copy code
1485 with something new. Skeletons are now processed character by character
1486 rather than line by line, and Bison looks for '%%' macros. This is the
1487 first step in making Bison's output process (a lot) more flexible.
1488 (output_parser): Use the macro table.
1489
6f43b113
RA
14902001-08-25 Robert Anisko <robert.anisko@epita.fr>
1491
1492 * src/main.c (main): Initialize the macro table.
1493
dd3127cf
RA
14942001-08-25 Robert Anisko <robert.anisko@epita.fr>
1495
1496 * src/lex.c (percent_table): Add tok_define.
1497 * src/lex.h: Add tok_define.
1498
aa321494
RA
14992001-08-25 Robert Anisko <robert.anisko@epita.fr>
1500
1501 * src/macrotab.c: New file.
1502 * src/macrotab.h: New file.
1503 * src/Makefile.am: Update.
1504
68bd3b6b
RA
15052001-08-25 Robert Anisko <robert.anisko@epita.fr>
1506
1507 * lib/hash.c: New file.
1508 * lib/hash.h: New file.
1509 * lib/Makefile.am: Update.
1510
45f8dd1e
AD
15112001-08-15 Akim Demaille <akim@epita.fr>
1512
1513 Version 1.28c.
1514
40a64a7a 15152001-08-15 Marc Autret <autret_m@epita.fr>
0b8afb77
AD
1516
1517 * src/reader.c (readgram): Indent output macro YYSTYPE.
1518 (packsymbols): Likewise.
1519 (output_token_defines): Likewise.
1520 * src/files.c: Standardize.
1521 (compute_header_macro): New.
1522 (defines_obstack_save): New. Use compute_header_macro.
1523 (output_files): Update. Use defines_obstack_save.
1524
f9a8293a
AD
15252001-08-15 Akim Demaille <akim@epita.fr>
1526
1527 * doc/bison.texinfo (Table of Symbols): Document
1528 YYSTACK_USE_ALLOCA.
1529
150ca7a7
AD
15302001-08-15 Akim Demaille <akim@epita.fr>
1531
1532 * missing: Update from CVS Automake.
1533 * config/config.guess, config/config.sub, config/texinfo.tex:
1534 Update from gnu.org.
1535
69b5cec4
AD
15362001-08-15 Akim Demaille <akim@epita.fr>
1537
1538 * Makefile.maint: Sync with CVS Autoconf.
1539
f2b5126e
PB
15402001-08-14 Pascal Bart <pascal.bart@epita.fr>
1541
69b5cec4 1542 * doc/bison.texinfo: Include GNU Free Documentation License from
f2b5126e
PB
1543 `fdl.texi'.
1544 * doc/fdl.texi: Add to package.
1545
4ecbf796
MA
15462001-08-14 Marc Autret <autret_m@epita.fr>
1547
1548 Turn on %{source,header}_extension features.
1549
69b5cec4 1550 * src/lex.c (percent_table): Un-CPP out header_extension and
4ecbf796
MA
1551 source_extension.
1552 * src/files.c (compute_exts_from_gf): Compare pointers with NULL.
69b5cec4 1553 (compute_exts_from_src): Remove conditions. It restores priorities
4ecbf796
MA
1554 between options.
1555
95fb5662
MA
15562001-08-14 Marc Autret <autret_m@epita.fr>
1557
1558 * src/files.c (compute_base_names): Add extensions computing when
1559 `--file-prefix' used.
1560 Standardize function calls.
1561
78d09da9
MA
15622001-08-13 Marc Autret <autret_m@epita.fr>
1563
69b5cec4 1564 * src/bison.simple (YYSTACK_USE_ALLOCA): Changed to allow users
78d09da9
MA
1565 defining it (defined but null disables alloca).
1566
5a009f2c
MA
15672001-08-13 Marc Autret <autret_m@epita.fr>
1568
1569 * src/bison.simple (_yy_memcpy): CPP reformat.
1570
1e41465a
PB
15712001-08-13 Pascal Bart <pascal.bart@epita.fr>
1572
1573 * tests/atconfig.in (CPPFLAGS): Fix.
1574
c67a198d
PB
15752001-08-10 Pascal Bart <pascal.bart@epita.fr>
1576
79282c6c 1577 * doc/bison.texinfo: Include GNU General Public License from
c67a198d
PB
1578 `gpl.texi'.
1579 * doc/gpl.texi: Add to package.
1580
09a6de7e
MA
15812001-08-10 Marc Autret <autret_m@epita.fr>
1582
1583 * src/print_graph.h: Fix.
1584 * src/reader.c (read_declarations): Use parse_header_extension_decl ().
1585
b77b9ee0
AD
15862001-08-10 Akim Demaille <akim@epita.fr>
1587
1588 * src/system.h: Provide default declarations for stpcpy, strndup,
1589 and strnlen.
1590
3e259915
MA
15912001-08-10 Robert Anisko <anisko_r@epita.fr>
1592
1593 * doc/bison.texinfo (Locations): Update @$ stuff.
1594
ca96bc2d
MA
15952001-08-09 Robert Anisko <anisko_r@epita.fr>
1596
1597 * src/bison.simple (YYLLOC_DEFAULT): Update.
1598 (yyparse): Adjust.
1599
fdc6758b
MA
16002001-08-08 Marc Autret <autret_m@epita.fr>
1601
b77b9ee0 1602 * doc/bison.texinfo: Change @samp{$<@dots{}>} to
fdc6758b
MA
1603 @samp{$<@dots{}>@var{n}} in Section Actions in Mid-Rule.
1604 Reported by Fabrice Bauzac.
957d4dbf 1605
600cad3b
MA
16062001-08-08 Marc Autret <autret_m@epita.fr>
1607
1608 * src/vcg_default.h: Use NULL instead of 0 to initialize pointers.
1609 * src/vcg.c (output_node): Fix.
1610 * src/vcg.h: Cleanup.
1611 * src/print_graph.c: Add comments.
b77b9ee0 1612 (node_output_size): New global variable. Simplify the formatting of
600cad3b 1613 the VCG graph output.
b77b9ee0 1614 (print_actions): Unused code is now used. It notifies the final state
600cad3b 1615 and no action states in the VCG graph. It also give the reduce actions.
b77b9ee0 1616 The `shift and goto' edges are red and the `go to state' edges are
600cad3b
MA
1617 blue.
1618 Get the current node name and node_obstack by argument.
1619 (node_obstack): New variable.
1620 (print_state): Manage node_obstack.
1621 (print_core): Use node_obstack given by argument.
1622 A node is not only computed here but in print_actions also.
1623 (print_graph): CPP out useless code instead of commenting it.
1624
976e528f
AD
16252001-08-07 Pascal Bart <pascal.bart@epita.fr>
1626
1627 * tests/atconfig.in (CPPFLAGS): Fix.
1628
20e8e5ca
AD
16292001-08-07 Akim Demaille <akim@epita.fr>
1630
1631 * src/print_graph.c (quote): New.
1632 (print_core): Use it.
1633
957d4dbf 16342001-08-06 Akim Demaille <akim@epita.fr>, Marc Autret <autret_m@epita.fr>
3e3da797 1635
3e3da797
AD
1636 * src/vcg.c (complain.h): Include it.
1637 Unepitaize `return' invocations.
c4b66126 1638 [NDEBUG] (main): Remove.
79282c6c 1639 * src/vcg.h (node_t, edge_t, graph_t): Constify the char * members.
c4b66126
AD
1640 * src/files.c (open_files): Initialize graph_obstack.
1641 * src/print_graph.c (print_actions): CPP out useless code.
1642 (print_core): Don't output the last `\n' in labels.
1643 Use `quote'.
1644 * src/files.c (output_files): Output the VCG file.
1645 * src/main.c (main): Invoke print_graph ();
3e3da797 1646
957d4dbf 16472001-08-06 Marc Autret <autret_m@epita.fr>
22c2cbc0
AD
1648
1649 Automaton VCG graph output.
1650 Using option ``-g'' or long option ``--graph'', you can generate
1651 a gram_filename.vcg file containing a VCG description of the LALR (1)
1652 automaton of your grammar.
1653
1654 * src/main.c: Call to print_graph() function.
1655 * src/getargs.h: Update.
1656 * src/getargs.c (options): Update to catch `-g' and `--graph' options.
1657 (graph_flag): New flag.
1658 (longopts): Update.
1659 (getargs): Add case `g'.
1660 * src/files.c (graph_obstack): New obstack struct.
1661 (open_files): Initialize new obstack.
1662 (output_files): Saves graph_obstack if required.
1663 * src/files.h (graph_obstack): New extern declaration.
1664 * src/Makefile.am: Add new source files.
1665
957d4dbf 16662001-08-06 Marc Autret <autret_m@epita.fr>
ce4d5ce0
AD
1667
1668 * src/print_graph.c, src/print_graph.h (graph): New.
1669 * src/vcg.h: New file.
1670 * src/vcg.c: New file, VCG graph handling.
1671
7333d403
AD
16722001-08-06 Marc Autret <autret_m@epita.fr>
1673
1674 Add of %source_extension and %header_extension which specify
1675 the source or/and the header output file extension.
1676
1677 * src/files.c (compute_base_names): Remove initialisation of
1678 src_extension and header_extension.
1679 (compute_exts_from_gf): Update.
1680 (compute_exts_from_src): Update.
1681 (output_files): Update.
1682 * src/reader.c (parse_header_extension_decl): New.
1683 (parse_source_extension_decl): New.
1684 (read_declarations): New case statements for the new tokens.
1685 * src/lex.c (percent_table): Add entries for %source_extension
1686 and %header_extension.
1687 * src/lex.h (token_e): New tokens tok_hdrext and tok_srcext.
1688
84163231
AD
16892001-08-06 Marc Autret <autret_m@epita.fr>
1690
1691 * configure.in: Bump to 1.28c.
1692 * doc/bison.texinfo: Texinfo thingies.
1693
8303fc42
AD
16942001-08-04 Pascal Bart <pascal.bart@epita.fr>
1695
1696 * tests/atconfig.in (CPPFLAGS): Add.
1697 * tests/calc.at (AT_CHECK): Use CPPFLAGS.
1698
70a84437
AD
16992001-08-03 Akim Demaille <akim@epita.fr>
1700
1701 Version 1.28b.
1702
2ce10144
AD
17032001-08-03 Akim Demaille <akim@epita.fr>
1704
1705 * tests/Makefile.am (check-local): Ship testsuite.
1706 * tests/calc.at (_AT_DATA_CALC_Y): Prototype all the functions.
1707 Include `string.h'.
1708
1e3e4bc1
AD
17092001-08-03 Akim Demaille <akim@epita.fr>
1710
1711 * configure.in: Try using -Wformat when compiling.
1712
42b45b7f
AD
17132001-08-03 Akim Demaille <akim@epita.fr>
1714
1715 * configure.in: Bump to 1.28b.
1716
8f13fe33
AD
17172001-08-03 Akim Demaille <akim@epita.fr>
1718
1719 * src/complain.c: Adjust strerror_r portability issues.
1720
b37ba92c
AD
17212001-08-03 Akim Demaille <akim@epita.fr>
1722
1723 Version 1.28a.
1724
b0ce6046
AD
17252001-08-03 Akim Demaille <akim@epita.fr>
1726
1727 * src/getargs.c, src/getarg.h (skeleton)): Constify.
1728 * src/lex.c (literalchar): Avoid name clashes on `buf'.
1729 * src/getargs.c: Include complain.h.
1730 * src/files.c, src/files.h (skeleton_find): Avoid name clashes.
1731 * lib/quotearg.c, lib/quotearg.h: Update from fileutils 4.1.
1732
d01c415b
AD
17332001-08-03 Akim Demaille <akim@epita.fr>
1734
1735 * src/reader.c (readgram): Display hidden chars in error messages.
1736
459dd1a6
AD
17372001-08-03 Akim Demaille <akim@epita.fr>
1738
1739 Update to gettext 0.10.39.
1740
53b74c0c
AD
17412001-08-03 Akim Demaille <akim@epita.fr>
1742
1743 * lib/strspn.c: New.
1744
234a3be3
AD
17452001-08-01 Marc Autret <autret_m@epita.fr>
1746
1747 * doc/bison.texinfo: Update.
1748 * doc/bison.1 (mandoc): Update.
1749 * src/system.h (EXT_GUARD_C, EXT_STYPE_H): Remove .c and .h.
1750 * src/files.c: Support output files extensions computing.
1751 (src_extension): New static variable.
1752 (header_extension): New static variable.
1753 (tr): New function.
1754 (get_extension_index): New function, gets the index of an extension
1755 filename in a string.
1756 (compute_exts_from_gf): New function, computes extensions from the
1757 grammar file extension.
1758 (compute_exts_from_src): New functions, computes extensions from the
1759 C source file extension, file given by ``-o'' option.
1760 (compute_base_names): Update.
1761 (output_files): Update.
1762
847bf1f5
AD
17632001-08-01 Robert Anisko <anisko_r@epita.fr>
1764
d995fee7 1765 * doc/bison.texi: Document @$.
847bf1f5
AD
1766 (Locations): New section.
1767
d074a105
AD
17682001-07-18 Akim Demaille <akim@epita.fr>
1769
1770 * Makefile.maint, GNUmakefile: New, from Autoconf 2.52.
1771 * config/prev-version.txt, config/move-if-change: New.
1772 * Makefile.am: Adjust.
1773
3419715d
AD
17742001-07-08 Pascal Bart <pascal.bart@epita.fr>
1775
1776 * src/bison.simple (yyparse): Suppress warning `comparaison
1777 between signed and unsigned'.
1778
62ab6972
AD
17792001-07-05 Pascal Bart <pascal.bart@epita.fr>
1780
1781 * src/getargs.h (raw_flag): Remove.
1782 * src/getargs.c: Die on `-r'/`--raw'.
1783 * src/lex.c (parse_percent_token): Die on `%raw'.
1784 * src/reader.c (output_token_defines): Suppress call to `raw_flag'.
1785 * tests/calc.at: Suppress test with option `--raw'.
1786
1e24cc5b
AD
17872001-07-14 Akim Demaille <akim@epita.fr>
1788
1789 * config/: New.
1790 * configure.in: Require Autoconf 2.50.
1791 Update to gettext 0.10.38.
1792
32dfccf8
AD
17932001-03-16 Akim Demaille <akim@epita.fr>
1794
1795 * doc/bison.texinfo: ANSIfy the examples.
1796
cd5bd6ac
AD
17972001-03-16 Akim Demaille <akim@epita.fr>
1798
1799 * getargs.c (skeleton): New variable.
1800 (longopts): --skeleton is a new option.
1801 (shortopts, getargs): -S is a new option.
1802 * getargs.h: Declare skeleton.
1803 * output.c (output_parser): Use it.
1804
5141b016
AD
18052001-03-16 Akim Demaille <akim@epita.fr>
1806
1807 * m4/strerror_r.m4: New.
1808 * m4/error.m4: Run AC_FUNC_STRERROR_R.
1809 * lib/error.h, lib/error.c: Update.
1810
447992b9
AD
18112001-03-16 Akim Demaille <akim@epita.fr>
1812
1813 * src/getargs.c (longopts): Clean up.
1814
274d42ce
AD
18152001-02-21 Akim Demaille <akim@epita.fr>
1816
1817 * src/reader.c (gensym): `gensym_count' is your own.
1818 Use a static buf to create the symbol name, as token_buffer is no
1819 longer a buffer.
1820
22c821f3
AD
18212001-02-08 Akim Demaille <akim@epita.fr>
1822
1823 * src/conflicts.c (conflict_report): Be sure not to append to res
1824 between two calls, which could happen if both first sprintf were
1825 skipped, but not the first cp += strlen.
1826
18569462
AD
18272001-02-08 Akim Demaille <akim@epita.fr>
1828
1829 * lib/memchr.c, lib/stpcpy.c, lib/strndup.c, lib/strnlen.c:
1830 New, from fileutils 4.0.37.
1831 * configure.in: Require Autoconf 2.49c. I took some time before
1832 making this decision. This is the only way out for portability
1833 issues in Bison, it would mean way too much duplicate effort to
1834 import in Bison features implemented in 2.49c since 2.13.
1835 AC_REPLACE_FUNCS and AC_CHECK_DECLS the functions above.
1836
0d8f3c8a
AD
18372001-02-02 Akim Demaille <akim@epita.fr>
1838
1839 * lib/malloc.c, lib/realloc.c: New, from the fileutils 4.0.37.
66075dcf 1840 * lib/xalloc.h, lib/xmalloc.c: Update.
0d8f3c8a 1841
f17bcd1f
AD
18422001-01-19 Akim Demaille <akim@epita.fr>
1843
1844 Get rid of the ad hoc handling of token_buffer in the scanner: use
1845 the obstacks.
1846
1847 * src/lex.c (token_obstack): New.
1848 (init_lex): Initialize it. No longer call...
1849 (grow_token_buffer): this. Remove it.
1850 Adjust all the places which used it to use the obstack.
1851
511e79b3
AD
18522001-01-19 Akim Demaille <akim@epita.fr>
1853
1854 * src/lex.h: Rename all the tokens:
1855 s/\bENDFILE\b/tok_eof/g;
1856 s/\bIDENTIFIER\b/tok_identifier/g;
1857 etc.
1858 Let them be enums, not #define, to ease debugging.
1859 Adjust all the code.
1860
0d6508ef
AD
18612001-01-18 Akim Demaille <akim@epita.fr>
1862
1863 * src/lex.h (MAXTOKEN, maxtoken, grow_token_buffer): Remove, private.
1864 * src/lex.c (maxtoken, grow_token_buffer): Static.
1865
6deb4447
AD
18662001-01-18 Akim Demaille <akim@epita.fr>
1867
1868 Since we now use obstacks, more % directives can be enabled.
1869
1870 * src/lex.c (percent_table): Also accept `%yacc',
1871 `%fixed_output_files', `%defines', `%no_parser', `%verbose', and
1872 `%debug'.
1873 Handle the actions for `%semantic_parser' and `%pure_parser' here,
1874 instead of returning a token.
1875 * src/lex.h (SEMANTIC_PARSER, PURE_PARSER): Remove, unused.
1876 * src/reader.c (read_declarations): Adjust.
1877 * src/files.c (open_files): Don't call `compute_base_names', don't
1878 compute `attrsfile' since they depend upon data which might be
1879 *in* the input file now.
1880 (output_files): Do it here.
1881 * src/output.c (output_headers): Document the fact that this patch
1882 introduces a guaranteed SEGV for semantic parsers.
1883 * doc/bison.texinfo: Document them.
1884 * tests/suite.at: Exercise these %options.
1885
ff4423cc
AD
18862000-12-20 Akim Demaille <akim@epita.fr>
1887
1888 Also handle the output file (--verbose) with obstacks.
1889
1890 * files.c (foutput): Remove.
1891 (output_obstack): New.
1892 Adjust all dependencies.
1893 * src/conflicts.c: Return a string.
1894 * src/system.h (obstack_grow_string): Rename as...
1895 (obstack_sgrow): this. Be ready to work with non literals.
1896 (obstack_fgrow4): New.
1897
956dba3a
AD
18982000-12-20 Akim Demaille <akim@epita.fr>
1899
1900 * src/files.c (open_files): Fix the computation of short_base_name
1901 in the case of `-o foo.tab.c'.
1902
337bab46
AD
19032000-12-20 Akim Demaille <akim@epita.fr>
1904
1905 * src/reader.c (copy_string, copy_comment, copy_comment2, copy_at)
1906 (copy_dollar): Now that everything uses obstacks, get rid of the
1907 FILE * parameters.
1908
5d3214b8
AD
19092000-12-20 Akim Demaille <akim@epita.fr>
1910
1911 * src/files.c (open_files): Actually the `.output' file is based
1912 on the short_base_name, not base_name.
1913 * tests/suite.at (Checking output file names): Adjust.
1914
29092a57
AD
19152000-12-20 Akim Demaille <akim@epita.fr>
1916
1917 * src/bison.s1: Remove, we now use directly...
1918 * src/bison.simple: this.
1919 * src/Makefile.am: Use pkgdata instead of data.
1920
ea5607fd
AD
19212000-12-20 Akim Demaille <akim@epita.fr>
1922
1923 * src/files.c (guard_obstack): New.
1924 (open_files): Initialize it.
1925 (output_files): Dump it...
1926 * src/files.h: Export it.
1927 * src/reader.c (copy_guard): Use it.
1928
27110317
AD
19292000-12-19 Akim Demaille <akim@epita.fr>
1930
1931 * src/files.c (outfile, defsfile, actfile): Removed as global
1932 vars.
1933 (open_files): Don't compute them.
1934 (output_files): Adjust.
1935 (base_name, short_base_name): Be global.
1936 Adjust dependencies.
1937
19c50364
AD
19382000-12-19 Akim Demaille <akim@epita.fr>
1939
1940 * src/files.c (strsuffix): New.
1941 (stringappend): Be just like strcat but allocate.
1942 (base_names): Eve out from open_files.
1943 Try to simplify the rather hairy computation of base_name and
1944 short_base_name.
1945 (open_files): Use it.
1946 * tests/suite.at (Checking output file names): New test.
1947
573c1d9f
AD
19482000-12-19 Akim Demaille <akim@epita.fr>
1949
1950 * src/system.h (obstack_grow_literal_string): Rename as...
1951 (obstack_grow_string): this.
1952 * src/output.c (output_parser): Recognize `%% actions' instead of
1953 `$'.
1954 * src/bison.s1: s/$/%% actions/.
1955 * src/bison.hairy: Likewise.
1956
ef7ddedd
AD
19572000-12-19 Akim Demaille <akim@epita.fr>
1958
1959 * src/output.c (output_parser): Compute the `#line' lines when
1960 there are.
1961 * src/Makefile.am (bison.simple): Be a simple copy of bison.s1.
1962 Suggested by Hans Aberg.
1963
ff61dabd
AD
19642000-12-19 Akim Demaille <akim@epita.fr>
1965
1966 Let the handling of the skeleton files be local to the procedures
1967 that use it.
1968
1969 * src/files.c (xfopen, xfclose, skeleton_find, guardfile): No
1970 longer static.
1971 (fparser, open_extra_files): Remove.
1972 (open_files, output_files): Don't take care of fparser.
1973 * src/files.h: Adjust.
1974 * src/output.c (output_parser): Open and close the file to the
1975 skeleton.
1976 * src/reader.c (read_declarations): When %semantic_parser, open
1977 fguard.
1978
55b96341
AD
19792000-12-19 Akim Demaille <akim@epita.fr>
1980
1981 * src/file.h (BISON_SIMPLE, BISON_HAIRY): Move from here...
1982 * src/system.h (BISON_SIMPLE, BISON_HAIRY): ... to here.
1983
358c15b7
AD
19842000-12-19 Akim Demaille <akim@epita.fr>
1985
1986 * src/files.c (open_files): Yipee! We no longer need all the code
1987 looking for `/tmp' since we have no tmp file.
1988
7de3329e
AD
19892000-12-19 Akim Demaille <akim@epita.fr>
1990
1991 * src/system.h (EXT_TAB, EXT_OUTPUT, EXT_STYPE_H, EXT_GUARD_C):
1992 New macros.
1993 * src/files.c (open_files): Less dependency on MSDOS etc.
1994
3abcd459
AD
19952000-12-14 Akim Demaille <akim@epita.fr>
1996
1997 * src/bison.s1 (YYLLOC_DEFAULT): New macro.
1998 Provide a default definition.
1999 Use it when executing the default @ action.
2000 * src/reader.c (reader_output_yylsp): No longer include
2001 `timestamp' and `text' in the default YYLTYPE.
2002
2a91a95e
AD
20032000-12-12 Akim Demaille <akim@epita.fr>
2004
2005 * src/reader.c (copy_definition, parse_union_decl, copy_action)
2006 (copy_guard): Quote the file names.
2007 Reported by Laurent Mascherpa.
2008
14d3eb9b
AD
20092000-12-12 Akim Demaille <akim@epita.fr>
2010
2011 * src/output.c (output_headers, output_program, output): Be sure
2012 to escape special characters when outputting filenames.
2013 (ACTSTR_PROLOGUE, ACTSTR_EPILOGUE): Remove.
2014 (output_headers): Don't depend on them, Use ACTSTR.
2015
d7045ec6
AD
20162000-11-17 Akim Demaille <akim@epita.fr>
2017
2018 * lib/obstack.h: Formatting changes.
2019 (obstack_grow, obstack_grow0): Don't cast WHERE at all: it
2020 prevents type checking.
2021 (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
2022 cast the value to (void *): assigning a `foo *' to a `void *'
2023 variable is valid.
2024 (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
2025 * src/reader.c (parse_union_decl): Typo: use obstack_1grow to
2026 append characters.
2027
6fd54b73
AD
20282000-11-17 Akim Demaille <akim@epita.fr>
2029
2030 * tests/Makefile.am (suite.m4, regression.m4, calc.m4): Rename
2031 as...
2032 (suite.m4, regression.m4, calc.m4): these.
2033 * tests/atgeneral.m4: Update from CVS Autoconf.
2034
4c50eae6
AD
20352000-11-17 Akim Demaille <akim@epita.fr>
2036
2037 * tests/regression.m4 (%union and --defines): New test,
2038 demonstrating a current bug in the obstack implementation.
2039
a35f64ea
AD
20402000-11-17 Akim Demaille <akim@epita.fr>
2041
2042 * src/bison.s1 (_YY_DECL_VARIABLES, YY_DECL_VARIABLES): New
2043 macros.
2044 Use them to declare the variables which are global or local to
2045 `yyparse'.
2046
7de23534
AD
20472000-11-17 Akim Demaille <akim@epita.fr>
2048
2049 * acconfig.h: Remove, no longer used.
2050
aa7815f5
AD
20512000-11-07 Akim Demaille <akim@epita.fr>
2052
2053 * src: s/Copyright (C)/Copyright/g.
2054
5af1f549
AD
20552000-11-07 Akim Demaille <akim@epita.fr>
2056
2057 * src/reader.c (reader): #define YYLSP_NEEDED to 1 instead of just
2058 defining.
2059 * src/bison.s1: s/#ifdef YYLSP_NEEDED/#if YYLSP_NEEDED/.
2060
553e2b22
AD
20612000-11-07 Akim Demaille <akim@epita.fr>
2062
2063 * src/bison.s1 (YYLEX): Use #if instead of #ifdef.
2064 Merge in a single CPP if/else.
2065
8a4f41d6
AD
20662000-11-07 Akim Demaille <akim@epita.fr>
2067
2068 * src/output.c (output): Remove useless variables.
2069 * lib/obstack.c (obstack_grow, obstack_grow0): Rename the second
2070 argument `data' for consistency with the prototypes.
2071 Qualify it `const'.
2072 (obstack_copy, obstack_copy0): Rename the second argument as
2073 `address' for consistency. Qualify it `const'.
2074 * lib/obstack.h (obstack_copy, obstack_copy0, obstack_grow)
2075 (obstack_grow0, obstack_ptr_grow, obstack_ptr_grow_fast): Qualify
2076 `const' their input argument (`data' or `address').
2077 Adjust the corresponding macros to include `const' in casts.
2078
095a3fb5
AD
20792000-11-03 Akim Demaille <akim@epita.fr>
2080
2081 * src/Makefile.am (INCLUDES): s/PFILE/BISON_SIMPLE/.
2082 s/PFILE1/BISON_HAIRY/.
2083 Adjust dependencies.
2084
d1cdce7c
AD
20852000-11-03 Akim Demaille <akim@epita.fr>
2086
090c5ebf 2087 For some reason, this was not applied.
d1cdce7c
AD
2088
2089 * src/files.c [VMS]: No longer include `ssdef.h', no longer define
2090 `unlink': it's no longer used.
2091
9311529b
AD
20922000-11-03 Akim Demaille <akim@epita.fr>
2093
2094 * src/files.c (skeleton_find): New function, eved out of...
2095 (open_files, open_extra_files): here.
2096
d8880f69
AD
20972000-11-03 Akim Demaille <akim@epita.fr>
2098
2099 Don't use `atexit'.
2100
2101 * src/files.c (obstack_save): New function.
2102 (done): Rename as...
2103 (output_files): this.
2104 Use `obstack_save'.
2105 * src/main.c (main): Don't use `atexit' to register `done', since
2106 it no longer has to remove tmp files, just call `output_files'
2107 when there are no errors.
2108
0dbb648e
AD
21092000-11-02 Akim Demaille <akim@epita.fr>
2110
2111 * src/files.c [VMS]: No longer include `ssdef.h', no longer define
2112 `unlink': it's no longer used.
2113 * src/files.h: Formatting changes.
2114
896fe5c1
AD
21152000-11-02 Akim Demaille <akim@epita.fr>
2116
2117 Remove the last uses of mktemp and unlink/delete.
2118
2119 * src/files.c (fdefines, ftable): Removed.
2120 (defines_ostack, table_obstack): New.
2121 Adjust dependencies of the former into uses of the latter.
2122 * src/output.c (output_short_or_char_table, output_short_table):
2123 Convert to using obstacks.
2124 * src/reader.c (copy_comment2): Accept one FILE * and two
2125 obstacks.
2126 (output_token_defines, reader_output_yylsp): Use obstacks.
2127 * src/system.h (obstack_fgrow3): New.
2128
dd60faec
AD
21292000-11-01 Akim Demaille <akim@epita.fr>
2130
2131 Change each use of `fattrs' into a use of `attrs_obstack'.
2132
2133 * src/reader.c (copy_at): Typo: s/yylloc/yyloc/.
2134 * src/files.c (fattrs): Remove.
2135 (attrs_obstack): New.
2136 Adjust all dependencies.
2137 (done): If SEMANTIC_PARSER, dump attrs_obstack into attrsfile.
2138
8c7ebe49
AD
21392000-11-01 Akim Demaille <akim@epita.fr>
2140
2141 Introduce obstacks.
2142 Change each use of `faction' into a use of `action_obstack'.
2143
2144 * lib/obstack.h, lib/obstack.c: New files.
2145 * src/files.c (faction): Remove.
2146 (action_obstack): New.
2147 Adjust all dependencies.
2148
77aee789
AD
21492000-10-20 Akim Demaille <akim@epita.fr>
2150
2151 * lib/quote.h (PARAMS): New macro. Use it.
2152
43591cec
AD
21532000-10-16 Akim Demaille <akim@epita.fr>
2154
2155 * src/output.c (output_short_or_char_table): New function.
2156 (output_short_table, output_token_translations): Use it.
2157 (goto_actions): Use output_short_table.
2158
1e9798d5
AD
21592000-10-16 Akim Demaille <akim@epita.fr>
2160
2161 * src/symtab.c (bucket_new): New function.
2162 (getsym): Use it.
2163
2164 * src/output.c (output_short_table): New argument to display the
2165 comment associated with the table.
2166 Adjust dependencies.
2167 (output_gram): Use it.
2168 (output_rule_data): Nicer output layout for YYTNAME.
2169
f282676b
AD
21702000-10-16 Akim Demaille <akim@epita.fr>
2171
2172 * src/lex.c (read_typename): New function.
2173 (lex): Use it.
2174 * src/reader.c (copy_dollar): Likewise.
2175
550a72a3
AD
21762000-10-16 Akim Demaille <akim@epita.fr>
2177
2178 * src/reader.c (copy_comment2): Expect the input stream to be on
2179 the `/' which is suspected to open a comment, instead of being
2180 called after `//' or `/*' was read.
2181 (copy_comment, copy_definition, parse_union_decl, copy_action)
2182 (copy_guard): Adjust.
2183
131e2fef
AD
21842000-10-16 Akim Demaille <akim@epita.fr>
2185
2186 * src/reader.c (parse_expect_decl): Use `skip_white_space' and
2187 `read_signed_integer'.
2188
79282c5a
AD
21892000-10-16 Akim Demaille <akim@epita.fr>
2190
2191 * src/reader.c (copy_dollar): New function.
2192 (copy_guard, copy_action): Use it.
2193
ff4a34be
AD
21942000-10-16 Akim Demaille <akim@epita.fr>
2195
2196 * lib/quote.h, lib/quote.c, lib/quotearg.h, lib/quotearg.c:
2197 * m4/prereq.m4, m4/c-bs-a.m4, m4/mbstate.m4:
2198 New files, from Fileutils 4.0.27.
2199 * src/main.c (printable_version): Remove.
2200 * src/lex.c, src/reader.c: Use `quote'.
2201
22022000-10-04 Akim Demaille <akim@epita.fr>
2203
2204 * lib/error.c, lib/error.h: New files, needed by xmalloc.c.
2205
14ded682
AD
22062000-10-04 Akim Demaille <akim@epita.fr>
2207
2208 * doc/bison.texinfo: Various typos spotted by Neil Booth.
2209
8e03724b
AD
22102000-10-04 Akim Demaille <akim@epita.fr>
2211
2212 When a literal string is used to define two different tokens,
2213 `bison -v' segfaults.
2214 Reported by Piotr Gackiewicz, and fixed by Neil Booth.
2215
2216 * tests/regression.m4: New file.
2217 Include the core of the sample provided by Piotr Gackiewicz.
2218 * src/reader.c (parse_token_decl): Diagnose bad cases, and proceed
2219 properly.
2220
a9e64249
AD
22212000-10-04 Akim Demaille <akim@epita.fr>
2222
2223 * src/reader.c (parse_expect_decl): Keep `count' within the size
2224 of `buffer'.
2225 From Neil Booth.
2226
da9abf43
AD
22272000-10-02 Paul Eggert <eggert@twinsun.com>
2228
2229 * bison.s1 (yyparse): Assign the default value
2230 unconditionally, to avoid a GCC warning and make the parser a
2231 tad smaller.
2232
c33638bb
AD
22332000-10-02 Akim Demaille <akim@epita.fr>
2234
2235 * src/getargs.c (getargs): Don't dump `--help' on unrecognized
2236 options.
2237
444c570a
AD
22382000-10-02 Akim Demaille <akim@epita.fr>
2239
2240 * src/derives.c, src/print.c, src/reduce.c: To ease the
2241 translation, move some `\n' out of the translated strings.
2242
89cab50d
AD
22432000-10-02 Akim Demaille <akim@epita.fr>
2244
2245 The location tracking mechanism is precious for parse error
2246 messages. Nevertheless, it is enabled only when `@n' is used in
2247 the grammar, which is a different issue (you can use it in error
2248 message, but not in the grammar per se). Therefore, there should
2249 be another means to enable it.
2250
2251 * src/getargs.c (getargs): Support `--locations'.
2252 (usage): Report it.
2253 * src/getargs.h (locationsflag): Export it.
2254 * src/lex.c (percent_table): Support `%locations'.
2255 * src/reader.c (yylsp_needed): Remove this variable, now replaced
2256 with `locationsflag'.
2257 * doc/bison.texinfo: Document `--locations' and `%locations'.
2258 Sort the options.
2259 * tests/calc.m4: Test it.
2260
2261 For regularity of the names, replace each
2262 (nolineflag, toknumflag, rawtokenumflag, noparserflag): with...
2263 (no_lineflag, token_tableflag, rawflag, no_parserflag): this.
2264 In addition replace each `flag' with `_flag'.
2265
d6c2cba0
AD
22662000-10-02 Akim Demaille <akim@epita.fr>
2267
2268 Also test parse error messages, including with YYERROR_VERBOSE.
2269
2270 * tests/calc.m4 (calc.y): Add support for `exp = exp' (non
2271 associative).
2272 Use it to check the computations.
2273 Use it to check `nonassoc' is honored.
2274 (AT_DATA_CALC_Y): Equip `calc.y' with YYERROR_VERBOSE when passed
2275 `--yyerror-verbose'.
2276 (_AT_CHECK_CALC): Adjust to this option.
2277 (_AT_CHECK_CALC_ERROR): New macro to check parse error messages.
2278
5a35a6cb
AD
22792000-10-02 Akim Demaille <akim@epita.fr>
2280
2281 Test also `--verbose', `--defines' and `--name-prefix'. Testing
2282 the latter demonstrates a flaw in the handling of non debugging
2283 parsers introduced by myself on 2000-03-16: `#define yydebug 0'
2284 was used in order to simplify:
2285
2286 #if YYDEBUG
2287 if (yydebug)
2288 {
2289 ...
2290 }
2291 #endif
2292
2293 into
2294
2295 if (yydebug)
2296 {
2297 ...
2298 }
2299
2300 unfortunately this leads to a CPP conflict when
2301 `--name-prefix=foo' is used since it produces `#define yydebug
2302 foodebug'.
2303
2304 * src/bison.s1 [!YYDEBUG]: Do not define yydebug.
2305 (YYDPRINTF): New macro.
2306 Spread its use.
2307 * tests/calc.m4 (AT_CHECK_CALC): Do require a title, build it from
2308 the bison options.
2309 Also test `--verbose', `--defines' and `--name-prefix'.
2310
71da9eea
AD
23112000-10-02 Akim Demaille <akim@epita.fr>
2312
2313 Improve the readability of the produced parsers.
2314
2315 * src/bison.s1: Formatting changes.
2316 Improve the comment related to the `$' mark.
2317 (yydefault): Don't fall through to `yyresume': `goto' there.
2318 * src/output.c (output_parser): When the `$' is met, skip the end
2319 of its line.
2320 New variable, `number_of_dollar_signs', to check there's exactly
2321 one `$' in the parser skeleton.
2322
95e36146
AD
23232000-10-02 Akim Demaille <akim@epita.fr>
2324
2325 * lib/xstrdup.c: New file, from the fileutils.
2326 * src/reader.c (parse_token_decl, get_type_name, parse_type_decl)
2327 (parse_assoc_decl, parse_thong_decl, get_type): Use `xstrdup'
2328 instead of strlen + xmalloc + strcpy.
2329 * src/symtab.c (copys): Remove, use xstrdup instead.
2330
d7020c20
AD
23312000-10-02 Akim Demaille <akim@epita.fr>
2332
2333 * src/gram.h (associativity): New enum type which replaces the
2334 former CPP macros `RIGHT_ASSOC', `LEFT_ASSOC' and `NON_ASSOC' with
2335 `right_assoc', `left_assoc' and `non_assoc'.
2336 Adjust all dependencies.
2337 * src/reader.c: Formatting changes.
2338 (LTYPESTR): Don't define it, use it as a literal in
2339 `reader_output_yylsp'.
2340 * src/symtab.h (symbol_class): New enum type which replaces the
2341 former CPP macros `SUNKNOWN', `STOKEN and `SNTERM' with
2342 `sunknown', `stoken and `snterm'.
2343
1916f98e
AD
23442000-10-02 Akim Demaille <akim@epita.fr>
2345
2346 * src/getargs.c (fixed_outfiles): Rename as...
2347 (yaccflag): for consistency and accuracy.
2348 Adjust dependencies.
2349
d7913476
AD
23502000-10-02 Akim Demaille <akim@epita.fr>
2351
2352 Use the more standard files `xalloc.h' and `xmalloc.c' instead of
2353 Bison's `allocate.c' and `alloc.h'. This patch was surprisingly
2354 difficult and introduced a lot of core dump. It turns out that
2355 Bison used an implementation of `xmalloc' based on `calloc', and
2356 at various places it does depend upon the initialization to 0. I
2357 have not tried to isolate the pertinent places, and all the former
2358 calls to Bison's `xmalloc' are now using `XCALLOC'. Someday,
2359 someone should address this issue.
2360
2361 * src/allocate.c, src/alloc.h, m4/bison-decl.m4: Remove.
2362 * lib/xmalloc.c, lib/xalloc.h, m4/malloc.m4, m4/realloc.m4: New
2363 files.
2364 Adjust dependencies.
2365 * src/warshall.h: New file.
2366 Propagate.
2367
340ef489
AD
23682000-10-02 Akim Demaille <akim@epita.fr>
2369
2370 Various anti-`extern in *.c' changes.
2371
2372 * src/system.h: Include `assert.h'.
2373
b2ca4022
AD
23742000-10-02 Akim Demaille <akim@epita.fr>
2375
2376 * src/state.h (nstates, final_state, first_state, first_shift)
2377 (first_reduction): Move their exportation from here...
2378 * src/LR0.h: to here.
2379 Adjust dependencies.
2380 * src/getargs.c (statisticsflag): New variable.
2381 Add support for `--statistics'.
2382 Adjust dependencies.
2383
2384 Remove a lot of now useless `extern' statements in most files.
2385
403b315b
AD
23862000-10-02 Akim Demaille <akim@epita.fr>
2387
2388 * src/LR0.h: New file.
2389 Propagate its use.
2390
07a58c13
AD
23912000-10-02 Akim Demaille <akim@epita.fr>
2392
2393 * src/print.h: New file.
2394 Propagate its use.
2395 * src/print.c: Formatting and ordering changes.
2396 (verbose, terse): Replace with...
2397 (print_results): this new function.
2398 Adjust dependencies.
2399
0619caf0
AD
24002000-10-02 Akim Demaille <akim@epita.fr>
2401
2402 * src/conflicts.c (conflict_report): New function.
2403 (conflict_log, verbose_conflict_log): Replace with...
2404 (print_conflicts): this function.
2405 Adjust dependencies.
2406 * src/conflicts.h: New file.
2407 Propagate its inclusion.
2408
3519ec76
AD
24092000-10-02 Akim Demaille <akim@epita.fr>
2410
2411 * src/nullable.h: New file.
2412 Propagate its inclusion.
2413 * src/nullable.c: Formatting changes.
2414
015acc48
AD
24152000-10-02 Akim Demaille <akim@epita.fr>
2416
2417 * src/reduce.h: New file.
2418 Propagate its inclusion.
2419 * src/reduce.c: Topological sort and other formatting changes.
2420 (bool, TRUE, FALSE): Move their definition to...
2421 * src/system.h: here.
2422
8963a27b
AD
24232000-10-02 Akim Demaille <akim@epita.fr>
2424
2425 * src/files.c: Formatting changes.
2426 (tryopen, tryclose, openfiles): Rename as...
2427 (xfopen, xfclose, open_files): this.
2428 (stringappend): static.
2429 * src/files.h: Complete the list of exported symbols.
2430 Propagate its use.
2431
a70083a3
AD
24322000-10-02 Akim Demaille <akim@epita.fr>
2433
2434 * src/reader.h: New file.
2435 Propagate its use instead of tedious list of `extern' and
2436 prototypes.
2437 * src/reader.c: Formatting changes, topological sort,
2438 s/register//.
2439
abadc117
AD
24402000-10-02 Akim Demaille <akim@epita.fr>
2441
2442 * src/lex.h: Prototype `lex.c' exported functions.
2443 * src/reader.c: Adjust.
2444 * src/lex.c: Formatting changes.
2445 (safegetc): Rename as...
2446 (xgetc): this.
2447
720d742f
AD
24482000-10-02 Akim Demaille <akim@epita.fr>
2449
2450 * src/lalr.h: New file.
2451 Propagate its inclusion instead of prototypes and `extern'.
2452 * src/lalr.c: Formatting changes, topological sorting etc.
2453
f2acea59
AD
24542000-10-02 Akim Demaille <akim@epita.fr>
2455
2456 * src/output.c (token_actions): Introduce a temporary array,
2457 YYDEFACT, that makes it possible for this function to use
2458 output_short_table.
2459
d019d655
AD
24602000-10-02 Akim Demaille <akim@epita.fr>
2461
2462 `user_toknums' is output as a `short[]' in `output.c', while it is
2463 defined as a `int[]' in `reader.c'. For consistency with the
2464 other output tables, `user_toknums' is now defined as a table of
2465 shorts.
2466
2467 * src/reader.c (user_toknums): Be a short table instead of an int
2468 table.
2469 Adjust dependencies.
2470
2471 Factor the short table outputs.
2472
2473 * src/output.c (output_short_table): New function.
2474 * src/output.c (output_gram, output_stos, output_rule_data)
2475 (output_base, output_table, output_check): Use it.
2476
6c89f1c1
AD
24772000-10-02 Akim Demaille <akim@epita.fr>
2478
2479 * src/output.c (output): Topological sort of the functions, in
2480 order to get rid of the `static' prototypes.
2481 No longer use `register'.
2482 * src/output.h: New file.
2483 Propagate its inclusion in files explicitly prototyping functions
2484 from output.c.
2485
d9efd181
AD
24862000-09-21 Akim Demaille <akim@epita.fr>
2487
2488 * src/atgeneral.m4: Update from Autoconf.
2489
c29240e7 24902000-09-21 Akim Demaille <akim@epita.fr>
2fa6973e
AD
2491
2492 * src/closure.h: New file.
2493 * src/closure.c: Formatting changes, topological sort over the
2494 functions, use of closure.h.
2495 (initialize_closure, finalize_closure): Rename as...
2496 (new_closure, free_closure): these. Adjust dependencies.
2497 * src/LR0.c: Formatting changes, topological sort, use of
2498 cloture.h.
2499 (initialize_states): Rename as...
2500 (new_states): this.
2501 * src/Makefile.am (noinst_HEADERS): Adjust.
2502
499daa50
AD
25032000-09-20 Akim Demaille <akim@epita.fr>
2504
2505 * src/acconfig.h: Don't protect config.h against multiple
2506 inclusion.
2507 Don't define PARAMS.
2508 * src/system.h: Define PARAMS.
2509 Remove some of the ad-hoc CPP magic for DOS, VMS etc.: this is the
2510 purpose of config.h. system.h must not try to fix wrong
2511 definitions in config.h.
2512
cc84fd5d
AD
25132000-09-20 Akim Demaille <akim@epita.fr>
2514
2515 * src/derives.h: New file.
2516 * src/main.c, src/derives.h: Use it.
2517 Formatting changes.
2518 * src/Makefile.am (noinst_HEADERS): Adjust.
2519
db5b3a89
AD
25202000-09-20 Akim Demaille <akim@epita.fr>
2521
2522 * tests/atgeneral.m4: Update from Autoconf.
2523 * tests/calc.m4 (_AT_DATA_CALC_Y, AT_DATA_CALC_Y, _AT_CHECK_CALC)
2524 (AT_CHECK_CALC): New macros.
2525 Use these macros to test bison with options `', `--raw',
2526 `--debug', `--yacc', `--yacc --debug'.
2527
ceed8467
AD
25282000-09-19 Akim Demaille <akim@epita.fr>
2529
2530 * src/output.c: Formatting changes.
2531 * src/machine.h: Remove, leaving its contents in...
2532 * src/system.h: here.
2533 Include stdio.h.
2534 Adjust all dependencies on stdio.h and machine.h.
2535 * src/getargs.h: New file.
2536 Let all `extern' declarations about getargs.c be replaced with
2537 inclusion of `getargs.h'.
2538 * src/Makefile.am (noinst_HEADERS): Adjust.
2539
2540 * tests/calc.m4 (yyin): Be initialized in main, not on the global
2541 scope.
2542 (yyerror): Returns void, not int.
2543 * doc/bison.texinfo: Formatting changes.
2544
05a1d24b
AD
25452000-09-19 Akim Demaille <akim@epita.fr>
2546
2547 * tests/calc.m4 (calc.y): Do not assign to stdin, as it's not
2548 portable.
2549
cbd25751
AD
25502000-09-18 Akim Demaille <akim@epita.fr>
2551
2552 * configure.in: Append WARNING_CFLAGS to CFLAGS.
2553 * src/Makefile.am (INCLUDES): Don't.
2554 Be ready to fetch headers in lib/.
2555
13863333
AD
25562000-09-18 Akim Demaille <akim@epita.fr>
2557
2558 * doc/bison.texinfo: Update the copyright.
2559 ANSIfy and GNUify the examples.
2560 Remove the old menu.
2561
0d533154
AD
25622000-09-18 Akim Demaille <akim@epita.fr>
2563
2564 First set of tests: use the `calc' example from the documentation.
2565
2566 * src/bison.s1 (yyparse): Condition the code using `yytname' which
2567 is defined only when YYDEBUG is.
2568 * m4/atconfig.m4 (AT_CONFIG): Adjust to Autoconf 2.13.
2569 * src/files.c (tryopen, tryclose): Formatting changes.
2570 Move to the top and be static.
2571 * src/reader.c (read_signed_integer): Likewise.
2572 * tests/calc.m4: New file.
2573 * Makefile.am, suite.m4: Adjust.
2574 * m4/atconfig.m4: Set BISON_SIMPLE and BISON_HAIRY.
2575
e79137ac
AD
25762000-09-18 Akim Demaille <akim@epita.fr>
2577
2578 Add support for an Autotest test suite for Bison.
2579
2580 * m4/m4.m4, m4/atconfig.m4: New files.
2581 * m4/Makefile.am (EXTRA_DIST): Adjust.
2582 * tests/suite.m4, tests/Makefile.am, tests/atgeneral.m4: New
2583 files.
2584 * src/getargs.c: Display a more standard --version message.
2585 * src/reader.c (reader): Formatting changes.
2586 No longer depend upon VERSION_STRING.
2587 * configure.in: No longer use `dnl'.
2588 Set up the test suite and the new directory `tests/.
2589 (VERSION_STRING): Remove.
2590
27821bff
AD
25912000-04-14 Akim Demaille <akim@epita.fr>
2592
2593 * src/reader.c (copy_comment2): New function, same as former
2594 `copy_comment', but outputs into two FILE *.
2595 (copy_comment): Use it.
2596 (parse_union_decl): Use it.
2597 (get_type, parse_start_decl): Use the same `invalid' message.
2598 (parse_start_decl, parse_union_decl): Use the same `multiple'
2599 message.
2600 (parse_union_decl, copy_guard, copy_action): Use the same
2601 `unmatched' message.
2602 * m4/Makefile.am (EXTRA_DIST): Add `warning.m4'.
2603
cfe5fbc0
AD
26042000-03-31 Akim Demaille <akim@epita.fr>
2605
2606 * src/files.c (tryopen, tryclose): Move to the top.
2607 Be static.
2608
cb7db13e
AD
26092000-03-31 Akim Demaille <akim@epita.fr>
2610
2611 * src/main.c (main): Don't call `done', exit does it.
2612
a0f6b076
AD
26132000-03-31 Akim Demaille <akim@epita.fr>
2614
36281465
AD
2615 * allocate.c: s/return (foo)/return foo/.
2616 * lalr.c: Likewise.
2617 * LR0.c: Likewise.
2618 * output.c: Likewise.
2619 * reader.c: Likewise.
2620 * symtab.c: Likewise.
2621 * vmsgetargs.c: Likewise.
2622
26232000-03-31 Akim Demaille <akim@epita.fr>
2624
2625 Clean up the error reporting functions.
a0f6b076
AD
2626
2627 * src/report.c: New file.
2628 * src/report.h: Likewise.
2629 * src/Makefile.am: Adjust.
2630 * m4/error.m4: New file.
2631 * m4/Makefile.am: Adjust.
2632 * configure.in (jm_PREREQ_ERROR): Call it.
2633 * src/main.c (int_to_string, banner, fatal_banner, warn_banner):
2634 Remove.
2635 (fatal, fatals): Remove. All callers use complain.c::fatal.
2636 (warn, warni, warns, warnss, warnss): Remove. All callers use
2637 complain.c::complain.
2638 (toomany): Remove, use fatal instead.
2639 * src/files.c (done): No argument, use complain_message_count.
2640 * src/main.c (main): Register `done' to `atexit'.
2641
2642 * src/getargs.c (usage): More `fputs', less `fprintf'.
2643
18539825
AD
26442000-03-28 Akim Demaille <akim@epita.fr>
2645
2646 * lib/: New directory.
2647 * Makefile.am (SUBDIRS): Adjust.
2648 * configure.in: Adjust.
2649 (LIBOBJS): Although not used yet, AC_SUBST it, otherwise it's
2650 useless.
2651 * src/alloca.c: Moved to lib/.
2652 * src/getopt.c: Likewise.
2653 * src/getopt1.c: Likewise.
2654 * src/getopt.h: Likewise.
2655 * src/ansi2knr.c: Likewise.
2656 * src/ansi2knr.1: Likewise.
2657 * src/Makefile.am: Adjust.
2658 * lib/Makefile.am: New file.
2659
9f306f2a
AD
26602000-03-28 Akim Demaille <akim@epita.fr>
2661
2662 * src/getargs.c (usage): Refresh the help message.
2663
0ba347b6
AD
26642000-03-17 Akim Demaille <akim@epita.fr>
2665
2666 * src/getopt1.c: Updated from textutils 2.0e
2667 * src/getopt.c: Likewise.
2668 * src/getopt.h: Likewise.
2669
dbe7f271
AD
26702000-03-17 Akim Demaille <akim@epita.fr>
2671
2672 * src/Makefile.am (bison.simple): Fix the awk program: quote only
2673 the file name, not the whole `#line LINE FILE'.
2674
75bbe78d
AD
26752000-03-17 Akim Demaille <akim@epita.fr>
2676
2677 On syntax errors, report the token on which we choked.
2678
aa5fd0ee
AD
2679 * src/bison.s1 (yyparse): In the label yyerrlab, when
2680 YYERROR_VERBOSE, add yychar in msg.
75bbe78d 2681
7b306f52
AD
26822000-03-17 Akim Demaille <akim@epita.fr>
2683
aa5fd0ee 2684 * src/reader.c (copy_at): New function.
7b306f52
AD
2685 (copy_guard): Use it.
2686 (copy_action): Use it.
2687
e87b5700
AD
26882000-03-17 Akim Demaille <akim@epita.fr>
2689
2690 Be kind to translators, save some useless translations.
2691
aa5fd0ee 2692 * src/main.c (banner): New function.
e87b5700
AD
2693 (fatal_banner): Use it.
2694 (warn_banner): Use it.
2695
ae3c3164
AD
26962000-03-17 Akim Demaille <akim@epita.fr>
2697
aa5fd0ee
AD
2698 * src/reader.c (copy_definition): Use copy_string and
2699 copy_comment. Removed now unused `match', `ended',
2700 `cplus_comment'.
ae3c3164
AD
2701 (copy_comment, copy_string): Moved, to be visible from
2702 copy_definition.
2703
4dc58e7c
AD
27042000-03-17 Akim Demaille <akim@epita.fr>
2705
aa5fd0ee
AD
2706 * src/reader.c (copy_string): Declare `static inline'. No
2707 problems with inline, since it is checked by configure.
4dc58e7c
AD
2708 (copy_comment): Likewise.
2709
0a6384c4
AD
27102000-03-17 Akim Demaille <akim@epita.fr>
2711
aa5fd0ee 2712 * src/reader.c (packsymbols): Formatting changes.
0a6384c4 2713
3cef001a
AD
27142000-03-17 Akim Demaille <akim@epita.fr>
2715
aa5fd0ee 2716 * src/reader.c (copy_comment): New function, factored out from:
3cef001a
AD
2717 (copy_action): Use it. Removed now unused `match', `ended',
2718 `cplus_comment'.
2719 (copy_guard): Likewise.
2720
ca36d2ef
AD
27212000-03-17 Akim Demaille <akim@epita.fr>
2722
aa5fd0ee 2723 * src/reader.c (copy_string): New function, factored out from:
ca36d2ef
AD
2724 (copy_action): Use it.
2725 (copy_guard): Likewise.
2726
6666f98f
AD
27272000-03-17 Akim Demaille <akim@epita.fr>
2728
2729 Change the handling of @s so that they behave exactly like $s.
2730 There is now a pseudo variable @$ (readble and writable), location
2731 of the lhs of the rule (by default ranging from the location of
2732 the first symbol of the rhs, to the location of the last symbol,
2733 or, if the rhs is empty, YYLLOC).
2734
2735 * src/bison.s1 [YYLSP_NEEDED] (yyloc): New variable, twin of
2736 yyval.
2737 (yyparse): When providing a default semantic action, provide a
2738 default location action.
2739 (after the $): No longer change `*YYLSP', just stack YYLOC the
2740 same way you stack YYVAL.
2741 * src/reader.c (read_declarations): Use warns.
2742 (copy_guard, case '@'): Also recognize `@$', expanded as `YYLOC'.
2743 (copy_action, case '@'): Likewise.
2744 Use a standard error message, to save useless work from
2745 translators.
2746
41aca2e0
AD
27472000-03-17 Akim Demaille <akim@epita.fr>
2748
aa5fd0ee
AD
2749 * src/bison.s1: Formatting and cosmetics changes.
2750 * src/reader.c: Likewise.
41aca2e0
AD
2751 Update the Copyright notice.
2752
dc08c1d5
AD
27532000-03-17 Akim Demaille <akim@epita.fr>
2754
aa5fd0ee
AD
2755 * src/bison.s1 (#line): All set to `#line' only, since the
2756 Makefile now handles them.
dc08c1d5 2757
9ee3c97b
AD
27582000-03-16 Akim Demaille <akim@epita.fr>
2759
2760 * src/output.c (output_rule_data): Output the documentation of
2761 some of the tables.
2762 (Copyright notice): Update.
2763 Formatting changes.
2764
0de741ca
AD
27652000-03-16 Akim Demaille <akim@epita.fr>
2766
2767 * src/bison.s1 [!YYDEBUG]: Define yydebug to 0. This allows to
2768 remove most `#if YYDEBUG != 0', since `if (yydebug)' is enough.
2769 One `#if YYDEBUG' remains, since it uses variables which are
2770 defined only if `YYDEBUG != 0'.
2771
bb10be54
AD
27722000-03-16 Akim Demaille <akim@epita.fr>
2773
2774 * src/bison.s1 (yyparse): Reorganize the definitions of the stacks
2775 and related variables so that the similarities are highlighted.
2776
b07b484a
AD
27772000-03-16 Akim Demaille <akim@epita.fr>
2778
2779 * src/bison.s1: Properly indent CPP directives.
2780
361f60b3
AD
27812000-03-16 Akim Demaille <akim@epita.fr>
2782
2783 * src/bison.s1: Properly indent the `alloca' CPP section.
2784
8c44d3ec
AD
27852000-03-16 Akim Demaille <akim@epita.fr>
2786
2787 Do not hard code values of directories in `configure.in'.
2788 Update the `configure' tool chain.
2789
2790 * configure.in (XPFILE, XPFILE1, LOCALEDIR): Remove, handled by
2791 src/makefile.am.
2792 (VERSION_STRING): Use the third arg of AC_DEFINE_UNQUOTED.
2793 (AC_OUTPUT): Add m4/Makefile.
2794 Bump to bison 1.28a, 1.29 has never been released.
2795 * acconfig.h (XPFILE, XPFILE1, LOCALEDIR): Remove, since they are
2796 handled via src/Makefile.am.
2797 (VERSION_STRING, PROTOTYPES, ENABLE_NLS, HAVE_CATGETS,
2798 HAVE_GETTEXT, HAVE_LC_MESSAGES, HAVE_STPCPY): Remove, handled by
2799 autoheader.
2800 * Makefile.am (SUBDIRS): Add m4.
2801 (ACLOCAL_AM_FLAGS): New variable.
2802 (AUTOMAKE_OPTIONS): Add check-news.
2803 * src/Makefile.am (bison.simple): Use awk to replace #line lines with
2804 the proper line number and file name.
2805 (DEFS): Propagate the location of bison library files and of the
2806 locale files.
2807 (INCLUDES): Added `-I ..' so that one can compile with srcdir !=
2808 builddir.
2809 * acinclude.m4: Remove, replaced by the directory m4.
2810 * m4/Makefile.am (EXTRA_DIST): New variable.
2811 * m4/gettext.m4: New file, from the fileutils.
2812 * m4/lcmessage.m4: Likewise
2813 * m4/progtest.m4: Likewise.
2814 * m4/bison-decl.m4: New file, extracted from former acinclude.m4.
2815
f95997e7
AD
28162000-03-10 Akim Demaille <akim@epita.fr>
2817
2818 * src/closure.c:
2819 Formatting changes of various comments.
2820 Respect the GNU coding standards at various places.
2821 Don't use `_()' when no translation is needed.
2822
28231999-12-13 Jesse Thilo <jthilo@gnu.org>
2824
2825 * src/files.c:
2826 OS/2 honors TMPDIR environment variable.
2827
28281999-12-13 Jesse Thilo <jthilo@gnu.org>
2829
2830 * doc/bison.texinfo: Tweaked spelling and grammar.
2831 Updated ISBN.
2832 Removed reference to price of printed copy.
2833 Mention BISON_SIMPLE and BISON_HAIRY.
2834
28351999-12-13 Jesse Thilo <jthilo@gnu.org>
2836
2837 * configure.in, NEWS:
2838 Bison 1.29 released.
2839
28401999-10-27 Jesse Thilo <jthilo@gnu.org>
2841
2842 * doc/.cvsignore, doc/Makefile.am, doc/refcard.tex:
2843 Added reference card.
2844
28451999-07-26 Jesse Thilo <jthilo@gnu.org>
2846
2847 * po/ru.po: Added Russian translation.
2848
28491999-07-26 Jesse Thilo <jthilo@gnu.org>
2850
2851 * configure.in: Added Russian translation.
2852
28531999-07-06 Jesse Thilo <jthilo@gnu.org>
2854
2855 * configure.in, NEWS, README:
2856 Released version 1.28.
2857
28581999-06-14 Jesse Thilo <jthilo@gnu.org>
2859
2860 * src/system.h:
2861 Squashed redefinition warning on some systems.
2862
2863 * src/getargs.c, src/Makefile.am, src/reader.c, src/version.c:
2864 Have configure build version string instead of relying on ANSI string
2865 concatentation.
2866
28671999-06-14 Jesse Thilo <jthilo@gnu.org>
2868
2869 * po/POTFILES.in: Got rid of version.c.
2870
28711999-06-14 Jesse Thilo <jthilo@gnu.org>
2872
2873 * acconfig.h, configure.in:
2874 Have configure build version string instead of relying on ANSI string
2875 concatentation.
2876
28771999-06-08 Jesse Thilo <jthilo@gnu.org>
2878
2879 * doc/bison.1:
2880 Dropped mention of `+' for long-named options.
2881
28821999-05-30 Jesse Thilo <jthilo@gnu.org>
2883
2884 * src/files.c: Added <unistd.h> for unlink().
2885
2886 * src/Makefile.am, src/system.h:
2887 I18n fixes.
2888
28891999-05-30 Jesse Thilo <jthilo@gnu.org>
2890
2891 * README: Added a FAQ list.
2892
2893 * configure.in, acconfig.h:
2894 I18n fixes.
2895
28961999-05-30 Jesse Thilo <jthilo@gnu.org>
2897
2898 * doc/FAQ, doc/Makefile.am:
2899 Added a FAQ list.
2900
29011999-05-19 Jesse Thilo <jthilo@gnu.org>
2902
2903 * src/alloc.h, src/symtab.h, src/version.c:
2904 Protected inclusion of "config.h" with HAVE_CONFIG_H.
2905
29061999-04-18 Jesse Thilo <jthilo@gnu.org>
2907
2908 * src/.cvsignore, src/Makefile.am:
2909 Reorganized: sources in `src', documentation in `doc'.
2910
2911 * src/lex.c (literalchar):
2912 fixed the code for escaping double quotes (thanks
2913 Jonathan Czisny.)
2914
29151999-04-18 Jesse Thilo <jthilo@gnu.org>
2916
2917 * po/de.po, po/es.po, po/fr.po, po/nl.po, po/POTFILES.in:
2918 Adjusted paths to reflect directory reorganization.
2919
29201999-04-18 Jesse Thilo <jthilo@gnu.org>
2921
2922 * doc/.cvsignore, doc/Makefile.am:
2923 Reorganized: sources in `src', documentation in `doc'.
2924
29251999-04-18 Jesse Thilo <jthilo@gnu.org>
2926
2927 * configure.in:
2928 Updated AC_INIT file to reflect directory reorganization.
2929
2930 * configure.in, .cvsignore, Makefile.am, POTFILES.in:
2931 Reorganized: sources in `src', documentation in `doc'.
2932
29331999-04-13 Jesse Thilo <jthilo@gnu.org>
2934
2935 * src/allocate.c:
2936 Don't declare calloc() and realloc() if not necessary.
2937
29381999-04-13 Jesse Thilo <jthilo@gnu.org>
2939
2940 * configure.in, acconfig.h, acinclude.m4:
2941 Don't declare calloc() and realloc() if not necessary.
2942
29431999-03-23 Jesse Thilo <jthilo@gnu.org>
2944
2945 * po/.cvsignore: Added i18n support.
2946
29471999-03-23 Jesse Thilo <jthilo@gnu.org>
2948
2949 * acconfig.h, configure.in, Makefile.am:
2950 Added i18n support.
2951
29521999-03-22 Jesse Thilo <jthilo@gnu.org>
2953
2954 * src/bison.s1: Fixed #line numbers.
2955
29561999-03-15 Jesse Thilo <jthilo@gnu.org>
2957
2958 * po/es.po, po/fr.po, po/nl.po, po/de.po:
2959 Added PO files from Translation Project.
2960
29611999-03-03 Jesse Thilo <jthilo@gnu.org>
2962
2963 * Makefile.am:
2964 Added support for non-ANSI compilers (ansi2knr).
2965
29661999-02-16 Jesse Thilo <jthilo@gnu.org>
2967
2968 * configure.in: Bumped version number to 1.27.
2969
2970 * Makefile.am:
2971 Added `bison.simple' to list of files removed by `make distclean'.
2972
29731999-02-12 Jesse Thilo <jthilo@gnu.org>
2974
2975 * src/files.c, src/files.h:
2976 Defined locations of parser files in config.h instead of Makefile.
2977
29781999-02-12 Jesse Thilo <jthilo@gnu.org>
2979
2980 * acconfig.h, acinclude.m4, configure.in, Makefile.am:
2981 Defined locations of parser files in config.h instead of Makefile.
2982
29831999-02-09 Jesse Thilo <jthilo@gnu.org>
2984
2985 * Makefile.am:
2986 Removed inappropriate use of $< macro.
2987
29881999-02-05 Jesse Thilo <jthilo@gnu.org>
2989
2990 * po/Makefile.in.in, po/POTFILES.in:
2991 Add `po' directory skeleton.
2992
29931999-01-27 Jesse Thilo <jthilo@gnu.org>
2994
2995 * README: Document help-bison list.
2996
2997 * configure.in: Add check for mkstemp().
2998
29991999-01-20 Jesse Thilo <jthilo@gnu.org>
3000
3001 * src/conflicts.c, src/LR0.c, src/output.c, src/reader.c:
3002 Hush a few compiler warnings.
3003
3004 * src/files.c:
3005 Add tryclose(), which verifies that fclose was successful.
3006 Hush a couple of compiler warnings.
3007
30081999-01-20 Jesse Thilo <jthilo@gnu.org>
3009
3010 * Makefile.am, OChangeLog:
3011 ChangeLog is now automatically generated. Include the old version as
3012 OChangeLog.
3013
30141999-01-14 Jesse Thilo <jthilo@gnu.org>
3015
3016 * 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:
3017 Update FSF address.
3018
30191999-01-14 Jesse Thilo <jthilo@gnu.org>
3020
3021 * doc/bison.texinfo: Fix formatting glitch.
3022
3023 * doc/bison.texinfo: Update FSF address.
3024
30251999-01-14 Jesse Thilo <jthilo@gnu.org>
3026
3027 * acconfig.h: Update FSF address.
3028
30291999-01-08 Jesse Thilo <jthilo@gnu.org>
3030
3031 * src/system.h:
3032 Don't define PACKAGE here, since config.h defines it.
3033
30341998-12-30 Jesse Thilo <jthilo@gnu.org>
3035
3036 * src/reader.c: Update copyright date.
3037
3038 * src/main.c:
3039 Ditch sprintf to statically-sized buffers in fatal/warn functions in
3040 favor of output directly to stderr (avoids buffer overruns).
3041
3042 * src/reader.c: Some checks for premature EOF.
3043
3044 * 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:
3045 Use prototypes if the compiler understands them.
3046
3047 * src/files.c: Honor TMPDIR on Unix hosts.
3048 Use prototypes if the compiler understands them.
3049
3050 * src/reader.c:
3051 Fix a couple of buffer overrun bugs.
3052 Use prototypes if the compiler understands them.
3053
3054 * src/system.h: Include unistd.h and ctype.h.
3055 Use #ifdef instead of #if for NLS symbols.
3056
30571998-12-30 Jesse Thilo <jthilo@gnu.org>
3058
3059 * doc/bison.texinfo:
3060 Delete comment "consider using @set for edition number, etc..." since
3061 we now are doing so.
3062
30631998-12-30 Jesse Thilo <jthilo@gnu.org>
3064
3065 * configure.in:
3066 Use prototypes if the compiler understands them.
3067
3068 * NEWS: Document 1.26 highlights.
3069
3070 * Makefile.am: Require Automake 1.3 or later.
3071
3072 * acconfig.h:
3073 Use prototypes if the compiler understands them.
3074
30751998-12-29 Jesse Thilo <jthilo@gnu.org>
3076
3077 * src/version.c:
3078 Use VERSION symbol from automake for version number.
3079
30801998-12-29 Jesse Thilo <jthilo@gnu.org>
3081
3082 * acconfig.h, configure.in, version.cin:
3083 Use VERSION symbol from automake for version number.
3084
30851998-11-28 Jesse Thilo <jthilo@gnu.org>
3086
3087 * Makefile.am:
3088 Distribute original version of simple parser (bison.s1), not built
3089 version (bison.simple).
3090
30911998-11-28 Jesse Thilo <jthilo@gnu.org>
3092
3093 * doc/bison.texinfo: Add info dir entry.
3094
3095 * doc/bison.texinfo:
3096 Let automake put version number into documentation.
3097
30981998-11-26 Jesse Thilo <jthilo@gnu.org>
3099
3100 * src/bison.cld, src/build.com, src/vmshlp.mar:
3101 Add non-RCS files from /gd/gnu/bison.
3102
31031998-11-26 Jesse Thilo <jthilo@gnu.org>
3104
3105 * doc/bison.1:
3106 Document the BISON_HAIRY and BISON_SIMPLE variables.
3107
31081998-11-25 Jesse Thilo <jthilo@gnu.org>
3109
3110 * src/version.c: Build version.c automatically.
3111
3112 * src/reader.c:
3113 Fix token numbering (used to start at 258, not 257).
3114
3115 * src/system.h: Include config.h.
3116
3117 * src/getargs.c: Update bug report address.
3118
3119 * src/alloca.c, src/getopt1.c, src/getopt.c, src/getopt.h:
3120 Get latest copies of alloca.c, getopt.c, getopt.h, getopt1.c from gnu.org.
3121
31221998-11-25 Jesse Thilo <jthilo@gnu.org>
3123
3124 * Makefile.am:
3125 Rename bison.simple to bison.s1 (bison.simple is then built from bison.s1).
3126
3127 * configure.in, version.cin:
3128 Build version.c automatically.
3129
3130 * AUTHORS: Add AUTHORS file.
3131
3132 * README: Update bug report address.
3133
3134 * bison.simple:
3135 Rename bison.simple to bison.s1 (bison.simple is then built from bison.s1).
3136
3137 * configure.in, Makefile.am, Makefile.in, stamp-h.in:
3138 Add automake stuff.
3139
31401998-11-25 Jesse Thilo <jthilo@gnu.org>
3141
3142 * doc/bison.texinfo: Clean up some formatting.
3143
31441998-05-05 Richard Stallman <rms@gnu.org>
3145
3146 * doc/bison.texinfo:
3147 Explain better why to make a pure parser.
3148
31491998-01-05 Richard Stallman <rms@gnu.org>
3150
3151 * src/files.c (openfiles):
3152 [_WIN32 && !__CYGWIN32__] Use TEMP or Temp to
3153 find a temporary directory, if possible. Do not unlink files while
3154 they are open.
3155
31561997-08-25 Richard Stallman <rms@gnu.org>
3157
3158 * src/reader.c (stack_offset;):
3159 Change some warni to warns.
3160
3161 * src/lex.c (literalchar): Use warns, not warni.
3162
31631997-06-28 Richard Stallman <rms@gnu.org>
3164
3165 * src/bison.s1: Add a Bison version comment.
3166
3167 * src/main.c (fatal, warn, berror):
3168 Use program_name.
3169
31701997-06-28 Richard Stallman <rms@gnu.org>
3171
3172 * Makefile.in (bison_version): New variable.
3173 (dist): Use that variable.
3174 (bison.s1): Substitute the Bison version into bison.simple.
3175
3176 * bison.simple: Add a Bison version comment.
3177
31781997-06-18 Richard Stallman <rms@gnu.org>
3179
3180 * src/main.c (fatal, warn, berror):
3181 Make error messages standard.
3182 (toomany): Improve error message text.
3183
3184 * 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:
3185 new.h renamed to alloc.h.
3186
31871997-06-18 Richard Stallman <rms@gnu.org>
3188
3189 * Makefile.in: new.h renamed to alloc.h.
3190
31911997-05-24 Richard Stallman <rms@gnu.org>
3192
3193 * src/lex.c (literalchar):
3194 Fix the code for escaping \, " and '.
3195
3196 (lex): Avoid trouble when there are many chars
3197 to discard in a char literal with just several chars in it.
3198
31991997-05-17 Richard Stallman <rms@gnu.org>
3200
3201 * src/bison.s1:
3202 Use malloc, if using alloca is troublesome.
3203 (YYSTACK_USE_ALLOCA): New flag macro.
3204 Define it for some systems and compilers.
3205 (YYSTACK_ALLOC): New macro.
3206 (yyparse): Use YYSTACK_ALLOC to allocate stack.
3207 If it was malloc'd, free it.
3208
32091997-05-17 Richard Stallman <rms@gnu.org>
3210
3211 * bison.simple:
3212 Use malloc, if using alloca is troublesome.
3213 (YYSTACK_USE_ALLOCA): New flag macro.
3214 Define it for some systems and compilers.
3215 (YYSTACK_ALLOC): New macro.
3216 (yyparse): Use YYSTACK_ALLOC to allocate stack.
3217 If it was malloc'd, free it.
3218
32191997-04-23 Richard Stallman <rms@gnu.org>
3220
3221 * src/bison.s1:
3222 (alloca) [__hpux]: Always define as __builtin_alloca.
3223
32241997-04-23 Richard Stallman <rms@gnu.org>
3225
3226 * bison.simple:
3227 (alloca) [__hpux]: Always define as __builtin_alloca.
3228
32291997-04-22 Richard Stallman <rms@gnu.org>
3230
3231 * src/bison.s1:
3232 [__hpux]: Include alloca.h (right for HPUX 10)
3233 instead of declaring alloca (right for HPUX 9).
3234
3235 * src/bison.s1 (__yy_memcpy):
3236 Declare arg `count' as unsigned int.
3237 (yyparse): Cast third arg to __yy_memcpy to unsigned int.
3238
32391997-04-22 Richard Stallman <rms@gnu.org>
3240
3241 * bison.simple:
3242 [__hpux]: Include alloca.h (right for HPUX 10)
3243 instead of declaring alloca (right for HPUX 9).
3244
3245 * bison.simple (__yy_memcpy):
3246 Declare arg `count' as unsigned int.
3247 (yyparse): Cast third arg to __yy_memcpy to unsigned int.
3248
32491997-01-03 Richard Stallman <rms@gnu.org>
3250
3251 * src/allocate.c: [__STDC__ or _MSC_VER]:
3252 Declare calloc and realloc to return void *.
3253
32541997-01-02 Richard Stallman <rms@gnu.org>
3255
3256 * src/system.h:
3257 [_MSC_VER]: Include stdlib.h and process.h.
3258 [_MSC_VER] (getpid): Define as macro--translate it to _getpid.
3259
3260 * src/main.c (main): Return FAILURE as a value.
3261 (printable_version): Declare arg as int, not char.
3262
32631997-01-02 Richard Stallman <rms@gnu.org>
3264
3265 * Makefile.in (dist):
3266 Explicitly check for symlinks, and copy them.
3267
32681996-12-19 Richard Stallman <rms@gnu.org>
3269
3270 * src/files.c:
3271 [_MSC_VER] (XPFILE, XPFILE1): Define, if not already defined.
3272
32731996-12-18 Paul Eggert <eggert@gnu.org>
3274
3275 * src/bison.s1 (yyparse):
3276 If __GNUC__ and YYPARSE_PARAM are both defined,
3277 declare yyparse to have a void * argument.
3278
32791996-12-18 Paul Eggert <eggert@gnu.org>
3280
3281 * bison.simple (yyparse):
3282 If __GNUC__ and YYPARSE_PARAM are both defined,
3283 declare yyparse to have a void * argument.
3284
32851996-12-17 Richard Stallman <rms@gnu.org>
3286
3287 * src/reduce.c (nbits): Add some casts.
3288
32891996-08-12 Richard Stallman <rms@gnu.org>
3290
3291 * src/bison.s1: Test _MSDOS as well as _MSDOS_.
3292
32931996-08-12 Richard Stallman <rms@gnu.org>
3294
3295 * bison.simple: Test _MSDOS as well as _MSDOS_.
3296
32971996-07-31 Richard Stallman <rms@gnu.org>
3298
3299 * src/bison.s1:
3300 [__sun && __i386]: Include alloca.h.
3301
33021996-07-31 Richard Stallman <rms@gnu.org>
3303
3304 * bison.simple:
3305 [__sun && __i386]: Include alloca.h.
3306
33071996-07-30 Richard Stallman <rms@gnu.org>
3308
3309 * src/bison.s1: Comment change.
3310
3311 * src/bison.s1: Test _MSDOS_, not MSDOS.
3312
33131996-07-30 Richard Stallman <rms@gnu.org>
3314
3315 * bison.simple: Comment change.
3316
3317 * bison.simple: Test _MSDOS_, not MSDOS.
3318
33191996-06-01 Richard Stallman <rms@gnu.org>
3320
3321 * 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:
3322 Insert `_' macro around many string constants.
3323
3324 * src/main.c:
3325 Insert `_' macro around many string constants.
3326
3327 (main): Call setlocale, bindtextdomain and textdomain.
3328
3329 * src/system.h: [HAVE_LOCALE_H]: Include locale.h.
3330 [! HAVE_LOCALE_H] (setlocale): Define as no-op.
3331 [ENABLE_NLS]: Include libintl.h.
3332 [ENABLE_NLS] (gettext): Define.
3333 [! ENABLE_NLS] (bintextdomain, textdomain, _): Consolation definitions.
3334 (N_, PACKAGE, LOCALEDIR): New macros.
3335
33361996-06-01 Richard Stallman <rms@gnu.org>
3337
3338 * POTFILES.in: New file.
3339
3340 * Makefile.in (allocate.o):
3341 Define target explicitly.
3342
3343 * Makefile.in (CFLAGS): Set to @CFLAGS@.
3344 (LDFLAGS): Set to @LDFLAGS@.
3345 (configure): Run autoconf only if preceding `cd' succeeds.
3346 (bison.s1): Redirect output to temporary file then move the
3347 temporary to the target, rather than redirecting directly to bison.s1.
3348 (clean): Remove config.status and config.log.
3349 (distclean): Don't remove config.status here.
3350
33511996-05-12 Richard Stallman <rms@gnu.org>
3352
3353 * src/bison.s1:
3354 (__yy_memcpy) [__cplusplus]: Reorder declarations of variables f and t.
3355
33561996-05-12 Richard Stallman <rms@gnu.org>
3357
3358 * bison.simple:
3359 (__yy_memcpy) [__cplusplus]: Reorder declarations of variables f and t.
3360
33611996-05-11 Richard Stallman <rms@gnu.org>
3362
3363 * src/bison.s1 (__yy_memcpy):
3364 Really reorder the args, as was supposedly done on Feb 14 1995.
3365 (yyparse): Calls changed accordingly.
3366
33671996-05-11 Richard Stallman <rms@gnu.org>
3368
3369 * Makefile.in (dist): Don't use $(srcdir).
3370
3371 * bison.simple (__yy_memcpy):
3372 Really reorder the args, as was supposedly done on Feb 14 1995.
3373 (yyparse): Calls changed accordingly.
3374
33751996-01-27 Richard Stallman <rms@gnu.org>
3376
3377 * src/output.c (output_rule_data):
3378 Test YYERROR_VERBOSE in the conditional
3379 around the definition of ttyname.
3380
33811995-12-29 Richard Stallman <rms@gnu.org>
3382
3383 * src/bison.s1:
3384 Fix line numbers in #line commands.
3385
33861995-12-29 Richard Stallman <rms@gnu.org>
3387
3388 * bison.simple:
3389 Fix line numbers in #line commands.
3390
33911995-12-27 Richard Stallman <rms@gnu.org>
3392
3393 * src/bison.s1 (YYPARSE_PARAM_DECL):
3394 In C++, make it always null.
3395 (YYPARSE_PARAM_ARG): New macro.
3396 (yyparse): Use YYPARSE_PARAM_ARG.
3397
33981995-12-27 Richard Stallman <rms@gnu.org>
3399
3400 * bison.simple (YYPARSE_PARAM_DECL):
3401 In C++, make it always null.
3402 (YYPARSE_PARAM_ARG): New macro.
3403 (yyparse): Use YYPARSE_PARAM_ARG.
3404
34051995-11-29 Richard Stallman <rms@gnu.org>
3406
3407 * doc/bison.texinfo:
3408 Describe literal string tokens, %raw, %no_lines, %token_table.
3409
34101995-11-29 Daniel Hagerty <hag@gnu.org>
3411
3412 * doc/bison.texinfo: Fixed update date
3413
34141995-10-16 Richard Stallman <rms@gnu.org>
3415
3416 * src/version.c: Version 1.25.
3417
34181995-10-16 Richard Stallman <rms@gnu.org>
3419
3420 * NEWS: *** empty log message ***
3421
34221995-10-16 Richard Stallman <rms@gnu.org>
3423
3424 * doc/bison.1, doc/bison.rnh:
3425 Add new options.
3426
34271995-10-15 Richard Stallman <rms@gnu.org>
3428
3429 * src/vmsgetargs.c, src/getargs.c:
3430 Added -n, -k, and -raw switches.
3431 (noparserflag, toknumflag, rawtoknumflag): New variables.
3432
3433 * src/symtab.h (SALIAS):
3434 New #define for adding aliases to %token.
3435 (struct bucket): Added `alias' field.
3436
3437 * src/reduce.c (reduce_grammar):
3438 Revise error message.
3439 (print_notices): Remove final `.' from error message.
3440
3441 * src/reader.c (reader_output_yylsp):
3442 New function.
3443 (readgram): Use `#if 0' around code that accepted %command
3444 inside grammar rules: The documentation doesn't allow it,
3445 and it will fail since the %command processors scan for the next %.
3446 (parse_token_decl): Extended the %token
3447 declaration to allow a multi-character symbol as an alias.
3448 (parse_thong_decl): New function.
3449 (read_declarations): Added %thong declarations.
3450 (read_declarations): Handle NOOP to deal with allowing
3451 % declarations as another means to specify the flags.
3452 (readgram): Allow %prec prior to semantics embedded in a rule.
3453 (skip_to_char, read_declarations, copy_definition)
3454 (parse_token_decl, parse_start_decl, parse_type_decl)
3455 (parse_assoc_decl, parse_union_decl, parse_expect_decl)
3456 (get_type_name, copy_guard, copy_action, readgram)
3457 (get_type, packsymbols): Revised most error messages.
3458 Changed `fatal' to `warnxxx' to avoid aborting for error.
3459 Revised and use multiple warnxxx functions to avoid using VARARGS1.
3460 (read_declarations): Improve the error message for
3461 an invalid character. Do not abort.
3462 (read_declarations, copy_guard, copy_action): Use
3463 printable_version to avoid unprintable characters in printed output.
3464 (parse_expect_decl): Error if argument to %expect exceeds 10 digits.
3465 (parse_token_decl, parse_assoc_decl, parse_type_decl, get_type):
3466 Allow the type of a non-terminal can be given
3467 more than once, as long as all specifications give the same type.
3468
3469 * src/output.c:
3470 (output_headers, output_trailers, output, output_gram)
3471 (output_rule_data): Implement noparserflag variable.
3472 Implement toknumflag variable.
3473 (output): Call reader_output_yylsp to output LTYPESTR.
3474
3475 * src/main.c (main):
3476 If reader sees an error, don't process the grammar.
3477 (fatals): Updated to not use VARARGS1.
3478 (printable_version, int_to_string, warn, warni, warns, warnss)
3479 (warnsss): New error reporting functions. Avoid abort for error.
3480
3481 * src/lex.h:
3482 Added THONG and NOOP for alias processing.
3483 Added SETOPT for the new code that allows setting options with %flags.
3484
3485 * src/lex.c:
3486 Include getopt.h. Add some extern decls.
3487 (safegetc): New function to deal with EOF gracefully.
3488 (literalchar); new function to deal with reading \ escapes.
3489 (lex): Use literalchar.
3490 (lex): Implemented "..." tokens.
3491 (literalchar, lex, parse_percent_token): Made tokenbuffer
3492 always contain the token. This includes growing the token
3493 buffer while reading an integer.
3494 (parse_percent_token): Replaced if-else statement with percent_table.
3495 (parse_percent_token): Added % declarations as another
3496 way to specify the flags -n, -l, and -r. Also added hooks for
3497 -d, -k, -y, -v, -t, -p, -b, -o, but implementation requires
3498 major changes to files.c.
3499 (lex) Retain in the incoming stream a character following
3500 an incorrect '/'.
3501 (skip_white_space, lex): Revised most error messages
3502 and changed fatal to warn to avoid aborting.
3503 (percent_table): Added %thong declarations.
3504
3505 * src/gram.h: Comment changes.
3506
3507 * src/files.c (openfiles, open_extra_files, done):
3508 Add faction flag
3509 and actfile file. Handle noparserflag. Both for -n switch.
3510
3511 * src/conflicts.c (resolve_sr_conflict):
3512 Remove use of alloca.
3513
35141995-06-01 Jim Meyering <meyering@gnu.org>
3515
3516 * doc/bison.texinfo: *** empty log message ***
3517
35181995-05-06 Richard Stallman <rms@gnu.org>
3519
3520 * src/bison.s1: Comment change.
3521
35221995-05-06 Richard Stallman <rms@gnu.org>
3523
3524 * bison.simple: Comment change.
3525
35261995-05-03 Richard Stallman <rms@gnu.org>
3527
3528 * src/version.c: Version now 1.24.
3529
3530 * src/bison.s1: Change distribution terms.
3531
3532 * src/version.c: Version now 1.23.
3533
35341995-05-03 Richard Stallman <rms@gnu.org>
3535
3536 * doc/bison.texinfo:
3537 Rewrite "Conditions for Using Bison".
3538 Update version to 1.24.
3539
35401995-05-03 Richard Stallman <rms@gnu.org>
3541
3542 * bison.simple: Change distribution terms.
3543
35441995-02-23 Richard Stallman <rms@gnu.org>
3545
3546 * src/files.c: Test __VMS_POSIX as well as VMS.
3547
35481995-02-14 Jim Meyering <meyering@gnu.org>
3549
3550 * src/bison.s1 (__yy_memcpy):
3551 Renamed from __yy_bcopy to avoid
3552 confusion. Reverse FROM and TO arguments to be consistent with
3553 those of memcpy.
3554
35551995-02-14 Jim Meyering <meyering@gnu.org>
3556
3557 * bison.simple (__yy_memcpy):
3558 Renamed from __yy_bcopy to avoid
3559 confusion. Reverse FROM and TO arguments to be consistent with
3560 those of memcpy.
3561
35621994-11-10 David J. MacKenzie <djm@gnu.org>
3563
3564 * NEWS: reformat
3565
3566 * NEWS: New file.
3567
3568 * Makefile.in (DISTFILES): Include NEWS.
3569
3570 * Makefile.in (DISTFILES):
3571 Include install-sh, not install.sh.
3572
3573 * configure.in: Update to Autoconf v2 macro names.
3574
35751994-10-05 David J. MacKenzie <djm@gnu.org>
3576
3577 * Makefile.in: fix typo
3578
3579 * Makefile.in (prefix, exec_prefix):
3580 Let configure set them.
3581
35821994-09-28 David J. MacKenzie <djm@gnu.org>
3583
3584 * Makefile.in: Set datadir to $(prefix)/share.
3585
35861994-09-15 Richard Stallman <rms@gnu.org>
3587
3588 * src/bison.s1:
3589 Update copyright notice and GPL version.
3590
35911994-09-15 Richard Stallman <rms@gnu.org>
3592
3593 * bison.simple:
3594 Update copyright notice and GPL version.
3595
35961994-07-12 Richard Stallman <rms@gnu.org>
3597
3598 * src/reduce.c, src/reader.c:
3599 entered into RCS
3600
36011994-05-05 David J. MacKenzie <djm@gnu.org>
3602
3603 * Makefile.in: entered into RCS
3604
36051994-03-26 Richard Stallman <rms@gnu.org>
3606
3607 * src/bison.s1: entered into RCS
3608
36091994-03-26 Richard Stallman <rms@gnu.org>
3610
3611 * bison.simple: entered into RCS
3612
36131994-03-25 Richard Stallman <rms@gnu.org>
3614
3615 * src/main.c: entered into RCS
3616
36171994-03-24 Richard Stallman <rms@gnu.org>
3618
3619 * src/conflicts.c: entered into RCS
3620
36211994-01-02 Richard Stallman <rms@gnu.org>
3622
3623 * Makefile.in: *** empty log message ***
3624
36251993-11-21 Richard Stallman <rms@gnu.org>
3626
3627 * src/bison.s1: *** empty log message ***
3628
36291993-11-21 Richard Stallman <rms@gnu.org>
3630
3631 * doc/bison.texinfo: entered into RCS
3632
3633 * doc/bison.texinfo: *** empty log message ***
3634
36351993-11-21 Richard Stallman <rms@gnu.org>
3636
3637 * bison.simple: *** empty log message ***
3638
36391993-10-25 David J. MacKenzie <djm@gnu.org>
3640
3641 * doc/bison.texinfo: *** empty log message ***
3642
36431993-10-19 Richard Stallman <rms@gnu.org>
3644
3645 * src/bison.s1: *** empty log message ***
3646
36471993-10-19 Richard Stallman <rms@gnu.org>
3648
3649 * bison.simple: *** empty log message ***
3650
36511993-10-14 Richard Stallman <rms@gnu.org>
3652
3653 * src/bison.s1: *** empty log message ***
3654
36551993-10-14 Richard Stallman <rms@gnu.org>
3656
3657 * bison.simple: *** empty log message ***
3658
36591993-09-14 David J. MacKenzie <djm@gnu.org>
3660
3661 * doc/bison.texinfo: *** empty log message ***
3662
36631993-09-13 Noah Friedman <friedman@gnu.org>
3664
3665 * Makefile.in: *** empty log message ***
3666
36671993-09-10 Richard Stallman <rms@gnu.org>
3668
3669 * src/conflicts.c: *** empty log message ***
3670
3671 * src/system.h: entered into RCS
3672
36731993-09-10 Richard Stallman <rms@gnu.org>
3674
3675 * doc/bison.1: entered into RCS
3676
36771993-09-06 Noah Friedman <friedman@gnu.org>
3678
3679 * src/version.c: entered into RCS
3680
36811993-09-06 Noah Friedman <friedman@gnu.org>
3682
3683 * Makefile.in: *** empty log message ***
3684
36851993-07-30 David J. MacKenzie <djm@gnu.org>
3686
3687 * Makefile.in: *** empty log message ***
3688
36891993-07-24 Richard Stallman <rms@gnu.org>
3690
3691 * src/bison.s1: *** empty log message ***
3692
36931993-07-24 Richard Stallman <rms@gnu.org>
3694
3695 * bison.simple: *** empty log message ***
3696
36971993-07-08 David J. MacKenzie <djm@gnu.org>
3698
3699 * Makefile.in: *** empty log message ***
3700
37011993-07-04 Richard Stallman <rms@gnu.org>
3702
3703 * src/bison.s1: *** empty log message ***
3704
37051993-07-04 Richard Stallman <rms@gnu.org>
3706
3707 * bison.simple: *** empty log message ***
3708
37091993-06-26 David J. MacKenzie <djm@gnu.org>
3710
3711 * src/getargs.c: entered into RCS
3712
37131993-06-26 David J. MacKenzie <djm@gnu.org>
3714
3715 * doc/bison.texinfo: *** empty log message ***
3716
3717 * doc/bison.1: New file.
3718
37191993-06-25 Richard Stallman <rms@gnu.org>
3720
3721 * src/getargs.c: New file.
3722
37231993-06-16 Richard Stallman <rms@gnu.org>
3724
3725 * src/bison.s1: *** empty log message ***
3726
37271993-06-16 Richard Stallman <rms@gnu.org>
3728
3729 * bison.simple: *** empty log message ***
3730
37311993-06-03 Richard Stallman <rms@gnu.org>
3732
3733 * src/bison.s1: New file.
3734
37351993-06-03 Richard Stallman <rms@gnu.org>
3736
3737 * doc/bison.texinfo: *** empty log message ***
3738
37391993-06-03 Richard Stallman <rms@gnu.org>
3740
3741 * bison.simple: New file.
3742
37431993-05-19 Richard Stallman <rms@gnu.org>
3744
3745 * doc/bison.texinfo: New file.
3746
37471993-05-07 Noah Friedman <friedman@gnu.org>
3748
3749 * Makefile.in: *** empty log message ***
3750
37511993-04-28 Noah Friedman <friedman@gnu.org>
3752
3753 * src/reader.c: *** empty log message ***
3754
37551993-04-23 Noah Friedman <friedman@gnu.org>
3756
3757 * src/alloc.h: entered into RCS
3758
37591993-04-20 David J. MacKenzie <djm@gnu.org>
3760
3761 * src/version.c: *** empty log message ***
3762
3763 * src/files.c, src/allocate.c:
3764 entered into RCS
3765
3766 * src/reader.c: *** empty log message ***
3767
3768 * src/lex.c: entered into RCS
3769
3770 * src/conflicts.c: New file.
3771
3772 * src/symtab.c: entered into RCS
3773
3774 * src/alloc.h: New file.
3775
3776 * src/LR0.c: entered into RCS
3777
37781993-04-18 Noah Friedman <friedman@gnu.org>
3779
3780 * src/reader.c: New file.
3781
3782 * src/version.c: *** empty log message ***
3783
37841993-04-18 Noah Friedman <friedman@gnu.org>
3785
3786 * Makefile.in: *** empty log message ***
3787
37881993-04-17 Noah Friedman <friedman@gnu.org>
3789
3790 * Makefile.in: *** empty log message ***
3791
37921993-04-15 Richard Stallman <rms@gnu.org>
3793
3794 * src/main.c, src/files.c:
3795 New file.
3796
37971993-04-15 Noah Friedman <friedman@gnu.org>
3798
3799 * configure.in: entered into RCS
3800
3801 * configure.in: *** empty log message ***
3802
3803 * configure.in: New file.
3804
38051993-04-14 Richard Stallman <rms@gnu.org>
3806
3807 * Makefile.in: New file.
3808
38091993-04-13 Richard Stallman <rms@gnu.org>
3810
3811 * src/version.c: New file.
3812
38131993-03-25 Richard Stallman <rms@gnu.org>
3814
3815 * src/output.c: entered into RCS
3816
38171992-09-25 Richard Stallman <rms@gnu.org>
3818
3819 * configure.bat: entered into RCS
3820
38211992-06-22 Richard Stallman <rms@gnu.org>
3822
3823 * src/vmsgetargs.c: entered into RCS
3824
38251992-06-22 Richard Stallman <rms@gnu.org>
3826
3827 * doc/bison.rnh: entered into RCS
3828
38291992-04-20 David J. MacKenzie <djm@gnu.org>
3830
3831 * README: entered into RCS
3832
38331992-01-22 Richard Stallman <rms@gnu.org>
3834
3835 * src/machine.h: entered into RCS
3836
38371991-12-21 Richard Stallman <rms@gnu.org>
3838
3839 * src/lalr.c, src/closure.c:
3840 entered into RCS
3841
38421991-12-20 Richard Stallman <rms@gnu.org>
3843
3844 * src/state.h: entered into RCS
3845
38461991-12-18 Richard Stallman <rms@gnu.org>
3847
3848 * src/print.c, src/nullable.c, src/derives.c:
3849 entered into RCS
3850
38511991-11-03 David J. MacKenzie <djm@gnu.org>
3852
3853 * src/warshall.c, src/types.h, src/symtab.h, src/lex.h, src/gram.c, src/gram.h, src/files.h:
3854 entered into RCS
3855
38561988-09-09 Richard Stallman <rms@gnu.org>
3857
3858 * src/bison.hairy: entered into RCS
3859
38601987-12-16 Richard Stallman <rms@gnu.org>
3861
3862 * REFERENCES: entered into RCS