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