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