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