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