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