X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/1239777d4f4f96a23e5cd177121f16f0d9e71c68..550245801ebf0b39ba470fa5e9be8eb8a576134b:/ChangeLog diff --git a/ChangeLog b/ChangeLog index 57c91724..cb69ee05 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,483 @@ +2002-03-04 Akim Demaille + + * src/lex.c (parse_percent_token): Be sure to 0-end token_buffer + before returning. + Reported by Benoit Perrot. + +2002-03-04 Akim Demaille + + Use bitset operations when possible, not loops over bits. + + * src/conflicts.c (set_conflicts, count_sr_conflicts): Use + bitset_or. + * src/print.c (print_reductions): Use bitset_and, bitset_andn. + * src/reduce.c (useless_nonterminals): Formatting changes. + * src/warshall.c (TC): Use bitset_or. + + +2002-03-04 Akim Demaille + + * src/lalr.h, src/lalr.c (tokensetsize): Remove, unused. + * src/system.h (BITS_PER_WORD, WORDSIZE, SETBIT, RESETBIT, BITISSET): + Ditto. + + +2002-03-04 Akim Demaille + + * src/lalr.c (F): Now a bitset*. + Adjust all dependencies. + + +2002-03-04 Akim Demaille + + * src/conflicts.c (shiftset, lookaheadset): Now bitset. + Adjust all dependencies. + + +2002-03-04 Akim Demaille + + * src/L0.c, src/LR0.h (nstates): Be size_t. + Adjust comparisons (signed vs unsigned). + * src/conflics.c, src/lalr.c, src/lalr.h, src/output.c (LA): Now a + bitset*. + Adjust all dependencies. + + +2002-03-04 Akim Demaille + + * src/closure.c (firsts): Now, also a bitset. + Adjust all dependencies. + (varsetsize): Remove, now unused. + * src/warshall.h, src/warshall.c: Now work on arrays of bitsets. + +2002-03-04 Akim Demaille + + * src/print.c: Convert to use bitset.h, not hand coded iterations + over ints. + + +2002-03-04 Akim Demaille + + * src/reduce.c: Convert to use bitset.h, not hand coded BSet. + +2002-03-04 Akim Demaille + + * src/closure.c (ruleset): Be a bitset. + (rulesetsize): Remove. + + +2002-03-04 Akim Demaille + + * lib/bitset-int.h, lib/bitset.c, lib/bitset.h, lib/bitsetv.c, + * lib/bitsetv.h, lib/ebitset.c, lib/ebitset.h, lib/lbitset.c, + * lib/lbitset.h, lib/sbitset.c, lib/sbitset.h: New. + * src/closure.c (fderives): Be an array of bitsets. + +2002-02-28 Robert Anisko + + * data/bison.c++: Merge the two generated headers. Insert a copyright + notice in each output file. + +2002-02-28 Akim Demaille + + * data/bison.c++: Copy the prologue of bison.simple to fetch + useful M4 definitions, such as b4_header_guard. + +2002-02-25 Akim Demaille + + * src/getargs.c (version): Give the name of the authors, and use a + translator friendly scheme for the bgr + copyright notice. + +2002-02-25 Akim Demaille + + * src/output.c (header_output): Remove, now handled completely via + M4. + +2002-02-25 Akim Demaille + + * m4/m4.m4: New, from CVS Autoconf. + * configure.in: Invoke it. + * src/output.c (output_skeleton): Use its result instead of the + hard coded name. + +2002-02-25 Akim Demaille + + * lib/tempname.c, lib/mkstemp.c, m4/mkstemp.m4: New, stolen from + Fileutils 4.1.5. + * configure.in: Invoke UTILS_FUNC_MKSTEMP. + * src/output.c (output_skeleton): Use mkstemp to create a real + temporary file. + Move the filling of `skeleton' and its muscle to... + (prepare): here. + (output): Move the definition of the prologue muscle to... + (prepare): here. + * src/system.h (DEFAULT_TMPDIR): New. + +2002-02-14 Paul Eggert + + Remove the support for C++ namespace cleanliness; it was + causing more problems than it was curing, since it didn't work + properly on some nonstandard C++ compilers. This can wait + for a proper C++ parser. + + * NEWS: Document this. + * doc/bison.texinfo (Bison Parser, Debugging): Remove special mention + of C++, as it's treated like C now. + * src/bison.simple (YYSTD): Remove. + (YYSIZE_T, YYFPRINTF, YYPARSE_PARAM_ARG, YYPARSE_PARAM_DECL): + Treat C++ just like Standard C instead of trying to support + namespace cleanliness. + +2002-02-14 Akim Demaille + + * tests/regression.at (else): Adjust to Andreas' change. + +2002-02-14 Akim Demaille + + * lib/Makefile.am (EXTRA_DIST): Ship strnlen.c. + +2002-02-13 Andreas Schwab + + * src/output.c (output_rule_data): Don't output NULL, it might + not be defined yet. + +2002-02-11 Robert Anisko + + * data/bison.c++ (YYDEBUG, YYERROR_VERBOSE): After the prologue. + (Copyright notice): Update. + +2002-02-11 Akim Demaille + + * tests/regression.at (%nonassoc and eof): Don't include + nonportable headers. + +2002-02-08 Robert Anisko + + * data/bison.c++: Correct error recovery. Make the user able to + initialize the starting location. + +2002-02-07 Akim Demaille + + * tests/input.at: New. + +2002-02-07 Robert Anisko + + * data/bison.c++: Replace some direct m4 expansions by constants. Be + more consistent when naming methods and variables. Put preprocessor + directives around tables only needed for debugging. + +2002-02-07 Robert Anisko + + * data/bison.c++ (yy::b4_name::print_): New method, replaces yyprint in + C++ parsers. + (yy::b4_name::parse): Use print_. + +2002-02-07 Robert Anisko + + * data/bison.c++ (yy::b4_name::parse): Error recovery is back. + +2002-02-07 Robert Anisko + + * data/bison.c++ (yy::b4_name::error_): New method, replaces yyerror in + C++ parsers. + (yy::b4_name::parse): Build verbose error messages, and use error_. + +2002-02-06 Robert Anisko + + * data/bison.c++: Fix m4 quoting in comments. + +2002-02-06 Robert Anisko + + * data/bison.c++: Adjust the parser code. Fix some muscles that were + not expanded by m4. + +2002-02-05 Akim Demaille + + * data/bison.c++: Adjust to the M4 back end. + More is certainly needed. + +2002-02-05 Akim Demaille + + Give a try to M4 as a back end. + + * lib/readpipe.c: New, from wdiff. + * src/Makefile.am (DEFS): Define PKGDATADIR, not BISON_SIMPLE and + BISON_HAIRY. + * src/system.h (BISON_HAIRY, BISON_SIMPLE): Remove the DOS and VMS + specific values. Now it is m4 that performs the lookup. + * src/parse-skel.y: Remove. + * src/muscle_tab.c, src/muscle_tab.h (muscles_m4_output): New. + * src/output.c (actions_output, guards_output) + (token_definitions_output): No longer keeps track of the output + line number, hence remove the second argument. + (guards_output): Check against the guard member of a rule, not the + action member. + Adjust callers. + (output_skeleton): Don't look for the skeleton location, let m4 do + that. + Create `/tmp/muscles.m4'. This is temporary, a proper temporary + file will be used. + Invoke `m4' on m4sugar.m4, muscles.m4, and the skeleton. + (prepare): Given that for the time being changesyntax is not + usable in M4, rename the muscles using `-' to `_'. + Define `defines_flag', `output_parser_name' and `output_header_name'. + * src/output.h (actions_output, guards_output) + (token_definitions_output): Adjust prototypes. + * src/scan-skel.l: Instead of scanning the skeletons, it now + processes the output of m4: `__oline__' and `#output'. + * data/bison.simple: Adjust to be used by M4(sugar). + * tests/Makefile.am: Use check_SCRIPTS to make sure `bison' is up + to date. + * tests/bison.in: Use the secrete envvar `BISON_PKGDATADIR' + instead of the dead `BISON_SIMPLE' and `BISON_HAIRY'. + * data/m4sugar/m4sugar.m4, data/m4sugar/version.m4: New, + shamelessly stolen from CVS Autoconf. + +2002-02-05 Akim Demaille + + * lib/hash.c, lib/hash.h: Replace with Fileutils 4.1's version. + * configure.in: Check for the declarations of free and malloc. + * src/muscle_tab.c: Adjust. + +2002-02-05 Akim Demaille + + * src/muscle_tab.c (muscle_init): Don't default to NULL muscle + which have no values. + +2002-02-05 Akim Demaille + + * src/bison.simple, src/bison.hairy, src/bison.c++: Move to... + * data/: here. + +2002-01-29 Paul Eggert + + * src/bison.simple (YYSIZE_T): Do not define merely because + YYSTACK_USE_ALLOCA is nonzero or alloca or _ALLOCA_H are defined. + On some platforms, does not declare YYSTD (size_t). + +2002-01-27 Akim Demaille + + Fix `%nonassoc and eof'. + + * src/state.c (errs_dup): Aaaah! The failure was due to bytes + which were not properly copied! Replace + memcpy (res->errs, src->errs, src->nerrs); + with + memcpy (res->errs, src->errs, src->nerrs * sizeof (src->errs[0])); + !!! + * tests/regression.at (%nonassoc and eof): Adjust to newest + Autotest: `.' is not in the PATH. + +2002-01-27 Akim Demaille + + * tests/sets.at (AT_EXTRACT_SETS): New. + (Nullable): Use it. + (Firsts): New. + +2002-01-26 Akim Demaille + + * tests/actions.at, tests/calc.at, tests/headers.at, + * tests/torture.at: Adjust to the newest Autotest which no longer + forces `.' in the PATH. + +2002-01-25 Akim Demaille + + * tests/regression.at (%nonassoc and eof): New. + Suggested by Robert Anisko. + +2002-01-24 Akim Demaille + + Bison dumps core when trying to complain about broken input files. + Reported by Cris van Pelt. + + * src/lex.c (parse_percent_token): Be sure to set token_buffer. + * tests/regression.at (Invalid input: 1, Invalid input: 2): Merge + into... + (Invalid inputs): Strengthen: exercise parse_percent_token. + +2002-01-24 Robert Anisko + + * src/Makefile.am: Add bison.c++. + * src/bison.c++: New skeleton. + +2002-01-21 Paolo Bonzini + + * po/it.po: New. + +2002-01-21 Kees Zeelenberg + + * src/files.c (skeleton_find) [MSDOS]: Fix cp definition. + +2002-01-20 Marc Autret + + * src/files.c (compute_output_file_names): Fix + +2002-01-20 Marc Autret + + * tests/output.at: New test. + * src/files.c (compute_base_names): Don't map extensions when + the YACC flag is set, use defaults. + Reported by Evgeny Stambulchik. + +2002-01-20 Marc Autret + + * src/system.h: Need to define __attribute__ away for non-GCC + compilers as well (i.e. the vendor C compiler). + Suggested by Albert Chin-A-Young. + +2002-01-11 Tim Van Holder + + * lib/hash.h, lib/hash.c: Renamed __P to PARAMS and used the + canonical definition. + * src/system.h: Use the canonical definition for PARAMS (avoids + a conflict with the macro from lib/hash.h). + +2002-01-11 Akim Demaille + + * configure.in: Use AC_FUNC_STRNLEN. + Fixes the failures observed on AIX 4.3 by H.Merijn Brand. + +2002-01-09 Akim Demaille + + * src/files.c, src/files.h (output_infix): New. + (tab_extension): Remove. + (compute_base_names): Compute the former, drop the latter. + * src/output.c (prepare): Insert the muscles `output-infix', and + `output-suffix'. + * src/parse-skel.y (string, string.1): New. + (section.header): Use it. + (section.yacc): Remove. + (prefix): Remove too. + * src/scan-skel.l: Adjust. + * src/bison.simple, src/bison.hairy: Adjust. + +2002-01-09 Akim Demaille + + * configure.in (WERROR_CFLAGS): Compute it. + * src/Makefile.am (CFLAGS): Pass it. + * tests/atlocal.in (CFLAGS): Idem. + * src/files.c: Fix a few warnings. + (get_extension_index): Remove, unused. + +2002-01-08 Akim Demaille + + * src/getargs.c (AS_FILE_NAME): New. + (getargs): Use it to convert DOSish file names. + * src/files.c (base_name): Rename as full_base_name to avoid + clashes with `base_name ()'. + (filename_split): New. + (compute_base_names): N-th rewrite, using filename_split. + +2002-01-08 Akim Demaille + + * lib/basename.c, lib/dirname.h, lib/dirname.c, lib/memrchr.c: + New, stolen from the Fileutils 4.1. + * lib/Makefile.am (libbison_a_SOURCES): Adjust. + * configure.in: Check for the presence of memrchr, and of its + prototype. + +2002-01-07 Tim Van Holder + + * lib/hash.h (__P): Added definition for this macro. + * src/Makefile.am: Add parse-skel.c and scan-skel.c to + BUILT_SOURCES, to ensure they are generated first. + * src/parse-skel.y: Use YYERROR_VERBOSE instead of + %error-verbose to allow bootstrapping with bison 1.30x. + +2002-01-06 Akim Demaille + + * src/reader.c (parse_braces): Don't fetch the next char, the + convention is to fetch on entry. + * tests/torture.at (GNU Cim Grammar): Reintroduce their weird + 'switch' without a following semicolon. + * tests/regression.at (braces parsing): New. + +2002-01-06 Akim Demaille + + Bison is dead wrong in its RR conflict reports. + + * tests/torture.at (GNU Cim Grammar): New. + * src/conflicts.c (count_rr_conflicts): Fix. + +2002-01-06 Akim Demaille + + Creating package.m4 from configure.ac causes too many problems. + + * tests/Makefile.am (package.m4): Create it by hand, + AC_CONFIG_TESTDIR no longer does in the most recent CVS Autoconf. + +2002-01-06 Akim Demaille + + * src/Makefile.am (bison_SOURCES): Add parse-skel.h and + skeleton.h. + +2002-01-04 Paul Eggert + + * doc/bison.texinfo (Debugging): + Remove YYSTDERR; it's no longer defined or used. + Also, s/cstdio.h/cstdio/. + +2002-01-03 Akim Demaille + + * tests/bison.in, tests/atlocal.in: Adjust to CVS Autoconf. + +2002-01-03 Akim Demaille + + * src/parse-skel.y (process_skeleton): Don't bind the parser's + tracing code to --trace, wait for a better --trace option, with + args. + +2002-01-03 Akim Demaille + + * src/bison.simple (YYSTDERR): Remove, replace `stderr'. + The ISO C++ standard is extremely clear about it: stderr is + considered a macro, not a regular symbol (see table 94 `Header + synopsis', [lib.c.files] 27.8.2 C Library files). + Therefore std:: does not apply to it. It still does with fprintf. + Also, s/cstdio.h/cstdio/. + +2002-01-03 Akim Demaille + + * lib/quotearg.c: Use `#include "..."' instead of `#include <...>' + for non system headers. + +2002-01-02 Akim Demaille + + Equip the skeleton chain with location tracking, runtime trace, + pure parser and scanner. + + * src/parse-skel.y: Request a pure parser, locations, and prefix + renaming. + (%union): Having several members with the same type does not help + type mismatches, simplify. + (YYPRINT, yyprint): New. + (yyerror): ``Rename'' (there is a #define yyerror skel_error) as... + (skel_error): this. + Handle locations. + * src/scan-skel.l: Adjust to these changes. + * src/skeleton.h (LOCATION_RESET, LOCATION_LINES, LOCATION_STEP) + (LOCATION_PRINT, skel_control_t): New. + +2001-12-30 Akim Demaille + + * src/parse-skel.y: Get rid of the shift/reduce conflict: + replace `gb' with BLANKS. + * src/scan-skel.l: Adjust. + +2001-12-30 Akim Demaille + + * src/system.h: We don't need nor want bcopy. + Throw away MS-DOS crap: we don't need getpid. + * configure.in: We don't need strndup. It was even causing + problems: because Flex includes the headers *before* us, + _GNU_SOURCE is not defined by config.h, and therefore strndup was + not visible. + * lib/xstrndup.c: New. + * src/scan-skel.l: Use it. + Be sure to initialize yylval.muscle member when scanning a MUSCLE. + * src/parse-skel.y: Use %directives instead of #defines. + 2001-12-30 Akim Demaille * src/skeleton.h: New. @@ -15,9 +495,6 @@ buffers (which makes no other sense to me than a bug). It results in warnings for `unused: yy_flex_realloc'. - to guess if the generated parsers should have '.tab' in their - * src/Makefile.am (bison_SOURCES): Add scan-skel.l and - 2001-12-30 Robert Anisko * src/muscle_tab.h (MUSCLE_INSERT_INT, MUSCLE_INSERT_STRING) @@ -39,7 +516,7 @@ functions are used in the skeleton parser. (tab_extension): New. (compute_base_names): Use the computations done in this function - to guess if the generated parsers should have '.tab' in their + to guess if the generated parsers should have '.tab' in their names. (short_base_name): No longer static. @@ -51,7 +528,7 @@ * configure.in: Use AM_PROG_LEX and AC_PROG_YACC. - * src/Makefile.am (bison_SOURCES): Add scan-skel.l and + * src/Makefile.am (bison_SOURCES): Add scan-skel.l and parse-skel.y. * src/parse-skel.y: New file.