📄 changelog
字号:
* lib/bitset.c (bitset_alloc): Don't cast xcalloc result. * lib/bitset_stats.c (bitset_stats_init): Likewise. * lib/bitsetv.c (bitsetv_alloc): Likewise. * po/POTFILES.in: Add lib/xalloc-die.c; remove lib/xmalloc.c. * src/relation.c (relation_transpose): Rewrite to avoid bogus complaint from maintainer-distcheck about casting the argument of 'free'. * NEWS: Mention recent yytname changes. * THANKS: Add Anthony Heading, twlevo@xs4all.nl. * bootstrap: For translations that have not yet been upgraded to the new runtime-po domain, prime the pump by extracting the relevant strings from the obsolete translations. This code can be removed once the bison-runtime domain has been translated by each team. * src/scan-gram.l (<SC_PRE_CODE>.): Don't double-quote token names, now that token names are already quoted. Fix problem reported by Anthony Heading. * data/glr.c (YYTOKEN_TABLE): New macro. (yytname): Define if YYTOKEN_TABLE. * data/yacc.c (YYTOKEN_TABLE, yytname): Likewise. * data/lalr1.cc (YYTOKEN_TABLE, yytname_): Likewise. (YYERROR_VERBOSE): Define the same way the other skeletons do. * src/output.c (prepare_symbols): Output token_table_flag.2005-07-21 Paul Eggert <eggert@cs.ucla.edu> * data/glr.c (yyinitGLRStack, yyreturn): Don't call malloc again if the first call fails. * data/glr.c (yytnamerr): New function. (yyreportSyntaxError): Use it to dequote most string literals. * data/lalr1.c (yytname_): Renamed from yyname_, for compatibility with other skeletons. All uses changed. (yytnameerr_): New function. (yyreport_syntax_error): Use it to dequote most string literals. * data/yacc.c (yytnamerr): New function. (yyerrlab): Use it to decode most string literals. * doc/bison.texinfo (Decl Summary, Calling Convention): Clarify quoting convention of yytname. * src/output.c (prepare_symbols): Quote all names. This undoes the 2005-04-17 change, which is now accomplished (mostly) via changes in the parsers as described above. * tests/regression.at (Token definitions, Web2c Actions): Undo most 2005-04-17 change here, too.2005-07-20 Paul Eggert <eggert@cs.ucla.edu> Fix more problems reported by twlevo@xs4all.nl. * tests/cxx-type.at: Don't pipe output of ./types through sed to remove trailing spaces. This loses the exit status of ./types, and isn't needed since ./types shouldn't be emitting trailing spaces. * data/glr.c (yyreturn): Don't pop stack if yyinitStateSet failed, as the stack isn't valid in that case. * src/scan-gram.l (gram_get_lineno, gram_get_in, gram_get_out): (gram_get_leng, gram_get_text, gram_set_lineno, gram_set_in): (gram_set_out, gram_get_debug, gram_set_debug, gram_lex_destroy): Add declarations to pacify "gcc -Wmissing-prototypes" when flex 2.5.31 is used. * src/scan-skel.l (skel_get_lineno, skel_get_in, skel_get_out): (skel_get_leng, skel_get_text, skel_set_lineno, skel_set_in): (skel_set_out, skel_get_debug, skel_set_debug, skel_lex_destroy): Likewise. * tests/cxx-type.at (_AT_TEST_GLR_CXXTYPES): Work even with overly-picky compilers that reject 'char *foo = "bar";'. * src/symtab.c (SYMBOL_ATTR_PRINT, symbol_print): Direct output to FILE * parameter, not to stderr. This fixes a typo introduced in the 2005-07-12 change. * lib/subpipe.c (create_subpipe): Rewrite slightly to avoid warnings from GCC 4. * data/glr.c (yyexpandGLRStack, yyaddDeferredAction, yyexpandGLRStack): (yyglrShiftDefer, yysplitStack): Remove unused parameters b4_pure_formals. All uses changed. (yyglrShift): Remove unused parameters b4_user_formals. All uses changed. (yyglrReduce): Removed unused parameter yylocp. All uses changed.2005-07-18 Paul Eggert <eggert@cs.ucla.edu> Destructor cleanups and regularization among the three skeletons. * NEWS: Document the behavior changes. * data/glr.c (yyrecoverSyntaxError): Don't bother to pop the stack before failing, as the cleanup code will do it for us now. * data/lalr1.cc (yyerrlab): Likewise. * data/glr.c (yyparse): Pop everything off the stack before freeing it, so that destructors get called properly. * data/lalr1.cc (yyreturn): Likewise. * data/yacc.c (yyreturn): Pop and destroy the start symbol, too. This is more consistent. * doc/bison.texinfo (Destructor Decl): Mention more reasons why destructors might be called. 1.875 -> 2.1. (Destructor Decl, Decl Summary, Table of Symbols): Some English-language cleanups for %destructor. * tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): Add output line for destructor of start symbol. * tests/calc.at (AT_CHECK_CALC): Add one to line counts, because of that same extra output line. * NEWS: Document minor wording changes in diagnostics of Bison-generated parsers. * data/glr.c (yyMemoryExhausted): Renamed from yyStackOverflow. Remove unused formals. All uses changed. (yyreportAmbiguity): "ambiguity detected" -> "syntax is ambiguous". (yyparse): Rename yyoverflowlab to yyexhaustedlab. * data/yacc.c (yyparse): "parser stack overflow" -> "memory exhausted". Rename yyoverflowab to yyexhaustedlab. When memory exhaustion occurs during syntax-error reporting, report it separately rather than in a single diagnostic; this eases translation. * doc/bison.texinfo (Memory Management): Renamed from Stack Overflow. (Memory Exhausted): Renamed from Parser Stack Overflow. Revamp wording slightly to prefer "memory exhaustion". * tests/actions.at: "parser stack overflow" -> "memory exhausted". * data/c.m4 (b4_yysymprint_generate): Use YYFPRINTF, not fprintf. Add i18n support to the GLR skeleton. Partially fix the C++ skeleton; a C++ expert needs to finish this. Remove debugging msgids; there's little point to having them translated, since they can be understood only by someone who can read the (English-language) source code. Generate runtime-po/bison-runtime.pot automatically, so that we don't have to worry about garbage getting in that file. We'll make sure after the next official release that old msgids don't get lost. See <http://lists.gnu.org/archive/html/bison-patches/2005-07/msg00119.html>. * runtime-po/Makefile.in.in, runtime-po/bison-runtime.pot: Remove. Now auto-generated. * PACKAGING: Don't claim that Gawk, GCC, Perl use this method yet. Fix typos in explanations of the runtime file. * bootstrap: Change gettext keyword from YYI18N to YY_. Use standard Makefile.in.in in runtime-po, since we'll arrange for backward-compatible bison-runtime.po files in a different way. * data/glr.c (YY_): New macro, from yacc.c. (yyuserAction, yyreportAmbiguity, yyreportSyntaxError, yyparse): Translate messages intended for users. (yyreportSyntaxError): Change "virtual memory" to "memory" to match the wording in the other skeletons. We don't know that the memory is virtual. * data/lalr1.cc (YY_): Renamed from _. All uses changed. Use same method that yacc.c uses. Don't translate debugging messages. (yy::yyreport_syntax_error): Put in a FIXME for the i18n stuff; it doesn't work (yet), and requires C++ expertise to fix. * data/yacc.c (YY_): Renamed from YY18N. All uses changed. Move defn to a more logical place, to be consistent with other skeletons. Don't translate debugging messages. Don't assume line numbers fit in unsigned int; use unsigned long fmts. * doc/bison.texinfo: Mention <libintl.h>. Change glibc cross reference to gettext cross reference. Add indexing terms. Mention YYENABLE_NLS. * runtime-po/POTFILES.in: Add data/glr.c, data/lalr1.cc. Fix yyerror / yylex test glitches noted by twlevo@xs4all.nl. * tests/cxx-type.at (_AT_TEST_GLR_CXXTYPES): Have yyerror return void, not int. * tests/glr-regression.at (Badly Collapsed GLR States): Likewise. (Improper handling of embedded actions and dollar(-N) in GLR parsers): yylex should return 0 at EOF rather than aborting. Improve tests for stack overflow in GLR parser. Problem reported by twlevo@xs4all.nl. * data/glr.c (struct yyGLRStack): Remove yyerrflag member. All uses removed. (yyStackOverflow): Just longjmp, but with value 2 so that caller can handle the problem. (YYCHK1): Use goto (a la yacc.c) rather than setting a flag. (yyparse): New local variable yyresult to record the result. Use result of setjmp to set it, rather than storing itinto struct. (yyDone): Remove label. (yyacceptlab, yyabortlab, yyoverflowlab, yyreturn): New labels, to mimic yacc.c. Do not discard lookahead if it's EOF (possible if YYABORT is used). * tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): Exit with yyparse status; put status > 1 into diagnostic. Check that status==2 works. * tests/calc.at, tests/cxx-type.at, tests/glr-regression.at: Use exit status 3 for failure to open (which shouldn't happen).2005-07-17 Paul Eggert <eggert@cs.ucla.edu> * tests/conflicts.at (%nonassoc and eof): Don't exit with status 1 on syntax error; just let yyparse do its thing. * tests/glr-regression.at (Badly Collapsed GLR States): Likewise. * tests/torture.at (AT_DATA_STACK_TORTURE): Likewise. (Exploding the Stack Size with Alloca): (Exploding the Stack Size with Malloc): Expect exit status 2, not 1, since the parser is supposed to blow its stack. Problem reported by twlevo@xs4all.nl. * data/glr.c (yyparse): Don't assume that the initial calls to YYMALLOC succeed; in that case, yyparse incorrectly returned 0. Print a stack-overflow message and fail instead. Initialize the line-number information before creating the stack, so that the stack-overflow message can report line zero safely.2005-07-14 Paul Eggert <eggert@cs.ucla.edu> Fix problems reported by twlevo@xs4all.nl. * data/glr.c (YYSTACKEXPANDABLE): Don't define if already defined. (yyuserMerge): Provide a default case if b4_mergers is empty. * tests/cxx-type.at (_AT_TEST_GLR_CXXTYPES): Define YYSTACKEXPANDABLE. * tests/glr-regression.at (Improper handling of embedded actions and dollar(-N) in GLR parsers): Add casts to pacify C++ compilers. * tests/glr-regression.at (Improper merging of GLR delayed action sets): Declare yylex before using it. * tests/Makefile.am (maintainer-check-g++): Fix a stray $(GXX) that escaped the renaming of GXX to CXX. Remove bogus test for valgrind; valgrind is independent of g++. (maintainer-check-posix): Add _POSIX2_VERSION=200112, to check for compatibility with POSIX 1003.1-2001 (if running coreutils). * tests/cxx-type.at (_AT_TEST_GLR_CXXTYPES): Port to stricter C++. Use a destructor, so that we can expand the stack. Change YYSTYPE to char * so that we can free it. Cast result of malloc.2005-07-13 Paul Hilfinger <hilfingr@CS.Berkeley.EDU> * data/glr.c (yyuserAction): Fix uninitialized variable that caused a valgrind failure. Problem reported by twlevo@xs4all.nl.2005-07-13 Paul Eggert <eggert@cs.ucla.edu> * PACKAGING: New file, suggested by Bruno Haible and taken from similar wording in gettext's PACKAGING file. * NEWS: Mention PACKAGING. * Makefile.am (EXTRA_DIST): Add PACKAGING.2005-07-12 Paul Eggert <eggert@cs.ucla.edu> * NEWS: Document recent i18n improvements. * bootstrap: Get runtime translations into runtime-po. Create runtime-po files automatically, if possible. * configure.ac: Invoke BISON_I18N, so that we eat our own dog food. * data/yacc.c: Rewrite inclusion of <libintl.h> so that ENABLE_NLS does not infringe on the user's name space. (YYENABLE_NLS): Renamed from ENABLE_BISON_NLS. * doc/bison.texinfo (Internationalization): Revamp the English and Texinfo syntax a bit, to try to make it clearer. (Bison Options, Option Cross Key): Mention --print-localedir. * m4/bison-i18n.m4 (BISON_I18N): Rename ENABLE_BISON_NLS to YYENABLE_NLS. Quote a bit more. * runtime-po/.cvsignore: New file. * runtime-po/Makefile.in.in (mostlyclean): Remove *.old.pot. * runtime-po/Rules-quot: Remove; now created by bootstrap. * runtime-po/quot.sed: Likewise. * runtime-po/boldquot.sed: Likewise. * runtime-po/en@quot.header: Likewise. * runtime-po/en@boldquot.header: Likewise. * runtime-po/insert-header.sin: Likewise. * runtime-po/remove-potcdate.sin: Likewise. * runtime-po/Makevars: Likewise. * runtime-po/LINGUAS: Likewise. * runtime-po/de.po: Likewise; we will rely on the translation project to maintain this, so "bootstrap" should get it. * src/getarg.c (PRINT_LOCALEDIR_OPTION): Let the C compiler determine its value. * src/main.c (main): Bind the bison-runtime domain, too.2005-07-12 Bruno Haible <bruno@clisp.org> * data/yacc.c: Include <libintl.h> when NLS is enabled. (YYI18N): Renamed from _. Use dgettext when NLS is enabled. * po/POTFILES.in: Remove autogenerated file src/parse-gram.c. * runtime-po: New directory. * runtime-po/Makefile.in.in: New file, copied from po/, with modified $(DOMAIN).pot-update rule, so that old messages are never dropped. * runtime-po/Rules-quot: New file, copied from po/. * runtime-po/quot.sed: Likewise. * runtime-po/boldquot.sed: Likewise. * runtime-po/en@quot.header: Likewise. * runtime-po/en@boldquot.header: Likewise. * runtime-po/insert-header.sin: Likewise. * runtime-po/remove-potcdate.sin: Likewise. * runtime-po/Makevars: New file. * runtime-po/POTFILES.in: New file. * runtime-po/LINGUAS: New file. * runtime-po/bison-runtime.pot: New file. * runtime-po/de.po: New file. * m4/bison.m4: New file. * Makefile.am (SUBDIRS): Add runtime-po. (aclocaldir, aclocal_DATA): New variables. * configure.ac: Add AC_CONFIG_FILES of runtime-po/Makefile.in. Define aclocaldir. * src/getargs.c (usage): Document --print-localedir option. (PRINT_LOCALEDIR_OPTION): New enum item. (long_options): Add --print-localedir option. (getargs): Handle --print-localedir option. * doc/bison.texinfo (Bison Parser): Remove paragraph about _(). (Internationalization): New section.2005-07-12 Akim Demaille <akim@epita.fr> * src/symtab.h, src/symtab.c (symbol_print): Swap the arguments, for consistency with the rest of the code. * src/symlist.h, src/symlist.c (symbol_list_print): Ditto. Add separators.2005-07-12 Akim Demaille <akim@epita.fr> * src/parse-gram.y: Use %printer instead of YYPRINT.2005-07-12 Akim Demaille <akim@epita.fr> * src/symtab.h, src/symtab.c (symbol_print): New. * src/symlist.h, src/symlist.c (symbol_list_print): New. * src/symlist.c (symbol_list_n_type_name_get): Report the culprit.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -