📄 changelog
字号:
* NEWS, doc/bison.texinfo: Document the above.2003-10-01 Akim Demaille <akim@epita.fr> VCG no longer supports long_straight_phase. * src/vcg.c, src/vcg.h: Remove the handling of long_straight_phase. * src/print_graph.c (print_graph): Adjust.2003-09-30 Frank Heckenbach <frank@g-n-u.de> and Paul Eggert <eggert@twinsun.com> * doc/bison.texinfo (Decl Summary, Contextual Precedence, Table of Symbols): Document %default-prec. * src/parse-gram.y (PERCENT_DEFAULT_PREC): New token. (grammar_declaration): Set default_prec on %default-prec. * src/scan-gram.l (%default-prec): New token. * src/reader.h (default_prec): New flag. * src/reader.c: Likewise. (packgram): Handle it. * tests/conflicts.at (%default-prec without %prec, %default-prec with %prec, %default-prec 1): New tests.2003-09-30 Paul Eggert <eggert@twinsun.com> * tests/testsuite.at: Include local.at, not input.at, fixing a typo in the 2003-08-25 patch.2003-08-27 Akim Demaille <akim@epita.fr> * data/lalr1.cc (yyparse) [__GNUC__]: "Use" yyerrorlab to pacify GCC warnings.2003-08-26 Akim Demaille <akim@epita.fr> * config/announce-gen (print_changelog_deltas): Neutralize "<#" as "<\#" to avoid magic from Gnus when posting parts of this script.2003-08-26 Akim Demaille <akim@epita.fr> * data/lalr1.cc (Parser::report_syntax_error_): New, extracted from (Parser::parse): here. Adjust: nerrs and errstatus is now replaced by... (Parser::nerrs_, Parser::errstatus_): New.2003-08-25 Akim Demaille <akim@epita.fr> * config/announce-gen, Makefile.cfg: New. * Makefile.am: Adjust. * GNUmakefile, Makefile.maint: Update from CVS Autoconf, but keeping local WGET and WGETFLAGS modifications from Paul Eggert.2003-08-25 Akim Demaille <akim@epita.fr> When reducing initial empty rules, Bison parser read an initial location that is not defined. This results in garbage, and that affects Bison's own parser. Therefore we need (i) to extend Bison to support a means to initialize this location, and (ii) to use this CVS Bison to fix CVS Bison's parser. * src/reader.h, reader.c (epilogue_augment): Remove, replace with... * src/muscle_tab.h, src/muscle_tab.c (muscle_code_grow): this. * src/parse-gram.y: Adjust. (%initial-action): New. (%error-verbose): Since we require CVS Bison, there is no reason not to use it. * src/scan-gram.l: Adjust. * src/Makefile.am (YACC): New, to make sure we use our own parser. * data/yacc.c (yyparse): Use b4_initial_action.2003-08-25 Akim Demaille <akim@epita.fr> * doc/bison.texinfo: Don't promote stdout for error messages.2003-08-25 Akim Demaille <akim@epita.fr> * data/lalr1.cc (Parser::reduce_print_): Remove unused yyi. From Alexandre Duret-Lutz.2003-08-25 Akim Demaille <akim@epita.fr> Version 1.875c.2003-08-25 Akim Demaille <akim@epita.fr> * data/lalr1.cc (Parser::stack_print_, YY_STACK_PRINT): New. Use them.2003-08-25 Akim Demaille <akim@epita.fr> * data/lalr1.cc (Parser::reduce_print_): New. Use it.2003-08-25 Akim Demaille <akim@epita.fr> Have lalr1.cc catch with Paul Eggert's patch to fix the infinite error recovery loops. This patch is based on <http://lists.gnu.org/archive/html/bison-patches/2003-06/msg00000.html>. Also, augment the similarity between lalr1.cc and yacc.c. Note: the locations of error recovery rules are not correct yet. * data/lalr1.cc: Comment changes to augment the similarity between lalr1.cc and yacc.c. (YYERROR): Goto to yyerrorlab, not yyerrlab1. (yyerrlab1): Remove, but where it used to be (now the bottom part of yyerrlab), when hitting EOF, pop the whole stack here instead of merely falling thru the default error handling mechanism. (yyerrorlab): New label, with the old contents of YYERROR, plus the following change: pop the stack of rhs corresponding to the production that invoked YYERROR. That is how Yacc behaves (required by POSIX). * tests/calc.at (AT_CHECK_CALC_LALR1_CC): No longer expected to fail.2003-08-25 Akim Demaille <akim@epita.fr> Tune local.at so that people can "autom4te -l autotest calc.at -o calc" for instance, to extract a sub test suite. * tests/testsuite.at: Move the initialization, Autotest version requirement, and AT_TESTED invocation into... * tests/local.at: here. * tests/testsuite.at: Include it for compatibility with Autoconf 2.57. * tests/Makefile.am ($(TESTSUITE)): Report that the warning should be ignore.2003-08-04 Paul Eggert <eggert@twinsun.com> Rework code slightly to avoid gcc -Wtraditional warnings. * data/glr.c (yyuserMerge): Return void, not YYSTYPE. The returned value is now stored in *YY0. All callers changed. * src/output.c (merge_output): Adjust to the above change.2003-07-26 Paul Eggert <eggert@twinsun.com> * data/glr.c (YYASSERT): New macro. (yyfillin, yydoAction, yyglrReduce, yysplitStack, yyresolveStates, yyprocessOneStack): Use `YYASSERT (FOO);' rather than `if (! (FOO)) abort ();'. Derived from a suggestion by Frank Heckenbach.2003-07-25 Paul Eggert <eggert@twinsun.com> * data/glr.c (yyglrReduce): Don't use C89 string concatenation, for portability to K&R C (after ansi2knr, presumably). See <http://lists.gnu.org/archive/html/bison-patches/2003-06/msg00041.html> by Frank Heckenbach, though I have omitted the structure-initialization part of his glr-knr.diff patch since I recall that the Portable C Compiler didn't require that change. Let the user specify how to allocate and free memory. Derived from a suggestion by Frank Heckenbach in <http://lists.gnu.org/archive/html/bison-patches/2003-06/msg00041.html>. * data/glr.c (YYFREE, YYMALLOC, YYREALLOC): New macros. All uses of free, malloc, realloc changed to use these macros, and unnecessary casts removed. * data/yacc.c (YYFREE, YYMALLOC): Likewise.2003-07-06 Matthias Mann <MatthiasMann@gmx.de> * data/lalr1.cc (operator<<(std::ostream&, const Position&)): use s.empty() rather than s == "" to test for empty string; see <http://lists.gnu.org/archive/html/bison-patches/2003-07/msg00003.html> (trivial change)2003-06-25 Akim Demaille <akim@epita.fr> * config/depcomp, config/install-sh: Update from masters.2003-06-20 Paul Eggert <eggert@twinsun.com> * data/glr.c (YYLLOC_DEFAULT): Parenthesize arguments as needed, and return properly parenthesized result. * data/lalar1.cc (YYLLOC_DEFAULT): Likewise. * data/yacc.c (YYLLOC_DEFAULT): Likewise. Remove unnecessary parentheses from uses. * doc/bison.texinfo (Location Default Action): Describe the conventions for parentheses.2003-06-19 Paul Eggert <eggert@twinsun.com> * data/glr.c (yyremoveDeletes, yy_reduce_print, yyglrReduce, yyreportTree): Do not assume that size_t is the same width as int, when printing sizes. Print sizes using an unsigned format. Problem reported by Frank Heckenbach in <http://lists.gnu.org/archive/html/bison-patches/2003-06/msg00035.html>. Port to Forte Developer 7 C compiler. * data/glr.c (struct YYLTYPE): If locations are not being used, declare a single dummy member, as empty structs do not conform to the C standard. (YYERROR, YYBACKUP): Do not use "do { ...; return foo; } while (0)"; the Forte Developer 7 C compiler complains that end-of-loop code is not reached.2003-06-17 Paul Eggert <eggert@twinsun.com> * lib/libiberty.h (PARAMS): Spell argument as Args, not as X, to avoid warnings from picky compilers about redefinition of PARAMS.2003-06-17 Paul Eggert <eggert@twinsun.com> Version 1.875b. * NEWS: Document 1.875b. * lib/bbitset.h: Do not include config.h; that's the includer's job. Do not include <sys/types.h>; shouldn't be needed on a C89 host. * lib/bitset.h (bitset_compatible_p): Indent as per GNU standard. Don't use 'index' in comments, as it's a builtin fn on some hosts. * lib/bitset_stats.c: Include gettext.h unconditionally, as per recent gettext manual's suggestion. * lib/ebitset.c (ebitset_resize, ebitset_unused_clear): Use prototypes, not old-style definitions. * lib/lbitset.c (lbitset_unused_clear): Likewise. * lib/vbitset.c (vbitset_resize, vbitset_ones, vbitset_zero, vbitset_empty_p, vbitset_copy1, vbitset_not, vbitset_equal_p, vbitset_subset_p, vbitset_disjoint_p, vbitset_and, vbitset_and_cmp, vbitset_andn, vbitset_andn_cmp, vbitset_or, vbitset_or_cmp, vbitset_xor, vbitset_xor_cmp, vbitset_and_or, vbitset_and_or_cmp, vbitset_andn_or, vbitset_andn_or_cmp, vbitset_or_and, vbitset_or_and_cmp, vbitset_copy): Likewise. * lib/libiberty.h: Do not include config.h; that's the includer's job. Do not include <stdlib.h>. (PARAMS): Define unconditionally for C89. (ATTRIBUTE_NORETURN): Remove. (ATTRIBUTE_UNUSED): Define unconditionally. Upgrade to 2003-06-08 libbitset, submitted by Michael Hayes in: <http://lists.gnu.org/archive/html/bison-patches/2003-06/msg00005.html> * lib/Makefile.am (bitsets_sources): Add vbitset.c, vbitset.h. * lib/vbitset.c, lib/vbitset.h: New files. * lib/abitset.c, lib/bbitset.h, lib/bitset.c, lib/bitset.h, lib/bitset_stats.c, lib/ebitset.c, lib/lbitset.c: Import from libbitset. * doc/bison.texinfo (How Can I Reset the Parser): Renamed from `How Can I Reset @code{yyparse}', since texinfo does not allow arbitrary @ in node names. * m4/Makefile.am (EXTRA_DIST): Add the following files, which shouldn't be needed according to the gettext 0.12.1 documentation but which seem to be needed anyway: codeset.m4 glibc21.m4 intdiv0.m4 inttypes-pri.m4 inttypes.m4 inttypes_h.m4 isc-posix.m4 lcmessage.m4 nls.m4 po.m4 stdint_h.m4 uintmax_t.m4 ulonglong.m4. * po/Makefile.in.in: Upgrade to gettext 0.12.1 version. * lib/.cvsignore: Add stdbool.h. * m4/.cvsignore: Add nls.m4, po.m4. Upgrade to CVS gnulib. * stdbool_.h: File renamed from stdbool.h.in. * configure.ac (AM_STDBOOL_H): Invoke this instead of AC_HEADER_STDBOOL. (AM_GNU_GETTEXT): Put brackets around args, as latest manual suggests. (AM_GNU_GETTEXT_VERSION): Update to 0.12.1. * lib/Makefile.am (EXTRA_DIST): Add stdbool_.h. (MOSTLYCLEANFILES): New var. ($(libbison_a_OBJECTS)): Depend on $(STDBOOL_H). (stdbool.h): New rule. * lib/dirname.c, lib/dirname.h, lib/hash.c, lib/hash.h, lib/malloc.c, lib/obstack.h, lib/quote.c, lib/realloc.c, lib/strcasecmp.c, lib/xalloc.h, m4/alloca.m4, m4/onceonly.m4, m4/quote.m4: Upgrade to today's gnulib. * tests/calc.at (AT_CHECK_CALC): New option EXPECTED-TO-FAIL. (AT_CHECK_CALC_LALR1_CC): Use it, since the C++ LALR parser fails the tests right now. * tests/cxx-type.at (_AT_TEST_GLR_CXXTYPES): Ensure yylex and yyerror are declared before use; C99 requires this.2003-06-09 Paul Hilfinger <Hilfinger@CS.Berkeley.EDU> * data/glr.c (YYERROR): Update definition to reset yyerrState to 0 first. (yyrecoverSyntaxError): Correct the logic for setting and testing yyerrState. Correct comment on handling EOF. Allow states with only a default reduction, rather than failing (I can't quite reconstruct why these were not allowed before). Fixes to avoid problem that $-N rules in GLR parsers can cause buffer overruns, corrupting state. * src/output.c (prepare_rules): Output max_left_semantic_context definition. * src/reader.h (max_left_semantic_context): New variable declaration. * src/scan-gram.l (max_left_semantic_context): Define. (handle_action_dollar): Update max_left_semantic_context. * data/glr.c (YYMAXLEFT): New definition. (yydoAction): Increase size of yyrhsVals by YYMAXLEFT. (yyresolveAction): Ditto. Fixes to problems with location handling in GLR parsers reported by Frank Heckenbach (2003/06/05). * data/glr.c (YYLTYPE): Make trivial if locations not used. (YYRHSLOC): Add parentheses, and define only if locations used. (YYLLOC_DEFAULT): Add parentheses, and give trivial definition if locations not used. (yyuserAction): Use YYLLOC_DEFAULT to set *yylocp. (yydoAction): Remove redundant initialization of *yyvalp and *yylocp. * tests/cxx-type.at: Exercise location information; update tests to differentiate output with and without locations. Remove forward declarations of yylex and yyerror---caused errors because default YYLTYPE not yet defined. Change semantic actions to compute strings, rather than printing them directly (to test proper passing of semantics values). Change output to prefix notation and update test data and expected results. (yylex): Track locations. (stmtMerge): Return value rather than printing, and include arguments in value.2003-06-03 Paul Eggert <eggert@twinsun.com> Avoid warnings generated by GCC 2.95.4 when Bison is configured with --enable-gcc-warnings. * data/lalr1.cc (yy::]b4_parser_class_name[::parse, yy::]b4_parser_class_name[::translate_, yy::Stack::operator[] (unsigned), yy::Stack::operator[] (unsigned) const, yy::Slice::operator[] (unsigned), yy::Slice::operator[] (unsigned) const): Rename local vars to avoid warnings. * tests/glr-regression.at (Improper handling of embedded actions and $-N in GLR parsers): Remove unused local variable fr
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -