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