📄 changelog
字号:
Get files from the gnulib and po repositories, instead of relying on them being in our CVS. Upgrade to latest versions of gnulib and Automake. * Makefile.am (SUBDIRS): Remove m4; Automake now does m4. * bootstrap: Bootstrap from gnulib and po repositories. Much of this code was stolen from GNU diff and GNU tar's bootstrap. * README-cvs: Document these changes. Remove version numbers from mentions of build tools, since they change so often. Mention Flex. * configure.ac (AC_CONFIG_MACRO_DIR): Add, with m4 as arg. (gl_USE_SYSTEM_EXTENSIONS): Add. (AC_GNU_SOURCE, AC_AIX, AC_MINIX): Remove; no longer needed, as gl_USE_SYSTEM_EXTENSIONS does this for us. (AC_ISC_POSIX): Remove; we no longer support this ancient OS, as it gets in the way of latest Autoconf & gnulib. (AC_HEADER_STDC): Remove: we now assume C89 or better. (AC_CHECK_HEADERS_ONCE): Use instead of AC_CHECK_HEADERS. Do not check for C89 headers, except for locale.h which is used by the Yacc library and must port to K&R hosts. (AC_CHECK_FUNCS_ONCE): Use instead of AC_CHECK_FUNCS. Do not check for C89 functions, except for setlocale which is used by the Yacc library. (AC_CHECK_DECLS, AC_REPLACE_FUNCS): Remove; no longer needed. (gl_DIRNAME, gl_ERROR, gl_FUNC_ALLOCA, gl_FUNC_MEMCHR, gl_FUNC_MEMRCHR, gl_FUNC_STPCPY, gl_FUNC_STRNLEN, gl_FUNC_STRTOL, gl_GETOPT, gl_HASH, gl_MBSWIDTH, gl_OBSTACK, gl_QUOTE, gl_QUOTEARG, gl_XALLOC, jm_FUNC_GLIBC_UNLOCKED_IO, jm_FUNC_MALLOC, AM_GNU_GETTEXT): Remove; now done by: (GNULIB_AUTOCONF_SNIPPET): Add. "bootstrap" builds this for us. (AC_CONFIG_FILES): Remove m4/Makefile, as Automake now does this for us. * lib/Makefile.am: Include gnulib.mk, built for us by "bootstrap". (BUILT_SOURCES, EXTRA_DIST, MOSTLYCLEANFILES): Define to empty, as gnulib.mk will do the rest for us. ($(libbison_a_OBJECTS), stdbool.h): Remove, as gnulib.mk does this for us. (libbison_a_SOURCES): Define to $(lib_SOURCES) now. (lib_SOURCES): New symbol, containing only the non-gnulib libs. * src/files.c: Include gnulib's xstrndup.h. * src/system.h (MALLOC): Use xnmalloc, for better overflow checking. (REALLOC): Use xnrealloc, for likewise. (xstrndup, stpcpy): Remove decls, as gnulib does this for us now. (strnlen, memrchr): Remove decls; functions no longer used. Include <stpcpy.h>. * config/depcomp, config/install-sh, lib/alloca.c, lib/argmatch.c, lib/argmatch.h, lib/basename.c, lib/dirname.c, lib/dirname.h, lib/error.c, lib/error.h, lib/getopt.c, lib/getopt.h, lib/getopt1.c, lib/gettext.h, lib/hash.c, lib/hash.h, lib/malloc.c, lib/mbswidth.c, lib/mbswidth.h, lib/memchr.c, lib/memcmp.c, lib/memrchr.c, lib/obstack.c, lib/obstack.h, lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/realloc.c, lib/stdbool_.h, lib/stpcpy.c, lib/strcasecmp.c, lib/strchr.c, lib/strncasecmp.c, lib/strnlen.c, lib/strrchr.c, lib/strspn.c, lib/strtol.c, lib/strtoul.c, lib/unlocked-io.h, lib/xalloc.h, lib/xmalloc.c, lib/xstrdup.c, lib/xstrndup.c, m4/Makefile.am, m4/alloca.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/getopt.m4, m4/hash.m4, m4/malloc.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4, m4/memcmp.m4, m4/memrchr.m4, m4/obstack.m4, m4/onceonly.m4, m4/prereq.m4, m4/quote.m4, m4/quotearg.m4, m4/realloc.m4, m4/stdbool.m4, m4/stpcpy.m4, m4/strnlen.m4, m4/strtol.m4, m4/strtoul.m4, m4/unlocked-io.m4, m4/xalloc.m4, po/LINGUAS, po/Makefile.in.in, po/Makevars, po/da.po, po/de.po, po/es.po, po/et.po, po/fr.po, po/hr.po, po/id.po, po/it.po, po/ja.po, po/ms.po, po/nl.po, po/pt_BR.po, po/ro.po, po/ru.po, po/sv.po, po/tr.po: Remove, as these files are now generated automatically by bootstrap or automake. * po/ChangeLog: Remove: all but one entry was a duplicate of this file, and I moved that 2000-11-02 entry here. * config/.cvsignore: Add Makefile, depcomp, install-sh. * lib/.cvsignore: Add alloca.c, alloca.h, alloca_.h, argmatch.c, argmatch.h, basename.c, dirname.c, dirname.h, error.c, error.h, exit.h, exitfail.c, exitfail.h, getopt.c, getopt.h, getopt1.c, getopt_int.h, gettext.h, gnulib.mk, hard-locale.c, hard-locale.h, hash.c, hash.h, malloc.c, mbswidth.c, mbswidth.h, memchr.c, memcmp.c, memrchr.c, obstack.c, obstack.h, quote.c, quote.h, quotearg.c, quotearg.h, realloc.c, stdbool_.h, stpcpy.c, stpcpy.h, strcasecmp.c, strchr.c, stripslash.c, strncasecmp.c, strndup.c, strnlen.c, strrchr.c, strspn.c, strtol.c, strtoul.c, unlocked-io.h, xalloc.h, xmalloc.c, xstrdup.c, xstrndup.c, xstrndup.h. * m4/.cvsignore: Remove Makefile, Makefile.in. Add alloca.m4, dirname.m4, dos.m4, error.m4, getopt.m4, hash.m4, mbrtowc.m4, mbswidth.m4, obstack.m4, onceonly.m4, quote.m4, quotearg.m4, stdbool.m4, stpcpy.m4, strnlen.m4, unlocked-io.m4, xalloc.m4. * po/.cvsignore: Add *.po, LINGUAS, Makefile.in.in, Makevars. * src/.cvsignore: Remove *_.c. * Makefile.maint (GZIP_ENV): Don't use --rsyncable if gzip doesn't support it. (The latest stable gzip doesn't.)2004-04-27 Paul Eggert <eggert@twinsun.com> * data/lalr1.cc (Parser::stos_) [! YYDEBUG]: Define even in this case, as stos_ is now used by destructors due to the 2004-02-09 change. Remove more K&R C support. * lib/libiberty.y (PARAMS): Remove. All uses removed. * lib/subpipe.c (errno): Remove decl. Include <stdlib.h> unconditionally. (EXIT_FAILURE): Remove macro. * src/complain.c (vfprintf, strerror): Remove. * src/system.h: Include limits.h, stdlib.h, string.h, locale.h unconditionally. (EXIT_FAILURE, EXIT_SUCCESS, setlocale): Remove defns. Use latest Autoconf recommendations for including inttypes.h, stdint.h. (strchr, strspn, memchr): Remove decls. * tests/calc.at (_AT_DATA_CALC_Y): Include stdlib.h, string.h unconditionally. Do not declare perror. * tests/conflicts.at (%nonassoc and eof): Include stdlib.h unconditionally. * src/complain.c (_): Remove useless defn, as system.h defines this. * lib/bitset.h (__INT_TO_PTR): Remove; workaround no longer needed with latest obstack.h. * lib/ebitset.c (ebitset_elt_alloc): Don't bother to cast args to procedure types, as obstack.h now does that for us. * lib/lbitset.c (lbitset_elt_alloc): Likewise. * lib/subpipe.h [HAVE_SYS_TYPES_H]: Include <sys/types.h>, so that this include file can stand alone. * lib/subpipe.c: Do not include <sys/types.h>, as subpipe.h does this now. Include subpipe.h first after config.h, to test whether it can stand alone. * tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): Don't declare yyerror when using lalr.cc, as GCC 3.4.0 warns about the unused declaration. * tests/synclines.at (%union synch line): Put a dummy member in the union, because empty unions aren't allowed in C. Caught by GCC 3.4.0.2004-04-13 Jim Meyering <jim@meyering.net> * src/conflicts.c (conflicts_print): Correct format string typo: use `%%' to produce literal `%'. (trivial change)2004-03-30 Paul Eggert <eggert@twinsun.com> * src/getargs.c (version): Update copyright year to 2004. * data/c.m4 (b4_int_type): Use 'short int' rather than 'short', and similarly for 'long', 'unsigned', etc. * data/glr.c (YYTRANSLATE, yyconfl, yySymbol, yyItemNum, yygetLRActions, yyprocessOneStack, yyrecoverSyntaxError, yy_yypstack, yydumpstack): Likewise. * data/lalr1.cc (user_token_number_max_, user_token_number_max_, translate_, seq_, [], pop, Slice, range_, operator+, operator+=): Likewise. * data/yacc.c (b4_int_type, yyss, YYSTACK_BYTES, yysigned_char, yy_stack_print, yyparse): Likewise. * doc/bison.texinfo (Prologue, Multiple Types): Likewise. * lib/bbitset.h (bitset_word, BITSET_WORD_BITS): Likewise. * lib/bitset.c (bitset_print): Likewise. * lib/bitset_stats.c (bitste_log_histogram_print): Likewise. * lib/bitsetv-print.c (bitsetv_matrix_dump): Likewise. * lib/bitsetv.c (bitsetv_dump): Likewise. * lib/ebitset.c (EBITSET_ELT_BITS, ebitset_elt_alloc): Likewise. * lib/lbitset.c (LBITSET_ELT_BITS, lbitset_elt_alloc, debug_lbitset): Likewise. * src/LR0.c (allocate_itemsets): Likewise. * src/gram.h (rule_number, rule): Likewise. * src/lalr.h (goto_number): Likewise. * src/nullable.c (nullable_compute): Likewise. * src/output.c (prepare_rules): Likewise. * src/relation.c (relation_print, relation_digraph): Likewise. * src/relation.h (relation_node): Likewise. * src/state.h (state_number, transitions, errs, reductions, struct state): Likewise. * src/symtab.h (symbol_number, struct symbol): Likewise. * src/tables.c (vector_number, tally, action_number, default_goto, goto_actions): Likewise. * tests/existing.at (GNU Cim Grammar): Likewise. * tests/regression.at (Web2c Actions): Likewise. * src/output.c (muscle_insert_short_int_table): Renamed from muscle_insert_short_table. All uses changed.2004-03-25 Paul Hilfinger <hilfingr@tully.CS.Berkeley.EDU> * src/parse-gram.y: Define PERCENT_EXPECT_RR. (declaration): Replace expected_conflicts with expected_sr_conflicts. Add %expect-rr rule. * src/scan-gram.l: Recognize %expect-rr. * src/conflicts.h (expected_sr_conflicts): Rename from expected_conflicts. (expected_rr_conflicts): Declare. * src/conflicts.c (expected_sr_conflicts): Rename from expected_conflicts. (expected_rr_conflicts): Define. (conflicts_print): Check r/r conflicts against expected_rr_conflicts for GLR parsers. Use expected_sr_conflicts in place of expected_conflicts. Warn if expected_rr_conflicts used in non-GLR parser. * doc/bison.texinfo: Add documentation for %expect-rr.2004-03-08 Paul Eggert <eggert@gnu.org> Add support for hex token numbers. Suggested by Odd Arild Olsen in <http://lists.gnu.org/archive/html/bison-patches/2004-03/msg00000.html>. * NEWS: Document hexadecimal tokens, no NUL bytes, %destructor in lalr1.cc. * doc/bison.texinfo (Token Decl): Add hexadecimal token numbers. * src/scan-gram.l (scan_integer): New function. ({int}): Use it. (0[xX][0-9abcdefABCDEF]+): New pattern, to support hex numbers. (<SC_ESCAPED_STRING,SC_ESCAPED_CHARACTER>, \\x[0-9abcdefABCDEF]+, handle_action_dollar, handle_action_at, convert_ucn_to_byte): Say "long int", not "long", for uniformity with GNU style.2004-02-25 Paul Eggert <eggert@twinsun.com> * tests/local.at (AT_COMPILE, AT_COMPILE_CXX): Ignore stdout from compilers. This fixes a problem with Intel's C++ compiler being chatty, reported by Guido Trentalancia in <http://lists.gnu.org/archive/html/bug-bison/2004-02/msg00030.html>.2004-02-09 Alexandre Duret-Lutz <adl@gnu.org> Support %destructor and merge error locations in lalr1.cc. * data/lalr1.cc (b4_cxx_destruct_def): New macro. (Parser::stos_): Define unconditionally. (Parser::destruct_): New method. Generate its body with b4_yydestruct_generate. (Parser::error_start_): New attribute. (Parser::parse) <yyerrlab, yyerrlab1>: Call destruct_ on erroneous token which are discarded. (Parser::parse) <yyerrlab, yyerrorlab, yyerrlab1>: Update error_start_ when erroneous token are discarded. (Parser::parse) <yyerrlab1>: Compute the location of the error token so that it covers all the discarded tokens. * tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): Adjust so it can be called with `%skeleton "lalr1.cc"', and do that.2004-02-02 Paul Eggert <eggert@twinsun.com> * src/Makefile.am (AM_CPPFLAGS): New macro. It mentions $(top_srcdir)/lib and ../lib. This fixes a bug reported by Paul Hilfinger; the old INCLUDES value didn't mention ../lib. There's no need to mention top_builddir since Automake does that for us. (INCLUDES): Remove, as Automake says it's obsolescent. Contents migrated into AM_CPPFLAGS as described above. * lib/Makefile.am (INCLUDES): Remove; obsolescent.2004-01-14 Paul Hilfinger <hilfingr@CS.Berkeley.EDU> * data/glr.c (yytokenName): Bullet-proof against YYEMPTY token. (yyreportSyntaxError): Handle case where lookahead token is YYEMPTY.2004-01-13 Paul Hilfinger <Hilfinger@CS.Berkeley.EDU> * data/glr.c: Put casts on uses of YYREALLOC and YYMALLOC so that resulting parsers are compilable with C++.2003-12-23 Paul Eggert <eggert@twinsun.com> * config/depcomp, config/install-sh: Sync with Automake 1.8. * src/output.c (output_skeleton): Rename local var. * tests/input.at (Torturing the Scanner): Don't use \x0 or \0 in Bison tokens, as this runs afoul of the 2003-10-07 change that disallowed NUL bytes in character constants or string literals. * tests/local.at: Require Autoconf 2.59's Autotest. * tests/testsuite.at: Don't include local.at, since we now assume Autoconf 2.59 or later. Autoconf 2.59 had some problems with including it. * tests/Makefile.am ($(TESTSUITE)): Remove warning about ignoring multiple inclusion warnings.2003-12-02 Akim Demaille <akim@epita.fr> * doc/bison.texinfo (How Can I Reset the Parser): More about start conditions. From Bruno Haible.2003-11-18 Alexandre Duret-Lutz <adl@gnu.org> * doc/bison.texinfo (Bison Options): Escape `@' in `$@'.2003-10-07 Paul Eggert <eggert@twinsun.com> * tests/Makefile.am (clean-local): Don't run 'testsuite --clean' if testsuite doesn't exist. * doc/bison.texinfo (Symbols): NUL bytes are not allowed in string literals, unfortunately. * src/scan-gram.l (<SC_ESCAPED_STRING,SC_ESCAPED_CHARACTER>): Complain about NUL bytes in character constants or string literals.2003-10-05 Paul Eggert <eggert@twinsun.com> * NEWS: Don't document %no-default-prec, as it's still too experimental. * doc/bison.texinfo: Document %no-default-prec only if the defaultprec flag is set. Normally it's not.2003-10-04 Paul Eggert <eggert@twinsun.com> * data/glr.c (b4_rhs_value, b4_rhs_location): Yield a non-modifiable lvalue, instead of a modifiable one. * doc/bison.texinfo (Actions): Document that $$ can be assigned to. Do not claim that $$ and $N are array element references: user code should not rely on this.2003-10-01 Paul Eggert <eggert@twinsun.com> * src/parse-gram.h (PERCENT_NO_DEFAULT_PREC): New token. (grammar_declaration): Use it. * src/scan-gram.l: New token %no-default-prec. * tests/conflicts.at: Revamp tests to use %no-default-prec.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -