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