]> git.saurik.com Git - bison.git/blob - ChangeLog
* src/reduce.c: Convert to use bitset.h, not hand coded BSet.
[bison.git] / ChangeLog
1 2002-03-04 Akim Demaille <akim@epita.fr>
2
3 * src/reduce.c: Convert to use bitset.h, not hand coded BSet.
4
5 2002-03-04 Akim Demaille <akim@epita.fr>
6
7 * src/closure.c (ruleset): Be a bitset.
8 (rulesetsize): Remove.
9
10
11 2002-03-04 Akim Demaille <akim@epita.fr>
12
13 * lib/bitset-int.h, lib/bitset.c, lib/bitset.h, lib/bitsetv.c,
14 * lib/bitsetv.h, lib/ebitset.c, lib/ebitset.h, lib/lbitset.c,
15 * lib/lbitset.h, lib/sbitset.c, lib/sbitset.h: New.
16 * src/closure.c (fderives): Be an array of bitsets.
17
18 2002-02-28 Robert Anisko <robert@lrde.epita.fr>
19
20 * data/bison.c++: Merge the two generated headers. Insert a copyright
21 notice in each output file.
22
23 2002-02-28 Akim Demaille <akim@epita.fr>
24
25 * data/bison.c++: Copy the prologue of bison.simple to fetch
26 useful M4 definitions, such as b4_header_guard.
27
28 2002-02-25 Akim Demaille <akim@epita.fr>
29
30 * src/getargs.c (version): Give the name of the authors, and use a
31 translator friendly scheme for the bgr
32 copyright notice.
33
34 2002-02-25 Akim Demaille <akim@epita.fr>
35
36 * src/output.c (header_output): Remove, now handled completely via
37 M4.
38
39 2002-02-25 Akim Demaille <akim@epita.fr>
40
41 * m4/m4.m4: New, from CVS Autoconf.
42 * configure.in: Invoke it.
43 * src/output.c (output_skeleton): Use its result instead of the
44 hard coded name.
45
46 2002-02-25 Akim Demaille <akim@epita.fr>
47
48 * lib/tempname.c, lib/mkstemp.c, m4/mkstemp.m4: New, stolen from
49 Fileutils 4.1.5.
50 * configure.in: Invoke UTILS_FUNC_MKSTEMP.
51 * src/output.c (output_skeleton): Use mkstemp to create a real
52 temporary file.
53 Move the filling of `skeleton' and its muscle to...
54 (prepare): here.
55 (output): Move the definition of the prologue muscle to...
56 (prepare): here.
57 * src/system.h (DEFAULT_TMPDIR): New.
58
59 2002-02-14 Paul Eggert <eggert@twinsun.com>
60
61 Remove the support for C++ namespace cleanliness; it was
62 causing more problems than it was curing, since it didn't work
63 properly on some nonstandard C++ compilers. This can wait
64 for a proper C++ parser.
65
66 * NEWS: Document this.
67 * doc/bison.texinfo (Bison Parser, Debugging): Remove special mention
68 of C++, as it's treated like C now.
69 * src/bison.simple (YYSTD): Remove.
70 (YYSIZE_T, YYFPRINTF, YYPARSE_PARAM_ARG, YYPARSE_PARAM_DECL):
71 Treat C++ just like Standard C instead of trying to support
72 namespace cleanliness.
73
74 2002-02-14 Akim Demaille <akim@epita.fr>
75
76 * tests/regression.at (else): Adjust to Andreas' change.
77
78 2002-02-14 Akim Demaille <akim@epita.fr>
79
80 * lib/Makefile.am (EXTRA_DIST): Ship strnlen.c.
81
82 2002-02-13 Andreas Schwab <schwab@suse.de>
83
84 * src/output.c (output_rule_data): Don't output NULL, it might
85 not be defined yet.
86
87 2002-02-11 Robert Anisko <robert@lrde.epita.fr>
88
89 * data/bison.c++ (YYDEBUG, YYERROR_VERBOSE): After the prologue.
90 (Copyright notice): Update.
91
92 2002-02-11 Akim Demaille <akim@epita.fr>
93
94 * tests/regression.at (%nonassoc and eof): Don't include
95 nonportable headers.
96
97 2002-02-08 Robert Anisko <robert@lrde.epita.fr>
98
99 * data/bison.c++: Correct error recovery. Make the user able to
100 initialize the starting location.
101
102 2002-02-07 Akim Demaille <akim@epita.fr>
103
104 * tests/input.at: New.
105
106 2002-02-07 Robert Anisko <robert@lrde.epita.fr>
107
108 * data/bison.c++: Replace some direct m4 expansions by constants. Be
109 more consistent when naming methods and variables. Put preprocessor
110 directives around tables only needed for debugging.
111
112 2002-02-07 Robert Anisko <robert@lrde.epita.fr>
113
114 * data/bison.c++ (yy::b4_name::print_): New method, replaces yyprint in
115 C++ parsers.
116 (yy::b4_name::parse): Use print_.
117
118 2002-02-07 Robert Anisko <robert@lrde.epita.fr>
119
120 * data/bison.c++ (yy::b4_name::parse): Error recovery is back.
121
122 2002-02-07 Robert Anisko <robert@lrde.epita.fr>
123
124 * data/bison.c++ (yy::b4_name::error_): New method, replaces yyerror in
125 C++ parsers.
126 (yy::b4_name::parse): Build verbose error messages, and use error_.
127
128 2002-02-06 Robert Anisko <robert@lrde.epita.fr>
129
130 * data/bison.c++: Fix m4 quoting in comments.
131
132 2002-02-06 Robert Anisko <robert@lrde.epita.fr>
133
134 * data/bison.c++: Adjust the parser code. Fix some muscles that were
135 not expanded by m4.
136
137 2002-02-05 Akim Demaille <akim@epita.fr>
138
139 * data/bison.c++: Adjust to the M4 back end.
140 More is certainly needed.
141
142 2002-02-05 Akim Demaille <akim@epita.fr>
143
144 Give a try to M4 as a back end.
145
146 * lib/readpipe.c: New, from wdiff.
147 * src/Makefile.am (DEFS): Define PKGDATADIR, not BISON_SIMPLE and
148 BISON_HAIRY.
149 * src/system.h (BISON_HAIRY, BISON_SIMPLE): Remove the DOS and VMS
150 specific values. Now it is m4 that performs the lookup.
151 * src/parse-skel.y: Remove.
152 * src/muscle_tab.c, src/muscle_tab.h (muscles_m4_output): New.
153 * src/output.c (actions_output, guards_output)
154 (token_definitions_output): No longer keeps track of the output
155 line number, hence remove the second argument.
156 (guards_output): Check against the guard member of a rule, not the
157 action member.
158 Adjust callers.
159 (output_skeleton): Don't look for the skeleton location, let m4 do
160 that.
161 Create `/tmp/muscles.m4'. This is temporary, a proper temporary
162 file will be used.
163 Invoke `m4' on m4sugar.m4, muscles.m4, and the skeleton.
164 (prepare): Given that for the time being changesyntax is not
165 usable in M4, rename the muscles using `-' to `_'.
166 Define `defines_flag', `output_parser_name' and `output_header_name'.
167 * src/output.h (actions_output, guards_output)
168 (token_definitions_output): Adjust prototypes.
169 * src/scan-skel.l: Instead of scanning the skeletons, it now
170 processes the output of m4: `__oline__' and `#output'.
171 * data/bison.simple: Adjust to be used by M4(sugar).
172 * tests/Makefile.am: Use check_SCRIPTS to make sure `bison' is up
173 to date.
174 * tests/bison.in: Use the secrete envvar `BISON_PKGDATADIR'
175 instead of the dead `BISON_SIMPLE' and `BISON_HAIRY'.
176 * data/m4sugar/m4sugar.m4, data/m4sugar/version.m4: New,
177 shamelessly stolen from CVS Autoconf.
178
179 2002-02-05 Akim Demaille <akim@epita.fr>
180
181 * lib/hash.c, lib/hash.h: Replace with Fileutils 4.1's version.
182 * configure.in: Check for the declarations of free and malloc.
183 * src/muscle_tab.c: Adjust.
184
185 2002-02-05 Akim Demaille <akim@epita.fr>
186
187 * src/muscle_tab.c (muscle_init): Don't default to NULL muscle
188 which have no values.
189
190 2002-02-05 Akim Demaille <akim@epita.fr>
191
192 * src/bison.simple, src/bison.hairy, src/bison.c++: Move to...
193 * data/: here.
194
195 2002-01-29 Paul Eggert <eggert@twinsun.com>
196
197 * src/bison.simple (YYSIZE_T): Do not define merely because
198 YYSTACK_USE_ALLOCA is nonzero or alloca or _ALLOCA_H are defined.
199 On some platforms, <alloca.h> does not declare YYSTD (size_t).
200
201 2002-01-27 Akim Demaille <akim@epita.fr>
202
203 Fix `%nonassoc and eof'.
204
205 * src/state.c (errs_dup): Aaaah! The failure was due to bytes
206 which were not properly copied! Replace
207 memcpy (res->errs, src->errs, src->nerrs);
208 with
209 memcpy (res->errs, src->errs, src->nerrs * sizeof (src->errs[0]));
210 !!!
211 * tests/regression.at (%nonassoc and eof): Adjust to newest
212 Autotest: `.' is not in the PATH.
213
214 2002-01-27 Akim Demaille <akim@epita.fr>
215
216 * tests/sets.at (AT_EXTRACT_SETS): New.
217 (Nullable): Use it.
218 (Firsts): New.
219
220 2002-01-26 Akim Demaille <akim@epita.fr>
221
222 * tests/actions.at, tests/calc.at, tests/headers.at,
223 * tests/torture.at: Adjust to the newest Autotest which no longer
224 forces `.' in the PATH.
225
226 2002-01-25 Akim Demaille <akim@epita.fr>
227
228 * tests/regression.at (%nonassoc and eof): New.
229 Suggested by Robert Anisko.
230
231 2002-01-24 Akim Demaille <akim@epita.fr>
232
233 Bison dumps core when trying to complain about broken input files.
234 Reported by Cris van Pelt.
235
236 * src/lex.c (parse_percent_token): Be sure to set token_buffer.
237 * tests/regression.at (Invalid input: 1, Invalid input: 2): Merge
238 into...
239 (Invalid inputs): Strengthen: exercise parse_percent_token.
240
241 2002-01-24 Robert Anisko <robert.anisko@epita.fr>
242
243 * src/Makefile.am: Add bison.c++.
244 * src/bison.c++: New skeleton.
245
246 2002-01-21 Paolo Bonzini <bonzini@gnu.org>
247
248 * po/it.po: New.
249
250 2002-01-21 Kees Zeelenberg <kzlg@users.sourceforge.net>
251
252 * src/files.c (skeleton_find) [MSDOS]: Fix cp definition.
253
254 2002-01-20 Marc Autret <marc@gnu.org>
255
256 * src/files.c (compute_output_file_names): Fix
257
258 2002-01-20 Marc Autret <marc@gnu.org>
259
260 * tests/output.at: New test.
261 * src/files.c (compute_base_names): Don't map extensions when
262 the YACC flag is set, use defaults.
263 Reported by Evgeny Stambulchik.
264
265 2002-01-20 Marc Autret <marc@gnu.org>
266
267 * src/system.h: Need to define __attribute__ away for non-GCC
268 compilers as well (i.e. the vendor C compiler).
269 Suggested by Albert Chin-A-Young.
270
271 2002-01-11 Tim Van Holder <tim.van.holder@pandora.be>
272
273 * lib/hash.h, lib/hash.c: Renamed __P to PARAMS and used the
274 canonical definition.
275 * src/system.h: Use the canonical definition for PARAMS (avoids
276 a conflict with the macro from lib/hash.h).
277
278 2002-01-11 Akim Demaille <akim@epita.fr>
279
280 * configure.in: Use AC_FUNC_STRNLEN.
281 Fixes the failures observed on AIX 4.3 by H.Merijn Brand.
282
283 2002-01-09 Akim Demaille <akim@epita.fr>
284
285 * src/files.c, src/files.h (output_infix): New.
286 (tab_extension): Remove.
287 (compute_base_names): Compute the former, drop the latter.
288 * src/output.c (prepare): Insert the muscles `output-infix', and
289 `output-suffix'.
290 * src/parse-skel.y (string, string.1): New.
291 (section.header): Use it.
292 (section.yacc): Remove.
293 (prefix): Remove too.
294 * src/scan-skel.l: Adjust.
295 * src/bison.simple, src/bison.hairy: Adjust.
296
297 2002-01-09 Akim Demaille <akim@epita.fr>
298
299 * configure.in (WERROR_CFLAGS): Compute it.
300 * src/Makefile.am (CFLAGS): Pass it.
301 * tests/atlocal.in (CFLAGS): Idem.
302 * src/files.c: Fix a few warnings.
303 (get_extension_index): Remove, unused.
304
305 2002-01-08 Akim Demaille <akim@epita.fr>
306
307 * src/getargs.c (AS_FILE_NAME): New.
308 (getargs): Use it to convert DOSish file names.
309 * src/files.c (base_name): Rename as full_base_name to avoid
310 clashes with `base_name ()'.
311 (filename_split): New.
312 (compute_base_names): N-th rewrite, using filename_split.
313
314 2002-01-08 Akim Demaille <akim@epita.fr>
315
316 * lib/basename.c, lib/dirname.h, lib/dirname.c, lib/memrchr.c:
317 New, stolen from the Fileutils 4.1.
318 * lib/Makefile.am (libbison_a_SOURCES): Adjust.
319 * configure.in: Check for the presence of memrchr, and of its
320 prototype.
321
322 2002-01-07 Tim Van Holder <tim.van.holder@pandora.be>
323
324 * lib/hash.h (__P): Added definition for this macro.
325 * src/Makefile.am: Add parse-skel.c and scan-skel.c to
326 BUILT_SOURCES, to ensure they are generated first.
327 * src/parse-skel.y: Use YYERROR_VERBOSE instead of
328 %error-verbose to allow bootstrapping with bison 1.30x.
329
330 2002-01-06 Akim Demaille <akim@epita.fr>
331
332 * src/reader.c (parse_braces): Don't fetch the next char, the
333 convention is to fetch on entry.
334 * tests/torture.at (GNU Cim Grammar): Reintroduce their weird
335 'switch' without a following semicolon.
336 * tests/regression.at (braces parsing): New.
337
338 2002-01-06 Akim Demaille <akim@epita.fr>
339
340 Bison is dead wrong in its RR conflict reports.
341
342 * tests/torture.at (GNU Cim Grammar): New.
343 * src/conflicts.c (count_rr_conflicts): Fix.
344
345 2002-01-06 Akim Demaille <akim@epita.fr>
346
347 Creating package.m4 from configure.ac causes too many problems.
348
349 * tests/Makefile.am (package.m4): Create it by hand,
350 AC_CONFIG_TESTDIR no longer does in the most recent CVS Autoconf.
351
352 2002-01-06 Akim Demaille <akim@epita.fr>
353
354 * src/Makefile.am (bison_SOURCES): Add parse-skel.h and
355 skeleton.h.
356
357 2002-01-04 Paul Eggert <eggert@twinsun.com>
358
359 * doc/bison.texinfo (Debugging):
360 Remove YYSTDERR; it's no longer defined or used.
361 Also, s/cstdio.h/cstdio/.
362
363 2002-01-03 Akim Demaille <akim@epita.fr>
364
365 * tests/bison.in, tests/atlocal.in: Adjust to CVS Autoconf.
366
367 2002-01-03 Akim Demaille <akim@epita.fr>
368
369 * src/parse-skel.y (process_skeleton): Don't bind the parser's
370 tracing code to --trace, wait for a better --trace option, with
371 args.
372
373 2002-01-03 Akim Demaille <akim@epita.fr>
374
375 * src/bison.simple (YYSTDERR): Remove, replace `stderr'.
376 The ISO C++ standard is extremely clear about it: stderr is
377 considered a macro, not a regular symbol (see table 94 `Header
378 <cstdio> synopsis', [lib.c.files] 27.8.2 C Library files).
379 Therefore std:: does not apply to it. It still does with fprintf.
380 Also, s/cstdio.h/cstdio/.
381
382 2002-01-03 Akim Demaille <akim@epita.fr>
383
384 * lib/quotearg.c: Use `#include "..."' instead of `#include <...>'
385 for non system headers.
386
387 2002-01-02 Akim Demaille <akim@epita.fr>
388
389 Equip the skeleton chain with location tracking, runtime trace,
390 pure parser and scanner.
391
392 * src/parse-skel.y: Request a pure parser, locations, and prefix
393 renaming.
394 (%union): Having several members with the same type does not help
395 type mismatches, simplify.
396 (YYPRINT, yyprint): New.
397 (yyerror): ``Rename'' (there is a #define yyerror skel_error) as...
398 (skel_error): this.
399 Handle locations.
400 * src/scan-skel.l: Adjust to these changes.
401 * src/skeleton.h (LOCATION_RESET, LOCATION_LINES, LOCATION_STEP)
402 (LOCATION_PRINT, skel_control_t): New.
403
404 2001-12-30 Akim Demaille <akim@epita.fr>
405
406 * src/parse-skel.y: Get rid of the shift/reduce conflict:
407 replace `gb' with BLANKS.
408 * src/scan-skel.l: Adjust.
409
410 2001-12-30 Akim Demaille <akim@epita.fr>
411
412 * src/system.h: We don't need nor want bcopy.
413 Throw away MS-DOS crap: we don't need getpid.
414 * configure.in: We don't need strndup. It was even causing
415 problems: because Flex includes the headers *before* us,
416 _GNU_SOURCE is not defined by config.h, and therefore strndup was
417 not visible.
418 * lib/xstrndup.c: New.
419 * src/scan-skel.l: Use it.
420 Be sure to initialize yylval.muscle member when scanning a MUSCLE.
421 * src/parse-skel.y: Use %directives instead of #defines.
422
423 2001-12-30 Akim Demaille <akim@epita.fr>
424
425 * src/skeleton.h: New.
426 * src/output.c (output_parser, output_master_parser): Remove, dead
427 code.
428 * src/output.h (get_lines_number, actions_output, guards_output)
429 (token_definitions_output): Prototype them.
430 * src/parse-skel.y: Add the license notice.
431 Include output.h and skeleton.h.
432 (process_skeleton): Returns void, and takes a single parameter.
433 * src/scan-skel.l: Add the license notice.
434 Include skeleton.h.
435 Don't use %option yylineno: it seems that then Flex imagines
436 REJECT has been used, and therefore it won't reallocate its
437 buffers (which makes no other sense to me than a bug). It results
438 in warnings for `unused: yy_flex_realloc'.
439
440 2001-12-30 Robert Anisko <robert.anisko@epita.fr>
441
442 * src/muscle_tab.h (MUSCLE_INSERT_INT, MUSCLE_INSERT_STRING)
443 (MUSCLE_INSERT_PREFIX): ...to there.
444 * src/output.c (MUSCLE_INSERT_INT, MUSCLE_INSERT_STRING)
445 (MUSCLE_INSERT_PREFIX): Move from here...
446
447 * src/bison.hairy: Add a section directive. Put braces around muscle
448 names. This parser skeleton is still broken, but Bison should not
449 choke on a bad muscle 'syntax'.
450 * src/bison.simple: Add a section directive. Put braces around muscle
451 names.
452
453 * src/files.h (strsuffix, stringappend): Add declarations.
454 (tab_extension): Add declaration.
455 (short_base_name): Add declaration.
456
457 * src/files.c (strsuffix, stringappend): No longer static. These
458 functions are used in the skeleton parser.
459 (tab_extension): New.
460 (compute_base_names): Use the computations done in this function
461 to guess if the generated parsers should have '.tab' in their
462 names.
463 (short_base_name): No longer static.
464
465 * src/output.c (output_skeleton): New.
466 (output): Disable call to output_master_parser, and give a try to
467 a new skeleton handling system.
468 (guards_output, actions_output): No longer static.
469 (token_definitions_output, get_lines_number): No longer static.
470
471 * configure.in: Use AM_PROG_LEX and AC_PROG_YACC.
472
473 * src/Makefile.am (bison_SOURCES): Add scan-skel.l and
474 parse-skel.y.
475
476 * src/parse-skel.y: New file.
477 * src/scan-skel.l: New file.
478
479 2001-12-29 Akim Demaille <akim@epita.fr>
480
481 %name-prefix is broken.
482
483 * src/files.c (spec_name_prefix): Initialize to NULL, not to "yy".
484 Adjust all dependencies.
485 * tests/headers.at (export YYLTYPE): Strengthen this test: use
486 %name-prefix.
487
488 Renaming yylval but not yylloc is not consistent. Now we do.
489
490 * src/bison.simple: Prefix yylloc if used.
491 * doc/bison.texinfo (Decl Summary): Document that.
492
493 2001-12-29 Akim Demaille <akim@epita.fr>
494
495 * doc/bison.texinfo: Promote `%long-directive' over
496 `%long_directive'.
497 Remove all references to fixed-output-files, yacc is enough.
498
499 2001-12-29 Akim Demaille <akim@epita.fr>
500
501 * src/bison.simple: Define YYDEBUG and YYERROR_VERBOSE *after* the
502 user prologue. These are defaults.
503 * tests/actions.at (Mid-rule actions): Make sure the user can
504 define YYDEBUG and YYERROR_VERBOSE.
505
506 2001-12-29 Akim Demaille <akim@epita.fr>
507
508 * src/output.c (header_output): Don't forget to export YYLTYPE and
509 yylloc.
510 * tests/headers.at (export YYLTYPE): New, make sure it does.
511 * tests/regression.at (%union and --defines, Invalid CPP headers):
512 Move to...
513 * tests/headers.at: here.
514
515 2001-12-29 Akim Demaille <akim@epita.fr>
516
517 * src/gram.h (rule_s): Member `assoc' is of type `associativity'.
518
519 2001-12-29 Akim Demaille <akim@epita.fr>
520
521 * tests/actions.at (Mid-rule actions): Output on a single line
522 instead of several.
523
524 2001-12-29 Akim Demaille <akim@epita.fr>
525
526 * doc/bison.texinfo: Formatting changes.
527
528 2001-12-29 Akim Demaille <akim@epita.fr>
529
530 Don't store the token defs in a muscle, just be ready to output it
531 on command. Now possible via `symbols'. Fixes a memory leak.
532
533 * src/output.c (token_definitions_output): New.
534 (output_parser, header_output): Use it.
535 * src/reader.c (symbols_save): Remove.
536
537 2001-12-29 Akim Demaille <akim@epita.fr>
538
539 * src/bison.simple: Do not provide a default for YYSTYPE and
540 YYLTYPE before the user's prologue. Otherwise it's hardly... a
541 default.
542
543 2001-12-29 Akim Demaille <akim@epita.fr>
544
545 Mid-rule actions are simply... ignored!
546
547 * src/reader.c (readgram): Be sure to attach mid-rule actions to
548 the empty-rule associated to the dummy symbol, not to the host
549 rule.
550 * tests/actions.at (Mid-rule actions): New.
551
552 2001-12-29 Akim Demaille <akim@epita.fr>
553
554 Memory leak.
555
556 * src/reader.c (reader): Free grammar.
557
558 2001-12-29 Akim Demaille <akim@epita.fr>
559
560 Memory leak.
561
562 * src/LR0.c (new_itemsets): Don't allocate `shift_symbol' here,
563 since it allocates it for each state, although only one is needed.
564 (allocate_storage): Do it here.
565
566 2001-12-29 Akim Demaille <akim@epita.fr>
567
568 * src/options.h, src/options.c (create_long_option_table): Rename
569 as...
570 (long_option_table_new): this, with a clearer prototype.
571 (percent_table): Remove, unused,
572 * src/getargs.c (getargs): Adjust.
573
574 2001-12-29 Akim Demaille <akim@epita.fr>
575
576 * src/LR0.c, src/conflicts.c, src/lalr.c, src/lalr.h, src/output.c
577 * src/print.c, src/print_graph.c, src/state.h: Rename state_table
578 as states.
579
580 2001-12-29 Akim Demaille <akim@epita.fr>
581
582 * src/lalr.c (build_relations): Rename `states' as `states1'.
583 Sorry, I don't understand exactly what it is, no better name...
584
585 2001-12-29 Akim Demaille <akim@epita.fr>
586
587 * src/closure.c, src/conflicts.c, src/derives.c, src/gram.c
588 * src/gram.h, src/lalr.c, src/nullable.c, src/output.c, src/print.c
589 * src/print_graph.c, src/reader.c, src/reduce.c: Rename rule_table
590 as rules.
591
592 2001-12-29 Akim Demaille <akim@epita.fr>
593
594 * src/gram.c (rprec, rprecsym, rassoc): Remove, unused since long
595 ago.
596
597 2001-12-29 Akim Demaille <akim@epita.fr>
598
599 * src/reader.c, src/reader.h (user_toknums): Remove.
600 Adjust all users to use symbols[i]->user_token_number.
601
602 2001-12-29 Akim Demaille <akim@epita.fr>
603
604 * src/gram.c, src/gram.h (sprec, sassoc): Remove.
605 Adjust all users to use symbols[i]->prec or ->assoc.
606
607 2001-12-29 Akim Demaille <akim@epita.fr>
608
609 * src/reader.c, src/reader.h (tags): Remove.
610 Adjust all users to use symbols[i]->tag.
611
612 2001-12-29 Akim Demaille <akim@epita.fr>
613
614 * src/gram.h, src/gram.c (symbols): New, similar to state_table
615 and rule_table.
616 * src/reader.c (packsymbols): Fill this table.
617 Drop sprec.
618 * src/conflicts.c (resolve_sr_conflict): Adjust.
619 * src/reduce.c (reduce_grammar): Adjust: just sort symbols, a
620 single table.
621 Use symbols[i]->tag instead of tags[i].
622
623 2001-12-29 Akim Demaille <akim@epita.fr>
624
625 * tests/calc.at (_AT_DATA_CALC_Y): Also use %union.
626 In addition, put a comment in there, to replace...
627 * tests/regression.at (%union and C comments): Remove.
628
629 2001-12-29 Akim Demaille <akim@epita.fr>
630
631 * tests/regression.at (Web2c Actions): Blindly move the actual
632 output as expected output. The contents *seem* right to me, but I
633 can't pretend reading perfectly parser tables... Nonetheless, all
634 the other tests pass correctly, the table look OK, even though the
635 presence of `$axiom' is to be noted: AFAICS it is useless (but
636 harmless).
637
638 2001-12-29 Akim Demaille <akim@epita.fr>
639
640 * src/reader.c (readgram): Don't add the rule 0 if there were no
641 rules read. In other words, add it _after_ having performed
642 grammar sanity checks.
643 Fixes the `tests/regression.at (Invalid input: 1)' Failure.
644
645 2001-12-29 Akim Demaille <akim@epita.fr>
646
647 * tests/regression.at (Web2c Report): Catch up: the rule 0 is now
648 visible, and some states have now a different number.
649
650 2001-12-29 Akim Demaille <akim@epita.fr>
651
652 * src/reader.c (readgram): Bind the initial rule's lineno to that
653 of the first rule.
654 * tests/regression.at (Rule Line Numbers, Unresolved SR Conflicts):
655 (Solved SR Conflicts): Adjust rule 0's line number.
656
657 2001-12-29 Akim Demaille <akim@epita.fr>
658
659 Fix the `GAWK Grammar' failure.
660
661 * src/LR0.c (final_state): Initialize to -1 so that we do compute
662 the reductions of the first state which was mistakenly confused
663 with the final state because precisely final_state was initialized
664 to 0.
665 * tests/sets.at (Nullable): Adjust: state 0 does have lookaheads,
666 now noticed by Bison.
667 * tests/regression.at (Rule Line Numbers): Adjust: state 0 does
668 have a reduction on $default.
669
670 2001-12-29 Akim Demaille <akim@epita.fr>
671
672 * src/gram.c (ritem_print): Be sure to subtract 1 when displaying
673 rule line numbers.
674 * src/closure.c (print_closure): Likewise.
675 * src/derives.c (print_derives): Likewise.
676 * tests/sets.at (Nullable): Adjust: the rule numbers are correct
677 now.
678
679 2001-12-29 Akim Demaille <akim@epita.fr>
680
681 * src/lalr.c (lookaheads_print): New.
682 (lalr): Call it when --trace-flag.
683 * tests/sets.at (Nullable): Adjust: when tracing, the lookaheads
684 are dumped.
685
686 2001-12-29 Akim Demaille <akim@epita.fr>
687
688 * src/derives.c (print_derives): Be sure to use `>= 0', not `> 0',
689 when walking through ritem, even via rule->rhs.
690 * src/reduce.c (dump_grammar, useful_production, reduce_output)
691 (useful_production, useless_nonterminals): Likewise.
692 (reduce_grammar_tables): Likewise, plus update nritems.
693 * src/nullable.c (set_nullable): Likewise.
694 * src/lalr.c (build_relations): Likewise.
695 * tests/sets.at (Nullable): Adjust.
696 Fortunately, now, the $axiom is no longer nullable.
697
698 2001-12-29 Akim Demaille <akim@epita.fr>
699
700 * src/LR0.c (generate_states): Use nritems, not nitems, nor using
701 the 0-sentinel.
702 * src/gram.c (ritem_longest_rhs): Likewise.
703 * src/reduce.c (nonterminals_reduce): Likewise.
704 * src/print_graph.c (print_graph): Likewise.
705 * src/output.c (output_rule_data): Likewise.
706 * src/nullable.c (set_nullable): Likewise.
707
708 2001-12-29 Akim Demaille <akim@epita.fr>
709
710 * src/output.c: Comment changes.
711
712 2001-12-27 Paul Eggert <eggert@twinsun.com>
713
714 * src/bison.simple (YYSTACK_ALLOC, YYSIZE_T): Remove special
715 cases for non-GNU systems like AIX, HP-UX, SGI, Sun, and
716 Sparc, as they were causing more porting problems than the
717 (minor) performance improvement was worth.
718
719 Also, catch up with 1.31's YYSTD.
720
721 2001-12-27 Akim Demaille <akim@epita.fr>
722
723 * src/output.c (output_gram): Rely on nritems, not the
724 0-sentinel. See below.
725 Use -1 as separator, not 0.
726 * src/bison.simple (yyparse): Subtract 1 to the rule numbers.
727 Rely on -1 as separator in yyrhs, instead of 0.
728 * tests/calc.at (AT_CHECK_CALC): Now, the parsers no longer issue
729 twice `Now at end of input', therefore there are two lines less to
730 expect.
731
732 2001-12-27 Akim Demaille <akim@epita.fr>
733
734 * tests/regression.at (Unresolved SR Conflicts):
735 (Solved SR Conflicts, Rule Line Numbers): Adjust to the changes
736 below.
737
738 2001-12-27 Akim Demaille <akim@epita.fr>
739
740 * src/LR0.c (new_state): Recognize the final state by the fact it
741 is reached by eoftoken.
742 (insert_start_shifting_state, insert_eof_shifting_state)
743 (insert_accepting_state, augment_automaton): Remove, since now
744 these states are automatically computed from the initial state.
745 (generate_states): Adjust.
746 * src/print.c: When reporting a rule number to the user, substract
747 1, so that the axiom rule is rule 0, and the first user rule is 1.
748 * src/reduce.c: Likewise.
749 * src/print_graph.c (print_core): For the time being, just as for
750 the report, depend upon --trace-flags to dump the full set of
751 items.
752 * src/reader.c (readgram): Once the grammar read, insert the rule
753 0: `$axiom: START-SYMBOL $'.
754 * tests/set.at: Adjust: rule 0 is now displayed, and since the
755 number of the states has changed (the final state is no longer
756 necessarily the last), catch up.
757
758 2001-12-27 Akim Demaille <akim@epita.fr>
759
760 Try to make the use of the eoftoken valid. Given that its value
761 is 0 which was also used as a sentinel in ritem, (i) make sure >= 0
762 is used instead of > 0 where appropriate, (ii), depend upon nritems
763 instead of the 0-sentinel.
764
765 * src/gram.h, src/gram.c (nritems): New.
766 Expected to be duplication of nitems, but for the time being...
767 * src/reader.c (packgram): Assert nritems and nitems are equal.
768 * src/LR0.c (allocate_itemsets, new_itemsets): Adjust.
769 * src/closure.c (print_closure, print_fderives): Likewise.
770 * src/gram.c (ritem_print): Likewise.
771 * src/print.c (print_core, print_grammar): Likewise.
772 * src/print_graph.c: Likewise.
773
774 2001-12-27 Akim Demaille <akim@epita.fr>
775
776 * src/main.c (main): If there are complains after grammar
777 reductions, then output the report anyway if requested, then die.
778 * src/symtab.c (bucket_new): Initialize `value' to -1, not 0.
779 * src/reader.c (eoftoken): New.
780 (parse_token_decl): If the token being defined has value `0', it
781 is the eoftoken.
782 (packsymbols): No longer hack `tags' to insert `$' by hand.
783 Be sure to preserve the value of the eoftoken.
784 (reader): Make sure eoftoken is defined.
785 Initialize nsyms to 0: now eoftoken is created just like the others.
786 * src/print.c (print_grammar): Don't special case the eof token.
787 * src/regression.at: Adjust: `$' has value 0, not -1, which was a
788 lie anyway, albeit pleasant.
789 * tests/calc.at: Exercise error messages with eoftoken.
790 Change the grammar so that empty input is invalid.
791 Adjust expectations.
792 When yyungeting, be sure to use a valid yylloc: use last_yylloc.
793
794 2001-12-27 Akim Demaille <akim@epita.fr>
795
796 * configure.in: Check the protos of strchr ans strspn.
797 Replace strchr if needed.
798 * src/system.h: Provide the protos of strchr, strspn and memchr if
799 missing.
800 * lib/strchr.c: New.
801 * src/reader.c (symbols_save): Use strchr.
802
803 2001-12-27 Akim Demaille <akim@epita.fr>
804
805 * src/print.c, src/print_graph.c (escape): New.
806 Use it to quote the TAGS outputs.
807 * src/print_graph.c (print_state): Now errors are in red, and
808 reductions in green.
809 Prefer high to wide: output the state number on a line of its own.
810
811 2001-12-27 Akim Demaille <akim@epita.fr>
812
813 * src/state.h, src/state.c (reductions_new): New.
814 * src/LR0.c (set_state_table): Let all the states have a
815 `reductions', even if reduced to 0.
816 (save_reductions): Adjust.
817 * src/lalr.c (initialize_LA, initialize_lookaheads): Adjust.
818 * src/print.c (print_reductions, print_actions): Adjust.
819 * src/output.c (action_row): Adjust.
820
821 2001-12-27 Akim Demaille <akim@epita.fr>
822
823 * src/state.h, src/state.c (errs_new, errs_dup): New.
824 * src/LR0.c (set_state_table): Let all the states have an errs,
825 even if reduced to 0.
826 * src/print.c (print_errs, print_reductions): Adjust.
827 * src/output.c (output_actions, action_row): Adjust.
828 * src/conflicts.c (resolve_sr_conflict): Adjust.
829
830 2001-12-27 Akim Demaille <akim@epita.fr>
831
832 * src/lalr.c (set_goto_map, initialize_F): Use SHIFT_SYMBOL.
833
834 2001-12-27 Akim Demaille <akim@epita.fr>
835
836 * src/conflicts.c, src/conflicts.h (print_reductions): Move to...
837 * src/print.c: here.
838 (lookaheadset, shiftset): New, used as additional storage by
839 print_reductions.
840 (print_results): Adjust.
841 (print_shifts, print_gotos, print_errs): New, extracted from...
842 (print_actions): here.
843 * src/print_graph.c (print_actions): Remove dead code.
844
845 2001-12-27 Akim Demaille <akim@epita.fr>
846
847 * src/reader.c (copy_dollar, copy_at): Better checking of `n' in
848 `$n' and `@n'.
849
850 2001-12-27 Akim Demaille <akim@epita.fr>
851
852 * src/lalr.c (add_lookback_edge): Use state_t instead of ints.
853 (build_relations): Adjust.
854
855 2001-12-27 Akim Demaille <akim@epita.fr>
856
857 * src/lalr.c (set_goto_map): Remove a wrong but benign loop
858 duplication.
859
860 2001-12-27 Akim Demaille <akim@epita.fr>
861
862 * src/reader.c (packgram): Catch nitems overflows.
863
864 2001-12-27 Akim Demaille <akim@epita.fr>
865
866 * src/files.c, src/files.h (guard_obstack): Remove.
867 * src/output.c (output): Adjust.
868 * src/reader.c (parse_braces): New, factoring...
869 (copy_action, copy_guard): these two which are renamed as...
870 (parse_action, parse_guard): these.
871 As a voluntary consequence, using braces around guards is now
872 mandatory.
873
874 2001-12-27 Akim Demaille <akim@epita.fr>
875
876 * src/gram.h (rule_t): `guard' and `guard_line' are new members.
877 * src/reader.c (symbol_list): `guard' and `guard_line' are new
878 members.
879 (symbol_list_new): Adjust.
880 (copy_action): action_line is the first line, not the last.
881 (copy_guard): Just as for actions, store the `action' only, not
882 the switch/case/break flesh.
883 Don't parse the user action that might follow the guard, let...
884 (readgram): do it, i.e., now, there can be an action after a
885 guard.
886 In other words the guard is just explicitly optional.
887 (packgram): Adjust.
888 * src/output.c (guards_output): New.
889 (output_parser): Call it when needed.
890 (output): Also free the guard and attrs obstacks.
891 * src/files.c, src/files.h (obstack_save): Remove.
892 (output_files): Remove.
893 As a result, if one needs the former `.act' file, using an
894 appropriate skeleton which requires actions and guards is now
895 required.
896 * src/main.c (main): Adjust.
897 * tests/semantic.at: New.
898 * tests/regression.at: Use `input.y' as input file name.
899 Avoid 8+3 problems by requiring input.c when the test needs the
900 parser.
901
902 2001-12-27 Akim Demaille <akim@epita.fr>
903
904 * src/reader.c (symbol_list_new): Be sure to initialize all the
905 fields.
906
907 2001-12-27 Akim Demaille <akim@epita.fr>
908
909 All the hacks using a final pseudo state are now useless.
910
911 * src/LR0.c (set_state_table): state_table holds exactly nstates.
912 * src/lalr.c (nLA): New.
913 (initialize_LA, compute_lookaheads, initialize_lookaheads): Use it
914 instead of lookaheadsp from the pseudo state (nstate + 1).
915
916 2001-12-27 Akim Demaille <akim@epita.fr>
917
918 * src/output.c (action_row, token_actions): Use a state_t instead
919 of a integer, and nlookaheads instead of the following state's
920 lookaheadsp.
921
922 2001-12-27 Akim Demaille <akim@epita.fr>
923
924 * src/conflicts.c (log_resolution, flush_shift)
925 (resolve_sr_conflict, set_conflicts, solve_conflicts)
926 (count_sr_conflicts, count_rr_conflicts, conflicts_output)
927 (conflicts_print, print_reductions): Use a state_t instead of an
928 integer when referring to a state.
929 As much as possible, depend upon nlookaheads, instead of the
930 `lookaheadsp' member of the following state (since lookaheads of
931 successive states are successive, the difference between state n + 1
932 and n served as the number of lookaheads for state n).
933 * src/lalr.c (add_lookback_edge): Likewise.
934 * src/print.c (print_core, print_actions, print_state)
935 (print_results): Likewise.
936 * src/print_graph.c (print_core, print_actions, print_state)
937 (print_graph): Likewise.
938 * src/conflicts.h: Adjust.
939
940 2001-12-27 Akim Demaille <akim@epita.fr>
941
942 * src/bison.hairy: Formatting/comment changes.
943 ANSIfy.
944 Remove `register' indications.
945 Add plenty of `static'.
946
947 2001-12-27 Akim Demaille <akim@epita.fr>
948
949 * src/output.c (prepare): Drop the muscle `ntbase' which
950 duplicates ntokens.
951 * src/bison.simple: Formatting/comment changes.
952 Use YYNTOKENS only, which is documented, but not YYNTBASE, which
953 is an undocumented synonym.
954
955 2001-12-22 Akim Demaille <akim@epita.fr>
956
957 * src/output.c (output_table_data): Change the prototype to use
958 `int' for array ranges: some invocations do pass an int, not a
959 short.
960 Reported by Wayne Green.
961
962 2001-12-22 Akim Demaille <akim@epita.fr>
963
964 Some actions of web2c.y are improperly triggered.
965 Reported by Mike Castle.
966
967 * src/lalr.c (traverse): s/F (i)[k] = F (j)[k]/F (j)[k] = F (i)[k]/.
968 * tests/regression.at (Web2c): Rename as...
969 (Web2c Report): this.
970 (Web2c Actions): New.
971
972 2001-12-22 Akim Demaille <akim@epita.fr>
973
974 Reductions in web2c.y are improperly reported.
975 Reported by Mike Castle.
976
977 * src/conflicts.c (print_reductions): Fix.
978 * tests/regression.at (Web2c): New.
979
980 2001-12-18 Akim Demaille <akim@epita.fr>
981
982 Some host fail on `assert (!"foo")', which expands to
983 ((!"foo") ? (void)0 : __assert("!"foo."", __FILE__, __LINE__))
984 Reported by Nelson Beebee.
985
986 * src/output.c, src/vcg.c: Replace `assert (!"it succeeded")' with
987 `#define it_succeeded 0' and `assert (it_succeeded)'.
988
989 2001-12-17 Marc Autret <autret_m@epita.fr>
990
991 * src/bison.simple: Don't hard code the skeleton line and filename.
992 * src/output.c (output_parser): Rename 'line' as 'output_line'.
993 New line counter 'skeleton_line' (skeleton-line muscle).
994
995 2001-12-17 Paul Eggert <eggert@twinsun.com>
996
997 * NEWS, doc/bison.texinfo, doc/bison.1, doc/bison.rnh: Document that
998 YYDEBUG must be defined to a nonzero value.
999
1000 * src/bison.simple (yytname): Do not assume that the user defines
1001 YYDEBUG to a properly parenthesized expression.
1002
1003 2001-12-17 Akim Demaille <akim@epita.fr>
1004
1005 * src/state.h (state_t): Rename lookaheads as lookaheadsp.
1006 nlookaheads is a new member.
1007 Adjust all users.
1008 * src/lalr.h (nlookaheads): Remove this orphan declaration.
1009 * src/lalr.c (initialize_lookaheads): Set nlookaheads for each
1010 state.
1011
1012 2001-12-17 Akim Demaille <akim@epita.fr>
1013
1014 * src/files.h, src/files.c (open_files, close_files): Remove.
1015 * src/main.c (main): Don't open/close files, nor invoke lex_free,
1016 let...
1017 * src/reader.c (reader): Do it.
1018
1019 2001-12-17 Akim Demaille <akim@epita.fr>
1020
1021 * src/conflicts.c (print_reductions): Formatting changes.
1022
1023 2001-12-17 Akim Demaille <akim@epita.fr>
1024
1025 * src/conflicts.c (flush_shift): Also adjust lookaheadset.
1026 (flush_reduce): New.
1027 (resolve_sr_conflict): Adjust.
1028
1029 2001-12-17 Akim Demaille <akim@epita.fr>
1030
1031 * src/output.c (output_obstack): Be static and rename as...
1032 (format_obstack): this, to avoid any confusion with files.c's
1033 output_obstack.
1034 * src/reader.h (muscle_obstack): Move to...
1035 * src/output.h: here, since it's defined in output.c.
1036
1037 2001-12-17 Akim Demaille <akim@epita.fr>
1038
1039 * src/output.c (action_row, save_column, default_goto)
1040 (sort_actions, matching_state, pack_vector): Better variable
1041 locality.
1042
1043 2001-12-17 Akim Demaille <akim@epita.fr>
1044
1045 * src/output.c: Various formatting changes.
1046
1047 2001-12-17 Akim Demaille <akim@epita.fr>
1048
1049 * src/files.c (output_files): Free the output_obstack.
1050 * src/main.c (main): Call print and print_graph conditionally.
1051 * src/print.c (print): Work unconditionally.
1052 * src/print_graph.c (print_graph): Work unconditionally.
1053 * src/conflicts.c (log_resolution): Output only if verbose_flag.
1054
1055 2001-12-16 Marc Autret <autret_m@epita.fr>
1056
1057 * src/output.c (actions_output): Fix. When we use %no-lines,
1058 there is one less line per action.
1059
1060 2001-12-16 Marc Autret <autret_m@epita.fr>
1061
1062 * src/bison.simple: Remove a useless #line directive.
1063 s/#line %%line %%skeleton/#line %%line "%%parser-file-name"/'.
1064 * src/output.c (get_lines_number): New.
1065 (output_parser): Adjust, now takes care about the lines of a
1066 output muscles.
1067 Fix line numbering.
1068 (actions_output): Computes the number of lines taken by actions.
1069 (output_master_parser): Insert new skeleton which is the name of
1070 the output parser file name.
1071
1072 2001-12-15 Marc Autret <autret_m@epita.fr>
1073
1074 * src/bison.simple [YYERROR_VERBOSE]: Restore backward compatibility.
1075
1076 2001-12-15 Marc Autret <autret_m@epita.fr>
1077
1078 * src/output.c (output_gram): Keep track of the hairy one.
1079
1080 2001-12-15 Akim Demaille <akim@epita.fr>
1081
1082 Make `make distcheck' work.
1083
1084 * lib/Makefile.am (INCLUDES): Add top_srcdir/intl, since hash uses
1085 system.h which uses libgettext.h.
1086
1087 2001-12-15 Akim Demaille <akim@epita.fr>
1088
1089 * src/nullable.c (set_nullable): Useless rules must be skipped,
1090 otherwise, since we range over their symbols, we might look at a
1091 nonterminal which no longer ``exists'', i.e., it is not counted in
1092 `nvars', hence we overflow our arrays.
1093
1094 2001-12-15 Akim Demaille <akim@epita.fr>
1095
1096 The header can also be produced directly, without any obstack!
1097 Yahoo!
1098
1099 * src/files.c, src/files.h (defines_obstack): Remove.
1100 (compute_header_macro): Global.
1101 (defines_obstack_save): Remove.
1102 * src/reader.c (parse_union_decl): No longer output to
1103 defines_obstack: its content can be found in the `stype' muscle
1104 anyway.
1105 (output_token_translations): Merge into...
1106 (symbols_output): this.
1107 Rename as...
1108 (symbols_save): this.
1109 (reader): Adjust.
1110 * src/output.c (header_output): New.
1111 (output): Call it.
1112
1113 2001-12-15 Akim Demaille <akim@epita.fr>
1114
1115 * src/reader.c (parse_union_decl): Instead of handling two obstack
1116 simultaneously, use one to define the `stype' muscle, and use the
1117 value of the latter to fill defines_obstack.
1118 (copy_comment): Remove.
1119 (copy_comment2): Work for a single obstack.
1120 Rename as...
1121 (copy_comment): this.
1122
1123 2001-12-15 Akim Demaille <akim@epita.fr>
1124
1125 * src/lex.c, src/lex.h (xgetc): No longer static.
1126 * src/reader.c (parse_union_decl): Revamp.
1127
1128 2001-12-15 Akim Demaille <akim@epita.fr>
1129
1130 Still making progress in separating Bison into (i) input, (ii)
1131 process, (iii) output: now we can directly output the parser file
1132 without using table_obstack at all.
1133
1134 * src/files.c, src/files.h (table_obstack): Bye bye.
1135 (parser_file_name): New.
1136 * src/files.c (compute_output_file_names): Compute it.
1137 * src/output.c (actions_output, output_parser)
1138 (output_master_parser): To a file instead of an obstack.
1139
1140 2001-12-15 Akim Demaille <akim@epita.fr>
1141
1142 Attach actions to rules, instead of pre-outputting them to
1143 actions_obstack.
1144
1145 * src/gram.h (rule_t): action and action_line are new members.
1146 * src/reader.c (symbol_list): Likewise.
1147 (copy_action): Save the actions within the rule.
1148 (packgram): Save them in rule_table.
1149 * src/output.c (actions_output): New.
1150 (output_parser): Use it on `%%actions'.
1151 (output_rule_data): Don't free rule_table.
1152 (output): Do it.
1153 (prepare): Don't save the `action' muscle.
1154 * src/bison.simple: s/%%action/%%actions/.
1155
1156 2001-12-15 Akim Demaille <akim@epita.fr>
1157
1158 * src/reader.c (copy_action): When --yacc, don't append a `;'
1159 to the user action: let it fail if lacking.
1160 Suggested by Arnold Robbins and Tom Tromey.
1161
1162 2001-12-14 Akim Demaille <akim@epita.fr>
1163
1164 * src/lex.c (literalchar): Simply return the char you decoded, non
1165 longer mess around with obstacks and int pointers.
1166 Adjust all callers.
1167
1168 2001-12-14 Akim Demaille <akim@epita.fr>
1169
1170 * src/lex.c (literalchar): Don't escape the special characters,
1171 just decode them, and keep them as char (before, eol was output as
1172 the 2 char string `\n' etc.).
1173 * src/output.c (output_rule_data): Use quotearg to output the
1174 token strings.
1175
1176 2001-12-13 Paul Eggert <eggert@twinsun.com>
1177
1178 * src/bison.simple (YYSIZE_T, YYSTACK_ALLOC, YYSTACK_FREE):
1179 Do not infringe on the global user namespace when using C++.
1180 (YYFPRINTF, YYSTDERR): New macros, needed for the above.
1181 All uses of `fprintf' and `stderr' changed.
1182
1183 * doc/bison.texinfo: Document YYFPRINTF, YYSTDERR.
1184
1185 2001-12-13 Akim Demaille <akim@epita.fr>
1186
1187 The computation of nullable is broken: it doesn't handle empty
1188 RHS's properly.
1189
1190 * tests/torture.at (GNU AWK Grammar): New.
1191 * tests/sets.at (Nullable): New.
1192 * src/nullable.c (set_nullable): Instead of blindly looping over
1193 `ritems', loop over the rules, and then over their rhs's.
1194
1195 Work around Autotest bugs.
1196
1197 * src/warshall.c (bitmatrix_print): Don't use `+--+' as table
1198 frame, because Autotest understand lines starting with a `+' as
1199 traces from the shell. Then, they are not processed properly.
1200 Admittedly an Autotest bug, but we don't have time to wait for
1201 Autotest to catch up.
1202 * tests/regression.at (Broken Closure): Adjust to the new table
1203 frames.
1204 Move to...
1205 * tests/sets.at: here.
1206
1207 2001-12-13 Akim Demaille <akim@epita.fr>
1208
1209 * src/closure.c (closure): Use nrules instead of playing tricks
1210 with BITS_PER_WORD.
1211
1212 2001-12-13 Akim Demaille <akim@epita.fr>
1213
1214 * src/print.c (print_actions): Output the handling of `$' as the
1215 traces do: shifting the token EOF. Before EOF was treated as a
1216 nonterminal.
1217 * tests/regression.at: Adjust some tests.
1218 * src/print_graph.c (print_core): Complete the set of items via
1219 closure. The next-to-final and final states are still unsatisfying,
1220 but that's to be addressed elsewhere.
1221 No longer output the rule numbers, but do output the state number.
1222 A single loop for the shifts + gotos is enough, but picked a
1223 distinct color for each.
1224 (print_graph): Initialize and finalize closure.
1225
1226 2001-12-13 Akim Demaille <akim@epita.fr>
1227
1228 * src/reader.c (readgram): Remove dead code, an strip useless
1229 braces.
1230 (get_type): Remove, unused.
1231
1232 2001-12-12 Akim Demaille <akim@epita.fr>
1233
1234 * src/complain.h, src/complain.c: Remove error_one_per_line, rely
1235 on that of lib/error.c.
1236
1237 2001-12-12 Akim Demaille <akim@epita.fr>
1238
1239 Some hosts don't like `/' in includes.
1240
1241 * src/system.h: Include libgettext.h without qualifying the path.
1242 * src/Makefile.am (INCLUDES): Add $(top_srcdir)/intl, remove
1243 $(top_srcdir).
1244
1245 2001-12-11 Marc Autret <autret_m@epita.fr>
1246
1247 * src/output.c (output_parser): Remove useless muscle.
1248
1249 2001-12-11 Marc Autret <autret_m@epita.fr>
1250
1251 * src/bison.simple: Remove #line just before %%epilogue. It
1252 is now handled in ...
1253 * src/reader.c (read_additionnal_code): Add the output of a
1254 #line for the epilogue.
1255
1256 2001-12-10 Marc Autret <autret_m@epita.fr>
1257
1258 * src/reader.c (copy_definition): Re-use CPP-outed code which
1259 replace precedent remove.
1260 * src/bison.simple: Remove #line before %%prologue because
1261 %%input-line is wrong at this time.
1262
1263 2001-12-10 Marc Autret <autret_m@epita.fr>
1264
1265 * src/reader.c (symbols_output): Clean up.
1266 * src/output.c (output_gram, output): Clean up.
1267
1268 2001-12-10 Akim Demaille <akim@epita.fr>
1269
1270 * src/lalr.c (initialize_lookaheads): New. Extracted from...
1271 * src/LR0.c (set_state_table): here.
1272 * src/lalr.c (lalr): Call it.
1273
1274 2001-12-10 Akim Demaille <akim@epita.fr>
1275
1276 * src/state.h (shifts): Remove the `number' member: shifts are
1277 attached to state, hence no longer need to be labelled with a
1278 state number.
1279
1280 2001-12-10 Akim Demaille <akim@epita.fr>
1281
1282 Now that states have a complete set of members, the linked list of
1283 shifts is useless: just fill directly the state's shifts member.
1284
1285 * src/state.h (shifts): Remove the `next' member.
1286 * src/LR0.c (first_state, last_state): Remove.
1287 Adjust the callers.
1288 (augment_automaton): Don't look for the shifts that must be added
1289 a shift on EOF: it is those of the state we looked for! But now,
1290 since shifts are attached, it is no longer needed to looking
1291 merely by its id: its number.
1292
1293 2001-12-10 Akim Demaille <akim@epita.fr>
1294
1295 * src/LR0.c (augment_automaton): Better variable locality.
1296 Remove an impossible branch: if there is a state corresponding to
1297 the start symbol being shifted, then there is shift for the start
1298 symbol from the initial state.
1299
1300 2001-12-10 Akim Demaille <akim@epita.fr>
1301
1302 * src/LR0.c (augment_automaton): Call `insert_eof_shifting_state'
1303 only when appropriate: when insert_start_shifting_state' is not
1304 invoked.
1305 * tests/regression.at (Rule Line Numbers): Adjust.
1306
1307 2001-12-10 Akim Demaille <akim@epita.fr>
1308
1309 * src/LR0.c (augment_automaton): Now that all states have shifts,
1310 merge the two cases addition shifts to the initial state.
1311
1312 2001-12-10 Akim Demaille <akim@epita.fr>
1313
1314 * src/lalr.c (set_state_table): Move to...
1315 * src/LR0.c: here.
1316 * src/lalr.c (lalr): Don't call it...
1317 * src/LR0.c (generate_states): do it.
1318 * src/LR0.h (first_state): Remove, only the table is used.
1319
1320 2001-12-10 Akim Demaille <akim@epita.fr>
1321
1322 * src/LR0.h (first_shift, first_reduction): Remove.
1323 * src/lalr.c: Don't use first_shift: find shifts through the
1324 states.
1325
1326 2001-12-10 Akim Demaille <akim@epita.fr>
1327
1328 * src/LR0.c: Attach shifts to states as soon as they are
1329 computed.
1330 * src/lalr.c (set_state_table): Instead of assigning shifts to
1331 state, just assert that the mapping was properly done.
1332
1333 2001-12-10 Akim Demaille <akim@epita.fr>
1334
1335 * src/LR0.c (insert_start_shift): Rename as...
1336 (insert_start_shifting_state): this.
1337 (insert_eof_shifting_state, insert_accepting_state): New.
1338 (augment_automaton): Adjust.
1339 Better locality of the variables.
1340 When looking if the start_symbol is shifted from the initial
1341 state, using `while (... symbol != start_symbol ...)' sounds
1342 better than `while (... symbol < start_symbol ...)': If fail
1343 to see how the order between symbols could be relevant!
1344
1345 2001-12-10 Akim Demaille <akim@epita.fr>
1346
1347 * src/getargs.h: Don't declare `spec_name_prefix' and
1348 `spec_file_prefix', declared by src/files.h.
1349 * src/files.c, src/files.h: Default for spec_name_prefix is "yy".
1350 * src/muscle_tab.c (muscle_init): Default prefix to NULL.
1351 * src/output.c (prepare): Adjust.
1352 * src/reader.c (symbols_output): Likewise.
1353 * src/vmsgetargs.c: Vaguely adjust, but who cares?
1354
1355 2001-12-10 Akim Demaille <akim@epita.fr>
1356
1357 * src/muscle_tab.c (muscle_init): NULL is a better default than
1358 `"0"'.
1359
1360 2001-12-10 Akim Demaille <akim@epita.fr>
1361
1362 * src/reader.c (reader): Calling symbols_output once is enough.
1363
1364 2001-12-10 Akim Demaille <akim@epita.fr>
1365
1366 Now that states have a complete set of members, the linked list of
1367 reductions is useless: just fill directly the state's reductions
1368 member.
1369
1370 * src/state.h (struct reductions): Remove member `number' and
1371 `next'.
1372 * src/LR0.c (first_reduction, last_reduction): Remove.
1373 (save_reductions): Don't link the new reductions, store them in
1374 this_state.
1375 * src/lalr.c (set_state_table): No need to attach reductions to
1376 states, it's already done.
1377 * src/output.c (output_actions): No longer free the shifts, then
1378 the reductions, then the states: free all the states and their
1379 members.
1380
1381 2001-12-10 Akim Demaille <akim@epita.fr>
1382
1383 * src/options.c (OPTN, DRTV, BOTH): New.
1384 (option_table): Use them.
1385
1386 * src/muscle_tab.c: Don't include xalloc.h and string.h: that's
1387 the job of system.h.
1388 * src/options.c: Don't include stdio.h and xalloc.h for the same
1389 reasons.
1390
1391 2001-12-10 Akim Demaille <akim@epita.fr>
1392
1393 * src/output.c (output, prepare): Make sure the values of the
1394 muscles `action' and `prologue' are 0-terminated.
1395
1396 2001-12-10 Akim Demaille <akim@epita.fr>
1397
1398 Clean up GCC warnings.
1399
1400 * src/reader.c (copy_action): `buf' is not used.
1401 (parse_skel_decl): Be static.
1402 * src/muscle_tab.c (mhash1, mhash2, muscle_insert): Preserve `const'.
1403 * src/options.h (create_long_option_table): Have a real prototype.
1404 * lib/hash.c, lib/hash.h (hash_insert, hash_insert_at, hash_delete)
1405 (hash_delete_at): Return const void *.
1406 Adjust casts to preserve the const.
1407
1408 2001-12-10 Akim Demaille <akim@epita.fr>
1409
1410 * configure.in: Require 2.52g.
1411 M4 is not needed, but AUTOM4TE is.
1412 * m4/m4.m4: Remove.
1413 * tests/Makefile.am: Adjust.
1414
1415 2001-12-10 Akim Demaille <akim@epita.fr>
1416
1417 One structure for states is enough, even though theoretically
1418 there are LR(0) states and LALR(1) states.
1419
1420 * src/lalr.h (state_t): Remove.
1421 (state_table): Be state_t **, not state_t *.
1422 * src/state.h (core, CORE_ALLOC): Rename as...
1423 (state_t, STATE_ALLOC): this.
1424 Add the LALR(1) members: shifts, reductions, errs.
1425 * src/LR0.c (state_table): Rename as...
1426 (state_hash): this, to avoid name clashes with the global
1427 `state_table'.
1428 * src/print_graph.c, src/LR0.c, src/LR0.h, src/conflicts.c
1429 * src/lalr.c, src/lalr.h, src/output.c, src/print.c: Adjust.
1430
1431 2001-12-10 Akim Demaille <akim@epita.fr>
1432
1433 Bison dumps core on bash.y.
1434 Reported by Pascal Bart.
1435
1436 * src/warshall.c (bitmatrix_print): New.
1437 (TC): Use it.
1438 When performing a transitive closure R(i, j) && R(j, k) => R(i, k),
1439 j must be the outer loop.
1440 * tests/regression.at (Broken Closure): New.
1441
1442 2001-12-05 Akim Demaille <akim@epita.fr>
1443
1444 * tests/atlocal.in (CPPFLAGS): Do not leave a space between -I and
1445 its argument.
1446 Reported by Peter Hámorský.
1447
1448 2001-12-05 Akim Demaille <akim@epita.fr>
1449
1450 * src/conflicts.c (err_table): Remove.
1451 (resolve_sr_conflict): Adjust.
1452 * src/lalr.h (state_t.reduction_table, state_t.shift_table):
1453 Rename as...
1454 (state_t.reductions, state_t.shifts): this.
1455
1456 2001-12-05 Akim Demaille <akim@epita.fr>
1457
1458 * src/reduce.c (reduce_grammar_tables): No longer disable the
1459 removal of useless rules via CPP but via `if (0)', so that the
1460 compiler still check the code is valid.
1461 For instance, it should have noticed `rline' no longer exists: use
1462 the `line' member of rule_t.
1463 * src/gram.c (dummy, rline): Remove, unused.
1464
1465 2001-12-05 Akim Demaille <akim@epita.fr>
1466
1467 * src/output.c (pack_vector): Use assert, not berror.
1468 * src/main.c (berror): Remove, unused.
1469
1470 2001-12-05 Akim Demaille <akim@epita.fr>
1471
1472 New experimental feature: if --verbose --trace output all the
1473 items of a state, not only its kernel.
1474
1475 * src/print.c (print_core): If `trace_flag', then invoke closure
1476 before outputting the items of the state (print_core is no longer
1477 a correct name them).
1478 (print_results): Invoke new_closure/free_closure if needed.
1479
1480 2001-12-05 Akim Demaille <akim@epita.fr>
1481
1482 * src/LR0.c (new_itemsets): Use nshifts only, not shiftcount.
1483 * src/closure.c, src/closure.h (itemsetsize): Rename as...
1484 (nitemset): for consistency with the rest of the project.
1485
1486 2001-12-05 Akim Demaille <akim@epita.fr>
1487
1488 * src/closure.c (print_closure): Improve.
1489 (closure): Use it for printing input and output.
1490
1491 2001-12-05 Akim Demaille <akim@epita.fr>
1492
1493 * src/closure.c (FIRSTS, FDERIVES): Adjust to reality: they are
1494 indexed by nonterminals.
1495
1496 2001-12-05 Akim Demaille <akim@epita.fr>
1497
1498 * src/warshall.c (TC, RTC): De-obsfucate (source reduced to 22% of
1499 what it was!).
1500 * src/warshall.h: Remove accidental duplication of the content.
1501
1502 2001-12-05 Akim Demaille <akim@epita.fr>
1503
1504 * src/closure.c (set_fderives): De-obfuscate.
1505
1506 2001-12-05 Akim Demaille <akim@epita.fr>
1507
1508 * src/closure.c (print_firsts, print_fderives): De-obfuscate.
1509
1510 2001-12-05 Akim Demaille <akim@epita.fr>
1511
1512 * src/closure.c (set_firsts): De-obfuscate.
1513
1514 2001-12-05 Akim Demaille <akim@epita.fr>
1515
1516 * src/output.c (action_row): De-obfuscate
1517 using the good o' techniques: arrays not pointers, variable
1518 locality, BITISSET, RESETBIT etc.
1519
1520 2001-12-05 Akim Demaille <akim@epita.fr>
1521
1522 Pessimize the code to simplify it: from now on, all the states
1523 have a valid SHIFTS, which NSHIFTS is possibly 0.
1524
1525 * src/LR0.c (shifts_new): Be global and move to..
1526 * src/state.c, src/state.h: here.
1527 * src/conflicts, src/lalr.c, src/output.c, src/print.c,
1528 * src/print_graph: Adjust.
1529
1530 2001-12-05 Akim Demaille <akim@epita.fr>
1531
1532 * src/state.h (SHIFT_DISABLE, SHIFT_IS_DISABLED): New.
1533 * src/conflicts.c: Use it.
1534 Restore a few missing `if (!SHIFT_IS_DISABLED)' which were
1535 incorrectly ``simplified''.
1536
1537 2001-12-05 Akim Demaille <akim@epita.fr>
1538
1539 * src/conflicts.c (flush_shift, resolve_sr_conflict): De-obfuscate
1540 using the good o' techniques: arrays not pointers, variable
1541 locality, BITISSET, RESETBIT etc.
1542
1543 2001-12-05 Akim Demaille <akim@epita.fr>
1544
1545 * src/state.h (SHIFT_SYMBOL): New.
1546 * src/conflicts.c: Use it to deobfuscate.
1547
1548 2001-12-05 Akim Demaille <akim@epita.fr>
1549
1550 * src/conflicts.c (count_sr_conflicts, count_rr_conflicts)
1551 (print_reductions): De-obfuscate using the good o' techniques:
1552 arrays not pointers, variable locality, BITISSET.
1553
1554 2001-12-05 Akim Demaille <akim@epita.fr>
1555
1556 * src/conflicts.c (print_reductions): Arrays, not pointers.
1557 Use BITISSET.
1558
1559 2001-12-05 Akim Demaille <akim@epita.fr>
1560
1561 * src/conflicts.c (print_reductions): Pessimize, but clarify.
1562
1563 2001-12-05 Akim Demaille <akim@epita.fr>
1564
1565 * src/conflicts.c (print_reductions): Improve variable locality.
1566
1567 2001-12-05 Akim Demaille <akim@epita.fr>
1568
1569 * src/conflicts.c (print_reductions): Pessimize, but clarify.
1570
1571 2001-12-05 Akim Demaille <akim@epita.fr>
1572
1573 * src/conflicts.c (print_reductions): Improve variable locality.
1574
1575 2001-12-05 Akim Demaille <akim@epita.fr>
1576
1577 * src/state.h (SHIFT_IS_ERROR, SHIFT_IS_GOTO, SHIFT_IS_SHIFT): New.
1578 * src/lalr.c: Use them.
1579
1580 2001-12-05 Akim Demaille <akim@epita.fr>
1581
1582 * src/LR0.c (augment_automaton): Formatting changes.
1583 Better variable locality.
1584
1585 2001-12-05 Akim Demaille <akim@epita.fr>
1586
1587 * src/lalr.c (matrix_print): New.
1588 (transpose): Use it.
1589 Use arrays instead of pointers.
1590
1591 2001-12-05 Akim Demaille <akim@epita.fr>
1592
1593 * src/lalr.c (maxrhs): Move to...
1594 * src/gram.c, src/gram.h (ritem_longest_rhs): here.
1595 * src/lalr.c (build_relations): Adjust.
1596
1597 2001-12-05 Akim Demaille <akim@epita.fr>
1598
1599 * src/lalr.c (transpose): Free the memory allocated to the
1600 argument, as it is replaced by the results by the unique caller.
1601 (build_relations): Merely invoke transpose: it handles the memory
1602 deallocation.
1603 Improve variable locality.
1604 Avoid variables used as mere abbreviations.
1605 (compute_lookaheads): Use arrays instead of pointers.
1606
1607 2001-12-05 Akim Demaille <akim@epita.fr>
1608
1609 * src/lalr.c (initialize_F): Improve variable locality.
1610 Avoid variables used as mere abbreviations.
1611
1612 2001-12-05 Akim Demaille <akim@epita.fr>
1613
1614 * src/derives.c (print_derives): Display the ruleno.
1615 * src/lalr.c (initialize_F, transpose): Better variable locality
1616 to improve readability.
1617 Avoid variables used as mere abbreviations.
1618
1619 2001-12-05 Akim Demaille <akim@epita.fr>
1620
1621 * src/lalr.c (traverse): Use arrays instead of pointers.
1622
1623 2001-12-05 Akim Demaille <akim@epita.fr>
1624
1625 * src/nullable.c (set_nullable): Use a for loop to de-obfuscate
1626 the handling of squeue.
1627 `symbol >= 0' is wrong now, use `rule_table[ruleno].useful'.
1628
1629 2001-12-05 Akim Demaille <akim@epita.fr>
1630
1631 Because useless nonterminals are now kept alive (instead of being
1632 `destroyed'), we now sometimes examine them, and store information
1633 related to them. Hence we need to know their number, and adjust
1634 memory allocations.
1635
1636 * src/reduce.c, src/reduce.h (nuseless_nonterminals): No longer
1637 static.
1638 * src/LR0.c (allocate_itemsets): The memory allocated to
1639 `symbol_count' was used for two different purpose: once to count
1640 the number of occurrences of each symbol, and later reassigned to
1641 `shift_symbol', containing the symbol that can be shifted from a
1642 given state.
1643 Deobfuscate, i.e., allocate, use and free `symbol_count' here
1644 only, and...
1645 (new_itemsets): Allocate `shift_symbol' here.
1646 (allocate_itemsets): symbol_count includes useless nonterminals.
1647 Make room for them.
1648 (free_storage): Use `free', not `XFREE', for pointers that cannot
1649 be null.
1650
1651 2001-12-05 Akim Demaille <akim@epita.fr>
1652
1653 * src/nullable.c (set_nullable): Deobfuscate the handling of
1654 ritem.
1655 `symbol >= 0' is wrong now, use `rule_table[ruleno].useful'.
1656
1657 2001-12-05 Akim Demaille <akim@epita.fr>
1658
1659 * src/gram.c, src/gram.h (ritem_print): New.
1660 * src/gram.c (dummy): Remove, now there is actual code in gram.c.
1661 (This useless function was defined only to work around VMS linkers
1662 that can't handle compilation units with variables only).
1663 * src/reduce.c (dump_grammar): Use it to trace the construction of
1664 ritem.
1665
1666 2001-12-04 Paul Eggert <eggert@twinsun.com>
1667
1668 * src/bison.simple (union yyalloc): Change member names
1669 to be the same as the stack names.
1670 (yyparse): yyptr is now union yyalloc *, not char *.
1671 (YYSTACK_RELOCATE): Likewise. This avoids a GCC warning,
1672 and may generate better code on some machines.
1673 (yystpcpy): Use prototype if __STDC__ is defined, not just
1674 if __cplusplus is defined.
1675
1676 2001-11-30 Akim Demaille <akim@epita.fr>
1677
1678 * configure.in (WARNING_CFLAGS): Add -Werror when possible.
1679 (CFLAGS): Do not include the WARNING_CFLAGS here, since GNU
1680 Gettext doesn't compile cleanly, and dies with -Werror.
1681 * src/Makefile.am, lib/Makefile.am, tests/atlocal.in (CFLAGS):
1682 Include WARNING_CFLAGS here.
1683 * lib/xstrdup.c: Include xalloc.h, so that xstrdup be declared
1684 before being defined.
1685
1686 2001-11-27 Paul Eggert <eggert@twinsun.com>
1687
1688 * lib/quotearg.h (quotearg_n, quotearg_n_style):
1689 First arg is int, not unsigned.
1690 * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
1691 (SIZE_MAX, UINT_MAX): New macros.
1692 (quotearg_n_options): Abort if N is negative.
1693 Avoid overflow check on hosts where size_t is 64 bits and int
1694 is 32 bits, as overflow is impossible there.
1695 Fix off-by-one typo that caused unnecessary reallocation.
1696
1697 2001-11-29 Paul Eggert <eggert@twinsun.com>
1698
1699 Name space cleanup in generated parser.
1700
1701 * doc/bison.texinfo (Bison Parser): Discuss system headers
1702 and their effect on the user name space.
1703
1704 * src/bison.simple:
1705 (YYSTACK_ALLOC, YYSTACK_FREE, union yyalloc, YYSTACK_GAP_MAX,
1706 YYSTACK_BYTES, YYSTACK_RELOCATE): Do not define unless necessary,
1707 i.e. unless ! defined (yyoverflow) || defined (YYERROR_VERBOSE).
1708
1709 (YYSIZE_T): New macro. Use it instead of size_t, to avoid infringing
1710 on user names when possible.
1711
1712 (YYSTACK_USE_ALLOCA): Do not define; just use any existing defn.
1713 Simplify test for whather <alloca.h> exists.
1714
1715 (<stdlib.h>): Include if we will use malloc, and if standard C or C++.
1716
1717 (<stdio.h>): Include if YYDEBUG.
1718
1719 (yymemcpy): Renamed from __yy_memcpy. Do not define unless
1720 ! defined (yyoverflow) && ! defined (yymemcpy).
1721
1722 (yymemcpy, yyparse): Rename local variables as needed so that
1723 they all begin with 'yy'.
1724
1725 (yystrlen, yystpcpy): New functions.
1726
1727 (YY_DECL_NON_LSP_VARIABLES): Renamed from _YY_DECL_VARIABLES.
1728 All uses changed.
1729
1730 (yyparse): size_t -> YYSIZE_T. Use yystrlen and yystpcpy
1731 instead of relying on string.h functions. Use YYSTACK_ALLOC
1732 and YYSTACK_FREE instead of malloc and free.
1733
1734 2001-11-30 Akim Demaille <akim@epita.fr>
1735
1736 * src/bison.simple (YYSTYPE, YYLTYPE): Move their definitions
1737 before their first uses.
1738 (YYBISON, YYPURE): Move to the top of the output.
1739
1740 2001-11-30 Akim Demaille <akim@epita.fr>
1741
1742 * tests/reduce.at (Useless Nonterminals): Fix.
1743
1744 2001-11-30 Akim Demaille <akim@epita.fr>
1745
1746 * src/bison.simple (YYSTACK_FREE): Use `do {;} while (0)' as empty
1747 if body instead of `;' to pacify GCC's warnings.
1748
1749 2001-11-30 Akim Demaille <akim@epita.fr>
1750
1751 Instead of mapping the LHS of unused rules to -1, keep the LHS
1752 valid, but flag the rules as invalid.
1753
1754 * src/gram.h (rule_t): `useful' is a new member.
1755 * src/print.c (print_grammar): Adjust.
1756 * src/derives.c (set_derives): Likewise.
1757 * src/reader.c (packgram, reduce_output): Likewise.
1758 * src/reduce.c (reduce_grammar_tables): Likewise.
1759 * tests/reduce.at (Underivable Rules, Useless Rules): New.
1760
1761 2001-11-30 Akim Demaille <akim@epita.fr>
1762
1763 * src/reduce.c (reduce_output): Formatting changes.
1764 * src/print.c (print_results, print_grammar): Likewise.
1765 * tests/regression.at (Rule Line Numbers)
1766 (Solved SR Conflicts, Unresolved SR Conflicts): Adjust.
1767
1768 2001-11-30 Akim Demaille <akim@epita.fr>
1769
1770 * src/reduce.c (nonterminals_reduce): Instead of throwing away
1771 useless nonterminals, move them at the end of the symbol arrays.
1772 (reduce_output): Adjust.
1773 * tests/reduce.at (Useless Nonterminals): Adjust.
1774
1775 2001-11-30 Akim Demaille <akim@epita.fr>
1776
1777 * src/reduce.c: Various comment/formatting changes.
1778 (nonterminals_reduce): New, extracted from...
1779 (reduce_grammar_tables): here.
1780 (reduce_grammar): Call nonterminals_reduce.
1781
1782 2001-11-29 Paul Eggert <eggert@twinsun.com>
1783
1784 * src/bison.simple (YYSTACK_REALLOC): Remove.
1785 (YYSTACK_ALLOC): Resurrect this macro, with its old meaning.
1786 (YYSTACK_FREE, YYSTACK_GAP_MAX, YYSTACK_BYTES, YYSTACK_RELOCATE):
1787 New macros.
1788 (union yyalloc): New type.
1789 (__yy_memcpy): Last arg is size_t, not unsigned int, to remove
1790 an arbitrary restriction on hosts where size_t is wider than int.
1791
1792 (yyparse): Don't dump core if alloca or malloc fails; instead, report
1793 a parser stack overflow. Allocate just one block of memory for all
1794 three stacks, instead of allocating three blocks; this typically is
1795 faster and reduces fragmentation.
1796
1797 Do not limit the number of items in the stack to a value that fits
1798 in 'int', as this is an arbitrary limit on hosts with 64-bit
1799 size_t and 32-bit int.
1800
1801 2001-11-29 Marc Autret <autret_m@epita.fr>
1802
1803 * tests/calc.at [AT_DATA_CALC_Y]: Use %error-verbose instead
1804 of defining YYERROR_VERBOSE.
1805 [AT_DATA]: $4 is now out of C declarations in the prologue.
1806
1807 2001-11-28 Marc Autret <autret_m@epita.fr>
1808
1809 * src/reader.c (parse_dquoted_param): New.
1810 (parse_skel_decl): Use it.
1811 * src/lex.h: Add its prototype.
1812 * src/lex.c (literalchar): Become not static.
1813
1814 2001-11-28 Marc Autret <autret_m@epita.fr>
1815
1816 * src/output.h: And put its extern declaration here.
1817 * src/output.c (error_verbose): Define here.
1818 (prepare): Echo name modification.
1819 * src/getargs.h: Clean its extern declaration.
1820 * src/getargs.c (error_verbose_flag): Remove.
1821 (getargs): Remove case 'e'.
1822 * src/options.c (option_table): 'error-verbose' is now seen as simple
1823 percent option.
1824 Include output.h.
1825
1826 * src/reader.c (read_declarations): Remove case tok_include.
1827 (parse_include_decl): Remove.
1828 * src/lex.h (token_t): Remove tok_include.
1829 * src/options.c (option_table): 'include' is now a simple command line
1830 option.
1831
1832 2001-11-28 Marc Autret <autret_m@epita.fr>
1833
1834 * src/bison.simple: Adjust muscle names.
1835 * src/muscle_tab.c (muscle_init): Also rename the muscles.
1836 * src/output.c (prepare): s/_/-/ for the muscles names.
1837 (output_parser): When scanning for a muscle, allow '-' instead of '_'.
1838
1839 2001-11-28 Marc Autret <autret_m@epita.fr>
1840
1841 * src/bison.simple: Fix debug.
1842 [YYERROR_VERBOSE]: Re-integrate as an internal macro.
1843
1844 2001-11-28 Akim Demaille <akim@epita.fr>
1845
1846 * src/LR0.c (shifts_new): New.
1847 (save_shifts, insert_start_shift, augment_automaton): Use it.
1848
1849 2001-11-28 Akim Demaille <akim@epita.fr>
1850
1851 * src/closure.c (closure): `b' and `ruleno' denote the same value:
1852 keep ruleno only.
1853
1854 2001-11-28 Akim Demaille <akim@epita.fr>
1855
1856 * src/closure.c (closure): Instead of looping over word in array
1857 then bits in words, loop over bits in array.
1858
1859 2001-11-28 Akim Demaille <akim@epita.fr>
1860
1861 * src/closure.c (closure): No longer optimize the special case
1862 where all the bits of `ruleset[r]' are set to 0, to make the code
1863 clearer.
1864
1865 2001-11-28 Akim Demaille <akim@epita.fr>
1866
1867 * src/closure.c (closure): `r' and `c' are new variables, used to
1868 de-obfuscate accesses to RULESET and CORE.
1869
1870 2001-11-28 Akim Demaille <akim@epita.fr>
1871
1872 * src/reduce.c (reduce_print): Use ngettext.
1873 (dump_grammar): Improve the trace accuracy.
1874
1875 2001-11-28 Akim Demaille <akim@epita.fr>
1876
1877 * src/reduce.c (dump_grammar): Don't translate trace messages.
1878
1879 2001-11-28 Akim Demaille <akim@epita.fr>
1880
1881 * tests/reduce.at (Useless Terminals, Useless Nonterminals): New.
1882 * src/reduce.c (reduce_grammar_tables): Do not free useless tags,
1883 as all tags are free'ed afterwards.
1884 From Enrico Scholz.
1885
1886 2001-11-27 Paul Eggert <eggert@twinsun.com>
1887
1888 * src/bison.simple (YYSTACK_REALLOC): Fix typo that caused us to
1889 use alloca when we didn't want to, and vice versa.
1890
1891 2001-11-27 Marc Autret <autret_m@epita.fr>
1892
1893 * src/muscle_tab.c (muscle_init): Remove 'verbose' muscle
1894 initialization.
1895 * src/output.c (prepare): Remove its update.
1896
1897 2001-11-27 Marc Autret <autret_m@epita.fr>
1898
1899 * tests/torture.at [AT_DATA]: Remove YYERROR_VERBOSE definition.
1900 Use %error-verbose.
1901
1902 2001-11-27 Marc Autret <autret_m@epita.fr>
1903
1904 * src/bison.simple: Remove YYERROR_VERBOSE using.
1905 Use %%error_verbose.
1906 (yyparse): Likewise.
1907 * src/output.c (prepare): Give its final value.
1908 * src/muscle_tab.c (muscle_init): Init new muscle 'error_verbose'.
1909 * src/getargs.h: Add its extern declaration.
1910 * src/getargs.c (error_verbose_flag): New int.
1911 (getargs): Update to catch new case.
1912 * src/options.c (option_table): 'error-verbose' is a new option.
1913 (shortopts): Update.
1914
1915 2001-11-27 Akim Demaille <akim@epita.fr>
1916
1917 * src/system.h: Use intl/libgettext.h.
1918 * src/Makefile.am (INCLUDES): Add -I $(top_srcdir).
1919
1920 2001-11-27 Akim Demaille <akim@epita.fr>
1921
1922 * tests/torture.at (Exploding the Stack Size with Malloc):
1923 s/YYSTACK_USE_ALLOCA_ALLOCA/YYSTACK_USE_ALLOCA/.
1924
1925 2001-11-27 Akim Demaille <akim@epita.fr>
1926
1927 * src/files.c: Include error.h.
1928 Reported by Hans Aberg.
1929
1930 2001-11-26 Marc Autret <autret_m@epita.fr>
1931
1932 * src/reader.c (parse_include_decl): New, not yet implemented.
1933 (read_declarations): Add case tok_include.
1934 * src/getargs.h (include): Add its extern definition.
1935 * src/getargs.c (include): New const char *.
1936 (getargs): Add case '-I'.
1937 * src/options.c (option_table): Add include as command line and
1938 percent option.
1939 * src/lex.h (token_t): Add tok_include.
1940
1941 2001-11-26 Akim Demaille <akim@epita.fr>
1942
1943 * src/reader.c (readgram): Make sure rules for mid-rule actions
1944 have a lineno equal to that of their host rule.
1945 Reported by Hans Aberg.
1946 * tests/regression.at (Rule Line Numbers): New.
1947
1948 2001-11-26 Akim Demaille <akim@epita.fr>
1949
1950 * src/LR0.c (allocate_itemsets): kernel_size contains ints, not
1951 size_ts.
1952
1953 2001-11-26 Akim Demaille <akim@epita.fr>
1954
1955 * src/complain.c, src/complain.h (error): Remove, provided by
1956 lib/error.[ch].
1957
1958 2001-11-26 Akim Demaille <akim@epita.fr>
1959
1960 * src/reader.c (read_declarations): Don't abort on tok_illegal,
1961 issue an error message.
1962 * tests/regression.at (Invalid %directive): New.
1963 Reported by Hans Aberg.
1964
1965 2001-11-26 Akim Demaille <akim@epita.fr>
1966
1967 * configure.in: Invoke AC_FUNC_OBSTACK and AC_FUNC_ERROR_AT_LINE.
1968 * lib/Makefile.am (libbison_a_SOURCES): Adjust.
1969
1970 2001-11-26 Akim Demaille <akim@epita.fr>
1971
1972 * src/conflicts.c (conflicts_print): Don't complain at all when
1973 there are no reduce/reduce conflicts, and as many shift/reduce
1974 conflicts as expected.
1975 * tests/regression.at (%expect right): Adjust.
1976
1977 2001-11-23 Akim Demaille <akim@epita.fr>
1978
1979 * lib/alloca.c: Update, from fileutils.
1980
1981 2001-11-23 Akim Demaille <akim@epita.fr>
1982
1983 * lib/Makefile.am (libbison_a_LIBADD): Add @ALLOCA@.
1984
1985 2001-11-23 Akim Demaille <akim@epita.fr>
1986
1987 * src/system.h: Include alloca.h.
1988 * src/main.c (main) [C_ALLOCA]: Call alloca (0).
1989
1990 2001-11-23 Akim Demaille <akim@epita.fr>
1991
1992 * src/print_graph.c (print_actions): Remove `rule', unused.
1993 * src/LR0.c (kernel_size): Contain `int' instead of `size_t' to
1994 pacify GCC's signed < unsigned warnings.
1995 * src/closure.c (itemsetsize): Likewise.
1996 * src/reader.c (symbol_list_new): Static.
1997
1998 2001-11-23 Akim Demaille <akim@epita.fr>
1999
2000 Attaching lineno to buckets is stupid, since only one copy of each
2001 symbol is kept, only the line of the first occurrence is kept too.
2002
2003 * src/symtab.h, src/symtab.c (bucket): Remove the line member.
2004 * src/reader.c (rline_allocated): Remove, unused.
2005 (symbol_list): Have a `line' member.
2006 (symbol_list_new): New.
2007 (readgram): Use it.
2008 * src/print.c (print_grammar): Output the rule line numbers.
2009 * tests/regression.at (Solved SR Conflicts)
2010 (Unresolved SR Conflicts): Adjust.
2011 Reported by Hans Aberg.
2012
2013 2001-11-22 Marc Autret <autret_m@epita.fr>
2014
2015 * src/bison.simple [YYERROR_VERBOSE]: Force its value to be 1 or 0.
2016
2017 2001-11-22 Marc Autret <autret_m@epita.fr>
2018
2019 * src/muscle_tab.c (muscle_init): Remove initialization of
2020 skeleton muscle.
2021 * src/output.c (output_master_parser): Do it here.
2022
2023 2001-11-20 Akim Demaille <akim@epita.fr>
2024
2025 * po/sv.po: New.
2026 * configure.in (ALL_LINGUAS): Adjust.
2027 * po/POTFILE.in: Remove `nullable.c' and `derives.c' which no
2028 longer contains strings to translate.
2029
2030 2001-11-19 Akim Demaille <akim@epita.fr>
2031
2032 * src/conflicts.c (conflicts_print): Add a missing \n.
2033
2034 2001-11-19 Akim Demaille <akim@epita.fr>
2035
2036 * src/nullable.c (nullable_print): New.
2037 (set_nullable): Call it when tracing.
2038 Better locality of variables.
2039
2040 2001-11-19 Akim Demaille <akim@epita.fr>
2041
2042 * src/print.c (print_actions): Better locality of variables.
2043
2044 2001-11-19 Akim Demaille <akim@epita.fr>
2045
2046 * src/derives.c (print_derives): Fix and enrich.
2047 * src/closure.c (print_fderives): Likewise.
2048
2049 2001-11-19 Akim Demaille <akim@epita.fr>
2050
2051 * src/closure.c (itemsetend): Remove, replaced with...
2052 (itemsetsize): new.
2053
2054 2001-11-19 Akim Demaille <akim@epita.fr>
2055
2056 * src/LR0.c (kernel_end): Remove, replaced with...
2057 (kernel_size): new.
2058
2059 2001-11-19 Akim Demaille <akim@epita.fr>
2060
2061 * src/conflicts.c (set_conflicts): Use arrays instead of pointers
2062 to clarify.
2063
2064 2001-11-19 Akim Demaille <akim@epita.fr>
2065
2066 * src/closure.c (closure): Use arrays instead of pointers to clarify.
2067
2068 2001-11-19 Akim Demaille <akim@epita.fr>
2069
2070 * src/closure.c, src/derives.c, src/nullable.c: Adjust various
2071 trace messages.
2072 * src/LR0.c: Likewise.
2073 (allocate_itemsets): Use arrays instead of pointers to clarify.
2074
2075 2001-11-19 Akim Demaille <akim@epita.fr>
2076
2077 * src/getargs.c (statistics_flag): Replace with...
2078 (trace_flag): New.
2079 (longopts): Accept --trace instead of --statistics.
2080 * src/getargs.h, src/options.c: Adjust.
2081 * src/LR0.c, src/closure.c, src/derives.c, src/nullable.c,
2082 * src/reduce.c: Use trace_flags instead of the CPP conditional TRACE.
2083
2084 2001-11-19 Akim Demaille <akim@epita.fr>
2085
2086 * src/LR0.c (new_itemsets, get_state): Use more arrays and fewer
2087 pointers to clarify the code.
2088 (save_reductions, save_shifts): Factor common parts of alternatives.
2089
2090 2001-11-19 Akim Demaille <akim@epita.fr>
2091
2092 * src/LR0.c (new_state, get_state): Complete TRACE code.
2093 * src/closure.c: Include `reader.h' to get `tags', needed by the
2094 trace code.
2095 Rename the conditional DEBUG as TRACE.
2096 Output consistently TRACEs to stderr, not stdout.
2097 * src/derives.c: Likewise.
2098 * src/reduce.c: (inaccessable_symbols): Using if is better style
2099 than goto.
2100 Use `#if TRACE' instead of `#if 0' for tracing code.
2101
2102 2001-11-19 Akim Demaille <akim@epita.fr>
2103
2104 * src/system.h (LIST_FREE, shortcpy): New.
2105 * src/LR0.c: Use them.
2106 * src/output.c (free_itemsets, free_reductions, free_shifts):
2107 Remove, replaced by LIST_FREE.
2108
2109 2001-11-19 Akim Demaille <akim@epita.fr>
2110
2111 * src/state.h (CORE_ALLOC, SHIFTS_ALLOC, ERRS_ALLOC)
2112 (REDUCTIONS_ALLOC): New.
2113 * src/LR0.c, src/conflicts.c: Use them to de-obfuscate memory
2114 allocation.
2115
2116 2001-11-19 Akim Demaille <akim@epita.fr>
2117
2118 * src/LR0.c (new_state): Complete trace code.
2119 * src/nullable.c (set_nullable): Don't translate traces.
2120
2121 2001-11-19 Akim Demaille <akim@epita.fr>
2122
2123 * src/print_graph.c (print_core): Better locality of variables.
2124 * src/print.c (print_core): Likewise.
2125
2126 2001-11-19 Akim Demaille <akim@epita.fr>
2127
2128 * src/vcg.c: You do the output, so you are responsible of the
2129 handling of VCG syntax, in particular: use quotearg.
2130 * src/print_graph.c: Don't.
2131 (print_actions): Don't output the actions as part of the nodes,
2132 since that's the job of the edges.
2133 (print_state): Don't output by hand: fill the node description,
2134 and ask for its output.
2135
2136 2001-11-19 Akim Demaille <akim@epita.fr>
2137
2138 * src/bison.simple (yyparse): When verbosely reporting an error,
2139 no longer put additional quotes around token names.
2140 * tests/calc.at: Adjust.
2141
2142 2001-11-19 Akim Demaille <akim@epita.fr>
2143
2144 * src/symtab.h, src/symtab.c: `line' is a new member of `bucket'.
2145 * src/reader.c (record_rule_lines, rline, rline_allocated): Remove.
2146 * src/output.c: Adjust.
2147
2148 2001-11-19 Akim Demaille <akim@epita.fr>
2149
2150 * src/gram.h (rprec, rprecsym, rassoc): Remove, now part of...
2151 (rule_t): this.
2152 * src/conflicts.c, src/reader.c, src/reduce.c: Adjust.
2153
2154 2001-11-19 Akim Demaille <akim@epita.fr>
2155
2156 * src/gram.h (rule_t): New.
2157 (rule_table): New.
2158 (rrhs, rlhs): Remove, part of state_t.
2159 * src/print_graph.c, src/closure.c, src/conflicts.c, src/derives.c,
2160 * src/lalr.c, src/nullable.c, src/output.c, src/print.c,
2161 * src/reader.c, src/reduce.c: Adjust.
2162
2163 2001-11-19 Akim Demaille <akim@epita.fr>
2164
2165 * src/reader.c (symbols_output): New, extracted from...
2166 (packsymbols): Here.
2167 (reader): Call it.
2168
2169 2001-11-19 Akim Demaille <akim@epita.fr>
2170
2171 * src/lalr.c (set_maxrhs, maxrhs): Remove, replaced with...
2172 (maxrhs): this new function.
2173
2174 2001-11-19 Akim Demaille <akim@epita.fr>
2175
2176 * src/lalr.c (F): New macro to access the variable F.
2177 Adjust.
2178
2179 2001-11-19 Akim Demaille <akim@epita.fr>
2180
2181 * src/lalr.h (LA): New macro to access the variable LA.
2182 * src/output.c, src/lalr.c, src/print_graph.c, src/conflicts.c:
2183 * src/lalr.c: Adjust.
2184
2185 2001-11-19 Akim Demaille <akim@epita.fr>
2186
2187 * src/lalr.c (initialize_LA): Only initialize LA. Let...
2188 (set_state_table): handle the `lookaheads' members.
2189
2190 2001-11-19 Akim Demaille <akim@epita.fr>
2191
2192 * src/lalr.h (lookaheads): Removed array, whose contents is now
2193 a member of...
2194 (state_t): this structure.
2195 * src/output.c, src/lalr.c, src/print_graph.c, src/conflicts.c:
2196 Adjust.
2197
2198 2001-11-19 Akim Demaille <akim@epita.fr>
2199
2200 * src/lalr.h (consistent): Removed array, whose contents is now
2201 a member of...
2202 (state_t): this structure.
2203 * src/output.c, src/lalr.c, src/print_graph.c, src/conflicts.c:
2204 Adjust.
2205
2206 2001-11-19 Akim Demaille <akim@epita.fr>
2207
2208 * src/lalr.h (reduction_table, shift_table): Removed arrays, whose
2209 contents are now members of...
2210 (state_t): this structure.
2211 * src/output.c, src/lalr.c, src/print_graph.c, src/conflicts.c:
2212 Adjust.
2213
2214 2001-11-19 Akim Demaille <akim@epita.fr>
2215
2216 * src/lalr.h (state_t): New.
2217 (state_table): Be a state_t * instead of a core **.
2218 (accessing_symbol): Remove, part of state_t.
2219 * src/lalr.c: Adjust.
2220 (set_accessing_symbol): Merge into...
2221 (set_state_table): this.
2222 * src/print_graph.c, src/conflicts.c: Adjust.
2223
2224 2001-11-14 Akim Demaille <akim@epita.fr>
2225
2226 * tests/calc.at, tests/output.at, tests/regression.at,
2227 * tests/testsuite.at, tests/torture.at: Rely on Autotest 2.52g:
2228 now the tests are run in private dirs, therefore AC_CLEANUP and
2229 family can be simplified to 0-ary.
2230 * tests/atlocal.in: Now that we run `elsewhere' than in tests/,
2231 use abs. path to find config.h.
2232 * tests/calc.at (AT_CHECK_CALC): Don't try to check the compiler's
2233 stderr, there can be way too much random noise.
2234 Instead pass -Werror to GCC and rely on the exit status.
2235 Reported by Wolfram Wagner.
2236
2237 2001-11-14 Akim Demaille <akim@epita.fr>
2238
2239 * src/bison.simple (yyparse): Let yyls1, yyss1 and yyvs1 be
2240 defined only if yyoverflow is defined, to avoid `warning: unused
2241 variable `yyvs1''.
2242 Reported by The Test Suite.
2243
2244 2001-11-14 Akim Demaille <akim@epita.fr>
2245
2246 * src/print.c: Include reduce.h.
2247 Reported by Hans Aberg.
2248
2249 2001-11-14 Akim Demaille <akim@epita.fr>
2250
2251 * src/lex.c, src/lex.h (token_buffer, unlexed_token_buffer):
2252 Revert a previous patch: these are really const.
2253 * src/conflicts.c (conflict_report): Additional useless pair of
2254 braces to pacify GCC's warnings for `if () if () {} else {}'.
2255 * src/lex.c (parse_percent_token): Replace equal_offset with
2256 arg_offset.
2257 arg is const.
2258 Be sure to strdup `arg' when used, since there is no reason for
2259 token_buffer not to change.
2260
2261 2001-11-14 Akim Demaille <akim@epita.fr>
2262
2263 * src/system.h (EXIT_SUCCESS, EXIT_FAILURE): Ensure a proper
2264 definition.
2265 * src/main.c (main): Use them.
2266 Suggested by Hans Aberg.
2267
2268 2001-11-12 Akim Demaille <akim@epita.fr>
2269
2270 * src/system.h (ngettext): Now that we use ngettext, be sure to
2271 provide a default definition when NLS are not used.
2272
2273 2001-11-12 Akim Demaille <akim@epita.fr>
2274
2275 * doc/bison.texinfo: Use `$' as shell prompt, not `%'.
2276 Use @kbd to denote user input.
2277 (Language and Grammar): ANSIfy the example.
2278 Adjust its layout for info/notinfo.
2279 (Location Tracking Calc): Output error messages to stderr.
2280 Output locations in a more GNUtically correct way.
2281 Fix a couple of Englishos.
2282 Adjust @group/@end group pairs.
2283
2284 2001-11-12 Akim Demaille <akim@epita.fr>
2285
2286 %expext was not functioning at all.
2287
2288 * src/conflicts.c (expected_conflicts): Set to -1.
2289 (conflict_report): Use ngettext.
2290 (conflicts_print): Check %expect and make its violation an error.
2291 * doc/bison.texinfo (Expect Decl): Adjust.
2292 * configure.in (AM_GNU_GETTEXT): Ask for ngettext.
2293 * tests/regression.at (%expect not enough, %expect right)
2294 (%expect too much): New.
2295
2296 2001-11-12 Akim Demaille <akim@epita.fr>
2297
2298 * tests/regression.at (Conflicts): Rename as...
2299 (Unresolved SR Conflicts): this.
2300 (Solved SR Conflicts): New.
2301
2302 2001-11-12 Akim Demaille <akim@epita.fr>
2303
2304 * src/reduce.c (print_results): Rename as...
2305 (reduce_output): This.
2306 Output to OUT, passed as argument, instead of output_obstack.
2307 (dump_grammar): Likewise.
2308 (reduce_free): New.
2309 Also free V1.
2310 (reduce_grammar): No longer call reduce_output, since...
2311 * src/print.c (print_results): do it.
2312 * src/main.c (main): Call reduce_free;
2313
2314 2001-11-12 Akim Demaille <akim@epita.fr>
2315
2316 * src/conflicts.c (print_reductions): Accept OUT as argument.
2317 Output to it, not to output_obstack.
2318 * src/print.c (print_actions): Adjust.
2319
2320 2001-11-12 Akim Demaille <akim@epita.fr>
2321
2322 * src/conflicts.c (count_sr_conflicts, count_rr_conflicts): Return
2323 the result instead of using...
2324 (src_total, rrc_total, src_count, rrc_count): Remove.
2325 (any_conflicts): Remove.
2326 (print_conflicts): Split into...
2327 (conflicts_print, conflicts_output): New.
2328 * src/conflicts.h: Adjust.
2329 * src/main.c (main): Invoke both conflicts_output and conflicts_print.
2330 * src/print.c (print_grammar): Issue `\n' between two rules.
2331 * tests/regression.at (Conflicts): New.
2332 Reported by Tom Lane.
2333
2334 2001-11-12 Akim Demaille <akim@epita.fr>
2335
2336 * tests/regression.at (Invalid input): Remove, duplicate with
2337 ``Invalid input: 1''.
2338
2339 2001-11-12 Akim Demaille <akim@epita.fr>
2340
2341 * tests/torture.at (AT_DATA_STACK_TORTURE)
2342 (Exploding the Stack Size with Alloca)
2343 (Exploding the Stack Size with Malloc): New.
2344
2345 2001-11-12 Akim Demaille <akim@epita.fr>
2346
2347 * src/bison.simple (YYSTACK_REALLOC): New.
2348 (yyparse) [!yyoverflow]: Use it and free the old stack.
2349 Reported by Per Allansson.
2350
2351 2001-11-12 Pascal Bart <pascal.bart@epita.fr>
2352
2353 * src/bison.simple: Define type yystype instead of YYSTYPE, and
2354 define CPP macro, which substitute YYSTYPE by yystype.
2355 * src/reader.c (parse_union_decl): Output yystype/YYSTYPE as we do
2356 with yyltype/YYLTYPE. This allows inclusion of the generated
2357 header within the parser if the compiler, such as GGC, accepts
2358 multiple equivalent #defines.
2359 From Akim.
2360
2361 2001-11-05 Akim Demaille <akim@epita.fr>
2362
2363 * src/reader.c (symbols_output): New, extracted from...
2364 (packsymbols): here.
2365 (reader): Adjust.
2366
2367 2001-11-05 Akim Demaille <akim@epita.fr>
2368
2369 * src/lex.c (parse_percent_token): s/quotearg/quote/.
2370
2371 2001-11-05 Akim Demaille <akim@epita.fr>
2372
2373 * tests/regression.at (AT_TEST_CPP_GUARD_H): Adjust the clean up
2374 pattern.
2375
2376 2001-11-05 Akim Demaille <akim@epita.fr>
2377
2378 * src/options.h (struct option_table_struct): set_flags is void*.
2379 * src/options.c (longopts): Support `--output' and `%output'.
2380 (usage): Adjust.
2381 * src/lex.h (tok_setopt): Remove, replaced with...
2382 (tok_intopt, tok_stropt): these new guys.
2383 * src/lex.c (getopt.h): Not needed.
2384 (token_buffer, unlexed_token_buffer): Not const.
2385 (percent_table): Promote `-' over `_' in directive names.
2386 Active `%name-prefix', `file-prefix', and `output'.
2387 (parse_percent_token): Accept possible arguments to directives.
2388 Promote `-' over `_' in directive names.
2389
2390 2001-11-04 Akim Demaille <akim@epita.fr>
2391
2392 * doc/bison.texinfo (Decl Summary): Split the list into
2393 `directives for grammars' and `directives for bison'.
2394 Sort'em.
2395 Add description of `%name-prefix', `file-prefix', and `output'.
2396 Promote `-' over `_' in directive names.
2397 (Bison Options): s/%locactions/%locations/. Nice Freudian slip.
2398 Simplify the description of `--name-prefix'.
2399 Promote `-' over `_' in directive names.
2400 Promote `--output' over `--output-file'.
2401 Fix the description of `--defines'.
2402 * tests/output.at: Exercise %file-prefix and %output.
2403
2404 2001-11-02 Akim Demaille <akim@epita.fr>
2405
2406 * doc/refcard.tex: Update.
2407
2408 2001-11-02 Akim Demaille <akim@epita.fr>
2409
2410 * src/symtab.h (SUNDEF): New.
2411 * src/symtab.c (bucket_new): Init user_token_number to SUNDEF to
2412 stand for `uninitialized', instead of 0.
2413 * src/reader.c (packsymbols, parse_thong_decl): Adjust.
2414 * src/lex.c (lex): Adjust.
2415
2416 * tests/calc.at (_AT_DATA_CALC_Y): Declare a token for EOF.
2417 Number it 0.
2418 Let yylex return it instead of a plain 0.
2419 Reported by Dick Streefland.
2420
2421 2001-11-02 Akim Demaille <akim@epita.fr>
2422
2423 * tests/regression.at (Mixing %token styles): New test.
2424
2425 2001-11-02 Akim Demaille <akim@epita.fr>
2426
2427 * src/reader.c (parse_thong_decl): Formatting changes.
2428 (token_translations_init): New, extracted from...
2429 (packsymbols): Here.
2430 Adjust.
2431
2432 2001-11-01 Akim Demaille <akim@epita.fr>
2433
2434 * tests/regression.at (AT_TEST_CPP_GUARD_H): New.
2435 Check that `9foo.y' produces correct cpp guards.
2436 * src/files.c (compute_header_macro): Prepend `BISON_' to CPP
2437 guards.
2438 Reported by Wwp.
2439
2440 2001-11-01 Akim Demaille <akim@epita.fr>
2441
2442 * tests/regression.at (Invalid input: 2): New.
2443 * src/lex.c (unlexed_token_buffer): New.
2444 (lex, unlex): Adjust: when unlexing, be sure to save token_buffer
2445 too.
2446 Reported by Wwp.
2447
2448 2001-11-01 Akim Demaille <akim@epita.fr>
2449
2450 * tests/calc.at: Catch up with 1.30.
2451 * configure.in: Bump to 1.49a.
2452 Adjust to newer Autotest.
2453
2454 2001-10-19 Pascal Bart <pascal.bart@epita.fr>
2455
2456 * src/conflicts.c: Move global variables rrc_total and src_total ...
2457 (print_conflicts): here.
2458 * src/output.c (output): Free global variable user_toknums.
2459 * src/lex.c (token_obstack): Become static.
2460
2461 2001-10-18 Akim Demaille <akim@epita.fr>
2462
2463 * tests/atlocal.in (GCC): Add.
2464 * tests/calc.at: s/m4_match/m4_bmatch/.
2465 s/m4_patsubst/m4_bpatsubst/.
2466 (AT_CHECK_CALC): Check the compiler's stderr only if it's GCC.
2467 * configure.in: AC_SUBST(GCC).
2468
2469 2001-10-14 Marc Autret <autret_m@epita.fr>
2470
2471 * src/options.c (create_long_option_table): Fix.
2472
2473 2001-10-10 Akim Demaille <akim@epita.fr>
2474
2475 * src/bison.simple: Be sure to set YYSTACK_USE_ALLOCA.
2476
2477 2001-10-04 Akim Demaille <akim@epita.fr>
2478
2479 * src/reader.c (parse_union_decl): Push the caracters in
2480 union_obstack, not attrs_obstack.
2481
2482 2001-10-04 Akim Demaille <akim@epita.fr>
2483
2484 Merge in the branch 1.29.
2485
2486 * src/reader.c (packsymbols): Use a temporary obstack for
2487 `%%tokendef', since output_stack is already used elsewhere.
2488
2489 2001-10-02 Akim Demaille <akim@epita.fr>
2490
2491 Bump 1.29d.
2492
2493 2001-10-02 Akim Demaille <akim@epita.fr>
2494
2495 Version 1.29c.
2496
2497 2001-10-02 Akim Demaille <akim@epita.fr>
2498
2499 * tests/regression.at (Invalid CPP headers): New.
2500 From Alexander Belopolsky.
2501 * src/files.c (compute_header_macro): Map non alnum chars to `_'.
2502
2503 2001-10-02 Akim Demaille <akim@epita.fr>
2504
2505 * tests/regression.at (Invalid input): New.
2506 * src/lex.c (lex): Be sure to set `token_buffer' in any case.
2507 Reported by Shura.
2508
2509 2001-10-02 Akim Demaille <akim@epita.fr>
2510
2511 * tests/calc.at: Now that --debug works, the tests must be adjusted.
2512
2513 2001-10-02 Akim Demaille <akim@epita.fr>
2514
2515 * src/output.c (output_parser): Assert `skeleton'.
2516 * src/files.c (skeleton_find): Look harder for skeletons on DOSish
2517 systems.
2518 From Shura.
2519
2520 2001-10-01 Marc Autret <autret_m@epita.fr>
2521
2522 * src/lex.h: Echo modifications.
2523 * src/lex.c (unlex): Parameter is now token_t.
2524 From Hans Aberg.
2525
2526 2001-10-01 Marc Autret <autret_m@epita.fr>
2527
2528 * src/main.c: Include lex.h.
2529 From Hans Aberg.
2530
2531 2001-09-29 Akim Demaille <akim@epita.fr>
2532
2533 * src/getargs.c (longopts): `--debug' is `-t', not `-d'.
2534
2535 2001-09-28 Akim Demaille <akim@epita.fr>
2536
2537 * tests/testsuite.at: Update to newer Autotest.
2538 * tests/Makefile.am (EXTRA_DIST): bison is not to be shipped.
2539
2540 2001-09-27 Akim Demaille <akim@epita.fr>
2541
2542 Position independent wrapper.
2543
2544 * tests/bison: Remove.
2545 * tests/bison.in: New.
2546 * configure.in: Adjust.
2547
2548 2001-09-27 Paul Eggert <eggert@twinsun.com>
2549
2550 Port quotearg fixes from tar 1.13.24.
2551
2552 * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
2553 tm to be declared.
2554 (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
2555 (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
2556
2557 * m4/Makefile.am (EXTRA_DIST): Add mbrtowc.m4.
2558 * m4/mbrtowc.m4: New file.
2559 * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for mbsinit and stddef.h.
2560 Use jm_FUNC_MBRTOWC instead of AC_CHECK_FUNCS(mbrtowc).
2561
2562 2001-09-27 Akim Demaille <akim@epita.fr>
2563
2564 Bump to 1.29c.
2565
2566 2001-09-27 Akim Demaille <akim@epita.fr>
2567
2568 Version 1.29b.
2569
2570 2001-09-25 Akim Demaille <akim@epita.fr>
2571
2572 * src/system.h: Include `xalloc.h'.
2573 Remove it from the C files.
2574 * src/files.c (output_files): Free the obstacks.
2575 * src/lex.c (init_lex): Rename as...
2576 (lex_init): this.
2577 (lex_free): New.
2578 * src/main.c (main): Use it.
2579
2580 2001-09-24 Marc Autret <autret_m@epita.fr>
2581
2582 * src/vcg.c (open_edge, close_edge, open_node, close_node): Change
2583 to output informations in fout (FILE*).
2584 (open_graph, close_graph): Likewise.
2585 (output_graph, output_edge, output_node): Likewise.
2586 * src/vcg.h: Update function prototypes.
2587 * src/print_graph.c (print_graph): Open output graph file.
2588 (print_actions): Adjust.
2589 * src/files.h: Remove extern declaration.
2590 * src/files.c: Remove graph_obstack declaration.
2591 (open_files): Remove graph_obstack initialization.
2592 (output_files): Remove graph_obstack saving.
2593
2594 2001-09-24 Marc Autret <autret_m@epita.fr>
2595
2596 * src/files.c (compute_output_file_names): Fix.
2597
2598 2001-09-24 Marc Autret <autret_m@epita.fr>,
2599 Akim Demaille <akim@epita.fr>
2600
2601 * src/reader.c (reader): Remove call to free_symtab ().
2602 * src/main.c (main): Call it here.
2603 Include symtab.h.
2604 * src/conflicts.c (initialize_conflicts): Rename as...
2605 (solve_conflicts): this.
2606 * src/print.c (print_core, print_actions, print_state)
2607 (print_grammar): Dump to a file instead a `output_obstack'.
2608 (print_results): Dump `output_obstack', and then proceed with the
2609 FILE *.
2610 * src/files.c (compute_output_file_names, close_files): New.
2611 (output_files): Adjust.
2612 * src/main.c (main): Adjust.
2613
2614 2001-09-23 Marc Autret <autret_m@epita.fr>
2615
2616 * src/files.c (compute_header_macro): Computes header macro name
2617 from spec_defines_file when given.
2618
2619 2001-09-23 Marc Autret <autret_m@epita.fr>
2620
2621 * src/files.c (output_files): Add default extensions.
2622
2623 2001-09-22 Akim Demaille <akim@epita.fr>
2624
2625 * src/conflicts.c (finalize_conflicts): Rename as...
2626 (free_conflicts): this.
2627
2628 2001-09-22 Akim Demaille <akim@epita.fr>
2629
2630 * src/gram.c (gram_free): Rename back as...
2631 (dummy): this.
2632 (output_token_translations): Free `token_translations'.
2633 * src/symtab.c (free_symtab): Free the tag field.
2634
2635 2001-09-22 Akim Demaille <akim@epita.fr>
2636
2637 Remove `translations' as it is always set to true.
2638
2639 * src/gram.h: Adjust.
2640 * src/reader.c (packsymbols, parse_token_decl): Adjust
2641 * src/print.c (print_grammar): Adjust.
2642 * src/output.c (output_token_translations): Adjust.
2643 * src/lex.c (lex): Adjust.
2644 * src/gram.c: Be sure the set pointers to NULL.
2645 (dummy): Rename as...
2646 (gram_free): this.
2647
2648 2001-09-22 Akim Demaille <akim@epita.fr>
2649
2650 * configure.in: Invoke AM_LIB_DMALLOC.
2651 * src/system.h: Use dmalloc.
2652 * src/LR0.c: Be sure to have pointers initialized to NULL.
2653 (allocate_itemsets): Allocate kernel_items only if needed.
2654
2655 2001-09-22 Akim Demaille <akim@epita.fr>
2656
2657 * configure.in: Bump to 1.29b.
2658 * tests/Makefile.am (DISTCLEANFILES): Add package.m4.
2659 * tests/calc.at (_AT_DATA_CALC_Y): #undef malloc so that we don't
2660 need xmalloc.c in calc.y.
2661 From Pascal Bart.
2662
2663 2001-09-21 Akim Demaille <akim@epita.fr>
2664
2665 Version 1.29a.
2666 * Makefile.maint, config/config.guess, config/config.sub,
2667 * config/missing: Update from masters.
2668 * tests/Makefile.am ($(srcdir)/$(TESTSUITE)): No longer depend
2669 upon package.m4.
2670 * configure.in (ALL_LINGUAS): Add `tr'.
2671
2672 2001-09-21 Akim Demaille <akim@epita.fr>
2673
2674 * tests/Makefile.am (package.m4): Move to...
2675 ($(srcdir)/$(TESTSUITE)): here.
2676
2677 2001-09-20 Akim Demaille <akim@epita.fr>
2678
2679 * src/complain.c: No longer try to be standalone: use system.h.
2680 Don't assume __STDC__ is defined to 1. Just test if it is defined.
2681 * src/complain.h: Likewise.
2682 * src/reduce.c (useless_nonterminals, inaccessable_symbols):
2683 Remove the unused variable `n'.
2684 From Albert Chin-A-Young.
2685
2686 2001-09-18 Marc Autret <autret_m@epita.fr>
2687
2688 * doc/bison.1: Update.
2689 * doc/bison.texinfo (Bison Options): Update --defines and --graph
2690 descriptions.
2691 (Option Cross Key): Update.
2692 Add --graph.
2693
2694 2001-09-18 Marc Autret <autret_m@epita.fr>
2695
2696 * tests/regression.at: New test (comment in %union).
2697
2698 2001-09-18 Marc Autret <autret_m@epita.fr>
2699
2700 * src/reader.c (parse_union_decl): Do not output '/'. Let copy_comment
2701 do that.
2702 Reported by Keith Browne.
2703
2704 2001-09-18 Marc Autret <autret_m@epita.fr>
2705
2706 * tests/output.at: Add tests for --defines and --graph.
2707
2708 2001-09-18 Marc Autret <autret_m@epita.fr>
2709
2710 * tests/output.at: Removes tests of %{header,src}_extension features.
2711
2712 2001-09-18 Akim Demaille <akim@epita.fr>
2713
2714 * tests/Makefile.am (package.m4): New.
2715 * tests/calc.at (_AT_CHECK_CALC): Just run `calc input'.
2716 (_AT_CHECK_CALC_ERROR): Likewise.
2717 Factor the `, ' part of verbose error messages.
2718
2719 2001-09-18 Marc Autret <autret_m@epita.fr>
2720
2721 * src/getargs.c (longopts): Declare --defines and --graph as options
2722 with optional arguments.
2723 * src/files.h: Add extern declarations.
2724 * src/files.c (spec_graph_file, spec_defines_file): New.
2725 (output_files): Update.
2726 Remove CPP-outed code.
2727
2728 2001-09-18 Marc Autret <autret_m@epita.fr>
2729
2730 Turn off %{source,header}_extension feature.
2731
2732 * src/files.c (compute_exts_from_gf): Update.
2733 (compute_exts_from_src): Update.
2734 (output_files): CPP-out useless code.
2735 * src/files.h: Remove {header,source}_extension extern declarations.
2736 * src/reader.c (parse_dquoted_param): CPP-out.
2737 (parse_header_extension_decl): Remove.
2738 (parse_source_extension_decl): Remove.
2739 (read_declarations): Remove cases tok_{hdrext,srcext}.
2740 * src/lex.c (percent_table): Remove {header,source}_extension entries.
2741 * src/lex.h (token_t): Remove tok_hdrext and tok_srcext.
2742
2743 2001-09-10 Akim Demaille <akim@epita.fr>
2744
2745 * tests/output.at (AT_CHECK_BISON_FLAGS, AT_CHECK_BISON_PERCENT):
2746 (AT_CHECK_BISON_PERCENT_FLAGS): Merge into...
2747 (AT_CHECK_OUTPUT): this.
2748 Merely check ls' exit status, its output is useless.
2749
2750 2001-09-10 Akim Demaille <akim@epita.fr>
2751
2752 * tests/calc.at: Use m4_match.
2753 (_AT_DATA_CALC_Y): Check `yyin != NULL', not `stdin != NULL'.
2754
2755 2001-09-10 Marc Autret <autret_m@epita.fr>,
2756 Akim Demaille <akim@epita.fr>
2757
2758 * src/vcg.h (graph_s): color, textcolor, bordercolor are now
2759 enum color_e.
2760 * src/print_graph.c (print_graph): Initalize graph.layoutalgorithm
2761 to `normal'.
2762 * src/reader.c (parse_token_decl): Initialize token with tok_eof.
2763 * src/lex.h: Adjust prototype.
2764 (token_t): Add `tok_undef'.
2765 * src/lex.c (struct percent_table_struct): Retval is now a token_t.
2766 (parse_percent_token): Now returns token_t.
2767 Add default statement in switch.
2768 (lex): Separate `c' as an input variable, from the token_t result
2769 part.
2770 (unlexed): Is a token_t.
2771
2772 2001-09-10 Akim Demaille <akim@epita.fr>
2773
2774 * configure.in: Bump to 1.29a.
2775
2776 2001-09-07 Akim Demaille <akim@epita.fr>
2777
2778 Version 1.29.
2779
2780 2001-08-30 Akim Demaille <akim@epita.fr>
2781
2782 * tests/atgeneral.m4, tests/atconfig.in, tests/suite.at: Remove.
2783 * m4/atconfig.m4: Remove.
2784 * tests/testsuite.at, tests/atlocal.in, tests/output.at,
2785 * tests/bison: New.
2786 * tests/regression.at, tests/calc.at: Use m4_define, AT_BANNER,
2787 m4_if, m4_patsubst, and m4_regexp.
2788 * tests/calc.at (_AT_CHECK_CALC, _AT_CHECK_CALC_ERROR): Use an
2789 `input' file instead of echo.
2790
2791 2001-08-29 Akim Demaille <akim@epita.fr>
2792
2793 Bump to 1.28e.
2794
2795 2001-08-29 Akim Demaille <akim@epita.fr>
2796
2797 Version 1.28d.
2798
2799 2001-08-29 Paul Eggert <eggert@twinsun.com>
2800
2801 * src/bison.simple (yyparse): Don't take the address of an
2802 item before the start of an array, as that doesn't conform to
2803 the C Standard.
2804
2805 2001-08-29 Robert Anisko <anisko_r@epita.fr>
2806
2807 * doc/bison.texinfo (Location Tracking Calc): New node.
2808
2809 2001-08-29 Paul Eggert <eggert@twinsun.com>
2810
2811 * src/output.c (output): Do not define const, as this now
2812 causes more problems than it cures.
2813
2814 2001-08-29 Akim Demaille <akim@epita.fr>
2815
2816 * doc/bison.texinfo: Modernize `@node' and `@top' use: just name
2817 the nodes.
2818 Be sure to tag the `detailmenu'.
2819
2820 2001-08-29 Akim Demaille <akim@epita.fr>
2821
2822 * Makefile.maint (do-po-update): Wget refuses to overwrite files:
2823 download in a tmp dir.
2824
2825 2001-08-28 Marc Autret <autret_m@epita.fr>
2826
2827 * config/depcomp: New file.
2828
2829 2001-08-28 Marc Autret <autret_m@epita.fr>
2830
2831 * doc/bison.1 (mandoc): Adjust.
2832 From Juan Manuel Guerrero.
2833
2834 2001-08-28 Marc Autret <autret_m@epita.fr>
2835
2836 * src/print_graph.c (print_state): Fix.
2837
2838 2001-08-27 Marc Autret <autret_m@epita.fr>
2839
2840 * src/vcg.h (classname_s, infoname_s, node_s): Constify the
2841 char * members.
2842 Echo modifications to the functions prototypes.
2843 * src/vcg.c (add_classname, add_infoname): Adjust arguments.
2844
2845 2001-08-27 Marc Autret <autret_m@epita.fr>
2846
2847 * src/vcg.c: Include `xalloc.h'.
2848 (add_colorentry): New.
2849 (add_classname): New.
2850 (add_infoname): New.
2851 * src/vcg.h: Add new prototypes.
2852
2853 2001-08-27 Akim Demaille <akim@epita.fr>
2854
2855 * Makefile.maint: Sync. again with CVS Autoconf.
2856
2857 2001-08-27 Akim Demaille <akim@epita.fr>
2858
2859 * Makefile.maint: Formatting changes.
2860 (po-update, cvs-update, update): New targets.
2861 (AMTAR): Remove.
2862
2863 2001-08-27 Akim Demaille <akim@epita.fr>
2864
2865 * Makefile.am (AUTOMAKE_OPTIONS): 1.5.
2866 * Makefile.maint: Sync. with CVS Autoconf.
2867
2868 2001-08-27 Marc Autret <autret_m@epita.fr>
2869
2870 * src/vcg.h (struct infoname_s): New.
2871 (struct colorentry_s): New.
2872 (graph_s): New fields {vertical,horizontal}_order in structure.
2873 Add `infoname' field.
2874 Add `colorentry' field;
2875 * src/vcg_defaults.h (G_VERTICAL_ORDER): New.
2876 (G_HORIZONTAL_ORDER): New.
2877 (G_INFONAME): New.
2878 (G_COLORENTRY): New.
2879 * src/vcg.c (output_graph): Add output of {vertical,horizontal}_order.
2880 Add output of `infoname'.
2881 Add output of `colorentry'.
2882
2883 2001-08-27 Marc Autret <autret_m@epita.fr>
2884
2885 * src/reader.c (parse_dquoted_param): Rename variable `index' to `i'.
2886 This one shadowed a global parameter.
2887
2888 2001-08-24 Marc Autret <autret_m@epita.fr>
2889
2890 * src/print_graph.c (node_output_size): Declared POSIX `size_t' type,
2891 instead of `unsigned'.
2892 (print_state): Do not call obstack_object_size () in obstack_grow ()
2893 to avoid macro variables shadowing.
2894
2895 2001-08-23 Marc Autret <autret_m@epita.fr>
2896
2897 * src/lex.c (percent_table): Typo: s/naem/name/.
2898 Add graph option.
2899 Normalize new options declarations.
2900
2901 2001-08-20 Pascal Bart <pascal.bart@epita.fr>
2902
2903 * tests/suite.at: Exercise %header_extension and %source_extension.
2904
2905 2001-08-16 Marc Autret <autret_m@epita.fr>
2906
2907 * src/reader.c (parse_dquoted_param): New.
2908 (parse_header_extension_decl): Use it.
2909 (parse_source_extension_decl): Likewise.
2910
2911 2001-08-16 Marc Autret <autret_m@epita.fr>
2912
2913 * src/vcg.c: Remove includes of `complain.h' and `xalloc.h'.
2914 (get_xxxx_str): Use assert () instead of complain ().
2915 Remove return invokations in default cases.
2916 (get_decision_str): Modify default behaviour. Remove second argument.
2917 Echo modifications on calls.
2918 (output_graph): Fix.
2919
2920 2001-08-16 Marc Autret <autret_m@epita.fr>
2921
2922 * src/getargs.c (usage): Update with ``-g, --graph''.
2923
2924 2001-08-16 Marc Autret <autret_m@epita.fr>
2925
2926 * doc/bison.texinfo (Bison Options): Add items `-g', `--graph'.
2927 (Option Cross Key): Likewise.
2928 * doc/bison.1: Update.
2929
2930 2001-09-25 Pascal Bart <pascal.bart@epita.fr>
2931
2932 * src/output.c (output_master_parser): Don't finish action_obstack.
2933 (output_parser): Don't care about the muscle action, here.
2934 (prepare): Copy the action_obstack in the action muscle.
2935 (output): Free action_obstack.
2936
2937 2001-09-23 Pascal Bart <pascal.bart@epita.fr>
2938
2939 * src/reader.c (parse_union_decl): Add new obstack union_obstack. Which
2940 will contain `%union' declaration.
2941 (parse_union_decl): Delete #line directive output.
2942 (parse_union_decl): Substitute /attrs_obstack/union_obstack for all
2943 informations about %union.
2944 (parse_union_decl): Copy the union_obstack in the muscle stype.
2945 * src/bison.simple: Add new #line directive.
2946 Add typdef %%stype YYSTYPE.
2947
2948 2001-09-23 Pascal Bart <pascal.bart@epita.fr>
2949
2950 * src/bison.simple: Add new `#line' directive.
2951
2952 2001-09-22 Pascal Bart <pascal.bart@epita.fr>
2953
2954 * src/bison.simple: New `#line' directive.
2955 * src/output.c (output_parser): Support new dynamic muscle input_line.
2956
2957 2001-09-22 Marc Autret <autret_m@epita.fr>
2958
2959 * src/output.c (output_master_parser): New.
2960 (output_parser): Be more re-entrant.
2961
2962 2001-09-21 Marc Autret <autret_m@epita.fr>
2963
2964 * src/reader.c (copy_definition, parse_union_decl): Update and use
2965 `linef' muscle.
2966 (copy_action): Likewise.
2967 Use obstack_1grow ().
2968 * src/muscle_tab.c (muscle_init): Add muscle `linef'.
2969
2970 2001-09-21 Marc Autret <autret_m@epita.fr>
2971
2972 * src/options.c (option_table): Adjust.
2973 * src/lex.c (parse_percent_token): Fix.
2974
2975 2001-09-20 Pascal Bart <pascal.bart@epita.fr>
2976
2977 * src/options.c (symtab.h): Include it, need by lex.h.
2978
2979 2001-09-20 Pascal Bart <pascal.bart@epita.fr>
2980
2981 * src/lex.c (parse_percent_token): Change type of variable `tx', which
2982 is now an option_table_struct*.
2983 (option_strcmp): New function option_strcmp.
2984 (parse_percent_token): Call option_strcmp.
2985 * src/getargs.c (xalloc.h, options.h): Include it.
2986 (getargs): Call create_long_option_table.
2987 (getargs): Free longopts at the end of the function.
2988 (shortopts): Move in options.c.
2989 * src/options.c (create_long_option_table): New function. Convert
2990 information from option_table to option structure.
2991 * src/reader.c (options.h): Include it.
2992
2993 * src/Makefile.am: Adjust.
2994 * src/options.c (option_table): Create from longopts and percent_table.
2995 * src/getargs.c (longopts): Delete.
2996 * src/lex.c (struct percent_table_struct): Delete.
2997 (percent_table): Delete.
2998 (options.h): Include it.
2999 * src/options.c: Create.
3000 * src/options.h: Create.
3001 Declare enum opt_access_e.
3002 Define struct option_table_struct.
3003
3004 2001-09-20 Marc Autret <autret_m@epita.fr>
3005
3006 * doc/bison.texinfo: Adjust terminologies about prologue and epilogue
3007 sections of Bison.
3008
3009 2001-09-19 Pascal Bart <pascal.bart@epita.fr>
3010
3011 * src/bison.simple: s/%%filename/%%skeleton.
3012 * src/muscle_tab.c (getargs.h): Include it.
3013 (muscle_init): Insert new muscle skeleton.
3014
3015 2001-09-18 Pascal Bart <pascal.bart@epita.fr>
3016
3017 * src/output.c (output_parser): Delete unused variable actions_dumped.
3018
3019 2001-09-07 Pascal Bart <pascal.bart@epita.fr>
3020
3021 * src/output.c (output): Delete call to reader_output_yylsp.
3022 * src/reader.c (reader): Likewise.
3023 * src/reader.h: Delete declaration of reader_output_yylsp.
3024
3025 2001-09-02 Marc Autret <autret_m@epita.fr>
3026
3027 * src/reader.c: Include muscle_tab.h.
3028 (parse_union_decl): Update.
3029 (parse_macro_decl): Rename parse_muscle_decl.
3030 Update to use renamed functions and variable.
3031 (read_declarations, copy_action, read_additionnal_code, : Updated
3032 with correct variables and functions names.
3033 (packsymbols, reader): Likewise.
3034
3035 * src/reader.h (muscle_obstack): Extern declaration update.
3036
3037 * src/output.c: Include muscle_tab.h
3038 In all functions using macro_insert, change by using muscle_insert ().
3039 (macro_obstack): Rename muscle_obstack.
3040 Echo modifications in the whole file.
3041 (MACRO_INSERT_INT): Rename MUSCLE_INSERT_INT.
3042 (MACRO_INSERT_STRING): Rename MUSCLE_INSERT_STRING.
3043 (MACRO_INSERT_PREFIX): Rename MUSCLE_INSERT_PREFIX.
3044
3045 * src/muscle_tab.h: Update double inclusion macros.
3046 (macro_entry_s): Rename muscle_entry_s.
3047 Update prototypes.
3048
3049 * src/muscle_tab.c: Include muscle_tab.h.
3050 Rename macro_tabble to muscle_table.
3051 (mhash1, mhash2, mcmp): Use muscle_entry.
3052 (macro_init): Rename muscle_init. Update.
3053 (macro_insert): Rename muscle_insert. Update.
3054 (macro_find): Rename muscle_find. Update.
3055
3056 * src/main.c: Include muscle_tab.h.
3057 (main): Call muscle_init ().
3058 * src/Makefile.am (bison_SOURCES): Echo modifications.
3059
3060 2001-09-02 Marc Autret <autret_m@epita.fr>
3061
3062 Now the files macro_tab.[ch] are named muscle_tab.[ch].
3063
3064 * src/muscle_tab.c, src/muscle_tab.h: Add files.
3065
3066 2001-09-02 Marc Autret <autret_m@epita.fr>
3067
3068 * src/macrotab.c, src/macrotab.h: Remove.
3069
3070 2001-09-01 Pascal Bart <pascal.bart@epita.fr>
3071
3072 * src/reader.c (copy_guard): Use muscle to specify the `#line'
3073 filename.
3074
3075 2001-09-01 Marc Autret <autret_m@epita.fr>
3076
3077 * tests/calc.at (exp): Now, YYERROR_VERBOSE need to be set
3078 to an explicit value to activate the feature. We do it here.
3079
3080 2001-08-31 Pascal Bart <pascal.bart@epita.fr>
3081
3082 * src/output.c (prepare): Delete the `filename' muscule insertion.
3083 * src/reader.c (copy_action): Use `filename' muscule with `#line'.
3084 (parse_union_decl): Likewise.
3085 * src/macrotab.c (macro_init): Initialize filename by infile.
3086
3087 2001-08-31 Marc Autret <autret_m@epita.fr>
3088
3089 * src/bison.simple (YYLSP_NEEDED): New definition.
3090 * src/output.c (prepare): Add macro insertion of `locations_flag'
3091
3092 2001-08-31 Pascal Bart <pascal.bart@epita.fr>
3093
3094 * src/output.c (prepare): Delete insertion of previous muscles,
3095 and insert the `prefix' muscles.
3096 * src/macrotab.c (macro_init): Likewise.
3097 (macro_init): Initialization prefix directive by `yy'.
3098 * src/bison.simple: Substitute all %%yylex, %%yychar, %%yylval,
3099 %%yydebug, %%yyerror, %%yynerrs and %%yyparse by yylex, yychar,
3100 yylval, yydebug, yyerror, yynerrs and yyparse.
3101 New directive `#define' to substitute yydebug, ... with option
3102 name_prefix.
3103
3104 2001-08-31 Pascal Bart <pascal.bart@epita.fr>
3105
3106 * src/main.c (main): Standardize.
3107 * src/output.c (output_table_data, output_parser): Likewise.
3108 * src/macrotab.h, src/macrotab.c, src/bison.simple: Likewise.
3109
3110 2001-08-31 Pascal Bart <pascal.bart@epita.fr>, Marc Autret <autret_m@epita.fr>
3111
3112 * src/reader.c (read_additionnal_code): Rename %%user_code to
3113 %%epilogue.
3114 * src/output.c (output): Rename %%declarations to %%prologue.
3115 * src/bison.simple: Echo modifications.
3116
3117 2001-08-31 Marc Autret <autret_m@epita.fr>
3118
3119 * src/reader.c (readgram): CleanUp.
3120 (output_token_defines): Likewise.
3121 (packsymbols): Likewise.
3122 (reader): Likewise.
3123 * src/output.c (output): CPP-out useless code.
3124
3125 2001-08-31 Pascal Bart <pascal.bart@epita.fr>
3126
3127 * src/reader.c (reader): Delete obsolete call to function
3128 output_trailers and output_headers.
3129 * src/output.h: Remove obsolete functions prototypes of output_headers
3130 and output_trailers.
3131
3132 2001-08-30 Pascal Bart <pascal.bart@epita.fr>
3133
3134 * src/main.c: Include macrotab.h.
3135 * src/macrotab.h (macro_entry_s): Constify fields.
3136 Adjust functions prototypes.
3137 * src/macrotab.c (macro_insert): Constify key and value.
3138 (macro_find): Constify key.
3139 (macro_insert): Include 'xalloc.h'
3140 (macro_insert): Use XMALLOC.
3141 (macro_find): Constify return value.
3142 * src/output.c (output_table_data): Rename table to table_data.
3143 (output_parser): Constify macro_key, macro_value.
3144
3145 2001-08-30 Marc Autret <autret_m@epita.fr>
3146
3147 * src/reader.c (parse_skel_decl): New.
3148 (read_declarations): Add case `tok_skel', call parse_skel_decl ().
3149 * src/lex.h (token_t): New token `tok_skel'.
3150 * src/lex.c (percent_table): Add skeleton option entry.
3151 Standardize.
3152
3153 2001-08-29 Marc Autret <autret_m@epita.fr>
3154
3155 * src/bison.simple: Add %%user_code directive at the end.
3156 * src/reader.c (read_additionnal_code): New.
3157 (reader): Use it.
3158 * src/output.c (output_program): Remove.
3159 (output): Update.
3160
3161 2001-08-28 Marc Autret <autret_m@epita.fr>
3162
3163 * src/output.c (output_actions): Clean up.
3164 (output_gram): CPP-out useless code.
3165 * src/reader.c (reader): Clean up, CPP-out useless code.
3166
3167 2001-08-28 Pascal Bart <pascal.bart@epita.fr>
3168
3169 * src/output.c (output): Copy attrs_obstack in the '%%definitions'
3170 directive.
3171 * src/bison.simple: Add `%%definitions'.
3172
3173 2001-08-28 Marc Autret <autret_m@epita.fr>
3174
3175 * config/depcomp: New file.
3176
3177 2001-08-27 Paul Eggert <eggert@twinsun.com>
3178
3179 * src/bison.simple (yyparse): Don't take the address of an
3180 item before the start of an array, as that doesn't conform to
3181 the C Standard.
3182
3183 2001-08-27 Robert Anisko <robert.anisko@epita.fr>
3184
3185 * src/output.c (output): Remove the initialization of the macro
3186 obstack. It was done too late here.
3187
3188 * src/reader.c (parse_macro_decl): Fix. Use of the macro obstack was
3189 completely wrong.
3190 (reader): Initialize the macro obstack here, since we need it to grow
3191 '%define' directives.
3192
3193 * src/reader.h: Declare the macro obstack as extern.
3194
3195 2001-08-27 Robert Anisko <robert.anisko@epita.fr>
3196
3197 * src/output.c (output_parser): Fix. Store single '%' characters in
3198 the output obstack instead of throwing them away.
3199
3200 2001-08-27 Akim Demaille <akim@epita.fr>
3201
3202 * Makefile.am (AUTOMAKE_OPTIONS): 1.5.
3203
3204 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
3205
3206 * lib/Makefile.am: Adjust.
3207
3208 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
3209
3210 * src/bison.simple: Update and add '%%' directives.
3211
3212 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
3213
3214 * src/reader.c (reader): Remove calls to 'output_headers' and
3215 'output_trailers'. Remove some C output.
3216 (readgram): Disable a piece of code that was writing a default
3217 definition for 'YYSTYPE'.
3218 (reader_output_yylsp): Remove.
3219 (packsymbols): Output token defintions to a macro.
3220 (copy_definition): Disable C output.
3221
3222 * src/reader.c (parse_macro_decl): New function used to parse macro
3223 declarations.
3224 (copy_string2): Put the body of copy_string into this new function.
3225 Add a parameter to let the caller choose whether he wants to copy the
3226 string delimiters or not.
3227 (copy_string): Be a simple call to copy_string2 with the last argument
3228 bound to true.
3229 (read_declarations): Add case for macro definition.
3230 (copy_identifier): New.
3231 (parse_macro_decl): Read macro identifiers using copy_identifier
3232 rather than lex.
3233
3234 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
3235
3236 * src/output.c (prepare): Add prefixed names.
3237 (output_parser): Output semantic actions.
3238 (output_parser): Fix bug on '%%line' directives.
3239
3240 * src/output.c (output_headers): Remove. The C code printed by this
3241 function should now be in the skeletons.
3242 (output_trailers): Remove.
3243 (output): Disable call to 'reader_output_yylsp'.
3244 (output_rule_data): Do not output tables to the table obstack.
3245
3246 * src/output.c: Remove some C dedicated output.
3247 Improve the use of macro and output obstacks.
3248 (output_defines): Remove.
3249
3250 * src/output.c (output_token_translations): Associate 'translate'
3251 table with a macro. No output to the table obstack.
3252 (output_gram): Same for 'rhs' and 'prhs'.
3253 (output_stos): Same for 'stos'.
3254 (output_rule_data): Same for 'r1' and 'r2'.
3255 (token_actions): Same for 'defact'.
3256 (goto_actions): Same for 'defgoto'.
3257 (output_base): Same for 'pact' and 'pgoto'.
3258 (output_table): Same for 'table'.
3259 (output_check): Same for 'check'.
3260
3261 * src/output.c (output_table_data): New function.
3262 (output_short_table): Remove.
3263 (output_short_or_char_table): Remove.
3264
3265 * src/output.c (output_parser): Replace most of the skeleton copy code
3266 with something new. Skeletons are now processed character by character
3267 rather than line by line, and Bison looks for '%%' macros. This is the
3268 first step in making Bison's output process (a lot) more flexible.
3269 (output_parser): Use the macro table.
3270
3271 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
3272
3273 * src/main.c (main): Initialize the macro table.
3274
3275 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
3276
3277 * src/lex.c (percent_table): Add tok_define.
3278 * src/lex.h: Add tok_define.
3279
3280 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
3281
3282 * src/macrotab.c: New file.
3283 * src/macrotab.h: New file.
3284 * src/Makefile.am: Update.
3285
3286 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
3287
3288 * lib/hash.c: New file.
3289 * lib/hash.h: New file.
3290 * lib/Makefile.am: Update.
3291
3292 2001-08-15 Akim Demaille <akim@epita.fr>
3293
3294 Version 1.28c.
3295
3296 2001-08-15 Marc Autret <autret_m@epita.fr>
3297
3298 * src/reader.c (readgram): Indent output macro YYSTYPE.
3299 (packsymbols): Likewise.
3300 (output_token_defines): Likewise.
3301 * src/files.c: Standardize.
3302 (compute_header_macro): New.
3303 (defines_obstack_save): New. Use compute_header_macro.
3304 (output_files): Update. Use defines_obstack_save.
3305
3306 2001-08-15 Akim Demaille <akim@epita.fr>
3307
3308 * doc/bison.texinfo (Table of Symbols): Document
3309 YYSTACK_USE_ALLOCA.
3310
3311 2001-08-15 Akim Demaille <akim@epita.fr>
3312
3313 * missing: Update from CVS Automake.
3314 * config/config.guess, config/config.sub, config/texinfo.tex:
3315 Update from gnu.org.
3316
3317 2001-08-15 Akim Demaille <akim@epita.fr>
3318
3319 * Makefile.maint: Sync with CVS Autoconf.
3320
3321 2001-08-14 Pascal Bart <pascal.bart@epita.fr>
3322
3323 * doc/bison.texinfo: Include GNU Free Documentation License from
3324 `fdl.texi'.
3325 * doc/fdl.texi: Add to package.
3326
3327 2001-08-14 Marc Autret <autret_m@epita.fr>
3328
3329 Turn on %{source,header}_extension features.
3330
3331 * src/lex.c (percent_table): Un-CPP out header_extension and
3332 source_extension.
3333 * src/files.c (compute_exts_from_gf): Compare pointers with NULL.
3334 (compute_exts_from_src): Remove conditions. It restores priorities
3335 between options.
3336
3337 2001-08-14 Marc Autret <autret_m@epita.fr>
3338
3339 * src/files.c (compute_base_names): Add extensions computing when
3340 `--file-prefix' used.
3341 Standardize function calls.
3342
3343 2001-08-13 Marc Autret <autret_m@epita.fr>
3344
3345 * src/bison.simple (YYSTACK_USE_ALLOCA): Changed to allow users
3346 defining it (defined but null disables alloca).
3347
3348 2001-08-13 Marc Autret <autret_m@epita.fr>
3349
3350 * src/bison.simple (_yy_memcpy): CPP reformat.
3351
3352 2001-08-13 Pascal Bart <pascal.bart@epita.fr>
3353
3354 * tests/atconfig.in (CPPFLAGS): Fix.
3355
3356 2001-08-10 Pascal Bart <pascal.bart@epita.fr>
3357
3358 * doc/bison.texinfo: Include GNU General Public License from
3359 `gpl.texi'.
3360 * doc/gpl.texi: Add to package.
3361
3362 2001-08-10 Marc Autret <autret_m@epita.fr>
3363
3364 * src/print_graph.h: Fix.
3365 * src/reader.c (read_declarations): Use parse_header_extension_decl ().
3366
3367 2001-08-10 Akim Demaille <akim@epita.fr>
3368
3369 * src/system.h: Provide default declarations for stpcpy, strndup,
3370 and strnlen.
3371
3372 2001-08-10 Robert Anisko <anisko_r@epita.fr>
3373
3374 * doc/bison.texinfo (Locations): Update @$ stuff.
3375
3376 2001-08-09 Robert Anisko <anisko_r@epita.fr>
3377
3378 * src/bison.simple (YYLLOC_DEFAULT): Update.
3379 (yyparse): Adjust.
3380
3381 2001-08-08 Marc Autret <autret_m@epita.fr>
3382
3383 * doc/bison.texinfo: Change @samp{$<@dots{}>} to
3384 @samp{$<@dots{}>@var{n}} in Section Actions in Mid-Rule.
3385 Reported by Fabrice Bauzac.
3386
3387 2001-08-08 Marc Autret <autret_m@epita.fr>
3388
3389 * src/vcg_default.h: Use NULL instead of 0 to initialize pointers.
3390 * src/vcg.c (output_node): Fix.
3391 * src/vcg.h: Cleanup.
3392 * src/print_graph.c: Add comments.
3393 (node_output_size): New global variable. Simplify the formatting of
3394 the VCG graph output.
3395 (print_actions): Unused code is now used. It notifies the final state
3396 and no action states in the VCG graph. It also give the reduce actions.
3397 The `shift and goto' edges are red and the `go to state' edges are
3398 blue.
3399 Get the current node name and node_obstack by argument.
3400 (node_obstack): New variable.
3401 (print_state): Manage node_obstack.
3402 (print_core): Use node_obstack given by argument.
3403 A node is not only computed here but in print_actions also.
3404 (print_graph): CPP out useless code instead of commenting it.
3405
3406 2001-08-07 Pascal Bart <pascal.bart@epita.fr>
3407
3408 * tests/atconfig.in (CPPFLAGS): Fix.
3409
3410 2001-08-07 Akim Demaille <akim@epita.fr>
3411
3412 * src/print_graph.c (quote): New.
3413 (print_core): Use it.
3414
3415 2001-08-06 Akim Demaille <akim@epita.fr>, Marc Autret <autret_m@epita.fr>
3416
3417 * src/vcg.c (complain.h): Include it.
3418 Unepitaize `return' invocations.
3419 [NDEBUG] (main): Remove.
3420 * src/vcg.h (node_t, edge_t, graph_t): Constify the char * members.
3421 * src/files.c (open_files): Initialize graph_obstack.
3422 * src/print_graph.c (print_actions): CPP out useless code.
3423 (print_core): Don't output the last `\n' in labels.
3424 Use `quote'.
3425 * src/files.c (output_files): Output the VCG file.
3426 * src/main.c (main): Invoke print_graph ();
3427
3428 2001-08-06 Marc Autret <autret_m@epita.fr>
3429
3430 Automaton VCG graph output.
3431 Using option ``-g'' or long option ``--graph'', you can generate
3432 a gram_filename.vcg file containing a VCG description of the LALR (1)
3433 automaton of your grammar.
3434
3435 * src/main.c: Call to print_graph() function.
3436 * src/getargs.h: Update.
3437 * src/getargs.c (options): Update to catch `-g' and `--graph' options.
3438 (graph_flag): New flag.
3439 (longopts): Update.
3440 (getargs): Add case `g'.
3441 * src/files.c (graph_obstack): New obstack struct.
3442 (open_files): Initialize new obstack.
3443 (output_files): Saves graph_obstack if required.
3444 * src/files.h (graph_obstack): New extern declaration.
3445 * src/Makefile.am: Add new source files.
3446
3447 2001-08-06 Marc Autret <autret_m@epita.fr>
3448
3449 * src/print_graph.c, src/print_graph.h (graph): New.
3450 * src/vcg.h: New file.
3451 * src/vcg.c: New file, VCG graph handling.
3452
3453 2001-08-06 Marc Autret <autret_m@epita.fr>
3454
3455 Add of %source_extension and %header_extension which specify
3456 the source or/and the header output file extension.
3457
3458 * src/files.c (compute_base_names): Remove initialisation of
3459 src_extension and header_extension.
3460 (compute_exts_from_gf): Update.
3461 (compute_exts_from_src): Update.
3462 (output_files): Update.
3463 * src/reader.c (parse_header_extension_decl): New.
3464 (parse_source_extension_decl): New.
3465 (read_declarations): New case statements for the new tokens.
3466 * src/lex.c (percent_table): Add entries for %source_extension
3467 and %header_extension.
3468 * src/lex.h (token_e): New tokens tok_hdrext and tok_srcext.
3469
3470 2001-08-06 Marc Autret <autret_m@epita.fr>
3471
3472 * configure.in: Bump to 1.28c.
3473 * doc/bison.texinfo: Texinfo thingies.
3474
3475 2001-08-04 Pascal Bart <pascal.bart@epita.fr>
3476
3477 * tests/atconfig.in (CPPFLAGS): Add.
3478 * tests/calc.at (AT_CHECK): Use CPPFLAGS.
3479
3480 2001-08-03 Akim Demaille <akim@epita.fr>
3481
3482 Version 1.28b.
3483
3484 2001-08-03 Akim Demaille <akim@epita.fr>
3485
3486 * tests/Makefile.am (check-local): Ship testsuite.
3487 * tests/calc.at (_AT_DATA_CALC_Y): Prototype all the functions.
3488 Include `string.h'.
3489
3490 2001-08-03 Akim Demaille <akim@epita.fr>
3491
3492 * configure.in: Try using -Wformat when compiling.
3493
3494 2001-08-03 Akim Demaille <akim@epita.fr>
3495
3496 * configure.in: Bump to 1.28b.
3497
3498 2001-08-03 Akim Demaille <akim@epita.fr>
3499
3500 * src/complain.c: Adjust strerror_r portability issues.
3501
3502 2001-08-03 Akim Demaille <akim@epita.fr>
3503
3504 Version 1.28a.
3505
3506 2001-08-03 Akim Demaille <akim@epita.fr>
3507
3508 * src/getargs.c, src/getarg.h (skeleton)): Constify.
3509 * src/lex.c (literalchar): Avoid name clashes on `buf'.
3510 * src/getargs.c: Include complain.h.
3511 * src/files.c, src/files.h (skeleton_find): Avoid name clashes.
3512 * lib/quotearg.c, lib/quotearg.h: Update from fileutils 4.1.
3513
3514 2001-08-03 Akim Demaille <akim@epita.fr>
3515
3516 * src/reader.c (readgram): Display hidden chars in error messages.
3517
3518 2001-08-03 Akim Demaille <akim@epita.fr>
3519
3520 Update to gettext 0.10.39.
3521
3522 2001-08-03 Akim Demaille <akim@epita.fr>
3523
3524 * lib/strspn.c: New.
3525
3526 2001-08-01 Marc Autret <autret_m@epita.fr>
3527
3528 * doc/bison.texinfo: Update.
3529 * doc/bison.1 (mandoc): Update.
3530 * src/system.h (EXT_GUARD_C, EXT_STYPE_H): Remove .c and .h.
3531 * src/files.c: Support output files extensions computing.
3532 (src_extension): New static variable.
3533 (header_extension): New static variable.
3534 (tr): New function.
3535 (get_extension_index): New function, gets the index of an extension
3536 filename in a string.
3537 (compute_exts_from_gf): New function, computes extensions from the
3538 grammar file extension.
3539 (compute_exts_from_src): New functions, computes extensions from the
3540 C source file extension, file given by ``-o'' option.
3541 (compute_base_names): Update.
3542 (output_files): Update.
3543
3544 2001-08-01 Robert Anisko <anisko_r@epita.fr>
3545
3546 * doc/bison.texi: Document @$.
3547 (Locations): New section.
3548
3549 2001-07-18 Akim Demaille <akim@epita.fr>
3550
3551 * Makefile.maint, GNUmakefile: New, from Autoconf 2.52.
3552 * config/prev-version.txt, config/move-if-change: New.
3553 * Makefile.am: Adjust.
3554
3555 2001-07-08 Pascal Bart <pascal.bart@epita.fr>
3556
3557 * src/bison.simple (yyparse): Suppress warning `comparaison
3558 between signed and unsigned'.
3559
3560 2001-07-05 Pascal Bart <pascal.bart@epita.fr>
3561
3562 * src/getargs.h (raw_flag): Remove.
3563 * src/getargs.c: Die on `-r'/`--raw'.
3564 * src/lex.c (parse_percent_token): Die on `%raw'.
3565 * src/reader.c (output_token_defines): Suppress call to `raw_flag'.
3566 * tests/calc.at: Suppress test with option `--raw'.
3567
3568 2001-07-14 Akim Demaille <akim@epita.fr>
3569
3570 * config/: New.
3571 * configure.in: Require Autoconf 2.50.
3572 Update to gettext 0.10.38.
3573
3574 2001-03-16 Akim Demaille <akim@epita.fr>
3575
3576 * doc/bison.texinfo: ANSIfy the examples.
3577
3578 2001-03-16 Akim Demaille <akim@epita.fr>
3579
3580 * getargs.c (skeleton): New variable.
3581 (longopts): --skeleton is a new option.
3582 (shortopts, getargs): -S is a new option.
3583 * getargs.h: Declare skeleton.
3584 * output.c (output_parser): Use it.
3585
3586 2001-03-16 Akim Demaille <akim@epita.fr>
3587
3588 * m4/strerror_r.m4: New.
3589 * m4/error.m4: Run AC_FUNC_STRERROR_R.
3590 * lib/error.h, lib/error.c: Update.
3591
3592 2001-03-16 Akim Demaille <akim@epita.fr>
3593
3594 * src/getargs.c (longopts): Clean up.
3595
3596 2001-02-21 Akim Demaille <akim@epita.fr>
3597
3598 * src/reader.c (gensym): `gensym_count' is your own.
3599 Use a static buf to create the symbol name, as token_buffer is no
3600 longer a buffer.
3601
3602 2001-02-08 Akim Demaille <akim@epita.fr>
3603
3604 * src/conflicts.c (conflict_report): Be sure not to append to res
3605 between two calls, which could happen if both first sprintf were
3606 skipped, but not the first cp += strlen.
3607
3608 2001-02-08 Akim Demaille <akim@epita.fr>
3609
3610 * lib/memchr.c, lib/stpcpy.c, lib/strndup.c, lib/strnlen.c:
3611 New, from fileutils 4.0.37.
3612 * configure.in: Require Autoconf 2.49c. I took some time before
3613 making this decision. This is the only way out for portability
3614 issues in Bison, it would mean way too much duplicate effort to
3615 import in Bison features implemented in 2.49c since 2.13.
3616 AC_REPLACE_FUNCS and AC_CHECK_DECLS the functions above.
3617
3618 2001-02-02 Akim Demaille <akim@epita.fr>
3619
3620 * lib/malloc.c, lib/realloc.c: New, from the fileutils 4.0.37.
3621 * lib/xalloc.h, lib/xmalloc.c: Update.
3622
3623 2001-01-19 Akim Demaille <akim@epita.fr>
3624
3625 Get rid of the ad hoc handling of token_buffer in the scanner: use
3626 the obstacks.
3627
3628 * src/lex.c (token_obstack): New.
3629 (init_lex): Initialize it. No longer call...
3630 (grow_token_buffer): this. Remove it.
3631 Adjust all the places which used it to use the obstack.
3632
3633 2001-01-19 Akim Demaille <akim@epita.fr>
3634
3635 * src/lex.h: Rename all the tokens:
3636 s/\bENDFILE\b/tok_eof/g;
3637 s/\bIDENTIFIER\b/tok_identifier/g;
3638 etc.
3639 Let them be enums, not #define, to ease debugging.
3640 Adjust all the code.
3641
3642 2001-01-18 Akim Demaille <akim@epita.fr>
3643
3644 * src/lex.h (MAXTOKEN, maxtoken, grow_token_buffer): Remove, private.
3645 * src/lex.c (maxtoken, grow_token_buffer): Static.
3646
3647 2001-01-18 Akim Demaille <akim@epita.fr>
3648
3649 Since we now use obstacks, more % directives can be enabled.
3650
3651 * src/lex.c (percent_table): Also accept `%yacc',
3652 `%fixed_output_files', `%defines', `%no_parser', `%verbose', and
3653 `%debug'.
3654 Handle the actions for `%semantic_parser' and `%pure_parser' here,
3655 instead of returning a token.
3656 * src/lex.h (SEMANTIC_PARSER, PURE_PARSER): Remove, unused.
3657 * src/reader.c (read_declarations): Adjust.
3658 * src/files.c (open_files): Don't call `compute_base_names', don't
3659 compute `attrsfile' since they depend upon data which might be
3660 *in* the input file now.
3661 (output_files): Do it here.
3662 * src/output.c (output_headers): Document the fact that this patch
3663 introduces a guaranteed SEGV for semantic parsers.
3664 * doc/bison.texinfo: Document them.
3665 * tests/suite.at: Exercise these %options.
3666
3667 2000-12-20 Akim Demaille <akim@epita.fr>
3668
3669 Also handle the output file (--verbose) with obstacks.
3670
3671 * files.c (foutput): Remove.
3672 (output_obstack): New.
3673 Adjust all dependencies.
3674 * src/conflicts.c: Return a string.
3675 * src/system.h (obstack_grow_string): Rename as...
3676 (obstack_sgrow): this. Be ready to work with non literals.
3677 (obstack_fgrow4): New.
3678
3679 2000-12-20 Akim Demaille <akim@epita.fr>
3680
3681 * src/files.c (open_files): Fix the computation of short_base_name
3682 in the case of `-o foo.tab.c'.
3683
3684 2000-12-20 Akim Demaille <akim@epita.fr>
3685
3686 * src/reader.c (copy_string, copy_comment, copy_comment2, copy_at)
3687 (copy_dollar): Now that everything uses obstacks, get rid of the
3688 FILE * parameters.
3689
3690 2000-12-20 Akim Demaille <akim@epita.fr>
3691
3692 * src/files.c (open_files): Actually the `.output' file is based
3693 on the short_base_name, not base_name.
3694 * tests/suite.at (Checking output file names): Adjust.
3695
3696 2000-12-20 Akim Demaille <akim@epita.fr>
3697
3698 * src/bison.s1: Remove, we now use directly...
3699 * src/bison.simple: this.
3700 * src/Makefile.am: Use pkgdata instead of data.
3701
3702 2000-12-20 Akim Demaille <akim@epita.fr>
3703
3704 * src/files.c (guard_obstack): New.
3705 (open_files): Initialize it.
3706 (output_files): Dump it...
3707 * src/files.h: Export it.
3708 * src/reader.c (copy_guard): Use it.
3709
3710 2000-12-19 Akim Demaille <akim@epita.fr>
3711
3712 * src/files.c (outfile, defsfile, actfile): Removed as global
3713 vars.
3714 (open_files): Don't compute them.
3715 (output_files): Adjust.
3716 (base_name, short_base_name): Be global.
3717 Adjust dependencies.
3718
3719 2000-12-19 Akim Demaille <akim@epita.fr>
3720
3721 * src/files.c (strsuffix): New.
3722 (stringappend): Be just like strcat but allocate.
3723 (base_names): Eve out from open_files.
3724 Try to simplify the rather hairy computation of base_name and
3725 short_base_name.
3726 (open_files): Use it.
3727 * tests/suite.at (Checking output file names): New test.
3728
3729 2000-12-19 Akim Demaille <akim@epita.fr>
3730
3731 * src/system.h (obstack_grow_literal_string): Rename as...
3732 (obstack_grow_string): this.
3733 * src/output.c (output_parser): Recognize `%% actions' instead of
3734 `$'.
3735 * src/bison.s1: s/$/%% actions/.
3736 * src/bison.hairy: Likewise.
3737
3738 2000-12-19 Akim Demaille <akim@epita.fr>
3739
3740 * src/output.c (output_parser): Compute the `#line' lines when
3741 there are.
3742 * src/Makefile.am (bison.simple): Be a simple copy of bison.s1.
3743 Suggested by Hans Aberg.
3744
3745 2000-12-19 Akim Demaille <akim@epita.fr>
3746
3747 Let the handling of the skeleton files be local to the procedures
3748 that use it.
3749
3750 * src/files.c (xfopen, xfclose, skeleton_find, guardfile): No
3751 longer static.
3752 (fparser, open_extra_files): Remove.
3753 (open_files, output_files): Don't take care of fparser.
3754 * src/files.h: Adjust.
3755 * src/output.c (output_parser): Open and close the file to the
3756 skeleton.
3757 * src/reader.c (read_declarations): When %semantic_parser, open
3758 fguard.
3759
3760 2000-12-19 Akim Demaille <akim@epita.fr>
3761
3762 * src/file.h (BISON_SIMPLE, BISON_HAIRY): Move from here...
3763 * src/system.h (BISON_SIMPLE, BISON_HAIRY): ... to here.
3764
3765 2000-12-19 Akim Demaille <akim@epita.fr>
3766
3767 * src/files.c (open_files): Yipee! We no longer need all the code
3768 looking for `/tmp' since we have no tmp file.
3769
3770 2000-12-19 Akim Demaille <akim@epita.fr>
3771
3772 * src/system.h (EXT_TAB, EXT_OUTPUT, EXT_STYPE_H, EXT_GUARD_C):
3773 New macros.
3774 * src/files.c (open_files): Less dependency on MSDOS etc.
3775
3776 2000-12-14 Akim Demaille <akim@epita.fr>
3777
3778 * src/bison.s1 (YYLLOC_DEFAULT): New macro.
3779 Provide a default definition.
3780 Use it when executing the default @ action.
3781 * src/reader.c (reader_output_yylsp): No longer include
3782 `timestamp' and `text' in the default YYLTYPE.
3783
3784 2000-12-12 Akim Demaille <akim@epita.fr>
3785
3786 * src/reader.c (copy_definition, parse_union_decl, copy_action)
3787 (copy_guard): Quote the file names.
3788 Reported by Laurent Mascherpa.
3789
3790 2000-12-12 Akim Demaille <akim@epita.fr>
3791
3792 * src/output.c (output_headers, output_program, output): Be sure
3793 to escape special characters when outputting filenames.
3794 (ACTSTR_PROLOGUE, ACTSTR_EPILOGUE): Remove.
3795 (output_headers): Don't depend on them, Use ACTSTR.
3796
3797 2000-11-17 Akim Demaille <akim@epita.fr>
3798
3799 * lib/obstack.h: Formatting changes.
3800 (obstack_grow, obstack_grow0): Don't cast WHERE at all: it
3801 prevents type checking.
3802 (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
3803 cast the value to (void *): assigning a `foo *' to a `void *'
3804 variable is valid.
3805 (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
3806 * src/reader.c (parse_union_decl): Typo: use obstack_1grow to
3807 append characters.
3808
3809 2000-11-17 Akim Demaille <akim@epita.fr>
3810
3811 * tests/Makefile.am (suite.m4, regression.m4, calc.m4): Rename
3812 as...
3813 (suite.m4, regression.m4, calc.m4): these.
3814 * tests/atgeneral.m4: Update from CVS Autoconf.
3815
3816 2000-11-17 Akim Demaille <akim@epita.fr>
3817
3818 * tests/regression.m4 (%union and --defines): New test,
3819 demonstrating a current bug in the obstack implementation.
3820
3821 2000-11-17 Akim Demaille <akim@epita.fr>
3822
3823 * src/bison.s1 (_YY_DECL_VARIABLES, YY_DECL_VARIABLES): New
3824 macros.
3825 Use them to declare the variables which are global or local to
3826 `yyparse'.
3827
3828 2000-11-17 Akim Demaille <akim@epita.fr>
3829
3830 * acconfig.h: Remove, no longer used.
3831
3832 2000-11-07 Akim Demaille <akim@epita.fr>
3833
3834 * src: s/Copyright (C)/Copyright/g.
3835
3836 2000-11-07 Akim Demaille <akim@epita.fr>
3837
3838 * src/reader.c (reader): #define YYLSP_NEEDED to 1 instead of just
3839 defining.
3840 * src/bison.s1: s/#ifdef YYLSP_NEEDED/#if YYLSP_NEEDED/.
3841
3842 2000-11-07 Akim Demaille <akim@epita.fr>
3843
3844 * src/bison.s1 (YYLEX): Use #if instead of #ifdef.
3845 Merge in a single CPP if/else.
3846
3847 2000-11-07 Akim Demaille <akim@epita.fr>
3848
3849 * src/output.c (output): Remove useless variables.
3850 * lib/obstack.c (obstack_grow, obstack_grow0): Rename the second
3851 argument `data' for consistency with the prototypes.
3852 Qualify it `const'.
3853 (obstack_copy, obstack_copy0): Rename the second argument as
3854 `address' for consistency. Qualify it `const'.
3855 * lib/obstack.h (obstack_copy, obstack_copy0, obstack_grow)
3856 (obstack_grow0, obstack_ptr_grow, obstack_ptr_grow_fast): Qualify
3857 `const' their input argument (`data' or `address').
3858 Adjust the corresponding macros to include `const' in casts.
3859
3860 2000-11-03 Akim Demaille <akim@epita.fr>
3861
3862 * src/Makefile.am (INCLUDES): s/PFILE/BISON_SIMPLE/.
3863 s/PFILE1/BISON_HAIRY/.
3864 Adjust dependencies.
3865
3866 2000-11-03 Akim Demaille <akim@epita.fr>
3867
3868 For some reason, this was not applied.
3869
3870 * src/files.c [VMS]: No longer include `ssdef.h', no longer define
3871 `unlink': it's no longer used.
3872
3873 2000-11-03 Akim Demaille <akim@epita.fr>
3874
3875 * src/files.c (skeleton_find): New function, eved out of...
3876 (open_files, open_extra_files): here.
3877
3878 2000-11-03 Akim Demaille <akim@epita.fr>
3879
3880 Don't use `atexit'.
3881
3882 * src/files.c (obstack_save): New function.
3883 (done): Rename as...
3884 (output_files): this.
3885 Use `obstack_save'.
3886 * src/main.c (main): Don't use `atexit' to register `done', since
3887 it no longer has to remove tmp files, just call `output_files'
3888 when there are no errors.
3889
3890 2000-11-02 Akim Demaille <akim@epita.fr>
3891
3892 * src/files.c [VMS]: No longer include `ssdef.h', no longer define
3893 `unlink': it's no longer used.
3894 * src/files.h: Formatting changes.
3895
3896 2000-11-02 Akim Demaille <akim@epita.fr>
3897
3898 Remove the last uses of mktemp and unlink/delete.
3899
3900 * src/files.c (fdefines, ftable): Removed.
3901 (defines_ostack, table_obstack): New.
3902 Adjust dependencies of the former into uses of the latter.
3903 * src/output.c (output_short_or_char_table, output_short_table):
3904 Convert to using obstacks.
3905 * src/reader.c (copy_comment2): Accept one FILE * and two
3906 obstacks.
3907 (output_token_defines, reader_output_yylsp): Use obstacks.
3908 * src/system.h (obstack_fgrow3): New.
3909
3910 2000-11-01 Akim Demaille <akim@epita.fr>
3911
3912 Change each use of `fattrs' into a use of `attrs_obstack'.
3913
3914 * src/reader.c (copy_at): Typo: s/yylloc/yyloc/.
3915 * src/files.c (fattrs): Remove.
3916 (attrs_obstack): New.
3917 Adjust all dependencies.
3918 (done): If SEMANTIC_PARSER, dump attrs_obstack into attrsfile.
3919
3920 2000-11-01 Akim Demaille <akim@epita.fr>
3921
3922 Introduce obstacks.
3923 Change each use of `faction' into a use of `action_obstack'.
3924
3925 * lib/obstack.h, lib/obstack.c: New files.
3926 * src/files.c (faction): Remove.
3927 (action_obstack): New.
3928 Adjust all dependencies.
3929
3930 2000-10-20 Akim Demaille <akim@epita.fr>
3931
3932 * lib/quote.h (PARAMS): New macro. Use it.
3933
3934 2000-10-16 Akim Demaille <akim@epita.fr>
3935
3936 * src/output.c (output_short_or_char_table): New function.
3937 (output_short_table, output_token_translations): Use it.
3938 (goto_actions): Use output_short_table.
3939
3940 2000-10-16 Akim Demaille <akim@epita.fr>
3941
3942 * src/symtab.c (bucket_new): New function.
3943 (getsym): Use it.
3944
3945 * src/output.c (output_short_table): New argument to display the
3946 comment associated with the table.
3947 Adjust dependencies.
3948 (output_gram): Use it.
3949 (output_rule_data): Nicer output layout for YYTNAME.
3950
3951 2000-10-16 Akim Demaille <akim@epita.fr>
3952
3953 * src/lex.c (read_typename): New function.
3954 (lex): Use it.
3955 * src/reader.c (copy_dollar): Likewise.
3956
3957 2000-10-16 Akim Demaille <akim@epita.fr>
3958
3959 * src/reader.c (copy_comment2): Expect the input stream to be on
3960 the `/' which is suspected to open a comment, instead of being
3961 called after `//' or `/*' was read.
3962 (copy_comment, copy_definition, parse_union_decl, copy_action)
3963 (copy_guard): Adjust.
3964
3965 2000-10-16 Akim Demaille <akim@epita.fr>
3966
3967 * src/reader.c (parse_expect_decl): Use `skip_white_space' and
3968 `read_signed_integer'.
3969
3970 2000-10-16 Akim Demaille <akim@epita.fr>
3971
3972 * src/reader.c (copy_dollar): New function.
3973 (copy_guard, copy_action): Use it.
3974
3975 2000-10-16 Akim Demaille <akim@epita.fr>
3976
3977 * lib/quote.h, lib/quote.c, lib/quotearg.h, lib/quotearg.c:
3978 * m4/prereq.m4, m4/c-bs-a.m4, m4/mbstate.m4:
3979 New files, from Fileutils 4.0.27.
3980 * src/main.c (printable_version): Remove.
3981 * src/lex.c, src/reader.c: Use `quote'.
3982
3983 2000-10-04 Akim Demaille <akim@epita.fr>
3984
3985 * lib/error.c, lib/error.h: New files, needed by xmalloc.c.
3986
3987 2000-10-04 Akim Demaille <akim@epita.fr>
3988
3989 * doc/bison.texinfo: Various typos spotted by Neil Booth.
3990
3991 2000-10-04 Akim Demaille <akim@epita.fr>
3992
3993 When a literal string is used to define two different tokens,
3994 `bison -v' segfaults.
3995 Reported by Piotr Gackiewicz, and fixed by Neil Booth.
3996
3997 * tests/regression.m4: New file.
3998 Include the core of the sample provided by Piotr Gackiewicz.
3999 * src/reader.c (parse_token_decl): Diagnose bad cases, and proceed
4000 properly.
4001
4002 2000-10-04 Akim Demaille <akim@epita.fr>
4003
4004 * src/reader.c (parse_expect_decl): Keep `count' within the size
4005 of `buffer'.
4006 From Neil Booth.
4007
4008 2000-10-02 Paul Eggert <eggert@twinsun.com>
4009
4010 * bison.s1 (yyparse): Assign the default value
4011 unconditionally, to avoid a GCC warning and make the parser a
4012 tad smaller.
4013
4014 2000-10-02 Akim Demaille <akim@epita.fr>
4015
4016 * src/getargs.c (getargs): Don't dump `--help' on unrecognized
4017 options.
4018
4019 2000-10-02 Akim Demaille <akim@epita.fr>
4020
4021 * src/derives.c, src/print.c, src/reduce.c: To ease the
4022 translation, move some `\n' out of the translated strings.
4023
4024 2000-10-02 Akim Demaille <akim@epita.fr>
4025
4026 The location tracking mechanism is precious for parse error
4027 messages. Nevertheless, it is enabled only when `@n' is used in
4028 the grammar, which is a different issue (you can use it in error
4029 message, but not in the grammar per se). Therefore, there should
4030 be another means to enable it.
4031
4032 * src/getargs.c (getargs): Support `--locations'.
4033 (usage): Report it.
4034 * src/getargs.h (locationsflag): Export it.
4035 * src/lex.c (percent_table): Support `%locations'.
4036 * src/reader.c (yylsp_needed): Remove this variable, now replaced
4037 with `locationsflag'.
4038 * doc/bison.texinfo: Document `--locations' and `%locations'.
4039 Sort the options.
4040 * tests/calc.m4: Test it.
4041
4042 For regularity of the names, replace each
4043 (nolineflag, toknumflag, rawtokenumflag, noparserflag): with...
4044 (no_lineflag, token_tableflag, rawflag, no_parserflag): this.
4045 In addition replace each `flag' with `_flag'.
4046
4047 2000-10-02 Akim Demaille <akim@epita.fr>
4048
4049 Also test parse error messages, including with YYERROR_VERBOSE.
4050
4051 * tests/calc.m4 (calc.y): Add support for `exp = exp' (non
4052 associative).
4053 Use it to check the computations.
4054 Use it to check `nonassoc' is honored.
4055 (AT_DATA_CALC_Y): Equip `calc.y' with YYERROR_VERBOSE when passed
4056 `--yyerror-verbose'.
4057 (_AT_CHECK_CALC): Adjust to this option.
4058 (_AT_CHECK_CALC_ERROR): New macro to check parse error messages.
4059
4060 2000-10-02 Akim Demaille <akim@epita.fr>
4061
4062 Test also `--verbose', `--defines' and `--name-prefix'. Testing
4063 the latter demonstrates a flaw in the handling of non debugging
4064 parsers introduced by myself on 2000-03-16: `#define yydebug 0'
4065 was used in order to simplify:
4066
4067 #if YYDEBUG
4068 if (yydebug)
4069 {
4070 ...
4071 }
4072 #endif
4073
4074 into
4075
4076 if (yydebug)
4077 {
4078 ...
4079 }
4080
4081 unfortunately this leads to a CPP conflict when
4082 `--name-prefix=foo' is used since it produces `#define yydebug
4083 foodebug'.
4084
4085 * src/bison.s1 [!YYDEBUG]: Do not define yydebug.
4086 (YYDPRINTF): New macro.
4087 Spread its use.
4088 * tests/calc.m4 (AT_CHECK_CALC): Do require a title, build it from
4089 the bison options.
4090 Also test `--verbose', `--defines' and `--name-prefix'.
4091
4092 2000-10-02 Akim Demaille <akim@epita.fr>
4093
4094 Improve the readability of the produced parsers.
4095
4096 * src/bison.s1: Formatting changes.
4097 Improve the comment related to the `$' mark.
4098 (yydefault): Don't fall through to `yyresume': `goto' there.
4099 * src/output.c (output_parser): When the `$' is met, skip the end
4100 of its line.
4101 New variable, `number_of_dollar_signs', to check there's exactly
4102 one `$' in the parser skeleton.
4103
4104 2000-10-02 Akim Demaille <akim@epita.fr>
4105
4106 * lib/xstrdup.c: New file, from the fileutils.
4107 * src/reader.c (parse_token_decl, get_type_name, parse_type_decl)
4108 (parse_assoc_decl, parse_thong_decl, get_type): Use `xstrdup'
4109 instead of strlen + xmalloc + strcpy.
4110 * src/symtab.c (copys): Remove, use xstrdup instead.
4111
4112 2000-10-02 Akim Demaille <akim@epita.fr>
4113
4114 * src/gram.h (associativity): New enum type which replaces the
4115 former CPP macros `RIGHT_ASSOC', `LEFT_ASSOC' and `NON_ASSOC' with
4116 `right_assoc', `left_assoc' and `non_assoc'.
4117 Adjust all dependencies.
4118 * src/reader.c: Formatting changes.
4119 (LTYPESTR): Don't define it, use it as a literal in
4120 `reader_output_yylsp'.
4121 * src/symtab.h (symbol_class): New enum type which replaces the
4122 former CPP macros `SUNKNOWN', `STOKEN and `SNTERM' with
4123 `sunknown', `stoken and `snterm'.
4124
4125 2000-10-02 Akim Demaille <akim@epita.fr>
4126
4127 * src/getargs.c (fixed_outfiles): Rename as...
4128 (yaccflag): for consistency and accuracy.
4129 Adjust dependencies.
4130
4131 2000-10-02 Akim Demaille <akim@epita.fr>
4132
4133 Use the more standard files `xalloc.h' and `xmalloc.c' instead of
4134 Bison's `allocate.c' and `alloc.h'. This patch was surprisingly
4135 difficult and introduced a lot of core dump. It turns out that
4136 Bison used an implementation of `xmalloc' based on `calloc', and
4137 at various places it does depend upon the initialization to 0. I
4138 have not tried to isolate the pertinent places, and all the former
4139 calls to Bison's `xmalloc' are now using `XCALLOC'. Someday,
4140 someone should address this issue.
4141
4142 * src/allocate.c, src/alloc.h, m4/bison-decl.m4: Remove.
4143 * lib/xmalloc.c, lib/xalloc.h, m4/malloc.m4, m4/realloc.m4: New
4144 files.
4145 Adjust dependencies.
4146 * src/warshall.h: New file.
4147 Propagate.
4148
4149 2000-10-02 Akim Demaille <akim@epita.fr>
4150
4151 Various anti-`extern in *.c' changes.
4152
4153 * src/system.h: Include `assert.h'.
4154
4155 2000-10-02 Akim Demaille <akim@epita.fr>
4156
4157 * src/state.h (nstates, final_state, first_state, first_shift)
4158 (first_reduction): Move their exportation from here...
4159 * src/LR0.h: to here.
4160 Adjust dependencies.
4161 * src/getargs.c (statisticsflag): New variable.
4162 Add support for `--statistics'.
4163 Adjust dependencies.
4164
4165 Remove a lot of now useless `extern' statements in most files.
4166
4167 2000-10-02 Akim Demaille <akim@epita.fr>
4168
4169 * src/LR0.h: New file.
4170 Propagate its use.
4171
4172 2000-10-02 Akim Demaille <akim@epita.fr>
4173
4174 * src/print.h: New file.
4175 Propagate its use.
4176 * src/print.c: Formatting and ordering changes.
4177 (verbose, terse): Replace with...
4178 (print_results): this new function.
4179 Adjust dependencies.
4180
4181 2000-10-02 Akim Demaille <akim@epita.fr>
4182
4183 * src/conflicts.c (conflict_report): New function.
4184 (conflict_log, verbose_conflict_log): Replace with...
4185 (print_conflicts): this function.
4186 Adjust dependencies.
4187 * src/conflicts.h: New file.
4188 Propagate its inclusion.
4189
4190 2000-10-02 Akim Demaille <akim@epita.fr>
4191
4192 * src/nullable.h: New file.
4193 Propagate its inclusion.
4194 * src/nullable.c: Formatting changes.
4195
4196 2000-10-02 Akim Demaille <akim@epita.fr>
4197
4198 * src/reduce.h: New file.
4199 Propagate its inclusion.
4200 * src/reduce.c: Topological sort and other formatting changes.
4201 (bool, TRUE, FALSE): Move their definition to...
4202 * src/system.h: here.
4203
4204 2000-10-02 Akim Demaille <akim@epita.fr>
4205
4206 * src/files.c: Formatting changes.
4207 (tryopen, tryclose, openfiles): Rename as...
4208 (xfopen, xfclose, open_files): this.
4209 (stringappend): static.
4210 * src/files.h: Complete the list of exported symbols.
4211 Propagate its use.
4212
4213 2000-10-02 Akim Demaille <akim@epita.fr>
4214
4215 * src/reader.h: New file.
4216 Propagate its use instead of tedious list of `extern' and
4217 prototypes.
4218 * src/reader.c: Formatting changes, topological sort,
4219 s/register//.
4220
4221 2000-10-02 Akim Demaille <akim@epita.fr>
4222
4223 * src/lex.h: Prototype `lex.c' exported functions.
4224 * src/reader.c: Adjust.
4225 * src/lex.c: Formatting changes.
4226 (safegetc): Rename as...
4227 (xgetc): this.
4228
4229 2000-10-02 Akim Demaille <akim@epita.fr>
4230
4231 * src/lalr.h: New file.
4232 Propagate its inclusion instead of prototypes and `extern'.
4233 * src/lalr.c: Formatting changes, topological sorting etc.
4234
4235 2000-10-02 Akim Demaille <akim@epita.fr>
4236
4237 * src/output.c (token_actions): Introduce a temporary array,
4238 YYDEFACT, that makes it possible for this function to use
4239 output_short_table.
4240
4241 2000-10-02 Akim Demaille <akim@epita.fr>
4242
4243 `user_toknums' is output as a `short[]' in `output.c', while it is
4244 defined as a `int[]' in `reader.c'. For consistency with the
4245 other output tables, `user_toknums' is now defined as a table of
4246 shorts.
4247
4248 * src/reader.c (user_toknums): Be a short table instead of an int
4249 table.
4250 Adjust dependencies.
4251
4252 Factor the short table outputs.
4253
4254 * src/output.c (output_short_table): New function.
4255 * src/output.c (output_gram, output_stos, output_rule_data)
4256 (output_base, output_table, output_check): Use it.
4257
4258 2000-10-02 Akim Demaille <akim@epita.fr>
4259
4260 * src/output.c (output): Topological sort of the functions, in
4261 order to get rid of the `static' prototypes.
4262 No longer use `register'.
4263 * src/output.h: New file.
4264 Propagate its inclusion in files explicitly prototyping functions
4265 from output.c.
4266
4267 2000-09-21 Akim Demaille <akim@epita.fr>
4268
4269 * src/atgeneral.m4: Update from Autoconf.
4270
4271 2000-09-21 Akim Demaille <akim@epita.fr>
4272
4273 * src/closure.h: New file.
4274 * src/closure.c: Formatting changes, topological sort over the
4275 functions, use of closure.h.
4276 (initialize_closure, finalize_closure): Rename as...
4277 (new_closure, free_closure): these. Adjust dependencies.
4278 * src/LR0.c: Formatting changes, topological sort, use of
4279 cloture.h.
4280 (initialize_states): Rename as...
4281 (new_states): this.
4282 * src/Makefile.am (noinst_HEADERS): Adjust.
4283
4284 2000-09-20 Akim Demaille <akim@epita.fr>
4285
4286 * src/acconfig.h: Don't protect config.h against multiple
4287 inclusion.
4288 Don't define PARAMS.
4289 * src/system.h: Define PARAMS.
4290 Remove some of the ad-hoc CPP magic for DOS, VMS etc.: this is the
4291 purpose of config.h. system.h must not try to fix wrong
4292 definitions in config.h.
4293
4294 2000-09-20 Akim Demaille <akim@epita.fr>
4295
4296 * src/derives.h: New file.
4297 * src/main.c, src/derives.h: Use it.
4298 Formatting changes.
4299 * src/Makefile.am (noinst_HEADERS): Adjust.
4300
4301 2000-09-20 Akim Demaille <akim@epita.fr>
4302
4303 * tests/atgeneral.m4: Update from Autoconf.
4304 * tests/calc.m4 (_AT_DATA_CALC_Y, AT_DATA_CALC_Y, _AT_CHECK_CALC)
4305 (AT_CHECK_CALC): New macros.
4306 Use these macros to test bison with options `', `--raw',
4307 `--debug', `--yacc', `--yacc --debug'.
4308
4309 2000-09-19 Akim Demaille <akim@epita.fr>
4310
4311 * src/output.c: Formatting changes.
4312 * src/machine.h: Remove, leaving its contents in...
4313 * src/system.h: here.
4314 Include stdio.h.
4315 Adjust all dependencies on stdio.h and machine.h.
4316 * src/getargs.h: New file.
4317 Let all `extern' declarations about getargs.c be replaced with
4318 inclusion of `getargs.h'.
4319 * src/Makefile.am (noinst_HEADERS): Adjust.
4320
4321 * tests/calc.m4 (yyin): Be initialized in main, not on the global
4322 scope.
4323 (yyerror): Returns void, not int.
4324 * doc/bison.texinfo: Formatting changes.
4325
4326 2000-09-19 Akim Demaille <akim@epita.fr>
4327
4328 * tests/calc.m4 (calc.y): Do not assign to stdin, as it's not
4329 portable.
4330
4331 2000-09-18 Akim Demaille <akim@epita.fr>
4332
4333 * configure.in: Append WARNING_CFLAGS to CFLAGS.
4334 * src/Makefile.am (INCLUDES): Don't.
4335 Be ready to fetch headers in lib/.
4336
4337 2000-09-18 Akim Demaille <akim@epita.fr>
4338
4339 * doc/bison.texinfo: Update the copyright.
4340 ANSIfy and GNUify the examples.
4341 Remove the old menu.
4342
4343 2000-09-18 Akim Demaille <akim@epita.fr>
4344
4345 First set of tests: use the `calc' example from the documentation.
4346
4347 * src/bison.s1 (yyparse): Condition the code using `yytname' which
4348 is defined only when YYDEBUG is.
4349 * m4/atconfig.m4 (AT_CONFIG): Adjust to Autoconf 2.13.
4350 * src/files.c (tryopen, tryclose): Formatting changes.
4351 Move to the top and be static.
4352 * src/reader.c (read_signed_integer): Likewise.
4353 * tests/calc.m4: New file.
4354 * Makefile.am, suite.m4: Adjust.
4355 * m4/atconfig.m4: Set BISON_SIMPLE and BISON_HAIRY.
4356
4357 2000-09-18 Akim Demaille <akim@epita.fr>
4358
4359 Add support for an Autotest test suite for Bison.
4360
4361 * m4/m4.m4, m4/atconfig.m4: New files.
4362 * m4/Makefile.am (EXTRA_DIST): Adjust.
4363 * tests/suite.m4, tests/Makefile.am, tests/atgeneral.m4: New
4364 files.
4365 * src/getargs.c: Display a more standard --version message.
4366 * src/reader.c (reader): Formatting changes.
4367 No longer depend upon VERSION_STRING.
4368 * configure.in: No longer use `dnl'.
4369 Set up the test suite and the new directory `tests/.
4370 (VERSION_STRING): Remove.
4371
4372 2000-04-14 Akim Demaille <akim@epita.fr>
4373
4374 * src/reader.c (copy_comment2): New function, same as former
4375 `copy_comment', but outputs into two FILE *.
4376 (copy_comment): Use it.
4377 (parse_union_decl): Use it.
4378 (get_type, parse_start_decl): Use the same `invalid' message.
4379 (parse_start_decl, parse_union_decl): Use the same `multiple'
4380 message.
4381 (parse_union_decl, copy_guard, copy_action): Use the same
4382 `unmatched' message.
4383 * m4/Makefile.am (EXTRA_DIST): Add `warning.m4'.
4384
4385 2000-03-31 Akim Demaille <akim@epita.fr>
4386
4387 * src/files.c (tryopen, tryclose): Move to the top.
4388 Be static.
4389
4390 2000-03-31 Akim Demaille <akim@epita.fr>
4391
4392 * src/main.c (main): Don't call `done', exit does it.
4393
4394 2000-03-31 Akim Demaille <akim@epita.fr>
4395
4396 * allocate.c: s/return (foo)/return foo/.
4397 * lalr.c: Likewise.
4398 * LR0.c: Likewise.
4399 * output.c: Likewise.
4400 * reader.c: Likewise.
4401 * symtab.c: Likewise.
4402 * vmsgetargs.c: Likewise.
4403
4404 2000-03-31 Akim Demaille <akim@epita.fr>
4405
4406 Clean up the error reporting functions.
4407
4408 * src/report.c: New file.
4409 * src/report.h: Likewise.
4410 * src/Makefile.am: Adjust.
4411 * m4/error.m4: New file.
4412 * m4/Makefile.am: Adjust.
4413 * configure.in (jm_PREREQ_ERROR): Call it.
4414 * src/main.c (int_to_string, banner, fatal_banner, warn_banner):
4415 Remove.
4416 (fatal, fatals): Remove. All callers use complain.c::fatal.
4417 (warn, warni, warns, warnss, warnss): Remove. All callers use
4418 complain.c::complain.
4419 (toomany): Remove, use fatal instead.
4420 * src/files.c (done): No argument, use complain_message_count.
4421 * src/main.c (main): Register `done' to `atexit'.
4422
4423 * src/getargs.c (usage): More `fputs', less `fprintf'.
4424
4425 2000-03-28 Akim Demaille <akim@epita.fr>
4426
4427 * lib/: New directory.
4428 * Makefile.am (SUBDIRS): Adjust.
4429 * configure.in: Adjust.
4430 (LIBOBJS): Although not used yet, AC_SUBST it, otherwise it's
4431 useless.
4432 * src/alloca.c: Moved to lib/.
4433 * src/getopt.c: Likewise.
4434 * src/getopt1.c: Likewise.
4435 * src/getopt.h: Likewise.
4436 * src/ansi2knr.c: Likewise.
4437 * src/ansi2knr.1: Likewise.
4438 * src/Makefile.am: Adjust.
4439 * lib/Makefile.am: New file.
4440
4441 2000-03-28 Akim Demaille <akim@epita.fr>
4442
4443 * src/getargs.c (usage): Refresh the help message.
4444
4445 2000-03-17 Akim Demaille <akim@epita.fr>
4446
4447 * src/getopt1.c: Updated from textutils 2.0e
4448 * src/getopt.c: Likewise.
4449 * src/getopt.h: Likewise.
4450
4451 2000-03-17 Akim Demaille <akim@epita.fr>
4452
4453 * src/Makefile.am (bison.simple): Fix the awk program: quote only
4454 the file name, not the whole `#line LINE FILE'.
4455
4456 2000-03-17 Akim Demaille <akim@epita.fr>
4457
4458 On syntax errors, report the token on which we choked.
4459
4460 * src/bison.s1 (yyparse): In the label yyerrlab, when
4461 YYERROR_VERBOSE, add yychar in msg.
4462
4463 2000-03-17 Akim Demaille <akim@epita.fr>
4464
4465 * src/reader.c (copy_at): New function.
4466 (copy_guard): Use it.
4467 (copy_action): Use it.
4468
4469 2000-03-17 Akim Demaille <akim@epita.fr>
4470
4471 Be kind to translators, save some useless translations.
4472
4473 * src/main.c (banner): New function.
4474 (fatal_banner): Use it.
4475 (warn_banner): Use it.
4476
4477 2000-03-17 Akim Demaille <akim@epita.fr>
4478
4479 * src/reader.c (copy_definition): Use copy_string and
4480 copy_comment. Removed now unused `match', `ended',
4481 `cplus_comment'.
4482 (copy_comment, copy_string): Moved, to be visible from
4483 copy_definition.
4484
4485 2000-03-17 Akim Demaille <akim@epita.fr>
4486
4487 * src/reader.c (copy_string): Declare `static inline'. No
4488 problems with inline, since it is checked by configure.
4489 (copy_comment): Likewise.
4490
4491 2000-03-17 Akim Demaille <akim@epita.fr>
4492
4493 * src/reader.c (packsymbols): Formatting changes.
4494
4495 2000-03-17 Akim Demaille <akim@epita.fr>
4496
4497 * src/reader.c (copy_comment): New function, factored out from:
4498 (copy_action): Use it. Removed now unused `match', `ended',
4499 `cplus_comment'.
4500 (copy_guard): Likewise.
4501
4502 2000-03-17 Akim Demaille <akim@epita.fr>
4503
4504 * src/reader.c (copy_string): New function, factored out from:
4505 (copy_action): Use it.
4506 (copy_guard): Likewise.
4507
4508 2000-03-17 Akim Demaille <akim@epita.fr>
4509
4510 Change the handling of @s so that they behave exactly like $s.
4511 There is now a pseudo variable @$ (readble and writable), location
4512 of the lhs of the rule (by default ranging from the location of
4513 the first symbol of the rhs, to the location of the last symbol,
4514 or, if the rhs is empty, YYLLOC).
4515
4516 * src/bison.s1 [YYLSP_NEEDED] (yyloc): New variable, twin of
4517 yyval.
4518 (yyparse): When providing a default semantic action, provide a
4519 default location action.
4520 (after the $): No longer change `*YYLSP', just stack YYLOC the
4521 same way you stack YYVAL.
4522 * src/reader.c (read_declarations): Use warns.
4523 (copy_guard, case '@'): Also recognize `@$', expanded as `YYLOC'.
4524 (copy_action, case '@'): Likewise.
4525 Use a standard error message, to save useless work from
4526 translators.
4527
4528 2000-03-17 Akim Demaille <akim@epita.fr>
4529
4530 * src/bison.s1: Formatting and cosmetics changes.
4531 * src/reader.c: Likewise.
4532 Update the Copyright notice.
4533
4534 2000-03-17 Akim Demaille <akim@epita.fr>
4535
4536 * src/bison.s1 (#line): All set to `#line' only, since the
4537 Makefile now handles them.
4538
4539 2000-03-16 Akim Demaille <akim@epita.fr>
4540
4541 * src/output.c (output_rule_data): Output the documentation of
4542 some of the tables.
4543 (Copyright notice): Update.
4544 Formatting changes.
4545
4546 2000-03-16 Akim Demaille <akim@epita.fr>
4547
4548 * src/bison.s1 [!YYDEBUG]: Define yydebug to 0. This allows to
4549 remove most `#if YYDEBUG != 0', since `if (yydebug)' is enough.
4550 One `#if YYDEBUG' remains, since it uses variables which are
4551 defined only if `YYDEBUG != 0'.
4552
4553 2000-03-16 Akim Demaille <akim@epita.fr>
4554
4555 * src/bison.s1 (yyparse): Reorganize the definitions of the stacks
4556 and related variables so that the similarities are highlighted.
4557
4558 2000-03-16 Akim Demaille <akim@epita.fr>
4559
4560 * src/bison.s1: Properly indent CPP directives.
4561
4562 2000-03-16 Akim Demaille <akim@epita.fr>
4563
4564 * src/bison.s1: Properly indent the `alloca' CPP section.
4565
4566 2000-03-16 Akim Demaille <akim@epita.fr>
4567
4568 Do not hard code values of directories in `configure.in'.
4569 Update the `configure' tool chain.
4570
4571 * configure.in (XPFILE, XPFILE1, LOCALEDIR): Remove, handled by
4572 src/makefile.am.
4573 (VERSION_STRING): Use the third arg of AC_DEFINE_UNQUOTED.
4574 (AC_OUTPUT): Add m4/Makefile.
4575 Bump to bison 1.28a, 1.29 has never been released.
4576 * acconfig.h (XPFILE, XPFILE1, LOCALEDIR): Remove, since they are
4577 handled via src/Makefile.am.
4578 (VERSION_STRING, PROTOTYPES, ENABLE_NLS, HAVE_CATGETS,
4579 HAVE_GETTEXT, HAVE_LC_MESSAGES, HAVE_STPCPY): Remove, handled by
4580 autoheader.
4581 * Makefile.am (SUBDIRS): Add m4.
4582 (ACLOCAL_AM_FLAGS): New variable.
4583 (AUTOMAKE_OPTIONS): Add check-news.
4584 * src/Makefile.am (bison.simple): Use awk to replace #line lines with
4585 the proper line number and file name.
4586 (DEFS): Propagate the location of bison library files and of the
4587 locale files.
4588 (INCLUDES): Added `-I ..' so that one can compile with srcdir !=
4589 builddir.
4590 * acinclude.m4: Remove, replaced by the directory m4.
4591 * m4/Makefile.am (EXTRA_DIST): New variable.
4592 * m4/gettext.m4: New file, from the fileutils.
4593 * m4/lcmessage.m4: Likewise
4594 * m4/progtest.m4: Likewise.
4595 * m4/bison-decl.m4: New file, extracted from former acinclude.m4.
4596
4597 2000-03-10 Akim Demaille <akim@epita.fr>
4598
4599 * src/closure.c:
4600 Formatting changes of various comments.
4601 Respect the GNU coding standards at various places.
4602 Don't use `_()' when no translation is needed.
4603
4604 1999-12-13 Jesse Thilo <jthilo@gnu.org>
4605
4606 * src/files.c:
4607 OS/2 honors TMPDIR environment variable.
4608
4609 1999-12-13 Jesse Thilo <jthilo@gnu.org>
4610
4611 * doc/bison.texinfo: Tweaked spelling and grammar.
4612 Updated ISBN.
4613 Removed reference to price of printed copy.
4614 Mention BISON_SIMPLE and BISON_HAIRY.
4615
4616 1999-12-13 Jesse Thilo <jthilo@gnu.org>
4617
4618 * configure.in, NEWS:
4619 Bison 1.29 released.
4620
4621 1999-10-27 Jesse Thilo <jthilo@gnu.org>
4622
4623 * doc/.cvsignore, doc/Makefile.am, doc/refcard.tex:
4624 Added reference card.
4625
4626 1999-07-26 Jesse Thilo <jthilo@gnu.org>
4627
4628 * po/ru.po: Added Russian translation.
4629
4630 1999-07-26 Jesse Thilo <jthilo@gnu.org>
4631
4632 * configure.in: Added Russian translation.
4633
4634 1999-07-06 Jesse Thilo <jthilo@gnu.org>
4635
4636 * configure.in, NEWS, README:
4637 Released version 1.28.
4638
4639 1999-06-14 Jesse Thilo <jthilo@gnu.org>
4640
4641 * src/system.h:
4642 Squashed redefinition warning on some systems.
4643
4644 * src/getargs.c, src/Makefile.am, src/reader.c, src/version.c:
4645 Have configure build version string instead of relying on ANSI string
4646 concatentation.
4647
4648 1999-06-14 Jesse Thilo <jthilo@gnu.org>
4649
4650 * po/POTFILES.in: Got rid of version.c.
4651
4652 1999-06-14 Jesse Thilo <jthilo@gnu.org>
4653
4654 * acconfig.h, configure.in:
4655 Have configure build version string instead of relying on ANSI string
4656 concatentation.
4657
4658 1999-06-08 Jesse Thilo <jthilo@gnu.org>
4659
4660 * doc/bison.1:
4661 Dropped mention of `+' for long-named options.
4662
4663 1999-05-30 Jesse Thilo <jthilo@gnu.org>
4664
4665 * src/files.c: Added <unistd.h> for unlink().
4666
4667 * src/Makefile.am, src/system.h:
4668 I18n fixes.
4669
4670 1999-05-30 Jesse Thilo <jthilo@gnu.org>
4671
4672 * README: Added a FAQ list.
4673
4674 * configure.in, acconfig.h:
4675 I18n fixes.
4676
4677 1999-05-30 Jesse Thilo <jthilo@gnu.org>
4678
4679 * doc/FAQ, doc/Makefile.am:
4680 Added a FAQ list.
4681
4682 1999-05-19 Jesse Thilo <jthilo@gnu.org>
4683
4684 * src/alloc.h, src/symtab.h, src/version.c:
4685 Protected inclusion of "config.h" with HAVE_CONFIG_H.
4686
4687 1999-04-18 Jesse Thilo <jthilo@gnu.org>
4688
4689 * src/.cvsignore, src/Makefile.am:
4690 Reorganized: sources in `src', documentation in `doc'.
4691
4692 * src/lex.c (literalchar):
4693 fixed the code for escaping double quotes (thanks
4694 Jonathan Czisny.)
4695
4696 1999-04-18 Jesse Thilo <jthilo@gnu.org>
4697
4698 * po/de.po, po/es.po, po/fr.po, po/nl.po, po/POTFILES.in:
4699 Adjusted paths to reflect directory reorganization.
4700
4701 1999-04-18 Jesse Thilo <jthilo@gnu.org>
4702
4703 * doc/.cvsignore, doc/Makefile.am:
4704 Reorganized: sources in `src', documentation in `doc'.
4705
4706 1999-04-18 Jesse Thilo <jthilo@gnu.org>
4707
4708 * configure.in:
4709 Updated AC_INIT file to reflect directory reorganization.
4710
4711 * configure.in, .cvsignore, Makefile.am, POTFILES.in:
4712 Reorganized: sources in `src', documentation in `doc'.
4713
4714 1999-04-13 Jesse Thilo <jthilo@gnu.org>
4715
4716 * src/allocate.c:
4717 Don't declare calloc() and realloc() if not necessary.
4718
4719 1999-04-13 Jesse Thilo <jthilo@gnu.org>
4720
4721 * configure.in, acconfig.h, acinclude.m4:
4722 Don't declare calloc() and realloc() if not necessary.
4723
4724 1999-03-23 Jesse Thilo <jthilo@gnu.org>
4725
4726 * po/.cvsignore: Added i18n support.
4727
4728 1999-03-23 Jesse Thilo <jthilo@gnu.org>
4729
4730 * acconfig.h, configure.in, Makefile.am:
4731 Added i18n support.
4732
4733 1999-03-22 Jesse Thilo <jthilo@gnu.org>
4734
4735 * src/bison.s1: Fixed #line numbers.
4736
4737 1999-03-15 Jesse Thilo <jthilo@gnu.org>
4738
4739 * po/es.po, po/fr.po, po/nl.po, po/de.po:
4740 Added PO files from Translation Project.
4741
4742 1999-03-03 Jesse Thilo <jthilo@gnu.org>
4743
4744 * Makefile.am:
4745 Added support for non-ANSI compilers (ansi2knr).
4746
4747 1999-02-16 Jesse Thilo <jthilo@gnu.org>
4748
4749 * configure.in: Bumped version number to 1.27.
4750
4751 * Makefile.am:
4752 Added `bison.simple' to list of files removed by `make distclean'.
4753
4754 1999-02-12 Jesse Thilo <jthilo@gnu.org>
4755
4756 * src/files.c, src/files.h:
4757 Defined locations of parser files in config.h instead of Makefile.
4758
4759 1999-02-12 Jesse Thilo <jthilo@gnu.org>
4760
4761 * acconfig.h, acinclude.m4, configure.in, Makefile.am:
4762 Defined locations of parser files in config.h instead of Makefile.
4763
4764 1999-02-09 Jesse Thilo <jthilo@gnu.org>
4765
4766 * Makefile.am:
4767 Removed inappropriate use of $< macro.
4768
4769 1999-02-05 Jesse Thilo <jthilo@gnu.org>
4770
4771 * po/Makefile.in.in, po/POTFILES.in:
4772 Add `po' directory skeleton.
4773
4774 1999-01-27 Jesse Thilo <jthilo@gnu.org>
4775
4776 * README: Document help-bison list.
4777
4778 * configure.in: Add check for mkstemp().
4779
4780 1999-01-20 Jesse Thilo <jthilo@gnu.org>
4781
4782 * src/conflicts.c, src/LR0.c, src/output.c, src/reader.c:
4783 Hush a few compiler warnings.
4784
4785 * src/files.c:
4786 Add tryclose(), which verifies that fclose was successful.
4787 Hush a couple of compiler warnings.
4788
4789 1999-01-20 Jesse Thilo <jthilo@gnu.org>
4790
4791 * Makefile.am, OChangeLog:
4792 ChangeLog is now automatically generated. Include the old version as
4793 OChangeLog.
4794
4795 1999-01-14 Jesse Thilo <jthilo@gnu.org>
4796
4797 * 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:
4798 Update FSF address.
4799
4800 1999-01-14 Jesse Thilo <jthilo@gnu.org>
4801
4802 * doc/bison.texinfo: Fix formatting glitch.
4803
4804 * doc/bison.texinfo: Update FSF address.
4805
4806 1999-01-14 Jesse Thilo <jthilo@gnu.org>
4807
4808 * acconfig.h: Update FSF address.
4809
4810 1999-01-08 Jesse Thilo <jthilo@gnu.org>
4811
4812 * src/system.h:
4813 Don't define PACKAGE here, since config.h defines it.
4814
4815 1998-12-30 Jesse Thilo <jthilo@gnu.org>
4816
4817 * src/reader.c: Update copyright date.
4818
4819 * src/main.c:
4820 Ditch sprintf to statically-sized buffers in fatal/warn functions in
4821 favor of output directly to stderr (avoids buffer overruns).
4822
4823 * src/reader.c: Some checks for premature EOF.
4824
4825 * 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:
4826 Use prototypes if the compiler understands them.
4827
4828 * src/files.c: Honor TMPDIR on Unix hosts.
4829 Use prototypes if the compiler understands them.
4830
4831 * src/reader.c:
4832 Fix a couple of buffer overrun bugs.
4833 Use prototypes if the compiler understands them.
4834
4835 * src/system.h: Include unistd.h and ctype.h.
4836 Use #ifdef instead of #if for NLS symbols.
4837
4838 1998-12-30 Jesse Thilo <jthilo@gnu.org>
4839
4840 * doc/bison.texinfo:
4841 Delete comment "consider using @set for edition number, etc..." since
4842 we now are doing so.
4843
4844 1998-12-30 Jesse Thilo <jthilo@gnu.org>
4845
4846 * configure.in:
4847 Use prototypes if the compiler understands them.
4848
4849 * NEWS: Document 1.26 highlights.
4850
4851 * Makefile.am: Require Automake 1.3 or later.
4852
4853 * acconfig.h:
4854 Use prototypes if the compiler understands them.
4855
4856 1998-12-29 Jesse Thilo <jthilo@gnu.org>
4857
4858 * src/version.c:
4859 Use VERSION symbol from automake for version number.
4860
4861 1998-12-29 Jesse Thilo <jthilo@gnu.org>
4862
4863 * acconfig.h, configure.in, version.cin:
4864 Use VERSION symbol from automake for version number.
4865
4866 1998-11-28 Jesse Thilo <jthilo@gnu.org>
4867
4868 * Makefile.am:
4869 Distribute original version of simple parser (bison.s1), not built
4870 version (bison.simple).
4871
4872 1998-11-28 Jesse Thilo <jthilo@gnu.org>
4873
4874 * doc/bison.texinfo: Add info dir entry.
4875
4876 * doc/bison.texinfo:
4877 Let automake put version number into documentation.
4878
4879 1998-11-26 Jesse Thilo <jthilo@gnu.org>
4880
4881 * src/bison.cld, src/build.com, src/vmshlp.mar:
4882 Add non-RCS files from /gd/gnu/bison.
4883
4884 1998-11-26 Jesse Thilo <jthilo@gnu.org>
4885
4886 * doc/bison.1:
4887 Document the BISON_HAIRY and BISON_SIMPLE variables.
4888
4889 1998-11-25 Jesse Thilo <jthilo@gnu.org>
4890
4891 * src/version.c: Build version.c automatically.
4892
4893 * src/reader.c:
4894 Fix token numbering (used to start at 258, not 257).
4895
4896 * src/system.h: Include config.h.
4897
4898 * src/getargs.c: Update bug report address.
4899
4900 * src/alloca.c, src/getopt1.c, src/getopt.c, src/getopt.h:
4901 Get latest copies of alloca.c, getopt.c, getopt.h, getopt1.c from gnu.org.
4902
4903 1998-11-25 Jesse Thilo <jthilo@gnu.org>
4904
4905 * Makefile.am:
4906 Rename bison.simple to bison.s1 (bison.simple is then built from bison.s1).
4907
4908 * configure.in, version.cin:
4909 Build version.c automatically.
4910
4911 * AUTHORS: Add AUTHORS file.
4912
4913 * README: Update bug report address.
4914
4915 * bison.simple:
4916 Rename bison.simple to bison.s1 (bison.simple is then built from bison.s1).
4917
4918 * configure.in, Makefile.am, Makefile.in, stamp-h.in:
4919 Add automake stuff.
4920
4921 1998-11-25 Jesse Thilo <jthilo@gnu.org>
4922
4923 * doc/bison.texinfo: Clean up some formatting.
4924
4925 1998-05-05 Richard Stallman <rms@gnu.org>
4926
4927 * doc/bison.texinfo:
4928 Explain better why to make a pure parser.
4929
4930 1998-01-05 Richard Stallman <rms@gnu.org>
4931
4932 * src/files.c (openfiles):
4933 [_WIN32 && !__CYGWIN32__] Use TEMP or Temp to
4934 find a temporary directory, if possible. Do not unlink files while
4935 they are open.
4936
4937 1997-08-25 Richard Stallman <rms@gnu.org>
4938
4939 * src/reader.c (stack_offset;):
4940 Change some warni to warns.
4941
4942 * src/lex.c (literalchar): Use warns, not warni.
4943
4944 1997-06-28 Richard Stallman <rms@gnu.org>
4945
4946 * src/bison.s1: Add a Bison version comment.
4947
4948 * src/main.c (fatal, warn, berror):
4949 Use program_name.
4950
4951 1997-06-28 Richard Stallman <rms@gnu.org>
4952
4953 * Makefile.in (bison_version): New variable.
4954 (dist): Use that variable.
4955 (bison.s1): Substitute the Bison version into bison.simple.
4956
4957 * bison.simple: Add a Bison version comment.
4958
4959 1997-06-18 Richard Stallman <rms@gnu.org>
4960
4961 * src/main.c (fatal, warn, berror):
4962 Make error messages standard.
4963 (toomany): Improve error message text.
4964
4965 * 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:
4966 new.h renamed to alloc.h.
4967
4968 1997-06-18 Richard Stallman <rms@gnu.org>
4969
4970 * Makefile.in: new.h renamed to alloc.h.
4971
4972 1997-05-24 Richard Stallman <rms@gnu.org>
4973
4974 * src/lex.c (literalchar):
4975 Fix the code for escaping \, " and '.
4976
4977 (lex): Avoid trouble when there are many chars
4978 to discard in a char literal with just several chars in it.
4979
4980 1997-05-17 Richard Stallman <rms@gnu.org>
4981
4982 * src/bison.s1:
4983 Use malloc, if using alloca is troublesome.
4984 (YYSTACK_USE_ALLOCA): New flag macro.
4985 Define it for some systems and compilers.
4986 (YYSTACK_ALLOC): New macro.
4987 (yyparse): Use YYSTACK_ALLOC to allocate stack.
4988 If it was malloc'd, free it.
4989
4990 1997-05-17 Richard Stallman <rms@gnu.org>
4991
4992 * bison.simple:
4993 Use malloc, if using alloca is troublesome.
4994 (YYSTACK_USE_ALLOCA): New flag macro.
4995 Define it for some systems and compilers.
4996 (YYSTACK_ALLOC): New macro.
4997 (yyparse): Use YYSTACK_ALLOC to allocate stack.
4998 If it was malloc'd, free it.
4999
5000 1997-04-23 Richard Stallman <rms@gnu.org>
5001
5002 * src/bison.s1:
5003 (alloca) [__hpux]: Always define as __builtin_alloca.
5004
5005 1997-04-23 Richard Stallman <rms@gnu.org>
5006
5007 * bison.simple:
5008 (alloca) [__hpux]: Always define as __builtin_alloca.
5009
5010 1997-04-22 Richard Stallman <rms@gnu.org>
5011
5012 * src/bison.s1:
5013 [__hpux]: Include alloca.h (right for HPUX 10)
5014 instead of declaring alloca (right for HPUX 9).
5015
5016 * src/bison.s1 (__yy_memcpy):
5017 Declare arg `count' as unsigned int.
5018 (yyparse): Cast third arg to __yy_memcpy to unsigned int.
5019
5020 1997-04-22 Richard Stallman <rms@gnu.org>
5021
5022 * bison.simple:
5023 [__hpux]: Include alloca.h (right for HPUX 10)
5024 instead of declaring alloca (right for HPUX 9).
5025
5026 * bison.simple (__yy_memcpy):
5027 Declare arg `count' as unsigned int.
5028 (yyparse): Cast third arg to __yy_memcpy to unsigned int.
5029
5030 1997-01-03 Richard Stallman <rms@gnu.org>
5031
5032 * src/allocate.c: [__STDC__ or _MSC_VER]:
5033 Declare calloc and realloc to return void *.
5034
5035 1997-01-02 Richard Stallman <rms@gnu.org>
5036
5037 * src/system.h:
5038 [_MSC_VER]: Include stdlib.h and process.h.
5039 [_MSC_VER] (getpid): Define as macro--translate it to _getpid.
5040
5041 * src/main.c (main): Return FAILURE as a value.
5042 (printable_version): Declare arg as int, not char.
5043
5044 1997-01-02 Richard Stallman <rms@gnu.org>
5045
5046 * Makefile.in (dist):
5047 Explicitly check for symlinks, and copy them.
5048
5049 1996-12-19 Richard Stallman <rms@gnu.org>
5050
5051 * src/files.c:
5052 [_MSC_VER] (XPFILE, XPFILE1): Define, if not already defined.
5053
5054 1996-12-18 Paul Eggert <eggert@gnu.org>
5055
5056 * src/bison.s1 (yyparse):
5057 If __GNUC__ and YYPARSE_PARAM are both defined,
5058 declare yyparse to have a void * argument.
5059
5060 1996-12-18 Paul Eggert <eggert@gnu.org>
5061
5062 * bison.simple (yyparse):
5063 If __GNUC__ and YYPARSE_PARAM are both defined,
5064 declare yyparse to have a void * argument.
5065
5066 1996-12-17 Richard Stallman <rms@gnu.org>
5067
5068 * src/reduce.c (nbits): Add some casts.
5069
5070 1996-08-12 Richard Stallman <rms@gnu.org>
5071
5072 * src/bison.s1: Test _MSDOS as well as _MSDOS_.
5073
5074 1996-08-12 Richard Stallman <rms@gnu.org>
5075
5076 * bison.simple: Test _MSDOS as well as _MSDOS_.
5077
5078 1996-07-31 Richard Stallman <rms@gnu.org>
5079
5080 * src/bison.s1:
5081 [__sun && __i386]: Include alloca.h.
5082
5083 1996-07-31 Richard Stallman <rms@gnu.org>
5084
5085 * bison.simple:
5086 [__sun && __i386]: Include alloca.h.
5087
5088 1996-07-30 Richard Stallman <rms@gnu.org>
5089
5090 * src/bison.s1: Comment change.
5091
5092 * src/bison.s1: Test _MSDOS_, not MSDOS.
5093
5094 1996-07-30 Richard Stallman <rms@gnu.org>
5095
5096 * bison.simple: Comment change.
5097
5098 * bison.simple: Test _MSDOS_, not MSDOS.
5099
5100 1996-06-01 Richard Stallman <rms@gnu.org>
5101
5102 * 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:
5103 Insert `_' macro around many string constants.
5104
5105 * src/main.c:
5106 Insert `_' macro around many string constants.
5107
5108 (main): Call setlocale, bindtextdomain and textdomain.
5109
5110 * src/system.h: [HAVE_LOCALE_H]: Include locale.h.
5111 [! HAVE_LOCALE_H] (setlocale): Define as no-op.
5112 [ENABLE_NLS]: Include libintl.h.
5113 [ENABLE_NLS] (gettext): Define.
5114 [! ENABLE_NLS] (bintextdomain, textdomain, _): Consolation definitions.
5115 (N_, PACKAGE, LOCALEDIR): New macros.
5116
5117 1996-06-01 Richard Stallman <rms@gnu.org>
5118
5119 * POTFILES.in: New file.
5120
5121 * Makefile.in (allocate.o):
5122 Define target explicitly.
5123
5124 * Makefile.in (CFLAGS): Set to @CFLAGS@.
5125 (LDFLAGS): Set to @LDFLAGS@.
5126 (configure): Run autoconf only if preceding `cd' succeeds.
5127 (bison.s1): Redirect output to temporary file then move the
5128 temporary to the target, rather than redirecting directly to bison.s1.
5129 (clean): Remove config.status and config.log.
5130 (distclean): Don't remove config.status here.
5131
5132 1996-05-12 Richard Stallman <rms@gnu.org>
5133
5134 * src/bison.s1:
5135 (__yy_memcpy) [__cplusplus]: Reorder declarations of variables f and t.
5136
5137 1996-05-12 Richard Stallman <rms@gnu.org>
5138
5139 * bison.simple:
5140 (__yy_memcpy) [__cplusplus]: Reorder declarations of variables f and t.
5141
5142 1996-05-11 Richard Stallman <rms@gnu.org>
5143
5144 * src/bison.s1 (__yy_memcpy):
5145 Really reorder the args, as was supposedly done on Feb 14 1995.
5146 (yyparse): Calls changed accordingly.
5147
5148 1996-05-11 Richard Stallman <rms@gnu.org>
5149
5150 * Makefile.in (dist): Don't use $(srcdir).
5151
5152 * bison.simple (__yy_memcpy):
5153 Really reorder the args, as was supposedly done on Feb 14 1995.
5154 (yyparse): Calls changed accordingly.
5155
5156 1996-01-27 Richard Stallman <rms@gnu.org>
5157
5158 * src/output.c (output_rule_data):
5159 Test YYERROR_VERBOSE in the conditional
5160 around the definition of ttyname.
5161
5162 1995-12-29 Richard Stallman <rms@gnu.org>
5163
5164 * src/bison.s1:
5165 Fix line numbers in #line commands.
5166
5167 1995-12-29 Richard Stallman <rms@gnu.org>
5168
5169 * bison.simple:
5170 Fix line numbers in #line commands.
5171
5172 1995-12-27 Richard Stallman <rms@gnu.org>
5173
5174 * src/bison.s1 (YYPARSE_PARAM_DECL):
5175 In C++, make it always null.
5176 (YYPARSE_PARAM_ARG): New macro.
5177 (yyparse): Use YYPARSE_PARAM_ARG.
5178
5179 1995-12-27 Richard Stallman <rms@gnu.org>
5180
5181 * bison.simple (YYPARSE_PARAM_DECL):
5182 In C++, make it always null.
5183 (YYPARSE_PARAM_ARG): New macro.
5184 (yyparse): Use YYPARSE_PARAM_ARG.
5185
5186 1995-11-29 Richard Stallman <rms@gnu.org>
5187
5188 * doc/bison.texinfo:
5189 Describe literal string tokens, %raw, %no_lines, %token_table.
5190
5191 1995-11-29 Daniel Hagerty <hag@gnu.org>
5192
5193 * doc/bison.texinfo: Fixed update date
5194
5195 1995-10-16 Richard Stallman <rms@gnu.org>
5196
5197 * src/version.c: Version 1.25.
5198
5199 1995-10-16 Richard Stallman <rms@gnu.org>
5200
5201 * NEWS: *** empty log message ***
5202
5203 1995-10-16 Richard Stallman <rms@gnu.org>
5204
5205 * doc/bison.1, doc/bison.rnh:
5206 Add new options.
5207
5208 1995-10-15 Richard Stallman <rms@gnu.org>
5209
5210 * src/vmsgetargs.c, src/getargs.c:
5211 Added -n, -k, and -raw switches.
5212 (noparserflag, toknumflag, rawtoknumflag): New variables.
5213
5214 * src/symtab.h (SALIAS):
5215 New #define for adding aliases to %token.
5216 (struct bucket): Added `alias' field.
5217
5218 * src/reduce.c (reduce_grammar):
5219 Revise error message.
5220 (print_notices): Remove final `.' from error message.
5221
5222 * src/reader.c (reader_output_yylsp):
5223 New function.
5224 (readgram): Use `#if 0' around code that accepted %command
5225 inside grammar rules: The documentation doesn't allow it,
5226 and it will fail since the %command processors scan for the next %.
5227 (parse_token_decl): Extended the %token
5228 declaration to allow a multi-character symbol as an alias.
5229 (parse_thong_decl): New function.
5230 (read_declarations): Added %thong declarations.
5231 (read_declarations): Handle NOOP to deal with allowing
5232 % declarations as another means to specify the flags.
5233 (readgram): Allow %prec prior to semantics embedded in a rule.
5234 (skip_to_char, read_declarations, copy_definition)
5235 (parse_token_decl, parse_start_decl, parse_type_decl)
5236 (parse_assoc_decl, parse_union_decl, parse_expect_decl)
5237 (get_type_name, copy_guard, copy_action, readgram)
5238 (get_type, packsymbols): Revised most error messages.
5239 Changed `fatal' to `warnxxx' to avoid aborting for error.
5240 Revised and use multiple warnxxx functions to avoid using VARARGS1.
5241 (read_declarations): Improve the error message for
5242 an invalid character. Do not abort.
5243 (read_declarations, copy_guard, copy_action): Use
5244 printable_version to avoid unprintable characters in printed output.
5245 (parse_expect_decl): Error if argument to %expect exceeds 10 digits.
5246 (parse_token_decl, parse_assoc_decl, parse_type_decl, get_type):
5247 Allow the type of a non-terminal can be given
5248 more than once, as long as all specifications give the same type.
5249
5250 * src/output.c:
5251 (output_headers, output_trailers, output, output_gram)
5252 (output_rule_data): Implement noparserflag variable.
5253 Implement toknumflag variable.
5254 (output): Call reader_output_yylsp to output LTYPESTR.
5255
5256 * src/main.c (main):
5257 If reader sees an error, don't process the grammar.
5258 (fatals): Updated to not use VARARGS1.
5259 (printable_version, int_to_string, warn, warni, warns, warnss)
5260 (warnsss): New error reporting functions. Avoid abort for error.
5261
5262 * src/lex.h:
5263 Added THONG and NOOP for alias processing.
5264 Added SETOPT for the new code that allows setting options with %flags.
5265
5266 * src/lex.c:
5267 Include getopt.h. Add some extern decls.
5268 (safegetc): New function to deal with EOF gracefully.
5269 (literalchar); new function to deal with reading \ escapes.
5270 (lex): Use literalchar.
5271 (lex): Implemented "..." tokens.
5272 (literalchar, lex, parse_percent_token): Made tokenbuffer
5273 always contain the token. This includes growing the token
5274 buffer while reading an integer.
5275 (parse_percent_token): Replaced if-else statement with percent_table.
5276 (parse_percent_token): Added % declarations as another
5277 way to specify the flags -n, -l, and -r. Also added hooks for
5278 -d, -k, -y, -v, -t, -p, -b, -o, but implementation requires
5279 major changes to files.c.
5280 (lex) Retain in the incoming stream a character following
5281 an incorrect '/'.
5282 (skip_white_space, lex): Revised most error messages
5283 and changed fatal to warn to avoid aborting.
5284 (percent_table): Added %thong declarations.
5285
5286 * src/gram.h: Comment changes.
5287
5288 * src/files.c (openfiles, open_extra_files, done):
5289 Add faction flag
5290 and actfile file. Handle noparserflag. Both for -n switch.
5291
5292 * src/conflicts.c (resolve_sr_conflict):
5293 Remove use of alloca.
5294
5295 1995-06-01 Jim Meyering <meyering@gnu.org>
5296
5297 * doc/bison.texinfo: *** empty log message ***
5298
5299 1995-05-06 Richard Stallman <rms@gnu.org>
5300
5301 * src/bison.s1: Comment change.
5302
5303 1995-05-06 Richard Stallman <rms@gnu.org>
5304
5305 * bison.simple: Comment change.
5306
5307 1995-05-03 Richard Stallman <rms@gnu.org>
5308
5309 * src/version.c: Version now 1.24.
5310
5311 * src/bison.s1: Change distribution terms.
5312
5313 * src/version.c: Version now 1.23.
5314
5315 1995-05-03 Richard Stallman <rms@gnu.org>
5316
5317 * doc/bison.texinfo:
5318 Rewrite "Conditions for Using Bison".
5319 Update version to 1.24.
5320
5321 1995-05-03 Richard Stallman <rms@gnu.org>
5322
5323 * bison.simple: Change distribution terms.
5324
5325 1995-02-23 Richard Stallman <rms@gnu.org>
5326
5327 * src/files.c: Test __VMS_POSIX as well as VMS.
5328
5329 1995-02-14 Jim Meyering <meyering@gnu.org>
5330
5331 * src/bison.s1 (__yy_memcpy):
5332 Renamed from __yy_bcopy to avoid
5333 confusion. Reverse FROM and TO arguments to be consistent with
5334 those of memcpy.
5335
5336 1995-02-14 Jim Meyering <meyering@gnu.org>
5337
5338 * bison.simple (__yy_memcpy):
5339 Renamed from __yy_bcopy to avoid
5340 confusion. Reverse FROM and TO arguments to be consistent with
5341 those of memcpy.
5342
5343 1994-11-10 David J. MacKenzie <djm@gnu.org>
5344
5345 * NEWS: reformat
5346
5347 * NEWS: New file.
5348
5349 * Makefile.in (DISTFILES): Include NEWS.
5350
5351 * Makefile.in (DISTFILES):
5352 Include install-sh, not install.sh.
5353
5354 * configure.in: Update to Autoconf v2 macro names.
5355
5356 1994-10-05 David J. MacKenzie <djm@gnu.org>
5357
5358 * Makefile.in: fix typo
5359
5360 * Makefile.in (prefix, exec_prefix):
5361 Let configure set them.
5362
5363 1994-09-28 David J. MacKenzie <djm@gnu.org>
5364
5365 * Makefile.in: Set datadir to $(prefix)/share.
5366
5367 1994-09-15 Richard Stallman <rms@gnu.org>
5368
5369 * src/bison.s1:
5370 Update copyright notice and GPL version.
5371
5372 1994-09-15 Richard Stallman <rms@gnu.org>
5373
5374 * bison.simple:
5375 Update copyright notice and GPL version.
5376
5377 1994-07-12 Richard Stallman <rms@gnu.org>
5378
5379 * src/reduce.c, src/reader.c:
5380 entered into RCS
5381
5382 1994-05-05 David J. MacKenzie <djm@gnu.org>
5383
5384 * Makefile.in: entered into RCS
5385
5386 1994-03-26 Richard Stallman <rms@gnu.org>
5387
5388 * src/bison.s1: entered into RCS
5389
5390 1994-03-26 Richard Stallman <rms@gnu.org>
5391
5392 * bison.simple: entered into RCS
5393
5394 1994-03-25 Richard Stallman <rms@gnu.org>
5395
5396 * src/main.c: entered into RCS
5397
5398 1994-03-24 Richard Stallman <rms@gnu.org>
5399
5400 * src/conflicts.c: entered into RCS
5401
5402 1994-01-02 Richard Stallman <rms@gnu.org>
5403
5404 * Makefile.in: *** empty log message ***
5405
5406 1993-11-21 Richard Stallman <rms@gnu.org>
5407
5408 * src/bison.s1: *** empty log message ***
5409
5410 1993-11-21 Richard Stallman <rms@gnu.org>
5411
5412 * doc/bison.texinfo: entered into RCS
5413
5414 * doc/bison.texinfo: *** empty log message ***
5415
5416 1993-11-21 Richard Stallman <rms@gnu.org>
5417
5418 * bison.simple: *** empty log message ***
5419
5420 1993-10-25 David J. MacKenzie <djm@gnu.org>
5421
5422 * doc/bison.texinfo: *** empty log message ***
5423
5424 1993-10-19 Richard Stallman <rms@gnu.org>
5425
5426 * src/bison.s1: *** empty log message ***
5427
5428 1993-10-19 Richard Stallman <rms@gnu.org>
5429
5430 * bison.simple: *** empty log message ***
5431
5432 1993-10-14 Richard Stallman <rms@gnu.org>
5433
5434 * src/bison.s1: *** empty log message ***
5435
5436 1993-10-14 Richard Stallman <rms@gnu.org>
5437
5438 * bison.simple: *** empty log message ***
5439
5440 1993-09-14 David J. MacKenzie <djm@gnu.org>
5441
5442 * doc/bison.texinfo: *** empty log message ***
5443
5444 1993-09-13 Noah Friedman <friedman@gnu.org>
5445
5446 * Makefile.in: *** empty log message ***
5447
5448 1993-09-10 Richard Stallman <rms@gnu.org>
5449
5450 * src/conflicts.c: *** empty log message ***
5451
5452 * src/system.h: entered into RCS
5453
5454 1993-09-10 Richard Stallman <rms@gnu.org>
5455
5456 * doc/bison.1: entered into RCS
5457
5458 1993-09-06 Noah Friedman <friedman@gnu.org>
5459
5460 * src/version.c: entered into RCS
5461
5462 1993-09-06 Noah Friedman <friedman@gnu.org>
5463
5464 * Makefile.in: *** empty log message ***
5465
5466 1993-07-30 David J. MacKenzie <djm@gnu.org>
5467
5468 * Makefile.in: *** empty log message ***
5469
5470 1993-07-24 Richard Stallman <rms@gnu.org>
5471
5472 * src/bison.s1: *** empty log message ***
5473
5474 1993-07-24 Richard Stallman <rms@gnu.org>
5475
5476 * bison.simple: *** empty log message ***
5477
5478 1993-07-08 David J. MacKenzie <djm@gnu.org>
5479
5480 * Makefile.in: *** empty log message ***
5481
5482 1993-07-04 Richard Stallman <rms@gnu.org>
5483
5484 * src/bison.s1: *** empty log message ***
5485
5486 1993-07-04 Richard Stallman <rms@gnu.org>
5487
5488 * bison.simple: *** empty log message ***
5489
5490 1993-06-26 David J. MacKenzie <djm@gnu.org>
5491
5492 * src/getargs.c: entered into RCS
5493
5494 1993-06-26 David J. MacKenzie <djm@gnu.org>
5495
5496 * doc/bison.texinfo: *** empty log message ***
5497
5498 * doc/bison.1: New file.
5499
5500 1993-06-25 Richard Stallman <rms@gnu.org>
5501
5502 * src/getargs.c: New file.
5503
5504 1993-06-16 Richard Stallman <rms@gnu.org>
5505
5506 * src/bison.s1: *** empty log message ***
5507
5508 1993-06-16 Richard Stallman <rms@gnu.org>
5509
5510 * bison.simple: *** empty log message ***
5511
5512 1993-06-03 Richard Stallman <rms@gnu.org>
5513
5514 * src/bison.s1: New file.
5515
5516 1993-06-03 Richard Stallman <rms@gnu.org>
5517
5518 * doc/bison.texinfo: *** empty log message ***
5519
5520 1993-06-03 Richard Stallman <rms@gnu.org>
5521
5522 * bison.simple: New file.
5523
5524 1993-05-19 Richard Stallman <rms@gnu.org>
5525
5526 * doc/bison.texinfo: New file.
5527
5528 1993-05-07 Noah Friedman <friedman@gnu.org>
5529
5530 * Makefile.in: *** empty log message ***
5531
5532 1993-04-28 Noah Friedman <friedman@gnu.org>
5533
5534 * src/reader.c: *** empty log message ***
5535
5536 1993-04-23 Noah Friedman <friedman@gnu.org>
5537
5538 * src/alloc.h: entered into RCS
5539
5540 1993-04-20 David J. MacKenzie <djm@gnu.org>
5541
5542 * src/version.c: *** empty log message ***
5543
5544 * src/files.c, src/allocate.c:
5545 entered into RCS
5546
5547 * src/reader.c: *** empty log message ***
5548
5549 * src/lex.c: entered into RCS
5550
5551 * src/conflicts.c: New file.
5552
5553 * src/symtab.c: entered into RCS
5554
5555 * src/alloc.h: New file.
5556
5557 * src/LR0.c: entered into RCS
5558
5559 1993-04-18 Noah Friedman <friedman@gnu.org>
5560
5561 * src/reader.c: New file.
5562
5563 * src/version.c: *** empty log message ***
5564
5565 1993-04-18 Noah Friedman <friedman@gnu.org>
5566
5567 * Makefile.in: *** empty log message ***
5568
5569 1993-04-17 Noah Friedman <friedman@gnu.org>
5570
5571 * Makefile.in: *** empty log message ***
5572
5573 1993-04-15 Richard Stallman <rms@gnu.org>
5574
5575 * src/main.c, src/files.c:
5576 New file.
5577
5578 1993-04-15 Noah Friedman <friedman@gnu.org>
5579
5580 * configure.in: entered into RCS
5581
5582 * configure.in: *** empty log message ***
5583
5584 * configure.in: New file.
5585
5586 1993-04-14 Richard Stallman <rms@gnu.org>
5587
5588 * Makefile.in: New file.
5589
5590 1993-04-13 Richard Stallman <rms@gnu.org>
5591
5592 * src/version.c: New file.
5593
5594 1993-03-25 Richard Stallman <rms@gnu.org>
5595
5596 * src/output.c: entered into RCS
5597
5598 1992-09-25 Richard Stallman <rms@gnu.org>
5599
5600 * configure.bat: entered into RCS
5601
5602 1992-06-22 Richard Stallman <rms@gnu.org>
5603
5604 * src/vmsgetargs.c: entered into RCS
5605
5606 1992-06-22 Richard Stallman <rms@gnu.org>
5607
5608 * doc/bison.rnh: entered into RCS
5609
5610 1992-04-20 David J. MacKenzie <djm@gnu.org>
5611
5612 * README: entered into RCS
5613
5614 1992-01-22 Richard Stallman <rms@gnu.org>
5615
5616 * src/machine.h: entered into RCS
5617
5618 1991-12-21 Richard Stallman <rms@gnu.org>
5619
5620 * src/lalr.c, src/closure.c:
5621 entered into RCS
5622
5623 1991-12-20 Richard Stallman <rms@gnu.org>
5624
5625 * src/state.h: entered into RCS
5626
5627 1991-12-18 Richard Stallman <rms@gnu.org>
5628
5629 * src/print.c, src/nullable.c, src/derives.c:
5630 entered into RCS
5631
5632 1991-11-03 David J. MacKenzie <djm@gnu.org>
5633
5634 * src/warshall.c, src/types.h, src/symtab.h, src/lex.h, src/gram.c, src/gram.h, src/files.h:
5635 entered into RCS
5636
5637 1988-09-09 Richard Stallman <rms@gnu.org>
5638
5639 * src/bison.hairy: entered into RCS
5640
5641 1987-12-16 Richard Stallman <rms@gnu.org>
5642
5643 * REFERENCES: entered into RCS