📄 changelog
字号:
2005-07-12 Akim Demaille <akim@epita.fr> * data/glr.c (b4_syncline): Fix (swap) the definitions of b4_at_dollar and b4_dollar_dollar.2005-07-11 Paul Eggert <eggert@cs.ucla.edu> * doc/bison.texinfo (Mystery Conflicts): Add reference to DeRemer and Pennello's paper.2005-07-09 Paul Eggert <eggert@cs.ucla.edu> * data/yacc.c (yyparse): Undo previous patch. Instead, set yylsp[0] and yyvsp[0] only if the initial action sets yylloc and yylval, respectively. * data/yacc.c (yyparse): In the initial action, set yylsp[0] and yyvsp[0] rather than yylloc and yylval. This avoids the use of undefined variables if the initial action does not set yylloc and/or yylval.2005-07-07 Paul Eggert <eggert@cs.ucla.edu> * examples/calc++/calc++-driver.cc, examples/calc++/calc++-driver.hh: * examples/calc++/calc++-scanner.ll, examples/calc++/calc++.cc: Remove from CVS. These files are automatically generated. * examples/extexi: Clarify that this file is now part of Bison, not GNU M4, and that it works with any POSIX-compatible Awk. * examples/calc++/Makefile.am (run_extexi): Remove; not used. ($(calc_extracted)): Renamed from $(calc_sources_extracted), so that we also get calc++-parser.yy. Geneate it. Use $(AWK), not gawk, since any conforming Awk will do. Put comment before action, since older 'make' can't handle comment in action. $(BUILT_SOURCES): List all built sources, not just some of them. $(MAINTAINERCLEANFILES): Remove *.stamp, and all built sources. $($(srcdir)/calc++-parser.stamp): Work even if POSIXLY_CORRECT. $($(calc_sources_generated)): Remove unnecessary test for existence of target. (This had a shell syntax error anyway; a stray "x".) (calc_extracted): List $(srcdir)/calc++-parser.yy, not calc++-parser.yy. * examples/.cvsignore, examples/calc++/.cvsignore: New files. * bootstrap (gnulib_modules): Add gettext, now that it's no longer implied by the other modules.2005-07-06 Akim Demaille <akim@epita.fr> Bind examples/calc++ to the package. * examples/calc++/Makefile: Remove, replaced by... * examples/calc++/Makefile.am: ... this new file. * examples/calc++/test: Remove input. * examples/calc++/compile: Remove. * examples/Makefile.am: New. * configure.ac, Makefile.am: Adjust. * doc/Makefile.am (clean-local): New, for more recent texi2dvis.2005-07-05 Paul Eggert <eggert@cs.ucla.edu> * data/glr.c (yyFail): Drastically simplify; since the format argument never had any % directives, we can simply pass it to yyerror. (yyparse): Use "t a; a=b;" rather than "t a = b;" when a will be modified later, as that is the usual style in glr.c. Problems reported by Paul Hilfinger. Rewrite GLR parser to catch more buffer overrun, storage exhaustion, and size overflow errors. * data/glr.c: Include <stdio.h> etc. after user prolog, not before, in case the user prolog sets feature-test macros like _GNU_SOURCE. (YYSIZEMAX): New macro. (yystpcpy): New function, taken from yacc.c. (struct yyGLRStack.yyspaceLeft): Now size_t, not int. (yyinitGLRStack, yyfreeGLRstack): Remove unnecessary forward decls, so that we don't have to maintain their signatures. (yyFail): Check for buffer overflow, by using vsnprintf rather than vsprintf. Allocate a bigger buffer if possible. Report an error if buffer allocation fails. (yyStackOverflow): New function. (yyinitStateSet, yyinitGLRStack): Return a boolean indicating whether the initialization was successful. It might fail if storage was exhausted. (yyexpandGLRStack): Add more checks for storage allocation failure. Use yyStackOverflow to report failures. (yymarkStackDeleted, yyglrShift, yyglrShiftDefer, yydoAction): (yysplitStack, yyprocessOneStack, yyparse, yypstack): Don't assume stack number fits in int. (yysplitStack): Check for storage allocation failure. (yysplitStack, yyprocessOneStack): Add pure_formals, so that we can print diagnostics on storage allocation failure. All callers changed. (yyresolveValue): Use yybool for boolean. (yyreportSyntaxError): Check for size-calculation overflow. This code is taken from yacc.c. (yyparse): Check for storage allocation errors when allocating the initial stack.2005-07-05 Akim Demaille <akim@epita.fr> Extract calc++ from the documentation. * doc/bison.texinfo (Calc++): Add the extraction marks. * examples/extexi: New, from the aborted GNU Programming 2E. Separate the different paragraph of a file with empty lines. * examples/Makefile: Use it to extract the whole calc++ example.2005-06-24 Akim Demaille <akim@epita.fr> * doc/bison.texinfo (C++ Parser Interface): Use defcv to define class typedefs.2005-06-22 Akim Demaille <akim@epita.fr> * doc/bison.texinfo (C++ Language Interface): First stab. (C++ Parsers): Remove.2005-06-22 Akim Demaille <akim@epita.fr> * data/lalr1.cc (yylex_): Honor %lex-param.2005-06-22 Akim Demaille <akim@epita.fr> Start a set of simple examples. * examples/calc++/Makefile, examples/calc++/calc++-driver.cc, * examples/calc++/calc++-driver.hh, * examples/calc++/calc++-parser.yy, * examples/calc++/calc++-scanner.ll, examples/calc++/calc++.cc, * examples/calc++/compile, examples/calc++/test: New.2005-06-09 Paul Eggert <eggert@cs.ucla.edu> * data/yacc.c (malloc, free) [defined __cplusplus]: Wrap inside extern "C" {}. This fixes a problem reported by Paul Hilfinger, which stems from the 2005-05-27 patch.2005-06-06 Paul Hilfinger <hilfingr@tully.CS.Berkeley.EDU> * data/glr.c: Modify treatment of unused parameters to permit use of g++ (which doesn't allow __attribute__ ((unused)) for parameters).2005-05-30 Paul Eggert <eggert@cs.ucla.edu> Fix infringement on user name space reported by Janos Zoltan Szabo. * data/yacc.c (yyparse): strlen -> yystrlen.2005-05-30 Akim Demaille <akim@epita.fr> * data/lalr1.cc (_): New. Translate the various messages.2005-05-27 Paul Eggert <eggert@cs.ucla.edu> Fix infringement on user name space reported by Bruno Haible. * data/yacc.c (YYSIZE_T): Define first, so that later decls can use it. Prefer GCC's __SIZE_TYPE__ if available, so that we don't infringe on the user's name space. (alloca): Include <stdlib.h> to get it, if it's not built in. (YYMALLOC, YYFREE): Define only if needed. (malloc, free): Declare, but only if needed, as this infringes on the user name space.2005-05-25 Paul Eggert <eggert@cs.ucla.edu> Fix BeOS, FreeBSD, MacOS porting problems reported by Bruno Haible. * lib/bitset.c (bitset_print): Don't assume size_t can be printed with %d format. * lib/ebitset.c (min, max): Undef before defining. * lib/vbitset.c (min, max): Likewise. * lib/subpipe.c (create_subpipe): Save local variables in case vfork clobbers them.2005-05-24 Bruno Haible <bruno@clisp.org> * tests/synclines.at (AT_SYNCLINES_COMPILE): Add support for the error message syntax used by gcc-4.0.2005-05-23 Paul Eggert <eggert@cs.ucla.edu> * README: Mention m4 1.4.3. Remove obsolete advice about Sun Forte Developer 6 update 2, VMS, and MS-DOS. * bootstrap: Remove workaround for problem I encountered with gettext 0.14.1; it seems to be fixed now.2005-05-22 Paul Eggert <eggert@cs.ucla.edu> * NEWS: Version 2.0a. * src/files.c: Include "stdio-safer.h"; this fixes a typo in the previous change. Various maintainer cleanups. * .cvsignore: Add a.exe, a.out, b.out,, conf[0-9]*, confdefs*, conftest*, for benefit of CVS commands run at the same time as "configure". Add build-aux, since "bootstrap" now creates it and its subfiles. * Makefile.cfg (move_if_change): Remove. * Makefile.maint: Remove the update stuff; we now use "bootstrap". (ftp-gnu, www-gnu, move_if_change, local_updates, update): (po_repo, do-po-update, po-update, wget_files, get-targets): (config.guess-url_prefix, config.sub-url_prefix): (ansi2knr.c-url_prefix, texinfo.tex-url_prefix): (standards.texi-url_prefix, make-stds.texi-url_prefix, taget, url): ($(get-targets), cvs-files, automake_repo, wget-update, cvs-update): Remove. * configure.ac (AC_CONFIG_AUX_DIR): Change from config to build-aux; this is now the recommended name. * config/.cvsignore: Remove config.guess, config.rpath, config.sub, depcomp, install-sh, mdate-sh, missing, mkinstalldirs, texinfo.tex, ylwrap. These files now go into build-aux. * config/move-if-change: Remove. * config/prev-version.txt: Bump from 1.75 to 2.0. * bootstrap: Add stdio-safer, unistd-safer modules. Remove m4/glibc2.m4 (introduced by latest gnulib, but we don't need it). * lib/.cvsignore: Add dup-safer.c, fd-safer.c, fopen-safer.c, stdio-safer.h, unistd-safer.h. * lib/subpipe.c: Include "unistd-safer.h". (create_subpipe): Make sure all the newly-created file descriptors are > 2, so that diagnostics don't get sent down them (which might cause Bison to hang, in theory). * m4/.cvsignore: Add stdio-safer.m4, unistd-safer.m4. * src/files.c (xfopen): Use fopen_safer, not fopen. * data/lalr1.cc (yy::]b4_parser_class_name[::parse): Port yesterday's yacc.c fix.2005-05-21 Paul Eggert <eggert@cs.ucla.edu> * data/glr.c, data/lalr1.cc: Update copyright date. Fix a destructor bug reported by Wolfgang Spraul in <http://lists.gnu.org/archive/html/bug-bison/2005-05/msg00042.html>. * data/yacc.c (yyabortlab): Don't call destructor, and don't set yychar to EMPTY. (yyoverflowlab): Don't call destructor. (yyreturn): Call destructor, if yychar is neither YYEOF nor YYEMPTY. * tests/calc.at (AT_CHECK_CALC): Expect one fewer output lines, since we no longer output the message "discarding lookahead token end of input ()".2005-05-20 Paul Hilfinger <hilfingr@CS.Berkeley.EDU> * data/glr.c (YY_SYMBOL_PRINT): Don't print newline at end to fix a small glitch in debugging output. (yyprocessOneStack, yyrecoverSyntaxError, yyparse): Print newline after YY_SYMBOL_PRINT where needed. (struct yyGLRState): Add some comments. (struct yySemanticOption): Add some comments. (union yyGLRStackItem): Add comment. (yymergeOptionSets): Correct this to properly perform the union, avoiding infinite reported by Michael Rosien. Update comment. * tests/glr-regression.at: Add test for GLR merging error reported by M. Rosien.2005-05-13 Paul Eggert <eggert@cs.ucla.edu> * COPYING, ChangeLog, GNUmakefile, HACKING, Makefile.am, Makefile.cfg, Makefile.maint, NEWS, README, README-alpha, README-cvs, TODO, bootstrap, configure.ac, data/Makefile.am, data/README, data/c.m4, data/glr.c, data/lalr1.cc, data/yacc.c, data/m4sugar/m4sugar.m4, doc/Makefile.am, doc/bison.texinfo, doc/fdl.texi, doc/gpl.texi, doc/refcard.tex, lib/Makefile.am, lib/abitset.c, lib/abitset.h, lib/bbitset.h, lib/bitset.c, lib/bitset.h, lib/bitset_stats.c, lib/bitset_stats.h, lib/bitsetv-print.c, lib/bitsetv-print.h, lib/bitsetv.c, lib/bitsetv.h, lib/ebitset.c, lib/ebitset.h, lib/get-errno.c, lib/get-errno.h, lib/lbitset.c, lib/lbitset.h, lib/libiberty.h, lib/main.c, lib/subpipe.c, lib/subpipe.h, lib/timevar.c, lib/timevar.def, lib/timevar.h, lib/vbitset.c, lib/vbitset.h, lib/yyerror.c, m4/cxx.m4, m4/m4.m4, m4/subpipe.m4, m4/timevar.m4, m4/warning.m4, src/LR0.c, src/LR0.h, src/Makefile.am, src/assoc.c, src/assoc.h, src/closure.c, src/closure.h, src/complain.c, src/complain.h, src/conflicts.c, src/conflicts.h, src/derives.c, src/derives.h, src/files.c, src/files.h, src/getargs.c, src/getargs.h, src/gram.c, src/gram.h, src/lalr.c, src/lalr.h, src/location.c, src/location.h, src/main.c, src/muscle_tab.c, src/muscle_tab.h, src/nullable.c, src/nullable.h, src/output.c, src/output.h, src/parse-gram.c, src/parse-gram.h, src/parse-gram.y, src/print.c, src/print.h, src/print_graph.c, src/print_graph.h, src/reader.c, src/reader.h, src/reduce.c, src/reduce.h, src/relation.c, src/relation.h, src/scan-gram.l, src/scan-skel.l, src/state.c, src/state.h, src/symlist.c, src/symlist.h, src/symtab.c, src/symtab.h, src/system.h, src/tables.c, src/tables.h, src/uniqstr.c, src/uniqstr.h, src/vcg.c, src/vcg.h, src/vcg_defaults.h, tests/Makefile.am, tests/actions.at, tests/c++.at, tests/calc.at, tests/conflicts.at, tests/cxx-type.at, tests/existing.at, tests/glr-regression.at, tests/headers.at, tests/input.at, tests/local.at, tests/output.at, tests/reduce.at, tests/regression.at, tests/sets.at, tests/synclines.at, tests/testsuite.at, tests/torture.at: Update FSF postal mail address.2005-05-11 Paul Eggert <eggert@cs.ucla.edu> * tests/local.at (AT_COMPILE_CXX): Treat LDFLAGS like AT_COMPILE does. Problem reported by Ralf Menzel.2005-05-01 Paul Eggert <eggert@cs.ucla.edu> * tests/actions.at: Test that stack overflow invokes destructors. From Marcus Holland-Moritz. * data/yacc.c (yyerrlab): Move the code that destroys the stack from here.... (yyreturn): to here. That way, destructors are called properly even if the stack overflows, or the user calls YYACCEPT or YYABORT. Stack-overflow problem reported by Marcus Holland-Moritz. (yyoverflowlab): Destroy the lookahead.2005-04-24 Paul Eggert <eggert@cs.ucla.edu> * data/yacc.c (YYSTACK_ALLOC_MAXIMUM): Add more-descriptive comment.2005-04-17 Paul Eggert <eggert@cs.ucla.edu> * NEWS: Bison-generated C parsers no longer quote literal strings associated with tokens. * src/output.c (prepare_symbols): Don't escape strings, since users don't want to see C escapes.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -