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