]> git.saurik.com Git - bison.git/blame_incremental - ChangeLog
* src/files.c: Include error.h.
[bison.git] / ChangeLog
... / ...
CommitLineData
12001-11-27 Akim Demaille <akim@epita.fr>
2
3 * src/files.c: Include error.h.
4 Reported by Hans Aberg.
5
62001-11-26 Marc Autret <autret_m@epita.fr>
7
8 * src/reader.c (parse_include_decl): New, Not yet implemented.
9 (read_declarations): Add case tok_include.
10 * src/getargs.h (include): Add its extern definition.
11 * src/getargs.c (include): New const char *.
12 (getargs): Add case '-I'.
13 * src/options.c (option_table): Add include as command line and
14 percent option.
15 * src/lex.h (token_t): Add tok_include.
16
172001-11-26 Akim Demaille <akim@epita.fr>
18
19 * src/reader.c (readgram): Make sure rules for mid-rule actions
20 have a lineno equal to that of their host rule.
21 Reported by Hans Aberg.
22 * tests/regression.at (Rule Line Numbers): New.
23
242001-11-26 Akim Demaille <akim@epita.fr>
25
26 * src/LR0.c (allocate_itemsets): kernel_size contains ints, not
27 size_ts.
28
292001-11-26 Akim Demaille <akim@epita.fr>
30
31 * src/complain.c, src/complain.h (error): Remove, provided by
32 lib/error.[ch].
33
342001-11-26 Akim Demaille <akim@epita.fr>
35
36 * src/reader.c (read_declarations): Don't abort on tok_illegal,
37 issue an error message.
38 * tests/regression.at (Invalid %directive): New.
39 Reported by Hans Aberg.
40
412001-11-26 Akim Demaille <akim@epita.fr>
42
43 * configure.in: Invoke AC_FUNC_OBSTACK and AC_FUNC_ERROR_AT_LINE.
44 * lib/Makefile.am (libbison_a_SOURCES): Adjust.
45
462001-11-26 Akim Demaille <akim@epita.fr>
47
48 * src/conflicts.c (conflicts_print): Don't complain at all when
49 there are no reduce/reduce conflicts, and as many shift/reduce
50 conflicts as expected.
51 * tests/regression.at (%expect right): Adjust.
52
532001-11-23 Akim Demaille <akim@epita.fr>
54
55 * lib/alloca.c: Update, from fileutils.
56
572001-11-23 Akim Demaille <akim@epita.fr>
58
59 * lib/Makefile.am (libbison_a_LIBADD): Add @ALLOCA@.
60
612001-11-23 Akim Demaille <akim@epita.fr>
62
63 * src/system.h: Include alloca.h.
64 * src/main.c (main) [C_ALLOCA]: Call alloca (0).
65
662001-11-23 Akim Demaille <akim@epita.fr>
67
68 * src/print_graph.c (print_actions): Remove `rule', unused.
69 * src/LR0.c (kernel_size): Contain `int' instead of `size_t' to
70 pacify GCC's signed < unsigned warnings.
71 * src/closure.c (itemsetsize): Likewise.
72 * src/reader.c (symbol_list_new): Static.
73
742001-11-23 Akim Demaille <akim@epita.fr>
75
76 Attaching lineno to buckets is stupid, since only one copy of each
77 symbol is kept, only the line of the first occurrence is kept too.
78
79 * src/symtab.h, src/symtab.c (bucket): Remove the line member.
80 * src/reader.c (rline_allocated): Remove, unused.
81 (symbol_list): Have a `line' member.
82 (symbol_list_new): New.
83 (readgram): Use it.
84 * src/print.c (print_grammar): Output the rule line numbers.
85 * tests/regression.at (Solved SR Conflicts)
86 (Unresolved SR Conflicts): Adjust.
87 Reported by Hans Aberg.
88
892001-11-22 Marc Autret <autret_m@epita.fr>
90
91 * src/bison.simple [YYERROR_VERBOSE]: Force its value to be 1 or 0.
92
932001-11-22 Marc Autret <autret_m@epita.fr>
94
95 * src/muscle_tab.c (muscle_init): Remove initialization of
96 skeleton muscle.
97 * src/output.c (output_master_parser): Do it here.
98
992001-11-20 Akim Demaille <akim@epita.fr>
100
101 * po/sv.po: New.
102 * configure.in (ALL_LINGUAS): Adjust.
103 * po/POTFILE.in: Remove `nullable.c' and `derives.c' which no
104 longer contains strings to translate.
105
1062001-11-19 Akim Demaille <akim@epita.fr>
107
108 * src/conflicts.c (conflicts_print): Add a missing \n.
109
1102001-11-19 Akim Demaille <akim@epita.fr>
111
112 * src/nullable.c (nullable_print): New.
113 (set_nullable): Call it when tracing.
114 Better locality of variables.
115
1162001-11-19 Akim Demaille <akim@epita.fr>
117
118 * src/print.c (print_actions): Better locality of variables.
119
1202001-11-19 Akim Demaille <akim@epita.fr>
121
122 * src/derives.c (print_derives): Fix and enrich.
123 * src/closure.c (print_fderives): Likewise.
124
1252001-11-19 Akim Demaille <akim@epita.fr>
126
127 * src/closure.c (itemsetend): Remove, replaced with...
128 (itemsetsize): new.
129
1302001-11-19 Akim Demaille <akim@epita.fr>
131
132 * src/LR0.c (kernel_end): Remove, replaced with...
133 (kernel_size): new.
134
1352001-11-19 Akim Demaille <akim@epita.fr>
136
137 * src/conflicts.c (set_conflicts): Use arrays instead of pointers
138 to clarify.
139
1402001-11-19 Akim Demaille <akim@epita.fr>
141
142 * src/closure.c (closure): Use arrays instead of pointers to clarify.
143
1442001-11-19 Akim Demaille <akim@epita.fr>
145
146 * src/closure.c, src/derives.c, src/nullable.c: Adjust various
147 trace messages.
148 * src/LR0.c: Likewise.
149 (allocate_itemsets): Use arrays instead of pointers to clarify.
150
1512001-11-19 Akim Demaille <akim@epita.fr>
152
153 * src/getargs.c (statistics_flag): Replace with...
154 (trace_flag): New.
155 (longopts): Accept --trace instead of --statistics.
156 * src/getargs.h, src/options.c: Adjust.
157 * src/LR0.c, src/closure.c, src/derives.c, src/nullable.c,
158 * src/reduce.c: Use trace_flags instead of the CPP conditional TRACE.
159
1602001-11-19 Akim Demaille <akim@epita.fr>
161
162 * src/LR0.c (new_itemsets, get_state): Use more arrays and fewer
163 pointers to clarify the code.
164 (save_reductions, save_shifts): Factor common parts of alternatives.
165
1662001-11-19 Akim Demaille <akim@epita.fr>
167
168 * src/LR0.c (new_state, get_state): Complete TRACE code.
169 * src/closure.c: Include `reader.h' to get `tags', needed by the
170 trace code.
171 Rename the conditional DEBUG as TRACE.
172 Output consistently TRACEs to stderr, not stdout.
173 * src/derives.c: Likewise.
174 * src/reduce.c: (inaccessable_symbols): Using if is better style
175 than goto.
176 Use `#if TRACE' instead of `#if 0' for tracing code.
177
1782001-11-19 Akim Demaille <akim@epita.fr>
179
180 * src/system.h (LIST_FREE, shortcpy): New.
181 * src/LR0.c: Use them.
182 * src/output.c (free_itemsets, free_reductions, free_shifts):
183 Remove, replaced by LIST_FREE.
184
1852001-11-19 Akim Demaille <akim@epita.fr>
186
187 * src/state.h (CORE_ALLOC, SHIFTS_ALLOC, ERRS_ALLOC)
188 (REDUCTIONS_ALLOC): New.
189 * src/LR0.c, src/conflicts.c: Use them to de-obfuscate memory
190 allocation.
191
1922001-11-19 Akim Demaille <akim@epita.fr>
193
194 * src/LR0.c (new_state): Complete trace code.
195 * src/nullable.c (set_nullable): Don't translate traces.
196
1972001-11-19 Akim Demaille <akim@epita.fr>
198
199 * src/print_graph.c (print_core): Better locality of variables.
200 * src/print.c (print_core): Likewise.
201
2022001-11-19 Akim Demaille <akim@epita.fr>
203
204 * src/vcg.c: You do the output, so you are responsible of the
205 handling of VCG syntax, in particular: use quotearg.
206 * src/print_graph.c: Don't.
207 (print_actions): Don't output the actions as part of the nodes,
208 since that's the job of the edges.
209 (print_state): Don't output by hand: fill the node description,
210 and ask for its output.
211
2122001-11-19 Akim Demaille <akim@epita.fr>
213
214 * src/bison.simple (yyparse): When verbosely reporting an error,
215 no longer put additional quotes around token names.
216 * tests/calc.at: Adjust.
217
2182001-11-19 Akim Demaille <akim@epita.fr>
219
220 * src/symtab.h, src/symtab.c: `line' is a new member of `bucket'.
221 * src/reader.c (record_rule_lines, rline, rline_allocated): Remove.
222 * src/output.c: Adjust.
223
2242001-11-19 Akim Demaille <akim@epita.fr>
225
226 * src/gram.h (rprec, rprecsym, rassoc): Remove, now part of...
227 (rule_t): this.
228 * src/conflicts.c, src/reader.c, src/reduce.c: Adjust.
229
2302001-11-19 Akim Demaille <akim@epita.fr>
231
232 * src/gram.h (rule_t): New.
233 (rule_table): New.
234 (rrhs, rlhs): Remove, part of state_t.
235 * src/print_graph.c, src/closure.c, src/conflicts.c, src/derives.c,
236 * src/lalr.c, src/nullable.c, src/output.c, src/print.c,
237 * src/reader.c, src/reduce.c: Adjust.
238
2392001-11-19 Akim Demaille <akim@epita.fr>
240
241 * src/reader.c (symbols_output): New, extracted from...
242 (packsymbols): Here.
243 (reader): Call it.
244
2452001-11-19 Akim Demaille <akim@epita.fr>
246
247 * src/lalr.c (set_maxrhs, maxrhs): Remove, replaced with...
248 (maxrhs): this new function.
249
2502001-11-19 Akim Demaille <akim@epita.fr>
251
252 * src/lalr.c (F): New macro to access the variable F.
253 Adjust.
254
2552001-11-19 Akim Demaille <akim@epita.fr>
256
257 * src/lalr.h (LA): New macro to access the variable LA.
258 * src/output.c, src/lalr.c, src/print_graph.c, src/conflicts.c:
259 * src/lalr.c: Adjust.
260
2612001-11-19 Akim Demaille <akim@epita.fr>
262
263 * src/lalr.c (initialize_LA): Only initialize LA. Let...
264 (set_state_table): handle the `lookaheads' members.
265
2662001-11-19 Akim Demaille <akim@epita.fr>
267
268 * src/lalr.h (lookaheads): Removed array, whose contents is now
269 a member of...
270 (state_t): this structure.
271 * src/output.c, src/lalr.c, src/print_graph.c, src/conflicts.c:
272 Adjust.
273
2742001-11-19 Akim Demaille <akim@epita.fr>
275
276 * src/lalr.h (consistent): Removed array, whose contents is now
277 a member of...
278 (state_t): this structure.
279 * src/output.c, src/lalr.c, src/print_graph.c, src/conflicts.c:
280 Adjust.
281
2822001-11-19 Akim Demaille <akim@epita.fr>
283
284 * src/lalr.h (reduction_table, shift_table): Removed arrays, whose
285 contents are now members of...
286 (state_t): this structure.
287 * src/output.c, src/lalr.c, src/print_graph.c, src/conflicts.c:
288 Adjust.
289
2902001-11-19 Akim Demaille <akim@epita.fr>
291
292 * src/lalr.h (state_t): New.
293 (state_table): Be a state_t * instead of a core **.
294 (accessing_symbol): Remove, part of state_t.
295 * src/lalr.c: Adjust.
296 (set_accessing_symbol): Merge into...
297 (set_state_table): this.
298 * src/print_graph.c, src/conflicts.c: Adjust.
299
3002001-11-14 Akim Demaille <akim@epita.fr>
301
302 * tests/calc.at, tests/output.at, tests/regression.at,
303 * tests/testsuite.at, tests/torture.at: Rely on Autotest 2.52g:
304 now the tests are run in private dirs, therefore AC_CLEANUP and
305 family can be simplified to 0-ary.
306 * tests/atlocal.in: Now that we run `elsewhere' than in tests/,
307 use abs. path to find config.h.
308 * tests/calc.at (AT_CHECK_CALC): Don't try to check the compiler's
309 stderr, there can be way too much random noise.
310 Instead pass -Werror to GCC and rely on the exit status.
311 Reported by Wolfram Wagner.
312
3132001-11-14 Akim Demaille <akim@epita.fr>
314
315 * src/bison.simple (yyparse): Let yyls1, yyss1 and yyvs1 be
316 defined only if yyoverflow is defined, to avoid `warning: unused
317 variable `yyvs1''.
318 Reported by The Test Suite.
319
3202001-11-14 Akim Demaille <akim@epita.fr>
321
322 * src/print.c: Include reduce.h.
323 Reported by Hans Aberg.
324
3252001-11-14 Akim Demaille <akim@epita.fr>
326
327 * src/lex.c, src/lex.h (token_buffer, unlexed_token_buffer):
328 Revert a previous patch: these are really const.
329 * src/conflicts.c (conflict_report): Additional useless pair of
330 braces to pacify GCC's warnings for `if () if () {} else {}'.
331 * src/lex.c (parse_percent_token): Replace equal_offset with
332 arg_offset.
333 arg is const.
334 Be sure to strdup `arg' when used, since there is no reason for
335 token_buffer not to change.
336
3372001-11-14 Akim Demaille <akim@epita.fr>
338
339 * src/system.h (EXIT_SUCCESS, EXIT_FAILURE): Ensure a proper
340 definition.
341 * src/main.c (main): Use them.
342 Suggested by Hans Aberg.
343
3442001-11-12 Akim Demaille <akim@epita.fr>
345
346 * src/system.h (ngettext): Now that we use ngettext, be sure to
347 provide a default definition when NLS are not used.
348
3492001-11-12 Akim Demaille <akim@epita.fr>
350
351 * doc/bison.texinfo: Use `$' as shell prompt, not `%'.
352 Use @kbd to denote user input.
353 (Language and Grammar): ANSIfy the example.
354 Adjust its layout for info/notinfo.
355 (Location Tracking Calc): Output error messages to stderr.
356 Output locations in a more GNUtically correct way.
357 Fix a couple of Englishos.
358 Adjust @group/@end group pairs.
359
3602001-11-12 Akim Demaille <akim@epita.fr>
361
362 %expext was not functioning at all.
363
364 * src/conflicts.c (expected_conflicts): Set to -1.
365 (conflict_report): Use ngettext.
366 (conflicts_print): Check %expect and make its violation an error.
367 * doc/bison.texinfo (Expect Decl): Adjust.
368 * configure.in (AM_GNU_GETTEXT): Ask for ngettext.
369 * tests/regression.at (%expect not enough, %expect right)
370 (%expect too much): New.
371
3722001-11-12 Akim Demaille <akim@epita.fr>
373
374 * tests/regression.at (Conflicts): Rename as...
375 (Unresolved SR Conflicts): this.
376 (Solved SR Conflicts): New.
377
3782001-11-12 Akim Demaille <akim@epita.fr>
379
380 * src/reduce.c (print_results): Rename as...
381 (reduce_output): This.
382 Output to OUT, passed as argument, instead of output_obstack.
383 (dump_grammar): Likewise.
384 (reduce_free): New.
385 Also free V1.
386 (reduce_grammar): No longer call reduce_output, since...
387 * src/print.c (print_results): do it.
388 * src/main.c (main): Call reduce_free;
389
3902001-11-12 Akim Demaille <akim@epita.fr>
391
392 * src/conflicts.c (print_reductions): Accept OUT as argument.
393 Output to it, not to output_obstack.
394 * src/print.c (print_actions): Adjust.
395
3962001-11-12 Akim Demaille <akim@epita.fr>
397
398 * src/conflicts.c (count_sr_conflicts, count_rr_conflicts): Return
399 the result instead of using...
400 (src_total, rrc_total, src_count, rrc_count): Remove.
401 (any_conflicts): Remove.
402 (print_conflicts): Split into...
403 (conflicts_print, conflicts_output): New.
404 * src/conflicts.h: Adjust.
405 * src/main.c (main): Invoke both conflicts_output and conflicts_print.
406 * src/print.c (print_grammar): Issue `\n' between two rules.
407 * tests/regression.at (Conflicts): New.
408 Reported by Tom Lane.
409
4102001-11-12 Akim Demaille <akim@epita.fr>
411
412 * tests/regression.at (Invalid input): Remove, duplicate with
413 ``Invalid input: 1''.
414
4152001-11-12 Akim Demaille <akim@epita.fr>
416
417 * tests/torture.at (AT_DATA_STACK_TORTURE)
418 (Exploding the Stack Size with Alloca)
419 (Exploding the Stack Size with Malloc): New.
420
4212001-11-12 Akim Demaille <akim@epita.fr>
422
423 * src/bison.simple (YYSTACK_REALLOC): New.
424 (yyparse) [!yyoverflow]: Use it and free the old stack.
425 Reported by Per Allansson.
426
4272001-11-12 Pascal Bart <pascal.bart@epita.fr>
428
429 * src/bison.simple: Define type yystype instead of YYSTYPE, and
430 define CPP macro, which substitute YYSTYPE by yystype.
431 * src/reader.c (parse_union_decl): Output yystype/YYSTYPE as we do
432 with yyltype/YYLTYPE. This allows inclusion of the generated
433 header within the parser if the compiler, such as GGC, accepts
434 multiple equivalent #defines.
435 From Akim.
436
4372001-11-05 Akim Demaille <akim@epita.fr>
438
439 * src/reader.c (symbols_output): New, extracted from...
440 (packsymbols): here.
441 (reader): Adjust.
442
4432001-11-05 Akim Demaille <akim@epita.fr>
444
445 * src/lex.c (parse_percent_token): s/quotearg/quote/.
446
4472001-11-05 Akim Demaille <akim@epita.fr>
448
449 * tests/regression.at (AT_TEST_CPP_GUARD_H): Adjust the clean up
450 pattern.
451
4522001-11-05 Akim Demaille <akim@epita.fr>
453
454 * src/options.h (struct option_table_struct): set_flags is void*.
455 * src/options.c (longopts): Support `--output' and `%output'.
456 (usage): Adjust.
457 * src/lex.h (tok_setopt): Remove, replaced with...
458 (tok_intopt, tok_stropt): these new guys.
459 * src/lex.c (getopt.h): Not needed.
460 (token_buffer, unlexed_token_buffer): Not const.
461 (percent_table): Promote `-' over `_' in directive names.
462 Active `%name-prefix', `file-prefix', and `output'.
463 (parse_percent_token): Accept possible arguments to directives.
464 Promote `-' over `_' in directive names.
465
4662001-11-04 Akim Demaille <akim@epita.fr>
467
468 * doc/bison.texinfo (Decl Summary): Split the list into
469 `directives for grammars' and `directives for bison'.
470 Sort'em.
471 Add description of `%name-prefix', `file-prefix', and `output'.
472 Promote `-' over `_' in directive names.
473 (Bison Options): s/%locactions/%locations/. Nice Freudian slip.
474 Simplify the description of `--name-prefix'.
475 Promote `-' over `_' in directive names.
476 Promote `--output' over `--output-file'.
477 Fix the description of `--defines'.
478 * tests/output.at: Exercise %file-prefix and %output.
479
4802001-11-02 Akim Demaille <akim@epita.fr>
481
482 * doc/refcard.tex: Update.
483
4842001-11-02 Akim Demaille <akim@epita.fr>
485
486 * src/symtab.h (SUNDEF): New.
487 * src/symtab.c (bucket_new): Init user_token_number to SUNDEF to
488 stand for `uninitialized', instead of 0.
489 * src/reader.c (packsymbols, parse_thong_decl): Adjust.
490 * src/lex.c (lex): Adjust.
491
492 * tests/calc.at (_AT_DATA_CALC_Y): Declare a token for EOF.
493 Number it 0.
494 Let yylex return it instead of a plain 0.
495 Reported by Dick Streefland.
496
4972001-11-02 Akim Demaille <akim@epita.fr>
498
499 * tests/regression.at (Mixing %token styles): New test.
500
5012001-11-02 Akim Demaille <akim@epita.fr>
502
503 * src/reader.c (parse_thong_decl): Formatting changes.
504 (token_translations_init): New, extracted from...
505 (packsymbols): Here.
506 Adjust.
507
5082001-11-01 Akim Demaille <akim@epita.fr>
509
510 * tests/regression.at (AT_TEST_CPP_GUARD_H): New.
511 Check that `9foo.y' produces correct cpp guards.
512 * src/files.c (compute_header_macro): Prepend `BISON_' to CPP
513 guards.
514 Reported by Wwp.
515
5162001-11-01 Akim Demaille <akim@epita.fr>
517
518 * tests/regression.at (Invalid input: 2): New.
519 * src/lex.c (unlexed_token_buffer): New.
520 (lex, unlex): Adjust: when unlexing, be sure to save token_buffer
521 too.
522 Reported by Wwp.
523
5242001-11-01 Akim Demaille <akim@epita.fr>
525
526 * tests/calc.at: Catch up with 1.30.
527 * configure.in: Bump to 1.49a.
528 Adjust to newer Autotest.
529
5302001-10-19 Pascal Bart <pascal.bart@epita.fr>
531
532 * src/conflicts.c: Move global variables rrc_total and src_total ...
533 (print_conflicts): here.
534 * src/output.c (output): Free global variable user_toknums.
535 * src/lex.c (token_obstack): Become static.
536
5372001-10-18 Akim Demaille <akim@epita.fr>
538
539 * tests/atlocal.in (GCC): Add.
540 * tests/calc.at: s/m4_match/m4_bmatch/.
541 s/m4_patsubst/m4_bpatsubst/.
542 (AT_CHECK_CALC): Check the compiler's stderr only if it's GCC.
543 * configure.in: AC_SUBST(GCC).
544
5452001-10-14 Marc Autret <autret_m@epita.fr>
546
547 * src/options.c (create_long_option_table): Fix.
548
5492001-10-10 Akim Demaille <akim@epita.fr>
550
551 * src/bison.simple: Be sure to set YYSTACK_USE_ALLOCA.
552
5532001-10-04 Akim Demaille <akim@epita.fr>
554
555 * src/reader.c (parse_union_decl): Push the caracters in
556 union_obstack, not attrs_obstack.
557
5582001-10-04 Akim Demaille <akim@epita.fr>
559
560 Merge in the branch 1.29.
561
562 * src/reader.c (packsymbols): Use a temporary obstack for
563 `%%tokendef', since output_stack is already used elsewhere.
564
565 2001-10-02 Akim Demaille <akim@epita.fr>
566
567 Bump 1.29d.
568
569 2001-10-02 Akim Demaille <akim@epita.fr>
570
571 Version 1.29c.
572
573 2001-10-02 Akim Demaille <akim@epita.fr>
574
575 * tests/regression.at (Invalid CPP headers): New.
576 From Alexander Belopolsky.
577 * src/files.c (compute_header_macro): Map non alnum chars to `_'.
578
579 2001-10-02 Akim Demaille <akim@epita.fr>
580
581 * tests/regression.at (Invalid input): New.
582 * src/lex.c (lex): Be sure to set `token_buffer' in any case.
583 Reported by Shura.
584
585 2001-10-02 Akim Demaille <akim@epita.fr>
586
587 * tests/calc.at: Now that --debug works, the tests must be adjusted.
588
589 2001-10-02 Akim Demaille <akim@epita.fr>
590
591 * src/output.c (output_parser): Assert `skeleton'.
592 * src/files.c (skeleton_find): Look harder for skeletons on DOSish
593 systems.
594 From Shura.
595
596 2001-10-01 Marc Autret <autret_m@epita.fr>
597
598 * src/lex.h: Echo modifications.
599 * src/lex.c (unlex): Parameter is now token_t.
600 From Hans Aberg.
601
602 2001-10-01 Marc Autret <autret_m@epita.fr>
603
604 * src/main.c: Include lex.h.
605 From Hans Aberg.
606
607 2001-09-29 Akim Demaille <akim@epita.fr>
608
609 * src/getargs.c (longopts): `--debug' is `-t', not `-d'.
610
611 2001-09-28 Akim Demaille <akim@epita.fr>
612
613 * tests/testsuite.at: Update to newer Autotest.
614 * tests/Makefile.am (EXTRA_DIST): bison is not to be shipped.
615
616 2001-09-27 Akim Demaille <akim@epita.fr>
617
618 Position independent wrapper.
619
620 * tests/bison: Remove.
621 * tests/bison.in: New.
622 * configure.in: Adjust.
623
624 2001-09-27 Paul Eggert <eggert@twinsun.com>
625
626 Port quotearg fixes from tar 1.13.24.
627
628 * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
629 tm to be declared.
630 (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
631 (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
632
633 * m4/Makefile.am (EXTRA_DIST): Add mbrtowc.m4.
634 * m4/mbrtowc.m4: New file.
635 * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for mbsinit and stddef.h.
636 Use jm_FUNC_MBRTOWC instead of AC_CHECK_FUNCS(mbrtowc).
637
638 2001-09-27 Akim Demaille <akim@epita.fr>
639
640 Bump to 1.29c.
641
642 2001-09-27 Akim Demaille <akim@epita.fr>
643
644 Version 1.29b.
645
646 2001-09-25 Akim Demaille <akim@epita.fr>
647
648 * src/system.h: Include `xalloc.h'.
649 Remove it from the C files.
650 * src/files.c (output_files): Free the obstacks.
651 * src/lex.c (init_lex): Rename as...
652 (lex_init): this.
653 (lex_free): New.
654 * src/main.c (main): Use it.
655
656 2001-09-24 Marc Autret <autret_m@epita.fr>
657
658 * src/vcg.c (open_edge, close_edge, open_node, close_node): Change
659 to output informations in fout (FILE*).
660 (open_graph, close_graph): Likewise.
661 (output_graph, output_edge, output_node): Likewise.
662 * src/vcg.h: Update function prototypes.
663 * src/print_graph.c (print_graph): Open output graph file.
664 (print_actions): Adjust.
665 * src/files.h: Remove extern declaration.
666 * src/files.c: Remove graph_obstack declaration.
667 (open_files): Remove graph_obstack initialization.
668 (output_files): Remove graph_obstack saving.
669
670 2001-09-24 Marc Autret <autret_m@epita.fr>
671
672 * src/files.c (compute_output_file_names): Fix.
673
674 2001-09-24 Marc Autret <autret_m@epita.fr>,
675 Akim Demaille <akim@epita.fr>
676
677 * src/reader.c (reader): Remove call to free_symtab ().
678 * src/main.c (main): Call it here.
679 Include symtab.h.
680 * src/conflicts.c (initialize_conflicts): Rename as...
681 (solve_conflicts): this.
682 * src/print.c (print_core, print_actions, print_state)
683 (print_grammar): Dump to a file instead a `output_obstack'.
684 (print_results): Dump `output_obstack', and then proceed with the
685 FILE *.
686 * src/files.c (compute_output_file_names, close_files): New.
687 (output_files): Adjust.
688 * src/main.c (main): Adjust.
689
690 2001-09-23 Marc Autret <autret_m@epita.fr>
691
692 * src/files.c (compute_header_macro): Computes header macro name
693 from spec_defines_file when given.
694
695 2001-09-23 Marc Autret <autret_m@epita.fr>
696
697 * src/files.c (output_files): Add default extensions.
698
699 2001-09-22 Akim Demaille <akim@epita.fr>
700
701 * src/conflicts.c (finalize_conflicts): Rename as...
702 (free_conflicts): this.
703
704 2001-09-22 Akim Demaille <akim@epita.fr>
705
706 * src/gram.c (gram_free): Rename back as...
707 (dummy): this.
708 (output_token_translations): Free `token_translations'.
709 * src/symtab.c (free_symtab): Free the tag field.
710
711 2001-09-22 Akim Demaille <akim@epita.fr>
712
713 Remove `translations' as it is always set to true.
714
715 * src/gram.h: Adjust.
716 * src/reader.c (packsymbols, parse_token_decl): Adjust
717 * src/print.c (print_grammar): Adjust.
718 * src/output.c (output_token_translations): Adjust.
719 * src/lex.c (lex): Adjust.
720 * src/gram.c: Be sure the set pointers to NULL.
721 (dummy): Rename as...
722 (gram_free): this.
723
724 2001-09-22 Akim Demaille <akim@epita.fr>
725
726 * configure.in: Invoke AM_LIB_DMALLOC.
727 * src/system.h: Use dmalloc.
728 * src/LR0.c: Be sure to have pointers initialized to NULL.
729 (allocate_itemsets): Allocate kernel_items only if needed.
730
731 2001-09-22 Akim Demaille <akim@epita.fr>
732
733 * configure.in: Bump to 1.29b.
734 * tests/Makefile.am (DISTCLEANFILES): Add package.m4.
735 * tests/calc.at (_AT_DATA_CALC_Y): #undef malloc so that we don't
736 need xmalloc.c in calc.y.
737 From Pascal Bart.
738
739 2001-09-21 Akim Demaille <akim@epita.fr>
740
741 Version 1.29a.
742 * Makefile.maint, config/config.guess, config/config.sub,
743 * config/missing: Update from masters.
744 * tests/Makefile.am ($(srcdir)/$(TESTSUITE)): No longer depend
745 upon package.m4.
746 * configure.in (ALL_LINGUAS): Add `tr'.
747
748 2001-09-21 Akim Demaille <akim@epita.fr>
749
750 * tests/Makefile.am (package.m4): Move to...
751 ($(srcdir)/$(TESTSUITE)): here.
752
753 2001-09-20 Akim Demaille <akim@epita.fr>
754
755 * src/complain.c: No longer try to be standalone: use system.h.
756 Don't assume __STDC__ is defined to 1. Just test if it is defined.
757 * src/complain.h: Likewise.
758 * src/reduce.c (useless_nonterminals, inaccessable_symbols):
759 Remove the unused variable `n'.
760 From Albert Chin-A-Young.
761
762 2001-09-18 Marc Autret <autret_m@epita.fr>
763
764 * doc/bison.1: Update.
765 * doc/bison.texinfo (Bison Options): Update --defines and --graph
766 descriptions.
767 (Option Cross Key): Update.
768 Add --graph.
769
770 2001-09-18 Marc Autret <autret_m@epita.fr>
771
772 * tests/regression.at: New test (comment in %union).
773
774 2001-09-18 Marc Autret <autret_m@epita.fr>
775
776 * src/reader.c (parse_union_decl): Do not output '/'. Let copy_comment
777 do that.
778 Reported by Keith Browne.
779
780 2001-09-18 Marc Autret <autret_m@epita.fr>
781
782 * tests/output.at: Add tests for --defines and --graph.
783
784 2001-09-18 Marc Autret <autret_m@epita.fr>
785
786 * tests/output.at: Removes tests of %{header,src}_extension features.
787
788 2001-09-18 Akim Demaille <akim@epita.fr>
789
790 * tests/Makefile.am (package.m4): New.
791 * tests/calc.at (_AT_CHECK_CALC): Just run `calc input'.
792 (_AT_CHECK_CALC_ERROR): Likewise.
793 Factor the `, ' part of verbose error messages.
794
795 2001-09-18 Marc Autret <autret_m@epita.fr>
796
797 * src/getargs.c (longopts): Declare --defines and --graph as options
798 with optional arguments.
799 * src/files.h: Add extern declarations.
800 * src/files.c (spec_graph_file, spec_defines_file): New.
801 (output_files): Update.
802 Remove CPP-outed code.
803
804 2001-09-18 Marc Autret <autret_m@epita.fr>
805
806 Turn off %{source,header}_extension feature.
807
808 * src/files.c (compute_exts_from_gf): Update.
809 (compute_exts_from_src): Update.
810 (output_files): CPP-out useless code.
811 * src/files.h: Remove {header,source}_extension extern declarations.
812 * src/reader.c (parse_dquoted_param): CPP-out.
813 (parse_header_extension_decl): Remove.
814 (parse_source_extension_decl): Remove.
815 (read_declarations): Remove cases tok_{hdrext,srcext}.
816 * src/lex.c (percent_table): Remove {header,source}_extension entries.
817 * src/lex.h (token_t): Remove tok_hdrext and tok_srcext.
818
819 2001-09-10 Akim Demaille <akim@epita.fr>
820
821 * tests/output.at (AT_CHECK_BISON_FLAGS, AT_CHECK_BISON_PERCENT):
822 (AT_CHECK_BISON_PERCENT_FLAGS): Merge into...
823 (AT_CHECK_OUTPUT): this.
824 Merely check ls' exit status, its output is useless.
825
826 2001-09-10 Akim Demaille <akim@epita.fr>
827
828 * tests/calc.at: Use m4_match.
829 (_AT_DATA_CALC_Y): Check `yyin != NULL', not `stdin != NULL'.
830
831 2001-09-10 Marc Autret <autret_m@epita.fr>,
832 Akim Demaille <akim@epita.fr>
833
834 * src/vcg.h (graph_s): color, textcolor, bordercolor are now
835 enum color_e.
836 * src/print_graph.c (print_graph): Initalize graph.layoutalgorithm
837 to `normal'.
838 * src/reader.c (parse_token_decl): Initialize token with tok_eof.
839 * src/lex.h: Adjust prototype.
840 (token_t): Add `tok_undef'.
841 * src/lex.c (struct percent_table_struct): Retval is now a token_t.
842 (parse_percent_token): Now returns token_t.
843 Add default statement in switch.
844 (lex): Separate `c' as an input variable, from the token_t result
845 part.
846 (unlexed): Is a token_t.
847
848 2001-09-10 Akim Demaille <akim@epita.fr>
849
850 * configure.in: Bump to 1.29a.
851
852 2001-09-07 Akim Demaille <akim@epita.fr>
853
854 Version 1.29.
855
856 2001-08-30 Akim Demaille <akim@epita.fr>
857
858 * tests/atgeneral.m4, tests/atconfig.in, tests/suite.at: Remove.
859 * m4/atconfig.m4: Remove.
860 * tests/testsuite.at, tests/atlocal.in, tests/output.at,
861 * tests/bison: New.
862 * tests/regression.at, tests/calc.at: Use m4_define, AT_BANNER,
863 m4_if, m4_patsubst, and m4_regexp.
864 * tests/calc.at (_AT_CHECK_CALC, _AT_CHECK_CALC_ERROR): Use an
865 `input' file instead of echo.
866
867 2001-08-29 Akim Demaille <akim@epita.fr>
868
869 Bump to 1.28e.
870
871 2001-08-29 Akim Demaille <akim@epita.fr>
872
873 Version 1.28d.
874
875 2001-08-29 Paul Eggert <eggert@twinsun.com>
876
877 * src/bison.simple (yyparse): Don't take the address of an
878 item before the start of an array, as that doesn't conform to
879 the C Standard.
880
881 2001-08-29 Robert Anisko <anisko_r@epita.fr>
882
883 * doc/bison.texinfo (Location Tracking Calc): New node.
884
885 2001-08-29 Paul Eggert <eggert@twinsun.com>
886
887 * src/output.c (output): Do not define const, as this now
888 causes more problems than it cures.
889
890 2001-08-29 Akim Demaille <akim@epita.fr>
891
892 * doc/bison.texinfo: Modernize `@node' and `@top' use: just name
893 the nodes.
894 Be sure to tag the `detailmenu'.
895
896 2001-08-29 Akim Demaille <akim@epita.fr>
897
898 * Makefile.maint (do-po-update): Wget refuses to overwrite files:
899 download in a tmp dir.
900
901 2001-08-28 Marc Autret <autret_m@epita.fr>
902
903 * config/depcomp: New file.
904
905 2001-08-28 Marc Autret <autret_m@epita.fr>
906
907 * doc/bison.1 (mandoc): Adjust.
908 From Juan Manuel Guerrero.
909
910 2001-08-28 Marc Autret <autret_m@epita.fr>
911
912 * src/print_graph.c (print_state): Fix.
913
914 2001-08-27 Marc Autret <autret_m@epita.fr>
915
916 * src/vcg.h (classname_s, infoname_s, node_s): Constify the
917 char * members.
918 Echo modifications to the functions prototypes.
919 * src/vcg.c (add_classname, add_infoname): Adjust arguments.
920
921 2001-08-27 Marc Autret <autret_m@epita.fr>
922
923 * src/vcg.c: Include `xalloc.h'.
924 (add_colorentry): New.
925 (add_classname): New.
926 (add_infoname): New.
927 * src/vcg.h: Add new prototypes.
928
929 2001-08-27 Akim Demaille <akim@epita.fr>
930
931 * Makefile.maint: Sync. again with CVS Autoconf.
932
933 2001-08-27 Akim Demaille <akim@epita.fr>
934
935 * Makefile.maint: Formatting changes.
936 (po-update, cvs-update, update): New targets.
937 (AMTAR): Remove.
938
939 2001-08-27 Akim Demaille <akim@epita.fr>
940
941 * Makefile.am (AUTOMAKE_OPTIONS): 1.5.
942 * Makefile.maint: Sync. with CVS Autoconf.
943
944 2001-08-27 Marc Autret <autret_m@epita.fr>
945
946 * src/vcg.h (struct infoname_s): New.
947 (struct colorentry_s): New.
948 (graph_s): New fields {vertical,horizontal}_order in structure.
949 Add `infoname' field.
950 Add `colorentry' field;
951 * src/vcg_defaults.h (G_VERTICAL_ORDER): New.
952 (G_HORIZONTAL_ORDER): New.
953 (G_INFONAME): New.
954 (G_COLORENTRY): New.
955 * src/vcg.c (output_graph): Add output of {vertical,horizontal}_order.
956 Add output of `infoname'.
957 Add output of `colorentry'.
958
959 2001-08-27 Marc Autret <autret_m@epita.fr>
960
961 * src/reader.c (parse_dquoted_param): Rename variable `index' to `i'.
962 This one shadowed a global parameter.
963
964 2001-08-24 Marc Autret <autret_m@epita.fr>
965
966 * src/print_graph.c (node_output_size): Declared POSIX `size_t' type,
967 instead of `unsigned'.
968 (print_state): Do not call obstack_object_size () in obstack_grow ()
969 to avoid macro variables shadowing.
970
971 2001-08-23 Marc Autret <autret_m@epita.fr>
972
973 * src/lex.c (percent_table): Typo: s/naem/name/.
974 Add graph option.
975 Normalize new options declarations.
976
977 2001-08-20 Pascal Bart <pascal.bart@epita.fr>
978
979 * tests/suite.at: Exercise %header_extension and %source_extension.
980
981 2001-08-16 Marc Autret <autret_m@epita.fr>
982
983 * src/reader.c (parse_dquoted_param): New.
984 (parse_header_extension_decl): Use it.
985 (parse_source_extension_decl): Likewise.
986
987 2001-08-16 Marc Autret <autret_m@epita.fr>
988
989 * src/vcg.c: Remove includes of `complain.h' and `xalloc.h'.
990 (get_xxxx_str): Use assert () instead of complain ().
991 Remove return invokations in default cases.
992 (get_decision_str): Modify default behaviour. Remove second argument.
993 Echo modifications on calls.
994 (output_graph): Fix.
995
996 2001-08-16 Marc Autret <autret_m@epita.fr>
997
998 * src/getargs.c (usage): Update with ``-g, --graph''.
999
1000 2001-08-16 Marc Autret <autret_m@epita.fr>
1001
1002 * doc/bison.texinfo (Bison Options): Add items `-g', `--graph'.
1003 (Option Cross Key): Likewise.
1004 * doc/bison.1: Update.
1005
10062001-09-25 Pascal Bart <pascal.bart@epita.fr>
1007
1008 * src/output.c (output_master_parser): Don't finish action_obstack.
1009 (output_parser): Don't care about the muscle action, here.
1010 (prepare): Copy the action_obstack in the action muscle.
1011 (output): Free action_obstack.
1012
10132001-09-23 Pascal Bart <pascal.bart@epita.fr>
1014
1015 * src/reader.c (parse_union_decl): Add new obstack union_obstack. Which
1016 will contain `%union' declaration.
1017 (parse_union_decl): Delete #line directive output.
1018 (parse_union_decl): Substitute /attrs_obstack/union_obstack for all
1019 informations about %union.
1020 (parse_union_decl): Copy the union_obstack in the muscle stype.
1021 * src/bison.simple: Add new #line directive.
1022 Add typdef %%stype YYSTYPE.
1023
10242001-09-23 Pascal Bart <pascal.bart@epita.fr>
1025
1026 * src/bison.simple: Add new `#line' directive.
1027
10282001-09-22 Pascal Bart <pascal.bart@epita.fr>
1029
1030 * src/bison.simple: New `#line' directive.
1031 * src/output.c (output_parser): Support new dynamic muscle input_line.
1032
10332001-09-22 Marc Autret <autret_m@epita.fr>
1034
1035 * src/output.c (output_master_parser): New.
1036 (output_parser): Be more re-entrant.
1037
10382001-09-21 Marc Autret <autret_m@epita.fr>
1039
1040 * src/reader.c (copy_definition, parse_union_decl): Update and use
1041 `linef' muscle.
1042 (copy_action): Likewise.
1043 Use obstack_1grow ().
1044 * src/muscle_tab.c (muscle_init): Add muscle `linef'.
1045
10462001-09-21 Marc Autret <autret_m@epita.fr>
1047
1048 * src/options.c (option_table): Adjust.
1049 * src/lex.c (parse_percent_token): Fix.
1050
10512001-09-20 Pascal Bart <pascal.bart@epita.fr>
1052
1053 * src/options.c (symtab.h): Include it, need by lex.h.
1054
10552001-09-20 Pascal Bart <pascal.bart@epita.fr>
1056
1057 * src/lex.c (parse_percent_token): Change type of variable `tx', which
1058 is now an option_table_struct*.
1059 (option_strcmp): New function option_strcmp.
1060 (parse_percent_token): Call option_strcmp.
1061 * src/getargs.c (xalloc.h, options.h): Include it.
1062 (getargs): Call create_long_option_table.
1063 (getargs): Free longopts at the end of the function.
1064 (shortopts): Move in options.c.
1065 * src/options.c (create_long_option_table): New function. Convert
1066 information from option_table to option structure.
1067 * src/reader.c (options.h): Include it.
1068
1069 * src/Makefile.am: Adjust.
1070 * src/options.c (option_table): Create from longopts and percent_table.
1071 * src/getargs.c (longopts): Delete.
1072 * src/lex.c (struct percent_table_struct): Delete.
1073 (percent_table): Delete.
1074 (options.h): Include it.
1075 * src/options.c: Create.
1076 * src/options.h: Create.
1077 Declare enum opt_access_e.
1078 Define struct option_table_struct.
1079
10802001-09-20 Marc Autret <autret_m@epita.fr>
1081
1082 * doc/bison.texinfo: Adjust terminologies about prologue and epilogue
1083 sections of Bison.
1084
10852001-09-19 Pascal Bart <pascal.bart@epita.fr>
1086
1087 * src/bison.simple: s/%%filename/%%skeleton.
1088 * src/muscle_tab.c (getargs.h): Include it.
1089 (muscle_init): Insert new muscle skeleton.
1090
10912001-09-18 Pascal Bart <pascal.bart@epita.fr>
1092
1093 * src/output.c (output_parser): Delete unused variable actions_dumped.
1094
10952001-09-07 Pascal Bart <pascal.bart@epita.fr>
1096
1097 * src/output.c (output): Delete call to reader_output_yylsp.
1098 * src/reader.c (reader): Likewise.
1099 * src/reader.h: Delete declaration of reader_output_yylsp.
1100
11012001-09-02 Marc Autret <autret_m@epita.fr>
1102
1103 * src/reader.c: Include muscle_tab.h.
1104 (parse_union_decl): Update.
1105 (parse_macro_decl): Rename parse_muscle_decl.
1106 Update to use renamed functions and variable.
1107 (read_declarations, copy_action, read_additionnal_code, : Updated
1108 with correct variables and functions names.
1109 (packsymbols, reader): Likewise.
1110
1111 * src/reader.h (muscle_obstack): Extern declaration update.
1112
1113 * src/output.c: Include muscle_tab.h
1114 In all functions using macro_insert, change by using muscle_insert ().
1115 (macro_obstack): Rename muscle_obstack.
1116 Echo modifications in the whole file.
1117 (MACRO_INSERT_INT): Rename MUSCLE_INSERT_INT.
1118 (MACRO_INSERT_STRING): Rename MUSCLE_INSERT_STRING.
1119 (MACRO_INSERT_PREFIX): Rename MUSCLE_INSERT_PREFIX.
1120
1121 * src/muscle_tab.h: Update double inclusion macros.
1122 (macro_entry_s): Rename muscle_entry_s.
1123 Update prototypes.
1124
1125 * src/muscle_tab.c: Include muscle_tab.h.
1126 Rename macro_tabble to muscle_table.
1127 (mhash1, mhash2, mcmp): Use muscle_entry.
1128 (macro_init): Rename muscle_init. Update.
1129 (macro_insert): Rename muscle_insert. Update.
1130 (macro_find): Rename muscle_find. Update.
1131
1132 * src/main.c: Include muscle_tab.h.
1133 (main): Call muscle_init ().
1134 * src/Makefile.am (bison_SOURCES): Echo modifications.
1135
11362001-09-02 Marc Autret <autret_m@epita.fr>
1137
1138 Now the files macro_tab.[ch] are named muscle_tab.[ch].
1139
1140 * src/muscle_tab.c, src/muscle_tab.h: Add files.
1141
11422001-09-02 Marc Autret <autret_m@epita.fr>
1143
1144 * src/macrotab.c, src/macrotab.h: Remove.
1145
11462001-09-01 Pascal Bart <pascal.bart@epita.fr>
1147
1148 * src/reader.c (copy_guard): Use muscle to specify the `#line'
1149 filename.
1150
11512001-09-01 Marc Autret <autret_m@epita.fr>
1152
1153 * tests/calc.at (exp): Now, YYERROR_VERBOSE need to be set
1154 to an explicit value to activate the feature. We do it here.
1155
11562001-08-31 Pascal Bart <pascal.bart@epita.fr>
1157
1158 * src/output.c (prepare): Delete the `filename' muscule insertion.
1159 * src/reader.c (copy_action): Use `filename' muscule with `#line'.
1160 (parse_union_decl): Likewise.
1161 * src/macrotab.c (macro_init): Initialize filename by infile.
1162
11632001-08-31 Marc Autret <autret_m@epita.fr>
1164
1165 * src/bison.simple (YYLSP_NEEDED): New definition.
1166 * src/output.c (prepare): Add macro insertion of `locations_flag'
1167
11682001-08-31 Pascal Bart <pascal.bart@epita.fr>
1169
1170 * src/output.c (prepare): Delete insertion of previous muscles,
1171 and insert the `prefix' muscles.
1172 * src/macrotab.c (macro_init): Likewise.
1173 (macro_init): Initialization prefix directive by `yy'.
1174 * src/bison.simple: Substitute all %%yylex, %%yychar, %%yylval,
1175 %%yydebug, %%yyerror, %%yynerrs and %%yyparse by yylex, yychar,
1176 yylval, yydebug, yyerror, yynerrs and yyparse.
1177 New directive `#define' to substitute yydebug, ... with option
1178 name_prefix.
1179
11802001-08-31 Pascal Bart <pascal.bart@epita.fr>
1181
1182 * src/main.c (main): Standardize.
1183 * src/output.c (output_table_data, output_parser): Likewise.
1184 * src/macrotab.h, src/macrotab.c, src/bison.simple: Likewise.
1185
11862001-08-31 Pascal Bart <pascal.bart@epita.fr>, Marc Autret <autret_m@epita.fr>
1187
1188 * src/reader.c (read_additionnal_code): Rename %%user_code to
1189 %%epilogue.
1190 * src/output.c (output): Rename %%declarations to %%prologue.
1191 * src/bison.simple: Echo modifications.
1192
11932001-08-31 Marc Autret <autret_m@epita.fr>
1194
1195 * src/reader.c (readgram): CleanUp.
1196 (output_token_defines): Likewise.
1197 (packsymbols): Likewise.
1198 (reader): Likewise.
1199 * src/output.c (output): CPP-out useless code.
1200
12012001-08-31 Pascal Bart <pascal.bart@epita.fr>
1202
1203 * src/reader.c (reader): Delete obsolete call to function
1204 output_trailers and output_headers.
1205 * src/output.h: Remove obsolete functions prototypes of output_headers
1206 and output_trailers.
1207
12082001-08-30 Pascal Bart <pascal.bart@epita.fr>
1209
1210 * src/main.c: Include macrotab.h.
1211 * src/macrotab.h (macro_entry_s): Constify fields.
1212 Adjust functions prototypes.
1213 * src/macrotab.c (macro_insert): Constify key and value.
1214 (macro_find): Constify key.
1215 (macro_insert): Include 'xalloc.h'
1216 (macro_insert): Use XMALLOC.
1217 (macro_find): Constify return value.
1218 * src/output.c (output_table_data): Rename table to table_data.
1219 (output_parser): Constify macro_key, macro_value.
1220
12212001-08-30 Marc Autret <autret_m@epita.fr>
1222
1223 * src/reader.c (parse_skel_decl): New.
1224 (read_declarations): Add case `tok_skel', call parse_skel_decl ().
1225 * src/lex.h (token_t): New token `tok_skel'.
1226 * src/lex.c (percent_table): Add skeleton option entry.
1227 Standardize.
1228
12292001-08-29 Marc Autret <autret_m@epita.fr>
1230
1231 * src/bison.simple: Add %%user_code directive at the end.
1232 * src/reader.c (read_additionnal_code): New.
1233 (reader): Use it.
1234 * src/output.c (output_program): Remove.
1235 (output): Update.
1236
12372001-08-28 Marc Autret <autret_m@epita.fr>
1238
1239 * src/output.c (output_actions): Clean up.
1240 (output_gram): CPP-out useless code.
1241 * src/reader.c (reader): Clean up, CPP-out useless code.
1242
12432001-08-28 Pascal Bart <pascal.bart@epita.fr>
1244
1245 * src/output.c (output): Copy attrs_obstack in the '%%definitions'
1246 directive.
1247 * src/bison.simple: Add `%%definitions'.
1248
12492001-08-28 Marc Autret <autret_m@epita.fr>
1250
1251 * config/depcomp: New file.
1252
12532001-08-27 Paul Eggert <eggert@twinsun.com>
1254
1255 * src/bison.simple (yyparse): Don't take the address of an
1256 item before the start of an array, as that doesn't conform to
1257 the C Standard.
1258
12592001-08-27 Robert Anisko <robert.anisko@epita.fr>
1260
1261 * src/output.c (output): Remove the initialization of the macro
1262 obstack. It was done too late here.
1263
1264 * src/reader.c (parse_macro_decl): Fix. Use of the macro obstack was
1265 completely wrong.
1266 (reader): Initialize the macro obstack here, since we need it to grow
1267 '%define' directives.
1268
1269 * src/reader.h: Declare the macro obstack as extern.
1270
12712001-08-27 Robert Anisko <robert.anisko@epita.fr>
1272
1273 * src/output.c (output_parser): Fix. Store single '%' characters in
1274 the output obstack instead of throwing them away.
1275
12762001-08-27 Akim Demaille <akim@epita.fr>
1277
1278 * Makefile.am (AUTOMAKE_OPTIONS): 1.5.
1279
12802001-08-25 Robert Anisko <robert.anisko@epita.fr>
1281
1282 * lib/Makefile.am: Adjust.
1283
12842001-08-25 Robert Anisko <robert.anisko@epita.fr>
1285
1286 * src/bison.simple: Update and add '%%' directives.
1287
12882001-08-25 Robert Anisko <robert.anisko@epita.fr>
1289
1290 * src/reader.c (reader): Remove calls to 'output_headers' and
1291 'output_trailers'. Remove some C output.
1292 (readgram): Disable a piece of code that was writing a default
1293 definition for 'YYSTYPE'.
1294 (reader_output_yylsp): Remove.
1295 (packsymbols): Output token defintions to a macro.
1296 (copy_definition): Disable C output.
1297
1298 * src/reader.c (parse_macro_decl): New function used to parse macro
1299 declarations.
1300 (copy_string2): Put the body of copy_string into this new function.
1301 Add a parameter to let the caller choose whether he wants to copy the
1302 string delimiters or not.
1303 (copy_string): Be a simple call to copy_string2 with the last argument
1304 bound to true.
1305 (read_declarations): Add case for macro definition.
1306 (copy_identifier): New.
1307 (parse_macro_decl): Read macro identifiers using copy_identifier
1308 rather than lex.
1309
13102001-08-25 Robert Anisko <robert.anisko@epita.fr>
1311
1312 * src/output.c (prepare): Add prefixed names.
1313 (output_parser): Output semantic actions.
1314 (output_parser): Fix bug on '%%line' directives.
1315
1316 * src/output.c (output_headers): Remove. The C code printed by this
1317 function should now be in the skeletons.
1318 (output_trailers): Remove.
1319 (output): Disable call to 'reader_output_yylsp'.
1320 (output_rule_data): Do not output tables to the table obstack.
1321
1322 * src/output.c: Remove some C dedicated output.
1323 Improve the use of macro and output obstacks.
1324 (output_defines): Remove.
1325
1326 * src/output.c (output_token_translations): Associate 'translate'
1327 table with a macro. No output to the table obstack.
1328 (output_gram): Same for 'rhs' and 'prhs'.
1329 (output_stos): Same for 'stos'.
1330 (output_rule_data): Same for 'r1' and 'r2'.
1331 (token_actions): Same for 'defact'.
1332 (goto_actions): Same for 'defgoto'.
1333 (output_base): Same for 'pact' and 'pgoto'.
1334 (output_table): Same for 'table'.
1335 (output_check): Same for 'check'.
1336
1337 * src/output.c (output_table_data): New function.
1338 (output_short_table): Remove.
1339 (output_short_or_char_table): Remove.
1340
1341 * src/output.c (output_parser): Replace most of the skeleton copy code
1342 with something new. Skeletons are now processed character by character
1343 rather than line by line, and Bison looks for '%%' macros. This is the
1344 first step in making Bison's output process (a lot) more flexible.
1345 (output_parser): Use the macro table.
1346
13472001-08-25 Robert Anisko <robert.anisko@epita.fr>
1348
1349 * src/main.c (main): Initialize the macro table.
1350
13512001-08-25 Robert Anisko <robert.anisko@epita.fr>
1352
1353 * src/lex.c (percent_table): Add tok_define.
1354 * src/lex.h: Add tok_define.
1355
13562001-08-25 Robert Anisko <robert.anisko@epita.fr>
1357
1358 * src/macrotab.c: New file.
1359 * src/macrotab.h: New file.
1360 * src/Makefile.am: Update.
1361
13622001-08-25 Robert Anisko <robert.anisko@epita.fr>
1363
1364 * lib/hash.c: New file.
1365 * lib/hash.h: New file.
1366 * lib/Makefile.am: Update.
1367
13682001-08-15 Akim Demaille <akim@epita.fr>
1369
1370 Version 1.28c.
1371
13722001-08-15 Marc Autret <autret_m@epita.fr>
1373
1374 * src/reader.c (readgram): Indent output macro YYSTYPE.
1375 (packsymbols): Likewise.
1376 (output_token_defines): Likewise.
1377 * src/files.c: Standardize.
1378 (compute_header_macro): New.
1379 (defines_obstack_save): New. Use compute_header_macro.
1380 (output_files): Update. Use defines_obstack_save.
1381
13822001-08-15 Akim Demaille <akim@epita.fr>
1383
1384 * doc/bison.texinfo (Table of Symbols): Document
1385 YYSTACK_USE_ALLOCA.
1386
13872001-08-15 Akim Demaille <akim@epita.fr>
1388
1389 * missing: Update from CVS Automake.
1390 * config/config.guess, config/config.sub, config/texinfo.tex:
1391 Update from gnu.org.
1392
13932001-08-15 Akim Demaille <akim@epita.fr>
1394
1395 * Makefile.maint: Sync with CVS Autoconf.
1396
13972001-08-14 Pascal Bart <pascal.bart@epita.fr>
1398
1399 * doc/bison.texinfo: Include GNU Free Documentation License from
1400 `fdl.texi'.
1401 * doc/fdl.texi: Add to package.
1402
14032001-08-14 Marc Autret <autret_m@epita.fr>
1404
1405 Turn on %{source,header}_extension features.
1406
1407 * src/lex.c (percent_table): Un-CPP out header_extension and
1408 source_extension.
1409 * src/files.c (compute_exts_from_gf): Compare pointers with NULL.
1410 (compute_exts_from_src): Remove conditions. It restores priorities
1411 between options.
1412
14132001-08-14 Marc Autret <autret_m@epita.fr>
1414
1415 * src/files.c (compute_base_names): Add extensions computing when
1416 `--file-prefix' used.
1417 Standardize function calls.
1418
14192001-08-13 Marc Autret <autret_m@epita.fr>
1420
1421 * src/bison.simple (YYSTACK_USE_ALLOCA): Changed to allow users
1422 defining it (defined but null disables alloca).
1423
14242001-08-13 Marc Autret <autret_m@epita.fr>
1425
1426 * src/bison.simple (_yy_memcpy): CPP reformat.
1427
14282001-08-13 Pascal Bart <pascal.bart@epita.fr>
1429
1430 * tests/atconfig.in (CPPFLAGS): Fix.
1431
14322001-08-10 Pascal Bart <pascal.bart@epita.fr>
1433
1434 * doc/bison.texinfo: Include GNU General Public License from
1435 `gpl.texi'.
1436 * doc/gpl.texi: Add to package.
1437
14382001-08-10 Marc Autret <autret_m@epita.fr>
1439
1440 * src/print_graph.h: Fix.
1441 * src/reader.c (read_declarations): Use parse_header_extension_decl ().
1442
14432001-08-10 Akim Demaille <akim@epita.fr>
1444
1445 * src/system.h: Provide default declarations for stpcpy, strndup,
1446 and strnlen.
1447
14482001-08-10 Robert Anisko <anisko_r@epita.fr>
1449
1450 * doc/bison.texinfo (Locations): Update @$ stuff.
1451
14522001-08-09 Robert Anisko <anisko_r@epita.fr>
1453
1454 * src/bison.simple (YYLLOC_DEFAULT): Update.
1455 (yyparse): Adjust.
1456
14572001-08-08 Marc Autret <autret_m@epita.fr>
1458
1459 * doc/bison.texinfo: Change @samp{$<@dots{}>} to
1460 @samp{$<@dots{}>@var{n}} in Section Actions in Mid-Rule.
1461 Reported by Fabrice Bauzac.
1462
14632001-08-08 Marc Autret <autret_m@epita.fr>
1464
1465 * src/vcg_default.h: Use NULL instead of 0 to initialize pointers.
1466 * src/vcg.c (output_node): Fix.
1467 * src/vcg.h: Cleanup.
1468 * src/print_graph.c: Add comments.
1469 (node_output_size): New global variable. Simplify the formatting of
1470 the VCG graph output.
1471 (print_actions): Unused code is now used. It notifies the final state
1472 and no action states in the VCG graph. It also give the reduce actions.
1473 The `shift and goto' edges are red and the `go to state' edges are
1474 blue.
1475 Get the current node name and node_obstack by argument.
1476 (node_obstack): New variable.
1477 (print_state): Manage node_obstack.
1478 (print_core): Use node_obstack given by argument.
1479 A node is not only computed here but in print_actions also.
1480 (print_graph): CPP out useless code instead of commenting it.
1481
14822001-08-07 Pascal Bart <pascal.bart@epita.fr>
1483
1484 * tests/atconfig.in (CPPFLAGS): Fix.
1485
14862001-08-07 Akim Demaille <akim@epita.fr>
1487
1488 * src/print_graph.c (quote): New.
1489 (print_core): Use it.
1490
14912001-08-06 Akim Demaille <akim@epita.fr>, Marc Autret <autret_m@epita.fr>
1492
1493 * src/vcg.c (complain.h): Include it.
1494 Unepitaize `return' invocations.
1495 [NDEBUG] (main): Remove.
1496 * src/vcg.h (node_t, edge_t, graph_t): Constify the char * members.
1497 * src/files.c (open_files): Initialize graph_obstack.
1498 * src/print_graph.c (print_actions): CPP out useless code.
1499 (print_core): Don't output the last `\n' in labels.
1500 Use `quote'.
1501 * src/files.c (output_files): Output the VCG file.
1502 * src/main.c (main): Invoke print_graph ();
1503
15042001-08-06 Marc Autret <autret_m@epita.fr>
1505
1506 Automaton VCG graph output.
1507 Using option ``-g'' or long option ``--graph'', you can generate
1508 a gram_filename.vcg file containing a VCG description of the LALR (1)
1509 automaton of your grammar.
1510
1511 * src/main.c: Call to print_graph() function.
1512 * src/getargs.h: Update.
1513 * src/getargs.c (options): Update to catch `-g' and `--graph' options.
1514 (graph_flag): New flag.
1515 (longopts): Update.
1516 (getargs): Add case `g'.
1517 * src/files.c (graph_obstack): New obstack struct.
1518 (open_files): Initialize new obstack.
1519 (output_files): Saves graph_obstack if required.
1520 * src/files.h (graph_obstack): New extern declaration.
1521 * src/Makefile.am: Add new source files.
1522
15232001-08-06 Marc Autret <autret_m@epita.fr>
1524
1525 * src/print_graph.c, src/print_graph.h (graph): New.
1526 * src/vcg.h: New file.
1527 * src/vcg.c: New file, VCG graph handling.
1528
15292001-08-06 Marc Autret <autret_m@epita.fr>
1530
1531 Add of %source_extension and %header_extension which specify
1532 the source or/and the header output file extension.
1533
1534 * src/files.c (compute_base_names): Remove initialisation of
1535 src_extension and header_extension.
1536 (compute_exts_from_gf): Update.
1537 (compute_exts_from_src): Update.
1538 (output_files): Update.
1539 * src/reader.c (parse_header_extension_decl): New.
1540 (parse_source_extension_decl): New.
1541 (read_declarations): New case statements for the new tokens.
1542 * src/lex.c (percent_table): Add entries for %source_extension
1543 and %header_extension.
1544 * src/lex.h (token_e): New tokens tok_hdrext and tok_srcext.
1545
15462001-08-06 Marc Autret <autret_m@epita.fr>
1547
1548 * configure.in: Bump to 1.28c.
1549 * doc/bison.texinfo: Texinfo thingies.
1550
15512001-08-04 Pascal Bart <pascal.bart@epita.fr>
1552
1553 * tests/atconfig.in (CPPFLAGS): Add.
1554 * tests/calc.at (AT_CHECK): Use CPPFLAGS.
1555
15562001-08-03 Akim Demaille <akim@epita.fr>
1557
1558 Version 1.28b.
1559
15602001-08-03 Akim Demaille <akim@epita.fr>
1561
1562 * tests/Makefile.am (check-local): Ship testsuite.
1563 * tests/calc.at (_AT_DATA_CALC_Y): Prototype all the functions.
1564 Include `string.h'.
1565
15662001-08-03 Akim Demaille <akim@epita.fr>
1567
1568 * configure.in: Try using -Wformat when compiling.
1569
15702001-08-03 Akim Demaille <akim@epita.fr>
1571
1572 * configure.in: Bump to 1.28b.
1573
15742001-08-03 Akim Demaille <akim@epita.fr>
1575
1576 * src/complain.c: Adjust strerror_r portability issues.
1577
15782001-08-03 Akim Demaille <akim@epita.fr>
1579
1580 Version 1.28a.
1581
15822001-08-03 Akim Demaille <akim@epita.fr>
1583
1584 * src/getargs.c, src/getarg.h (skeleton)): Constify.
1585 * src/lex.c (literalchar): Avoid name clashes on `buf'.
1586 * src/getargs.c: Include complain.h.
1587 * src/files.c, src/files.h (skeleton_find): Avoid name clashes.
1588 * lib/quotearg.c, lib/quotearg.h: Update from fileutils 4.1.
1589
15902001-08-03 Akim Demaille <akim@epita.fr>
1591
1592 * src/reader.c (readgram): Display hidden chars in error messages.
1593
15942001-08-03 Akim Demaille <akim@epita.fr>
1595
1596 Update to gettext 0.10.39.
1597
15982001-08-03 Akim Demaille <akim@epita.fr>
1599
1600 * lib/strspn.c: New.
1601
16022001-08-01 Marc Autret <autret_m@epita.fr>
1603
1604 * doc/bison.texinfo: Update.
1605 * doc/bison.1 (mandoc): Update.
1606 * src/system.h (EXT_GUARD_C, EXT_STYPE_H): Remove .c and .h.
1607 * src/files.c: Support output files extensions computing.
1608 (src_extension): New static variable.
1609 (header_extension): New static variable.
1610 (tr): New function.
1611 (get_extension_index): New function, gets the index of an extension
1612 filename in a string.
1613 (compute_exts_from_gf): New function, computes extensions from the
1614 grammar file extension.
1615 (compute_exts_from_src): New functions, computes extensions from the
1616 C source file extension, file given by ``-o'' option.
1617 (compute_base_names): Update.
1618 (output_files): Update.
1619
16202001-08-01 Robert Anisko <anisko_r@epita.fr>
1621
1622 * doc/bison.texi: Document @$.
1623 (Locations): New section.
1624
16252001-07-18 Akim Demaille <akim@epita.fr>
1626
1627 * Makefile.maint, GNUmakefile: New, from Autoconf 2.52.
1628 * config/prev-version.txt, config/move-if-change: New.
1629 * Makefile.am: Adjust.
1630
16312001-07-08 Pascal Bart <pascal.bart@epita.fr>
1632
1633 * src/bison.simple (yyparse): Suppress warning `comparaison
1634 between signed and unsigned'.
1635
16362001-07-05 Pascal Bart <pascal.bart@epita.fr>
1637
1638 * src/getargs.h (raw_flag): Remove.
1639 * src/getargs.c: Die on `-r'/`--raw'.
1640 * src/lex.c (parse_percent_token): Die on `%raw'.
1641 * src/reader.c (output_token_defines): Suppress call to `raw_flag'.
1642 * tests/calc.at: Suppress test with option `--raw'.
1643
16442001-07-14 Akim Demaille <akim@epita.fr>
1645
1646 * config/: New.
1647 * configure.in: Require Autoconf 2.50.
1648 Update to gettext 0.10.38.
1649
16502001-03-16 Akim Demaille <akim@epita.fr>
1651
1652 * doc/bison.texinfo: ANSIfy the examples.
1653
16542001-03-16 Akim Demaille <akim@epita.fr>
1655
1656 * getargs.c (skeleton): New variable.
1657 (longopts): --skeleton is a new option.
1658 (shortopts, getargs): -S is a new option.
1659 * getargs.h: Declare skeleton.
1660 * output.c (output_parser): Use it.
1661
16622001-03-16 Akim Demaille <akim@epita.fr>
1663
1664 * m4/strerror_r.m4: New.
1665 * m4/error.m4: Run AC_FUNC_STRERROR_R.
1666 * lib/error.h, lib/error.c: Update.
1667
16682001-03-16 Akim Demaille <akim@epita.fr>
1669
1670 * src/getargs.c (longopts): Clean up.
1671
16722001-02-21 Akim Demaille <akim@epita.fr>
1673
1674 * src/reader.c (gensym): `gensym_count' is your own.
1675 Use a static buf to create the symbol name, as token_buffer is no
1676 longer a buffer.
1677
16782001-02-08 Akim Demaille <akim@epita.fr>
1679
1680 * src/conflicts.c (conflict_report): Be sure not to append to res
1681 between two calls, which could happen if both first sprintf were
1682 skipped, but not the first cp += strlen.
1683
16842001-02-08 Akim Demaille <akim@epita.fr>
1685
1686 * lib/memchr.c, lib/stpcpy.c, lib/strndup.c, lib/strnlen.c:
1687 New, from fileutils 4.0.37.
1688 * configure.in: Require Autoconf 2.49c. I took some time before
1689 making this decision. This is the only way out for portability
1690 issues in Bison, it would mean way too much duplicate effort to
1691 import in Bison features implemented in 2.49c since 2.13.
1692 AC_REPLACE_FUNCS and AC_CHECK_DECLS the functions above.
1693
16942001-02-02 Akim Demaille <akim@epita.fr>
1695
1696 * lib/malloc.c, lib/realloc.c: New, from the fileutils 4.0.37.
1697 * lib/xalloc.h, lib/xmalloc.c: Update.
1698
16992001-01-19 Akim Demaille <akim@epita.fr>
1700
1701 Get rid of the ad hoc handling of token_buffer in the scanner: use
1702 the obstacks.
1703
1704 * src/lex.c (token_obstack): New.
1705 (init_lex): Initialize it. No longer call...
1706 (grow_token_buffer): this. Remove it.
1707 Adjust all the places which used it to use the obstack.
1708
17092001-01-19 Akim Demaille <akim@epita.fr>
1710
1711 * src/lex.h: Rename all the tokens:
1712 s/\bENDFILE\b/tok_eof/g;
1713 s/\bIDENTIFIER\b/tok_identifier/g;
1714 etc.
1715 Let them be enums, not #define, to ease debugging.
1716 Adjust all the code.
1717
17182001-01-18 Akim Demaille <akim@epita.fr>
1719
1720 * src/lex.h (MAXTOKEN, maxtoken, grow_token_buffer): Remove, private.
1721 * src/lex.c (maxtoken, grow_token_buffer): Static.
1722
17232001-01-18 Akim Demaille <akim@epita.fr>
1724
1725 Since we now use obstacks, more % directives can be enabled.
1726
1727 * src/lex.c (percent_table): Also accept `%yacc',
1728 `%fixed_output_files', `%defines', `%no_parser', `%verbose', and
1729 `%debug'.
1730 Handle the actions for `%semantic_parser' and `%pure_parser' here,
1731 instead of returning a token.
1732 * src/lex.h (SEMANTIC_PARSER, PURE_PARSER): Remove, unused.
1733 * src/reader.c (read_declarations): Adjust.
1734 * src/files.c (open_files): Don't call `compute_base_names', don't
1735 compute `attrsfile' since they depend upon data which might be
1736 *in* the input file now.
1737 (output_files): Do it here.
1738 * src/output.c (output_headers): Document the fact that this patch
1739 introduces a guaranteed SEGV for semantic parsers.
1740 * doc/bison.texinfo: Document them.
1741 * tests/suite.at: Exercise these %options.
1742
17432000-12-20 Akim Demaille <akim@epita.fr>
1744
1745 Also handle the output file (--verbose) with obstacks.
1746
1747 * files.c (foutput): Remove.
1748 (output_obstack): New.
1749 Adjust all dependencies.
1750 * src/conflicts.c: Return a string.
1751 * src/system.h (obstack_grow_string): Rename as...
1752 (obstack_sgrow): this. Be ready to work with non literals.
1753 (obstack_fgrow4): New.
1754
17552000-12-20 Akim Demaille <akim@epita.fr>
1756
1757 * src/files.c (open_files): Fix the computation of short_base_name
1758 in the case of `-o foo.tab.c'.
1759
17602000-12-20 Akim Demaille <akim@epita.fr>
1761
1762 * src/reader.c (copy_string, copy_comment, copy_comment2, copy_at)
1763 (copy_dollar): Now that everything uses obstacks, get rid of the
1764 FILE * parameters.
1765
17662000-12-20 Akim Demaille <akim@epita.fr>
1767
1768 * src/files.c (open_files): Actually the `.output' file is based
1769 on the short_base_name, not base_name.
1770 * tests/suite.at (Checking output file names): Adjust.
1771
17722000-12-20 Akim Demaille <akim@epita.fr>
1773
1774 * src/bison.s1: Remove, we now use directly...
1775 * src/bison.simple: this.
1776 * src/Makefile.am: Use pkgdata instead of data.
1777
17782000-12-20 Akim Demaille <akim@epita.fr>
1779
1780 * src/files.c (guard_obstack): New.
1781 (open_files): Initialize it.
1782 (output_files): Dump it...
1783 * src/files.h: Export it.
1784 * src/reader.c (copy_guard): Use it.
1785
17862000-12-19 Akim Demaille <akim@epita.fr>
1787
1788 * src/files.c (outfile, defsfile, actfile): Removed as global
1789 vars.
1790 (open_files): Don't compute them.
1791 (output_files): Adjust.
1792 (base_name, short_base_name): Be global.
1793 Adjust dependencies.
1794
17952000-12-19 Akim Demaille <akim@epita.fr>
1796
1797 * src/files.c (strsuffix): New.
1798 (stringappend): Be just like strcat but allocate.
1799 (base_names): Eve out from open_files.
1800 Try to simplify the rather hairy computation of base_name and
1801 short_base_name.
1802 (open_files): Use it.
1803 * tests/suite.at (Checking output file names): New test.
1804
18052000-12-19 Akim Demaille <akim@epita.fr>
1806
1807 * src/system.h (obstack_grow_literal_string): Rename as...
1808 (obstack_grow_string): this.
1809 * src/output.c (output_parser): Recognize `%% actions' instead of
1810 `$'.
1811 * src/bison.s1: s/$/%% actions/.
1812 * src/bison.hairy: Likewise.
1813
18142000-12-19 Akim Demaille <akim@epita.fr>
1815
1816 * src/output.c (output_parser): Compute the `#line' lines when
1817 there are.
1818 * src/Makefile.am (bison.simple): Be a simple copy of bison.s1.
1819 Suggested by Hans Aberg.
1820
18212000-12-19 Akim Demaille <akim@epita.fr>
1822
1823 Let the handling of the skeleton files be local to the procedures
1824 that use it.
1825
1826 * src/files.c (xfopen, xfclose, skeleton_find, guardfile): No
1827 longer static.
1828 (fparser, open_extra_files): Remove.
1829 (open_files, output_files): Don't take care of fparser.
1830 * src/files.h: Adjust.
1831 * src/output.c (output_parser): Open and close the file to the
1832 skeleton.
1833 * src/reader.c (read_declarations): When %semantic_parser, open
1834 fguard.
1835
18362000-12-19 Akim Demaille <akim@epita.fr>
1837
1838 * src/file.h (BISON_SIMPLE, BISON_HAIRY): Move from here...
1839 * src/system.h (BISON_SIMPLE, BISON_HAIRY): ... to here.
1840
18412000-12-19 Akim Demaille <akim@epita.fr>
1842
1843 * src/files.c (open_files): Yipee! We no longer need all the code
1844 looking for `/tmp' since we have no tmp file.
1845
18462000-12-19 Akim Demaille <akim@epita.fr>
1847
1848 * src/system.h (EXT_TAB, EXT_OUTPUT, EXT_STYPE_H, EXT_GUARD_C):
1849 New macros.
1850 * src/files.c (open_files): Less dependency on MSDOS etc.
1851
18522000-12-14 Akim Demaille <akim@epita.fr>
1853
1854 * src/bison.s1 (YYLLOC_DEFAULT): New macro.
1855 Provide a default definition.
1856 Use it when executing the default @ action.
1857 * src/reader.c (reader_output_yylsp): No longer include
1858 `timestamp' and `text' in the default YYLTYPE.
1859
18602000-12-12 Akim Demaille <akim@epita.fr>
1861
1862 * src/reader.c (copy_definition, parse_union_decl, copy_action)
1863 (copy_guard): Quote the file names.
1864 Reported by Laurent Mascherpa.
1865
18662000-12-12 Akim Demaille <akim@epita.fr>
1867
1868 * src/output.c (output_headers, output_program, output): Be sure
1869 to escape special characters when outputting filenames.
1870 (ACTSTR_PROLOGUE, ACTSTR_EPILOGUE): Remove.
1871 (output_headers): Don't depend on them, Use ACTSTR.
1872
18732000-11-17 Akim Demaille <akim@epita.fr>
1874
1875 * lib/obstack.h: Formatting changes.
1876 (obstack_grow, obstack_grow0): Don't cast WHERE at all: it
1877 prevents type checking.
1878 (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
1879 cast the value to (void *): assigning a `foo *' to a `void *'
1880 variable is valid.
1881 (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
1882 * src/reader.c (parse_union_decl): Typo: use obstack_1grow to
1883 append characters.
1884
18852000-11-17 Akim Demaille <akim@epita.fr>
1886
1887 * tests/Makefile.am (suite.m4, regression.m4, calc.m4): Rename
1888 as...
1889 (suite.m4, regression.m4, calc.m4): these.
1890 * tests/atgeneral.m4: Update from CVS Autoconf.
1891
18922000-11-17 Akim Demaille <akim@epita.fr>
1893
1894 * tests/regression.m4 (%union and --defines): New test,
1895 demonstrating a current bug in the obstack implementation.
1896
18972000-11-17 Akim Demaille <akim@epita.fr>
1898
1899 * src/bison.s1 (_YY_DECL_VARIABLES, YY_DECL_VARIABLES): New
1900 macros.
1901 Use them to declare the variables which are global or local to
1902 `yyparse'.
1903
19042000-11-17 Akim Demaille <akim@epita.fr>
1905
1906 * acconfig.h: Remove, no longer used.
1907
19082000-11-07 Akim Demaille <akim@epita.fr>
1909
1910 * src: s/Copyright (C)/Copyright/g.
1911
19122000-11-07 Akim Demaille <akim@epita.fr>
1913
1914 * src/reader.c (reader): #define YYLSP_NEEDED to 1 instead of just
1915 defining.
1916 * src/bison.s1: s/#ifdef YYLSP_NEEDED/#if YYLSP_NEEDED/.
1917
19182000-11-07 Akim Demaille <akim@epita.fr>
1919
1920 * src/bison.s1 (YYLEX): Use #if instead of #ifdef.
1921 Merge in a single CPP if/else.
1922
19232000-11-07 Akim Demaille <akim@epita.fr>
1924
1925 * src/output.c (output): Remove useless variables.
1926 * lib/obstack.c (obstack_grow, obstack_grow0): Rename the second
1927 argument `data' for consistency with the prototypes.
1928 Qualify it `const'.
1929 (obstack_copy, obstack_copy0): Rename the second argument as
1930 `address' for consistency. Qualify it `const'.
1931 * lib/obstack.h (obstack_copy, obstack_copy0, obstack_grow)
1932 (obstack_grow0, obstack_ptr_grow, obstack_ptr_grow_fast): Qualify
1933 `const' their input argument (`data' or `address').
1934 Adjust the corresponding macros to include `const' in casts.
1935
19362000-11-03 Akim Demaille <akim@epita.fr>
1937
1938 * src/Makefile.am (INCLUDES): s/PFILE/BISON_SIMPLE/.
1939 s/PFILE1/BISON_HAIRY/.
1940 Adjust dependencies.
1941
19422000-11-03 Akim Demaille <akim@epita.fr>
1943
1944 For some reason, this was not applied.
1945
1946 * src/files.c [VMS]: No longer include `ssdef.h', no longer define
1947 `unlink': it's no longer used.
1948
19492000-11-03 Akim Demaille <akim@epita.fr>
1950
1951 * src/files.c (skeleton_find): New function, eved out of...
1952 (open_files, open_extra_files): here.
1953
19542000-11-03 Akim Demaille <akim@epita.fr>
1955
1956 Don't use `atexit'.
1957
1958 * src/files.c (obstack_save): New function.
1959 (done): Rename as...
1960 (output_files): this.
1961 Use `obstack_save'.
1962 * src/main.c (main): Don't use `atexit' to register `done', since
1963 it no longer has to remove tmp files, just call `output_files'
1964 when there are no errors.
1965
19662000-11-02 Akim Demaille <akim@epita.fr>
1967
1968 * src/files.c [VMS]: No longer include `ssdef.h', no longer define
1969 `unlink': it's no longer used.
1970 * src/files.h: Formatting changes.
1971
19722000-11-02 Akim Demaille <akim@epita.fr>
1973
1974 Remove the last uses of mktemp and unlink/delete.
1975
1976 * src/files.c (fdefines, ftable): Removed.
1977 (defines_ostack, table_obstack): New.
1978 Adjust dependencies of the former into uses of the latter.
1979 * src/output.c (output_short_or_char_table, output_short_table):
1980 Convert to using obstacks.
1981 * src/reader.c (copy_comment2): Accept one FILE * and two
1982 obstacks.
1983 (output_token_defines, reader_output_yylsp): Use obstacks.
1984 * src/system.h (obstack_fgrow3): New.
1985
19862000-11-01 Akim Demaille <akim@epita.fr>
1987
1988 Change each use of `fattrs' into a use of `attrs_obstack'.
1989
1990 * src/reader.c (copy_at): Typo: s/yylloc/yyloc/.
1991 * src/files.c (fattrs): Remove.
1992 (attrs_obstack): New.
1993 Adjust all dependencies.
1994 (done): If SEMANTIC_PARSER, dump attrs_obstack into attrsfile.
1995
19962000-11-01 Akim Demaille <akim@epita.fr>
1997
1998 Introduce obstacks.
1999 Change each use of `faction' into a use of `action_obstack'.
2000
2001 * lib/obstack.h, lib/obstack.c: New files.
2002 * src/files.c (faction): Remove.
2003 (action_obstack): New.
2004 Adjust all dependencies.
2005
20062000-10-20 Akim Demaille <akim@epita.fr>
2007
2008 * lib/quote.h (PARAMS): New macro. Use it.
2009
20102000-10-16 Akim Demaille <akim@epita.fr>
2011
2012 * src/output.c (output_short_or_char_table): New function.
2013 (output_short_table, output_token_translations): Use it.
2014 (goto_actions): Use output_short_table.
2015
20162000-10-16 Akim Demaille <akim@epita.fr>
2017
2018 * src/symtab.c (bucket_new): New function.
2019 (getsym): Use it.
2020
2021 * src/output.c (output_short_table): New argument to display the
2022 comment associated with the table.
2023 Adjust dependencies.
2024 (output_gram): Use it.
2025 (output_rule_data): Nicer output layout for YYTNAME.
2026
20272000-10-16 Akim Demaille <akim@epita.fr>
2028
2029 * src/lex.c (read_typename): New function.
2030 (lex): Use it.
2031 * src/reader.c (copy_dollar): Likewise.
2032
20332000-10-16 Akim Demaille <akim@epita.fr>
2034
2035 * src/reader.c (copy_comment2): Expect the input stream to be on
2036 the `/' which is suspected to open a comment, instead of being
2037 called after `//' or `/*' was read.
2038 (copy_comment, copy_definition, parse_union_decl, copy_action)
2039 (copy_guard): Adjust.
2040
20412000-10-16 Akim Demaille <akim@epita.fr>
2042
2043 * src/reader.c (parse_expect_decl): Use `skip_white_space' and
2044 `read_signed_integer'.
2045
20462000-10-16 Akim Demaille <akim@epita.fr>
2047
2048 * src/reader.c (copy_dollar): New function.
2049 (copy_guard, copy_action): Use it.
2050
20512000-10-16 Akim Demaille <akim@epita.fr>
2052
2053 * lib/quote.h, lib/quote.c, lib/quotearg.h, lib/quotearg.c:
2054 * m4/prereq.m4, m4/c-bs-a.m4, m4/mbstate.m4:
2055 New files, from Fileutils 4.0.27.
2056 * src/main.c (printable_version): Remove.
2057 * src/lex.c, src/reader.c: Use `quote'.
2058
20592000-10-04 Akim Demaille <akim@epita.fr>
2060
2061 * lib/error.c, lib/error.h: New files, needed by xmalloc.c.
2062
20632000-10-04 Akim Demaille <akim@epita.fr>
2064
2065 * doc/bison.texinfo: Various typos spotted by Neil Booth.
2066
20672000-10-04 Akim Demaille <akim@epita.fr>
2068
2069 When a literal string is used to define two different tokens,
2070 `bison -v' segfaults.
2071 Reported by Piotr Gackiewicz, and fixed by Neil Booth.
2072
2073 * tests/regression.m4: New file.
2074 Include the core of the sample provided by Piotr Gackiewicz.
2075 * src/reader.c (parse_token_decl): Diagnose bad cases, and proceed
2076 properly.
2077
20782000-10-04 Akim Demaille <akim@epita.fr>
2079
2080 * src/reader.c (parse_expect_decl): Keep `count' within the size
2081 of `buffer'.
2082 From Neil Booth.
2083
20842000-10-02 Paul Eggert <eggert@twinsun.com>
2085
2086 * bison.s1 (yyparse): Assign the default value
2087 unconditionally, to avoid a GCC warning and make the parser a
2088 tad smaller.
2089
20902000-10-02 Akim Demaille <akim@epita.fr>
2091
2092 * src/getargs.c (getargs): Don't dump `--help' on unrecognized
2093 options.
2094
20952000-10-02 Akim Demaille <akim@epita.fr>
2096
2097 * src/derives.c, src/print.c, src/reduce.c: To ease the
2098 translation, move some `\n' out of the translated strings.
2099
21002000-10-02 Akim Demaille <akim@epita.fr>
2101
2102 The location tracking mechanism is precious for parse error
2103 messages. Nevertheless, it is enabled only when `@n' is used in
2104 the grammar, which is a different issue (you can use it in error
2105 message, but not in the grammar per se). Therefore, there should
2106 be another means to enable it.
2107
2108 * src/getargs.c (getargs): Support `--locations'.
2109 (usage): Report it.
2110 * src/getargs.h (locationsflag): Export it.
2111 * src/lex.c (percent_table): Support `%locations'.
2112 * src/reader.c (yylsp_needed): Remove this variable, now replaced
2113 with `locationsflag'.
2114 * doc/bison.texinfo: Document `--locations' and `%locations'.
2115 Sort the options.
2116 * tests/calc.m4: Test it.
2117
2118 For regularity of the names, replace each
2119 (nolineflag, toknumflag, rawtokenumflag, noparserflag): with...
2120 (no_lineflag, token_tableflag, rawflag, no_parserflag): this.
2121 In addition replace each `flag' with `_flag'.
2122
21232000-10-02 Akim Demaille <akim@epita.fr>
2124
2125 Also test parse error messages, including with YYERROR_VERBOSE.
2126
2127 * tests/calc.m4 (calc.y): Add support for `exp = exp' (non
2128 associative).
2129 Use it to check the computations.
2130 Use it to check `nonassoc' is honored.
2131 (AT_DATA_CALC_Y): Equip `calc.y' with YYERROR_VERBOSE when passed
2132 `--yyerror-verbose'.
2133 (_AT_CHECK_CALC): Adjust to this option.
2134 (_AT_CHECK_CALC_ERROR): New macro to check parse error messages.
2135
21362000-10-02 Akim Demaille <akim@epita.fr>
2137
2138 Test also `--verbose', `--defines' and `--name-prefix'. Testing
2139 the latter demonstrates a flaw in the handling of non debugging
2140 parsers introduced by myself on 2000-03-16: `#define yydebug 0'
2141 was used in order to simplify:
2142
2143 #if YYDEBUG
2144 if (yydebug)
2145 {
2146 ...
2147 }
2148 #endif
2149
2150 into
2151
2152 if (yydebug)
2153 {
2154 ...
2155 }
2156
2157 unfortunately this leads to a CPP conflict when
2158 `--name-prefix=foo' is used since it produces `#define yydebug
2159 foodebug'.
2160
2161 * src/bison.s1 [!YYDEBUG]: Do not define yydebug.
2162 (YYDPRINTF): New macro.
2163 Spread its use.
2164 * tests/calc.m4 (AT_CHECK_CALC): Do require a title, build it from
2165 the bison options.
2166 Also test `--verbose', `--defines' and `--name-prefix'.
2167
21682000-10-02 Akim Demaille <akim@epita.fr>
2169
2170 Improve the readability of the produced parsers.
2171
2172 * src/bison.s1: Formatting changes.
2173 Improve the comment related to the `$' mark.
2174 (yydefault): Don't fall through to `yyresume': `goto' there.
2175 * src/output.c (output_parser): When the `$' is met, skip the end
2176 of its line.
2177 New variable, `number_of_dollar_signs', to check there's exactly
2178 one `$' in the parser skeleton.
2179
21802000-10-02 Akim Demaille <akim@epita.fr>
2181
2182 * lib/xstrdup.c: New file, from the fileutils.
2183 * src/reader.c (parse_token_decl, get_type_name, parse_type_decl)
2184 (parse_assoc_decl, parse_thong_decl, get_type): Use `xstrdup'
2185 instead of strlen + xmalloc + strcpy.
2186 * src/symtab.c (copys): Remove, use xstrdup instead.
2187
21882000-10-02 Akim Demaille <akim@epita.fr>
2189
2190 * src/gram.h (associativity): New enum type which replaces the
2191 former CPP macros `RIGHT_ASSOC', `LEFT_ASSOC' and `NON_ASSOC' with
2192 `right_assoc', `left_assoc' and `non_assoc'.
2193 Adjust all dependencies.
2194 * src/reader.c: Formatting changes.
2195 (LTYPESTR): Don't define it, use it as a literal in
2196 `reader_output_yylsp'.
2197 * src/symtab.h (symbol_class): New enum type which replaces the
2198 former CPP macros `SUNKNOWN', `STOKEN and `SNTERM' with
2199 `sunknown', `stoken and `snterm'.
2200
22012000-10-02 Akim Demaille <akim@epita.fr>
2202
2203 * src/getargs.c (fixed_outfiles): Rename as...
2204 (yaccflag): for consistency and accuracy.
2205 Adjust dependencies.
2206
22072000-10-02 Akim Demaille <akim@epita.fr>
2208
2209 Use the more standard files `xalloc.h' and `xmalloc.c' instead of
2210 Bison's `allocate.c' and `alloc.h'. This patch was surprisingly
2211 difficult and introduced a lot of core dump. It turns out that
2212 Bison used an implementation of `xmalloc' based on `calloc', and
2213 at various places it does depend upon the initialization to 0. I
2214 have not tried to isolate the pertinent places, and all the former
2215 calls to Bison's `xmalloc' are now using `XCALLOC'. Someday,
2216 someone should address this issue.
2217
2218 * src/allocate.c, src/alloc.h, m4/bison-decl.m4: Remove.
2219 * lib/xmalloc.c, lib/xalloc.h, m4/malloc.m4, m4/realloc.m4: New
2220 files.
2221 Adjust dependencies.
2222 * src/warshall.h: New file.
2223 Propagate.
2224
22252000-10-02 Akim Demaille <akim@epita.fr>
2226
2227 Various anti-`extern in *.c' changes.
2228
2229 * src/system.h: Include `assert.h'.
2230
22312000-10-02 Akim Demaille <akim@epita.fr>
2232
2233 * src/state.h (nstates, final_state, first_state, first_shift)
2234 (first_reduction): Move their exportation from here...
2235 * src/LR0.h: to here.
2236 Adjust dependencies.
2237 * src/getargs.c (statisticsflag): New variable.
2238 Add support for `--statistics'.
2239 Adjust dependencies.
2240
2241 Remove a lot of now useless `extern' statements in most files.
2242
22432000-10-02 Akim Demaille <akim@epita.fr>
2244
2245 * src/LR0.h: New file.
2246 Propagate its use.
2247
22482000-10-02 Akim Demaille <akim@epita.fr>
2249
2250 * src/print.h: New file.
2251 Propagate its use.
2252 * src/print.c: Formatting and ordering changes.
2253 (verbose, terse): Replace with...
2254 (print_results): this new function.
2255 Adjust dependencies.
2256
22572000-10-02 Akim Demaille <akim@epita.fr>
2258
2259 * src/conflicts.c (conflict_report): New function.
2260 (conflict_log, verbose_conflict_log): Replace with...
2261 (print_conflicts): this function.
2262 Adjust dependencies.
2263 * src/conflicts.h: New file.
2264 Propagate its inclusion.
2265
22662000-10-02 Akim Demaille <akim@epita.fr>
2267
2268 * src/nullable.h: New file.
2269 Propagate its inclusion.
2270 * src/nullable.c: Formatting changes.
2271
22722000-10-02 Akim Demaille <akim@epita.fr>
2273
2274 * src/reduce.h: New file.
2275 Propagate its inclusion.
2276 * src/reduce.c: Topological sort and other formatting changes.
2277 (bool, TRUE, FALSE): Move their definition to...
2278 * src/system.h: here.
2279
22802000-10-02 Akim Demaille <akim@epita.fr>
2281
2282 * src/files.c: Formatting changes.
2283 (tryopen, tryclose, openfiles): Rename as...
2284 (xfopen, xfclose, open_files): this.
2285 (stringappend): static.
2286 * src/files.h: Complete the list of exported symbols.
2287 Propagate its use.
2288
22892000-10-02 Akim Demaille <akim@epita.fr>
2290
2291 * src/reader.h: New file.
2292 Propagate its use instead of tedious list of `extern' and
2293 prototypes.
2294 * src/reader.c: Formatting changes, topological sort,
2295 s/register//.
2296
22972000-10-02 Akim Demaille <akim@epita.fr>
2298
2299 * src/lex.h: Prototype `lex.c' exported functions.
2300 * src/reader.c: Adjust.
2301 * src/lex.c: Formatting changes.
2302 (safegetc): Rename as...
2303 (xgetc): this.
2304
23052000-10-02 Akim Demaille <akim@epita.fr>
2306
2307 * src/lalr.h: New file.
2308 Propagate its inclusion instead of prototypes and `extern'.
2309 * src/lalr.c: Formatting changes, topological sorting etc.
2310
23112000-10-02 Akim Demaille <akim@epita.fr>
2312
2313 * src/output.c (token_actions): Introduce a temporary array,
2314 YYDEFACT, that makes it possible for this function to use
2315 output_short_table.
2316
23172000-10-02 Akim Demaille <akim@epita.fr>
2318
2319 `user_toknums' is output as a `short[]' in `output.c', while it is
2320 defined as a `int[]' in `reader.c'. For consistency with the
2321 other output tables, `user_toknums' is now defined as a table of
2322 shorts.
2323
2324 * src/reader.c (user_toknums): Be a short table instead of an int
2325 table.
2326 Adjust dependencies.
2327
2328 Factor the short table outputs.
2329
2330 * src/output.c (output_short_table): New function.
2331 * src/output.c (output_gram, output_stos, output_rule_data)
2332 (output_base, output_table, output_check): Use it.
2333
23342000-10-02 Akim Demaille <akim@epita.fr>
2335
2336 * src/output.c (output): Topological sort of the functions, in
2337 order to get rid of the `static' prototypes.
2338 No longer use `register'.
2339 * src/output.h: New file.
2340 Propagate its inclusion in files explicitly prototyping functions
2341 from output.c.
2342
23432000-09-21 Akim Demaille <akim@epita.fr>
2344
2345 * src/atgeneral.m4: Update from Autoconf.
2346
23472000-09-21 Akim Demaille <akim@epita.fr>
2348
2349 * src/closure.h: New file.
2350 * src/closure.c: Formatting changes, topological sort over the
2351 functions, use of closure.h.
2352 (initialize_closure, finalize_closure): Rename as...
2353 (new_closure, free_closure): these. Adjust dependencies.
2354 * src/LR0.c: Formatting changes, topological sort, use of
2355 cloture.h.
2356 (initialize_states): Rename as...
2357 (new_states): this.
2358 * src/Makefile.am (noinst_HEADERS): Adjust.
2359
23602000-09-20 Akim Demaille <akim@epita.fr>
2361
2362 * src/acconfig.h: Don't protect config.h against multiple
2363 inclusion.
2364 Don't define PARAMS.
2365 * src/system.h: Define PARAMS.
2366 Remove some of the ad-hoc CPP magic for DOS, VMS etc.: this is the
2367 purpose of config.h. system.h must not try to fix wrong
2368 definitions in config.h.
2369
23702000-09-20 Akim Demaille <akim@epita.fr>
2371
2372 * src/derives.h: New file.
2373 * src/main.c, src/derives.h: Use it.
2374 Formatting changes.
2375 * src/Makefile.am (noinst_HEADERS): Adjust.
2376
23772000-09-20 Akim Demaille <akim@epita.fr>
2378
2379 * tests/atgeneral.m4: Update from Autoconf.
2380 * tests/calc.m4 (_AT_DATA_CALC_Y, AT_DATA_CALC_Y, _AT_CHECK_CALC)
2381 (AT_CHECK_CALC): New macros.
2382 Use these macros to test bison with options `', `--raw',
2383 `--debug', `--yacc', `--yacc --debug'.
2384
23852000-09-19 Akim Demaille <akim@epita.fr>
2386
2387 * src/output.c: Formatting changes.
2388 * src/machine.h: Remove, leaving its contents in...
2389 * src/system.h: here.
2390 Include stdio.h.
2391 Adjust all dependencies on stdio.h and machine.h.
2392 * src/getargs.h: New file.
2393 Let all `extern' declarations about getargs.c be replaced with
2394 inclusion of `getargs.h'.
2395 * src/Makefile.am (noinst_HEADERS): Adjust.
2396
2397 * tests/calc.m4 (yyin): Be initialized in main, not on the global
2398 scope.
2399 (yyerror): Returns void, not int.
2400 * doc/bison.texinfo: Formatting changes.
2401
24022000-09-19 Akim Demaille <akim@epita.fr>
2403
2404 * tests/calc.m4 (calc.y): Do not assign to stdin, as it's not
2405 portable.
2406
24072000-09-18 Akim Demaille <akim@epita.fr>
2408
2409 * configure.in: Append WARNING_CFLAGS to CFLAGS.
2410 * src/Makefile.am (INCLUDES): Don't.
2411 Be ready to fetch headers in lib/.
2412
24132000-09-18 Akim Demaille <akim@epita.fr>
2414
2415 * doc/bison.texinfo: Update the copyright.
2416 ANSIfy and GNUify the examples.
2417 Remove the old menu.
2418
24192000-09-18 Akim Demaille <akim@epita.fr>
2420
2421 First set of tests: use the `calc' example from the documentation.
2422
2423 * src/bison.s1 (yyparse): Condition the code using `yytname' which
2424 is defined only when YYDEBUG is.
2425 * m4/atconfig.m4 (AT_CONFIG): Adjust to Autoconf 2.13.
2426 * src/files.c (tryopen, tryclose): Formatting changes.
2427 Move to the top and be static.
2428 * src/reader.c (read_signed_integer): Likewise.
2429 * tests/calc.m4: New file.
2430 * Makefile.am, suite.m4: Adjust.
2431 * m4/atconfig.m4: Set BISON_SIMPLE and BISON_HAIRY.
2432
24332000-09-18 Akim Demaille <akim@epita.fr>
2434
2435 Add support for an Autotest test suite for Bison.
2436
2437 * m4/m4.m4, m4/atconfig.m4: New files.
2438 * m4/Makefile.am (EXTRA_DIST): Adjust.
2439 * tests/suite.m4, tests/Makefile.am, tests/atgeneral.m4: New
2440 files.
2441 * src/getargs.c: Display a more standard --version message.
2442 * src/reader.c (reader): Formatting changes.
2443 No longer depend upon VERSION_STRING.
2444 * configure.in: No longer use `dnl'.
2445 Set up the test suite and the new directory `tests/.
2446 (VERSION_STRING): Remove.
2447
24482000-04-14 Akim Demaille <akim@epita.fr>
2449
2450 * src/reader.c (copy_comment2): New function, same as former
2451 `copy_comment', but outputs into two FILE *.
2452 (copy_comment): Use it.
2453 (parse_union_decl): Use it.
2454 (get_type, parse_start_decl): Use the same `invalid' message.
2455 (parse_start_decl, parse_union_decl): Use the same `multiple'
2456 message.
2457 (parse_union_decl, copy_guard, copy_action): Use the same
2458 `unmatched' message.
2459 * m4/Makefile.am (EXTRA_DIST): Add `warning.m4'.
2460
24612000-03-31 Akim Demaille <akim@epita.fr>
2462
2463 * src/files.c (tryopen, tryclose): Move to the top.
2464 Be static.
2465
24662000-03-31 Akim Demaille <akim@epita.fr>
2467
2468 * src/main.c (main): Don't call `done', exit does it.
2469
24702000-03-31 Akim Demaille <akim@epita.fr>
2471
2472 * allocate.c: s/return (foo)/return foo/.
2473 * lalr.c: Likewise.
2474 * LR0.c: Likewise.
2475 * output.c: Likewise.
2476 * reader.c: Likewise.
2477 * symtab.c: Likewise.
2478 * vmsgetargs.c: Likewise.
2479
24802000-03-31 Akim Demaille <akim@epita.fr>
2481
2482 Clean up the error reporting functions.
2483
2484 * src/report.c: New file.
2485 * src/report.h: Likewise.
2486 * src/Makefile.am: Adjust.
2487 * m4/error.m4: New file.
2488 * m4/Makefile.am: Adjust.
2489 * configure.in (jm_PREREQ_ERROR): Call it.
2490 * src/main.c (int_to_string, banner, fatal_banner, warn_banner):
2491 Remove.
2492 (fatal, fatals): Remove. All callers use complain.c::fatal.
2493 (warn, warni, warns, warnss, warnss): Remove. All callers use
2494 complain.c::complain.
2495 (toomany): Remove, use fatal instead.
2496 * src/files.c (done): No argument, use complain_message_count.
2497 * src/main.c (main): Register `done' to `atexit'.
2498
2499 * src/getargs.c (usage): More `fputs', less `fprintf'.
2500
25012000-03-28 Akim Demaille <akim@epita.fr>
2502
2503 * lib/: New directory.
2504 * Makefile.am (SUBDIRS): Adjust.
2505 * configure.in: Adjust.
2506 (LIBOBJS): Although not used yet, AC_SUBST it, otherwise it's
2507 useless.
2508 * src/alloca.c: Moved to lib/.
2509 * src/getopt.c: Likewise.
2510 * src/getopt1.c: Likewise.
2511 * src/getopt.h: Likewise.
2512 * src/ansi2knr.c: Likewise.
2513 * src/ansi2knr.1: Likewise.
2514 * src/Makefile.am: Adjust.
2515 * lib/Makefile.am: New file.
2516
25172000-03-28 Akim Demaille <akim@epita.fr>
2518
2519 * src/getargs.c (usage): Refresh the help message.
2520
25212000-03-17 Akim Demaille <akim@epita.fr>
2522
2523 * src/getopt1.c: Updated from textutils 2.0e
2524 * src/getopt.c: Likewise.
2525 * src/getopt.h: Likewise.
2526
25272000-03-17 Akim Demaille <akim@epita.fr>
2528
2529 * src/Makefile.am (bison.simple): Fix the awk program: quote only
2530 the file name, not the whole `#line LINE FILE'.
2531
25322000-03-17 Akim Demaille <akim@epita.fr>
2533
2534 On syntax errors, report the token on which we choked.
2535
2536 * src/bison.s1 (yyparse): In the label yyerrlab, when
2537 YYERROR_VERBOSE, add yychar in msg.
2538
25392000-03-17 Akim Demaille <akim@epita.fr>
2540
2541 * src/reader.c (copy_at): New function.
2542 (copy_guard): Use it.
2543 (copy_action): Use it.
2544
25452000-03-17 Akim Demaille <akim@epita.fr>
2546
2547 Be kind to translators, save some useless translations.
2548
2549 * src/main.c (banner): New function.
2550 (fatal_banner): Use it.
2551 (warn_banner): Use it.
2552
25532000-03-17 Akim Demaille <akim@epita.fr>
2554
2555 * src/reader.c (copy_definition): Use copy_string and
2556 copy_comment. Removed now unused `match', `ended',
2557 `cplus_comment'.
2558 (copy_comment, copy_string): Moved, to be visible from
2559 copy_definition.
2560
25612000-03-17 Akim Demaille <akim@epita.fr>
2562
2563 * src/reader.c (copy_string): Declare `static inline'. No
2564 problems with inline, since it is checked by configure.
2565 (copy_comment): Likewise.
2566
25672000-03-17 Akim Demaille <akim@epita.fr>
2568
2569 * src/reader.c (packsymbols): Formatting changes.
2570
25712000-03-17 Akim Demaille <akim@epita.fr>
2572
2573 * src/reader.c (copy_comment): New function, factored out from:
2574 (copy_action): Use it. Removed now unused `match', `ended',
2575 `cplus_comment'.
2576 (copy_guard): Likewise.
2577
25782000-03-17 Akim Demaille <akim@epita.fr>
2579
2580 * src/reader.c (copy_string): New function, factored out from:
2581 (copy_action): Use it.
2582 (copy_guard): Likewise.
2583
25842000-03-17 Akim Demaille <akim@epita.fr>
2585
2586 Change the handling of @s so that they behave exactly like $s.
2587 There is now a pseudo variable @$ (readble and writable), location
2588 of the lhs of the rule (by default ranging from the location of
2589 the first symbol of the rhs, to the location of the last symbol,
2590 or, if the rhs is empty, YYLLOC).
2591
2592 * src/bison.s1 [YYLSP_NEEDED] (yyloc): New variable, twin of
2593 yyval.
2594 (yyparse): When providing a default semantic action, provide a
2595 default location action.
2596 (after the $): No longer change `*YYLSP', just stack YYLOC the
2597 same way you stack YYVAL.
2598 * src/reader.c (read_declarations): Use warns.
2599 (copy_guard, case '@'): Also recognize `@$', expanded as `YYLOC'.
2600 (copy_action, case '@'): Likewise.
2601 Use a standard error message, to save useless work from
2602 translators.
2603
26042000-03-17 Akim Demaille <akim@epita.fr>
2605
2606 * src/bison.s1: Formatting and cosmetics changes.
2607 * src/reader.c: Likewise.
2608 Update the Copyright notice.
2609
26102000-03-17 Akim Demaille <akim@epita.fr>
2611
2612 * src/bison.s1 (#line): All set to `#line' only, since the
2613 Makefile now handles them.
2614
26152000-03-16 Akim Demaille <akim@epita.fr>
2616
2617 * src/output.c (output_rule_data): Output the documentation of
2618 some of the tables.
2619 (Copyright notice): Update.
2620 Formatting changes.
2621
26222000-03-16 Akim Demaille <akim@epita.fr>
2623
2624 * src/bison.s1 [!YYDEBUG]: Define yydebug to 0. This allows to
2625 remove most `#if YYDEBUG != 0', since `if (yydebug)' is enough.
2626 One `#if YYDEBUG' remains, since it uses variables which are
2627 defined only if `YYDEBUG != 0'.
2628
26292000-03-16 Akim Demaille <akim@epita.fr>
2630
2631 * src/bison.s1 (yyparse): Reorganize the definitions of the stacks
2632 and related variables so that the similarities are highlighted.
2633
26342000-03-16 Akim Demaille <akim@epita.fr>
2635
2636 * src/bison.s1: Properly indent CPP directives.
2637
26382000-03-16 Akim Demaille <akim@epita.fr>
2639
2640 * src/bison.s1: Properly indent the `alloca' CPP section.
2641
26422000-03-16 Akim Demaille <akim@epita.fr>
2643
2644 Do not hard code values of directories in `configure.in'.
2645 Update the `configure' tool chain.
2646
2647 * configure.in (XPFILE, XPFILE1, LOCALEDIR): Remove, handled by
2648 src/makefile.am.
2649 (VERSION_STRING): Use the third arg of AC_DEFINE_UNQUOTED.
2650 (AC_OUTPUT): Add m4/Makefile.
2651 Bump to bison 1.28a, 1.29 has never been released.
2652 * acconfig.h (XPFILE, XPFILE1, LOCALEDIR): Remove, since they are
2653 handled via src/Makefile.am.
2654 (VERSION_STRING, PROTOTYPES, ENABLE_NLS, HAVE_CATGETS,
2655 HAVE_GETTEXT, HAVE_LC_MESSAGES, HAVE_STPCPY): Remove, handled by
2656 autoheader.
2657 * Makefile.am (SUBDIRS): Add m4.
2658 (ACLOCAL_AM_FLAGS): New variable.
2659 (AUTOMAKE_OPTIONS): Add check-news.
2660 * src/Makefile.am (bison.simple): Use awk to replace #line lines with
2661 the proper line number and file name.
2662 (DEFS): Propagate the location of bison library files and of the
2663 locale files.
2664 (INCLUDES): Added `-I ..' so that one can compile with srcdir !=
2665 builddir.
2666 * acinclude.m4: Remove, replaced by the directory m4.
2667 * m4/Makefile.am (EXTRA_DIST): New variable.
2668 * m4/gettext.m4: New file, from the fileutils.
2669 * m4/lcmessage.m4: Likewise
2670 * m4/progtest.m4: Likewise.
2671 * m4/bison-decl.m4: New file, extracted from former acinclude.m4.
2672
26732000-03-10 Akim Demaille <akim@epita.fr>
2674
2675 * src/closure.c:
2676 Formatting changes of various comments.
2677 Respect the GNU coding standards at various places.
2678 Don't use `_()' when no translation is needed.
2679
26801999-12-13 Jesse Thilo <jthilo@gnu.org>
2681
2682 * src/files.c:
2683 OS/2 honors TMPDIR environment variable.
2684
26851999-12-13 Jesse Thilo <jthilo@gnu.org>
2686
2687 * doc/bison.texinfo: Tweaked spelling and grammar.
2688 Updated ISBN.
2689 Removed reference to price of printed copy.
2690 Mention BISON_SIMPLE and BISON_HAIRY.
2691
26921999-12-13 Jesse Thilo <jthilo@gnu.org>
2693
2694 * configure.in, NEWS:
2695 Bison 1.29 released.
2696
26971999-10-27 Jesse Thilo <jthilo@gnu.org>
2698
2699 * doc/.cvsignore, doc/Makefile.am, doc/refcard.tex:
2700 Added reference card.
2701
27021999-07-26 Jesse Thilo <jthilo@gnu.org>
2703
2704 * po/ru.po: Added Russian translation.
2705
27061999-07-26 Jesse Thilo <jthilo@gnu.org>
2707
2708 * configure.in: Added Russian translation.
2709
27101999-07-06 Jesse Thilo <jthilo@gnu.org>
2711
2712 * configure.in, NEWS, README:
2713 Released version 1.28.
2714
27151999-06-14 Jesse Thilo <jthilo@gnu.org>
2716
2717 * src/system.h:
2718 Squashed redefinition warning on some systems.
2719
2720 * src/getargs.c, src/Makefile.am, src/reader.c, src/version.c:
2721 Have configure build version string instead of relying on ANSI string
2722 concatentation.
2723
27241999-06-14 Jesse Thilo <jthilo@gnu.org>
2725
2726 * po/POTFILES.in: Got rid of version.c.
2727
27281999-06-14 Jesse Thilo <jthilo@gnu.org>
2729
2730 * acconfig.h, configure.in:
2731 Have configure build version string instead of relying on ANSI string
2732 concatentation.
2733
27341999-06-08 Jesse Thilo <jthilo@gnu.org>
2735
2736 * doc/bison.1:
2737 Dropped mention of `+' for long-named options.
2738
27391999-05-30 Jesse Thilo <jthilo@gnu.org>
2740
2741 * src/files.c: Added <unistd.h> for unlink().
2742
2743 * src/Makefile.am, src/system.h:
2744 I18n fixes.
2745
27461999-05-30 Jesse Thilo <jthilo@gnu.org>
2747
2748 * README: Added a FAQ list.
2749
2750 * configure.in, acconfig.h:
2751 I18n fixes.
2752
27531999-05-30 Jesse Thilo <jthilo@gnu.org>
2754
2755 * doc/FAQ, doc/Makefile.am:
2756 Added a FAQ list.
2757
27581999-05-19 Jesse Thilo <jthilo@gnu.org>
2759
2760 * src/alloc.h, src/symtab.h, src/version.c:
2761 Protected inclusion of "config.h" with HAVE_CONFIG_H.
2762
27631999-04-18 Jesse Thilo <jthilo@gnu.org>
2764
2765 * src/.cvsignore, src/Makefile.am:
2766 Reorganized: sources in `src', documentation in `doc'.
2767
2768 * src/lex.c (literalchar):
2769 fixed the code for escaping double quotes (thanks
2770 Jonathan Czisny.)
2771
27721999-04-18 Jesse Thilo <jthilo@gnu.org>
2773
2774 * po/de.po, po/es.po, po/fr.po, po/nl.po, po/POTFILES.in:
2775 Adjusted paths to reflect directory reorganization.
2776
27771999-04-18 Jesse Thilo <jthilo@gnu.org>
2778
2779 * doc/.cvsignore, doc/Makefile.am:
2780 Reorganized: sources in `src', documentation in `doc'.
2781
27821999-04-18 Jesse Thilo <jthilo@gnu.org>
2783
2784 * configure.in:
2785 Updated AC_INIT file to reflect directory reorganization.
2786
2787 * configure.in, .cvsignore, Makefile.am, POTFILES.in:
2788 Reorganized: sources in `src', documentation in `doc'.
2789
27901999-04-13 Jesse Thilo <jthilo@gnu.org>
2791
2792 * src/allocate.c:
2793 Don't declare calloc() and realloc() if not necessary.
2794
27951999-04-13 Jesse Thilo <jthilo@gnu.org>
2796
2797 * configure.in, acconfig.h, acinclude.m4:
2798 Don't declare calloc() and realloc() if not necessary.
2799
28001999-03-23 Jesse Thilo <jthilo@gnu.org>
2801
2802 * po/.cvsignore: Added i18n support.
2803
28041999-03-23 Jesse Thilo <jthilo@gnu.org>
2805
2806 * acconfig.h, configure.in, Makefile.am:
2807 Added i18n support.
2808
28091999-03-22 Jesse Thilo <jthilo@gnu.org>
2810
2811 * src/bison.s1: Fixed #line numbers.
2812
28131999-03-15 Jesse Thilo <jthilo@gnu.org>
2814
2815 * po/es.po, po/fr.po, po/nl.po, po/de.po:
2816 Added PO files from Translation Project.
2817
28181999-03-03 Jesse Thilo <jthilo@gnu.org>
2819
2820 * Makefile.am:
2821 Added support for non-ANSI compilers (ansi2knr).
2822
28231999-02-16 Jesse Thilo <jthilo@gnu.org>
2824
2825 * configure.in: Bumped version number to 1.27.
2826
2827 * Makefile.am:
2828 Added `bison.simple' to list of files removed by `make distclean'.
2829
28301999-02-12 Jesse Thilo <jthilo@gnu.org>
2831
2832 * src/files.c, src/files.h:
2833 Defined locations of parser files in config.h instead of Makefile.
2834
28351999-02-12 Jesse Thilo <jthilo@gnu.org>
2836
2837 * acconfig.h, acinclude.m4, configure.in, Makefile.am:
2838 Defined locations of parser files in config.h instead of Makefile.
2839
28401999-02-09 Jesse Thilo <jthilo@gnu.org>
2841
2842 * Makefile.am:
2843 Removed inappropriate use of $< macro.
2844
28451999-02-05 Jesse Thilo <jthilo@gnu.org>
2846
2847 * po/Makefile.in.in, po/POTFILES.in:
2848 Add `po' directory skeleton.
2849
28501999-01-27 Jesse Thilo <jthilo@gnu.org>
2851
2852 * README: Document help-bison list.
2853
2854 * configure.in: Add check for mkstemp().
2855
28561999-01-20 Jesse Thilo <jthilo@gnu.org>
2857
2858 * src/conflicts.c, src/LR0.c, src/output.c, src/reader.c:
2859 Hush a few compiler warnings.
2860
2861 * src/files.c:
2862 Add tryclose(), which verifies that fclose was successful.
2863 Hush a couple of compiler warnings.
2864
28651999-01-20 Jesse Thilo <jthilo@gnu.org>
2866
2867 * Makefile.am, OChangeLog:
2868 ChangeLog is now automatically generated. Include the old version as
2869 OChangeLog.
2870
28711999-01-14 Jesse Thilo <jthilo@gnu.org>
2872
2873 * 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:
2874 Update FSF address.
2875
28761999-01-14 Jesse Thilo <jthilo@gnu.org>
2877
2878 * doc/bison.texinfo: Fix formatting glitch.
2879
2880 * doc/bison.texinfo: Update FSF address.
2881
28821999-01-14 Jesse Thilo <jthilo@gnu.org>
2883
2884 * acconfig.h: Update FSF address.
2885
28861999-01-08 Jesse Thilo <jthilo@gnu.org>
2887
2888 * src/system.h:
2889 Don't define PACKAGE here, since config.h defines it.
2890
28911998-12-30 Jesse Thilo <jthilo@gnu.org>
2892
2893 * src/reader.c: Update copyright date.
2894
2895 * src/main.c:
2896 Ditch sprintf to statically-sized buffers in fatal/warn functions in
2897 favor of output directly to stderr (avoids buffer overruns).
2898
2899 * src/reader.c: Some checks for premature EOF.
2900
2901 * 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:
2902 Use prototypes if the compiler understands them.
2903
2904 * src/files.c: Honor TMPDIR on Unix hosts.
2905 Use prototypes if the compiler understands them.
2906
2907 * src/reader.c:
2908 Fix a couple of buffer overrun bugs.
2909 Use prototypes if the compiler understands them.
2910
2911 * src/system.h: Include unistd.h and ctype.h.
2912 Use #ifdef instead of #if for NLS symbols.
2913
29141998-12-30 Jesse Thilo <jthilo@gnu.org>
2915
2916 * doc/bison.texinfo:
2917 Delete comment "consider using @set for edition number, etc..." since
2918 we now are doing so.
2919
29201998-12-30 Jesse Thilo <jthilo@gnu.org>
2921
2922 * configure.in:
2923 Use prototypes if the compiler understands them.
2924
2925 * NEWS: Document 1.26 highlights.
2926
2927 * Makefile.am: Require Automake 1.3 or later.
2928
2929 * acconfig.h:
2930 Use prototypes if the compiler understands them.
2931
29321998-12-29 Jesse Thilo <jthilo@gnu.org>
2933
2934 * src/version.c:
2935 Use VERSION symbol from automake for version number.
2936
29371998-12-29 Jesse Thilo <jthilo@gnu.org>
2938
2939 * acconfig.h, configure.in, version.cin:
2940 Use VERSION symbol from automake for version number.
2941
29421998-11-28 Jesse Thilo <jthilo@gnu.org>
2943
2944 * Makefile.am:
2945 Distribute original version of simple parser (bison.s1), not built
2946 version (bison.simple).
2947
29481998-11-28 Jesse Thilo <jthilo@gnu.org>
2949
2950 * doc/bison.texinfo: Add info dir entry.
2951
2952 * doc/bison.texinfo:
2953 Let automake put version number into documentation.
2954
29551998-11-26 Jesse Thilo <jthilo@gnu.org>
2956
2957 * src/bison.cld, src/build.com, src/vmshlp.mar:
2958 Add non-RCS files from /gd/gnu/bison.
2959
29601998-11-26 Jesse Thilo <jthilo@gnu.org>
2961
2962 * doc/bison.1:
2963 Document the BISON_HAIRY and BISON_SIMPLE variables.
2964
29651998-11-25 Jesse Thilo <jthilo@gnu.org>
2966
2967 * src/version.c: Build version.c automatically.
2968
2969 * src/reader.c:
2970 Fix token numbering (used to start at 258, not 257).
2971
2972 * src/system.h: Include config.h.
2973
2974 * src/getargs.c: Update bug report address.
2975
2976 * src/alloca.c, src/getopt1.c, src/getopt.c, src/getopt.h:
2977 Get latest copies of alloca.c, getopt.c, getopt.h, getopt1.c from gnu.org.
2978
29791998-11-25 Jesse Thilo <jthilo@gnu.org>
2980
2981 * Makefile.am:
2982 Rename bison.simple to bison.s1 (bison.simple is then built from bison.s1).
2983
2984 * configure.in, version.cin:
2985 Build version.c automatically.
2986
2987 * AUTHORS: Add AUTHORS file.
2988
2989 * README: Update bug report address.
2990
2991 * bison.simple:
2992 Rename bison.simple to bison.s1 (bison.simple is then built from bison.s1).
2993
2994 * configure.in, Makefile.am, Makefile.in, stamp-h.in:
2995 Add automake stuff.
2996
29971998-11-25 Jesse Thilo <jthilo@gnu.org>
2998
2999 * doc/bison.texinfo: Clean up some formatting.
3000
30011998-05-05 Richard Stallman <rms@gnu.org>
3002
3003 * doc/bison.texinfo:
3004 Explain better why to make a pure parser.
3005
30061998-01-05 Richard Stallman <rms@gnu.org>
3007
3008 * src/files.c (openfiles):
3009 [_WIN32 && !__CYGWIN32__] Use TEMP or Temp to
3010 find a temporary directory, if possible. Do not unlink files while
3011 they are open.
3012
30131997-08-25 Richard Stallman <rms@gnu.org>
3014
3015 * src/reader.c (stack_offset;):
3016 Change some warni to warns.
3017
3018 * src/lex.c (literalchar): Use warns, not warni.
3019
30201997-06-28 Richard Stallman <rms@gnu.org>
3021
3022 * src/bison.s1: Add a Bison version comment.
3023
3024 * src/main.c (fatal, warn, berror):
3025 Use program_name.
3026
30271997-06-28 Richard Stallman <rms@gnu.org>
3028
3029 * Makefile.in (bison_version): New variable.
3030 (dist): Use that variable.
3031 (bison.s1): Substitute the Bison version into bison.simple.
3032
3033 * bison.simple: Add a Bison version comment.
3034
30351997-06-18 Richard Stallman <rms@gnu.org>
3036
3037 * src/main.c (fatal, warn, berror):
3038 Make error messages standard.
3039 (toomany): Improve error message text.
3040
3041 * 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:
3042 new.h renamed to alloc.h.
3043
30441997-06-18 Richard Stallman <rms@gnu.org>
3045
3046 * Makefile.in: new.h renamed to alloc.h.
3047
30481997-05-24 Richard Stallman <rms@gnu.org>
3049
3050 * src/lex.c (literalchar):
3051 Fix the code for escaping \, " and '.
3052
3053 (lex): Avoid trouble when there are many chars
3054 to discard in a char literal with just several chars in it.
3055
30561997-05-17 Richard Stallman <rms@gnu.org>
3057
3058 * src/bison.s1:
3059 Use malloc, if using alloca is troublesome.
3060 (YYSTACK_USE_ALLOCA): New flag macro.
3061 Define it for some systems and compilers.
3062 (YYSTACK_ALLOC): New macro.
3063 (yyparse): Use YYSTACK_ALLOC to allocate stack.
3064 If it was malloc'd, free it.
3065
30661997-05-17 Richard Stallman <rms@gnu.org>
3067
3068 * bison.simple:
3069 Use malloc, if using alloca is troublesome.
3070 (YYSTACK_USE_ALLOCA): New flag macro.
3071 Define it for some systems and compilers.
3072 (YYSTACK_ALLOC): New macro.
3073 (yyparse): Use YYSTACK_ALLOC to allocate stack.
3074 If it was malloc'd, free it.
3075
30761997-04-23 Richard Stallman <rms@gnu.org>
3077
3078 * src/bison.s1:
3079 (alloca) [__hpux]: Always define as __builtin_alloca.
3080
30811997-04-23 Richard Stallman <rms@gnu.org>
3082
3083 * bison.simple:
3084 (alloca) [__hpux]: Always define as __builtin_alloca.
3085
30861997-04-22 Richard Stallman <rms@gnu.org>
3087
3088 * src/bison.s1:
3089 [__hpux]: Include alloca.h (right for HPUX 10)
3090 instead of declaring alloca (right for HPUX 9).
3091
3092 * src/bison.s1 (__yy_memcpy):
3093 Declare arg `count' as unsigned int.
3094 (yyparse): Cast third arg to __yy_memcpy to unsigned int.
3095
30961997-04-22 Richard Stallman <rms@gnu.org>
3097
3098 * bison.simple:
3099 [__hpux]: Include alloca.h (right for HPUX 10)
3100 instead of declaring alloca (right for HPUX 9).
3101
3102 * bison.simple (__yy_memcpy):
3103 Declare arg `count' as unsigned int.
3104 (yyparse): Cast third arg to __yy_memcpy to unsigned int.
3105
31061997-01-03 Richard Stallman <rms@gnu.org>
3107
3108 * src/allocate.c: [__STDC__ or _MSC_VER]:
3109 Declare calloc and realloc to return void *.
3110
31111997-01-02 Richard Stallman <rms@gnu.org>
3112
3113 * src/system.h:
3114 [_MSC_VER]: Include stdlib.h and process.h.
3115 [_MSC_VER] (getpid): Define as macro--translate it to _getpid.
3116
3117 * src/main.c (main): Return FAILURE as a value.
3118 (printable_version): Declare arg as int, not char.
3119
31201997-01-02 Richard Stallman <rms@gnu.org>
3121
3122 * Makefile.in (dist):
3123 Explicitly check for symlinks, and copy them.
3124
31251996-12-19 Richard Stallman <rms@gnu.org>
3126
3127 * src/files.c:
3128 [_MSC_VER] (XPFILE, XPFILE1): Define, if not already defined.
3129
31301996-12-18 Paul Eggert <eggert@gnu.org>
3131
3132 * src/bison.s1 (yyparse):
3133 If __GNUC__ and YYPARSE_PARAM are both defined,
3134 declare yyparse to have a void * argument.
3135
31361996-12-18 Paul Eggert <eggert@gnu.org>
3137
3138 * bison.simple (yyparse):
3139 If __GNUC__ and YYPARSE_PARAM are both defined,
3140 declare yyparse to have a void * argument.
3141
31421996-12-17 Richard Stallman <rms@gnu.org>
3143
3144 * src/reduce.c (nbits): Add some casts.
3145
31461996-08-12 Richard Stallman <rms@gnu.org>
3147
3148 * src/bison.s1: Test _MSDOS as well as _MSDOS_.
3149
31501996-08-12 Richard Stallman <rms@gnu.org>
3151
3152 * bison.simple: Test _MSDOS as well as _MSDOS_.
3153
31541996-07-31 Richard Stallman <rms@gnu.org>
3155
3156 * src/bison.s1:
3157 [__sun && __i386]: Include alloca.h.
3158
31591996-07-31 Richard Stallman <rms@gnu.org>
3160
3161 * bison.simple:
3162 [__sun && __i386]: Include alloca.h.
3163
31641996-07-30 Richard Stallman <rms@gnu.org>
3165
3166 * src/bison.s1: Comment change.
3167
3168 * src/bison.s1: Test _MSDOS_, not MSDOS.
3169
31701996-07-30 Richard Stallman <rms@gnu.org>
3171
3172 * bison.simple: Comment change.
3173
3174 * bison.simple: Test _MSDOS_, not MSDOS.
3175
31761996-06-01 Richard Stallman <rms@gnu.org>
3177
3178 * 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:
3179 Insert `_' macro around many string constants.
3180
3181 * src/main.c:
3182 Insert `_' macro around many string constants.
3183
3184 (main): Call setlocale, bindtextdomain and textdomain.
3185
3186 * src/system.h: [HAVE_LOCALE_H]: Include locale.h.
3187 [! HAVE_LOCALE_H] (setlocale): Define as no-op.
3188 [ENABLE_NLS]: Include libintl.h.
3189 [ENABLE_NLS] (gettext): Define.
3190 [! ENABLE_NLS] (bintextdomain, textdomain, _): Consolation definitions.
3191 (N_, PACKAGE, LOCALEDIR): New macros.
3192
31931996-06-01 Richard Stallman <rms@gnu.org>
3194
3195 * POTFILES.in: New file.
3196
3197 * Makefile.in (allocate.o):
3198 Define target explicitly.
3199
3200 * Makefile.in (CFLAGS): Set to @CFLAGS@.
3201 (LDFLAGS): Set to @LDFLAGS@.
3202 (configure): Run autoconf only if preceding `cd' succeeds.
3203 (bison.s1): Redirect output to temporary file then move the
3204 temporary to the target, rather than redirecting directly to bison.s1.
3205 (clean): Remove config.status and config.log.
3206 (distclean): Don't remove config.status here.
3207
32081996-05-12 Richard Stallman <rms@gnu.org>
3209
3210 * src/bison.s1:
3211 (__yy_memcpy) [__cplusplus]: Reorder declarations of variables f and t.
3212
32131996-05-12 Richard Stallman <rms@gnu.org>
3214
3215 * bison.simple:
3216 (__yy_memcpy) [__cplusplus]: Reorder declarations of variables f and t.
3217
32181996-05-11 Richard Stallman <rms@gnu.org>
3219
3220 * src/bison.s1 (__yy_memcpy):
3221 Really reorder the args, as was supposedly done on Feb 14 1995.
3222 (yyparse): Calls changed accordingly.
3223
32241996-05-11 Richard Stallman <rms@gnu.org>
3225
3226 * Makefile.in (dist): Don't use $(srcdir).
3227
3228 * bison.simple (__yy_memcpy):
3229 Really reorder the args, as was supposedly done on Feb 14 1995.
3230 (yyparse): Calls changed accordingly.
3231
32321996-01-27 Richard Stallman <rms@gnu.org>
3233
3234 * src/output.c (output_rule_data):
3235 Test YYERROR_VERBOSE in the conditional
3236 around the definition of ttyname.
3237
32381995-12-29 Richard Stallman <rms@gnu.org>
3239
3240 * src/bison.s1:
3241 Fix line numbers in #line commands.
3242
32431995-12-29 Richard Stallman <rms@gnu.org>
3244
3245 * bison.simple:
3246 Fix line numbers in #line commands.
3247
32481995-12-27 Richard Stallman <rms@gnu.org>
3249
3250 * src/bison.s1 (YYPARSE_PARAM_DECL):
3251 In C++, make it always null.
3252 (YYPARSE_PARAM_ARG): New macro.
3253 (yyparse): Use YYPARSE_PARAM_ARG.
3254
32551995-12-27 Richard Stallman <rms@gnu.org>
3256
3257 * bison.simple (YYPARSE_PARAM_DECL):
3258 In C++, make it always null.
3259 (YYPARSE_PARAM_ARG): New macro.
3260 (yyparse): Use YYPARSE_PARAM_ARG.
3261
32621995-11-29 Richard Stallman <rms@gnu.org>
3263
3264 * doc/bison.texinfo:
3265 Describe literal string tokens, %raw, %no_lines, %token_table.
3266
32671995-11-29 Daniel Hagerty <hag@gnu.org>
3268
3269 * doc/bison.texinfo: Fixed update date
3270
32711995-10-16 Richard Stallman <rms@gnu.org>
3272
3273 * src/version.c: Version 1.25.
3274
32751995-10-16 Richard Stallman <rms@gnu.org>
3276
3277 * NEWS: *** empty log message ***
3278
32791995-10-16 Richard Stallman <rms@gnu.org>
3280
3281 * doc/bison.1, doc/bison.rnh:
3282 Add new options.
3283
32841995-10-15 Richard Stallman <rms@gnu.org>
3285
3286 * src/vmsgetargs.c, src/getargs.c:
3287 Added -n, -k, and -raw switches.
3288 (noparserflag, toknumflag, rawtoknumflag): New variables.
3289
3290 * src/symtab.h (SALIAS):
3291 New #define for adding aliases to %token.
3292 (struct bucket): Added `alias' field.
3293
3294 * src/reduce.c (reduce_grammar):
3295 Revise error message.
3296 (print_notices): Remove final `.' from error message.
3297
3298 * src/reader.c (reader_output_yylsp):
3299 New function.
3300 (readgram): Use `#if 0' around code that accepted %command
3301 inside grammar rules: The documentation doesn't allow it,
3302 and it will fail since the %command processors scan for the next %.
3303 (parse_token_decl): Extended the %token
3304 declaration to allow a multi-character symbol as an alias.
3305 (parse_thong_decl): New function.
3306 (read_declarations): Added %thong declarations.
3307 (read_declarations): Handle NOOP to deal with allowing
3308 % declarations as another means to specify the flags.
3309 (readgram): Allow %prec prior to semantics embedded in a rule.
3310 (skip_to_char, read_declarations, copy_definition)
3311 (parse_token_decl, parse_start_decl, parse_type_decl)
3312 (parse_assoc_decl, parse_union_decl, parse_expect_decl)
3313 (get_type_name, copy_guard, copy_action, readgram)
3314 (get_type, packsymbols): Revised most error messages.
3315 Changed `fatal' to `warnxxx' to avoid aborting for error.
3316 Revised and use multiple warnxxx functions to avoid using VARARGS1.
3317 (read_declarations): Improve the error message for
3318 an invalid character. Do not abort.
3319 (read_declarations, copy_guard, copy_action): Use
3320 printable_version to avoid unprintable characters in printed output.
3321 (parse_expect_decl): Error if argument to %expect exceeds 10 digits.
3322 (parse_token_decl, parse_assoc_decl, parse_type_decl, get_type):
3323 Allow the type of a non-terminal can be given
3324 more than once, as long as all specifications give the same type.
3325
3326 * src/output.c:
3327 (output_headers, output_trailers, output, output_gram)
3328 (output_rule_data): Implement noparserflag variable.
3329 Implement toknumflag variable.
3330 (output): Call reader_output_yylsp to output LTYPESTR.
3331
3332 * src/main.c (main):
3333 If reader sees an error, don't process the grammar.
3334 (fatals): Updated to not use VARARGS1.
3335 (printable_version, int_to_string, warn, warni, warns, warnss)
3336 (warnsss): New error reporting functions. Avoid abort for error.
3337
3338 * src/lex.h:
3339 Added THONG and NOOP for alias processing.
3340 Added SETOPT for the new code that allows setting options with %flags.
3341
3342 * src/lex.c:
3343 Include getopt.h. Add some extern decls.
3344 (safegetc): New function to deal with EOF gracefully.
3345 (literalchar); new function to deal with reading \ escapes.
3346 (lex): Use literalchar.
3347 (lex): Implemented "..." tokens.
3348 (literalchar, lex, parse_percent_token): Made tokenbuffer
3349 always contain the token. This includes growing the token
3350 buffer while reading an integer.
3351 (parse_percent_token): Replaced if-else statement with percent_table.
3352 (parse_percent_token): Added % declarations as another
3353 way to specify the flags -n, -l, and -r. Also added hooks for
3354 -d, -k, -y, -v, -t, -p, -b, -o, but implementation requires
3355 major changes to files.c.
3356 (lex) Retain in the incoming stream a character following
3357 an incorrect '/'.
3358 (skip_white_space, lex): Revised most error messages
3359 and changed fatal to warn to avoid aborting.
3360 (percent_table): Added %thong declarations.
3361
3362 * src/gram.h: Comment changes.
3363
3364 * src/files.c (openfiles, open_extra_files, done):
3365 Add faction flag
3366 and actfile file. Handle noparserflag. Both for -n switch.
3367
3368 * src/conflicts.c (resolve_sr_conflict):
3369 Remove use of alloca.
3370
33711995-06-01 Jim Meyering <meyering@gnu.org>
3372
3373 * doc/bison.texinfo: *** empty log message ***
3374
33751995-05-06 Richard Stallman <rms@gnu.org>
3376
3377 * src/bison.s1: Comment change.
3378
33791995-05-06 Richard Stallman <rms@gnu.org>
3380
3381 * bison.simple: Comment change.
3382
33831995-05-03 Richard Stallman <rms@gnu.org>
3384
3385 * src/version.c: Version now 1.24.
3386
3387 * src/bison.s1: Change distribution terms.
3388
3389 * src/version.c: Version now 1.23.
3390
33911995-05-03 Richard Stallman <rms@gnu.org>
3392
3393 * doc/bison.texinfo:
3394 Rewrite "Conditions for Using Bison".
3395 Update version to 1.24.
3396
33971995-05-03 Richard Stallman <rms@gnu.org>
3398
3399 * bison.simple: Change distribution terms.
3400
34011995-02-23 Richard Stallman <rms@gnu.org>
3402
3403 * src/files.c: Test __VMS_POSIX as well as VMS.
3404
34051995-02-14 Jim Meyering <meyering@gnu.org>
3406
3407 * src/bison.s1 (__yy_memcpy):
3408 Renamed from __yy_bcopy to avoid
3409 confusion. Reverse FROM and TO arguments to be consistent with
3410 those of memcpy.
3411
34121995-02-14 Jim Meyering <meyering@gnu.org>
3413
3414 * bison.simple (__yy_memcpy):
3415 Renamed from __yy_bcopy to avoid
3416 confusion. Reverse FROM and TO arguments to be consistent with
3417 those of memcpy.
3418
34191994-11-10 David J. MacKenzie <djm@gnu.org>
3420
3421 * NEWS: reformat
3422
3423 * NEWS: New file.
3424
3425 * Makefile.in (DISTFILES): Include NEWS.
3426
3427 * Makefile.in (DISTFILES):
3428 Include install-sh, not install.sh.
3429
3430 * configure.in: Update to Autoconf v2 macro names.
3431
34321994-10-05 David J. MacKenzie <djm@gnu.org>
3433
3434 * Makefile.in: fix typo
3435
3436 * Makefile.in (prefix, exec_prefix):
3437 Let configure set them.
3438
34391994-09-28 David J. MacKenzie <djm@gnu.org>
3440
3441 * Makefile.in: Set datadir to $(prefix)/share.
3442
34431994-09-15 Richard Stallman <rms@gnu.org>
3444
3445 * src/bison.s1:
3446 Update copyright notice and GPL version.
3447
34481994-09-15 Richard Stallman <rms@gnu.org>
3449
3450 * bison.simple:
3451 Update copyright notice and GPL version.
3452
34531994-07-12 Richard Stallman <rms@gnu.org>
3454
3455 * src/reduce.c, src/reader.c:
3456 entered into RCS
3457
34581994-05-05 David J. MacKenzie <djm@gnu.org>
3459
3460 * Makefile.in: entered into RCS
3461
34621994-03-26 Richard Stallman <rms@gnu.org>
3463
3464 * src/bison.s1: entered into RCS
3465
34661994-03-26 Richard Stallman <rms@gnu.org>
3467
3468 * bison.simple: entered into RCS
3469
34701994-03-25 Richard Stallman <rms@gnu.org>
3471
3472 * src/main.c: entered into RCS
3473
34741994-03-24 Richard Stallman <rms@gnu.org>
3475
3476 * src/conflicts.c: entered into RCS
3477
34781994-01-02 Richard Stallman <rms@gnu.org>
3479
3480 * Makefile.in: *** empty log message ***
3481
34821993-11-21 Richard Stallman <rms@gnu.org>
3483
3484 * src/bison.s1: *** empty log message ***
3485
34861993-11-21 Richard Stallman <rms@gnu.org>
3487
3488 * doc/bison.texinfo: entered into RCS
3489
3490 * doc/bison.texinfo: *** empty log message ***
3491
34921993-11-21 Richard Stallman <rms@gnu.org>
3493
3494 * bison.simple: *** empty log message ***
3495
34961993-10-25 David J. MacKenzie <djm@gnu.org>
3497
3498 * doc/bison.texinfo: *** empty log message ***
3499
35001993-10-19 Richard Stallman <rms@gnu.org>
3501
3502 * src/bison.s1: *** empty log message ***
3503
35041993-10-19 Richard Stallman <rms@gnu.org>
3505
3506 * bison.simple: *** empty log message ***
3507
35081993-10-14 Richard Stallman <rms@gnu.org>
3509
3510 * src/bison.s1: *** empty log message ***
3511
35121993-10-14 Richard Stallman <rms@gnu.org>
3513
3514 * bison.simple: *** empty log message ***
3515
35161993-09-14 David J. MacKenzie <djm@gnu.org>
3517
3518 * doc/bison.texinfo: *** empty log message ***
3519
35201993-09-13 Noah Friedman <friedman@gnu.org>
3521
3522 * Makefile.in: *** empty log message ***
3523
35241993-09-10 Richard Stallman <rms@gnu.org>
3525
3526 * src/conflicts.c: *** empty log message ***
3527
3528 * src/system.h: entered into RCS
3529
35301993-09-10 Richard Stallman <rms@gnu.org>
3531
3532 * doc/bison.1: entered into RCS
3533
35341993-09-06 Noah Friedman <friedman@gnu.org>
3535
3536 * src/version.c: entered into RCS
3537
35381993-09-06 Noah Friedman <friedman@gnu.org>
3539
3540 * Makefile.in: *** empty log message ***
3541
35421993-07-30 David J. MacKenzie <djm@gnu.org>
3543
3544 * Makefile.in: *** empty log message ***
3545
35461993-07-24 Richard Stallman <rms@gnu.org>
3547
3548 * src/bison.s1: *** empty log message ***
3549
35501993-07-24 Richard Stallman <rms@gnu.org>
3551
3552 * bison.simple: *** empty log message ***
3553
35541993-07-08 David J. MacKenzie <djm@gnu.org>
3555
3556 * Makefile.in: *** empty log message ***
3557
35581993-07-04 Richard Stallman <rms@gnu.org>
3559
3560 * src/bison.s1: *** empty log message ***
3561
35621993-07-04 Richard Stallman <rms@gnu.org>
3563
3564 * bison.simple: *** empty log message ***
3565
35661993-06-26 David J. MacKenzie <djm@gnu.org>
3567
3568 * src/getargs.c: entered into RCS
3569
35701993-06-26 David J. MacKenzie <djm@gnu.org>
3571
3572 * doc/bison.texinfo: *** empty log message ***
3573
3574 * doc/bison.1: New file.
3575
35761993-06-25 Richard Stallman <rms@gnu.org>
3577
3578 * src/getargs.c: New file.
3579
35801993-06-16 Richard Stallman <rms@gnu.org>
3581
3582 * src/bison.s1: *** empty log message ***
3583
35841993-06-16 Richard Stallman <rms@gnu.org>
3585
3586 * bison.simple: *** empty log message ***
3587
35881993-06-03 Richard Stallman <rms@gnu.org>
3589
3590 * src/bison.s1: New file.
3591
35921993-06-03 Richard Stallman <rms@gnu.org>
3593
3594 * doc/bison.texinfo: *** empty log message ***
3595
35961993-06-03 Richard Stallman <rms@gnu.org>
3597
3598 * bison.simple: New file.
3599
36001993-05-19 Richard Stallman <rms@gnu.org>
3601
3602 * doc/bison.texinfo: New file.
3603
36041993-05-07 Noah Friedman <friedman@gnu.org>
3605
3606 * Makefile.in: *** empty log message ***
3607
36081993-04-28 Noah Friedman <friedman@gnu.org>
3609
3610 * src/reader.c: *** empty log message ***
3611
36121993-04-23 Noah Friedman <friedman@gnu.org>
3613
3614 * src/alloc.h: entered into RCS
3615
36161993-04-20 David J. MacKenzie <djm@gnu.org>
3617
3618 * src/version.c: *** empty log message ***
3619
3620 * src/files.c, src/allocate.c:
3621 entered into RCS
3622
3623 * src/reader.c: *** empty log message ***
3624
3625 * src/lex.c: entered into RCS
3626
3627 * src/conflicts.c: New file.
3628
3629 * src/symtab.c: entered into RCS
3630
3631 * src/alloc.h: New file.
3632
3633 * src/LR0.c: entered into RCS
3634
36351993-04-18 Noah Friedman <friedman@gnu.org>
3636
3637 * src/reader.c: New file.
3638
3639 * src/version.c: *** empty log message ***
3640
36411993-04-18 Noah Friedman <friedman@gnu.org>
3642
3643 * Makefile.in: *** empty log message ***
3644
36451993-04-17 Noah Friedman <friedman@gnu.org>
3646
3647 * Makefile.in: *** empty log message ***
3648
36491993-04-15 Richard Stallman <rms@gnu.org>
3650
3651 * src/main.c, src/files.c:
3652 New file.
3653
36541993-04-15 Noah Friedman <friedman@gnu.org>
3655
3656 * configure.in: entered into RCS
3657
3658 * configure.in: *** empty log message ***
3659
3660 * configure.in: New file.
3661
36621993-04-14 Richard Stallman <rms@gnu.org>
3663
3664 * Makefile.in: New file.
3665
36661993-04-13 Richard Stallman <rms@gnu.org>
3667
3668 * src/version.c: New file.
3669
36701993-03-25 Richard Stallman <rms@gnu.org>
3671
3672 * src/output.c: entered into RCS
3673
36741992-09-25 Richard Stallman <rms@gnu.org>
3675
3676 * configure.bat: entered into RCS
3677
36781992-06-22 Richard Stallman <rms@gnu.org>
3679
3680 * src/vmsgetargs.c: entered into RCS
3681
36821992-06-22 Richard Stallman <rms@gnu.org>
3683
3684 * doc/bison.rnh: entered into RCS
3685
36861992-04-20 David J. MacKenzie <djm@gnu.org>
3687
3688 * README: entered into RCS
3689
36901992-01-22 Richard Stallman <rms@gnu.org>
3691
3692 * src/machine.h: entered into RCS
3693
36941991-12-21 Richard Stallman <rms@gnu.org>
3695
3696 * src/lalr.c, src/closure.c:
3697 entered into RCS
3698
36991991-12-20 Richard Stallman <rms@gnu.org>
3700
3701 * src/state.h: entered into RCS
3702
37031991-12-18 Richard Stallman <rms@gnu.org>
3704
3705 * src/print.c, src/nullable.c, src/derives.c:
3706 entered into RCS
3707
37081991-11-03 David J. MacKenzie <djm@gnu.org>
3709
3710 * src/warshall.c, src/types.h, src/symtab.h, src/lex.h, src/gram.c, src/gram.h, src/files.h:
3711 entered into RCS
3712
37131988-09-09 Richard Stallman <rms@gnu.org>
3714
3715 * src/bison.hairy: entered into RCS
3716
37171987-12-16 Richard Stallman <rms@gnu.org>
3718
3719 * REFERENCES: entered into RCS