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