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