📄 changelog
字号:
unrecoverable errors. Now we can have the parser give up before consuming the whole input. As a result we now can observe that the lookahead is freed when needed. Change the parser source to parse argv[1] instead of a hard coded string. Simplify yylex, and give a value and location to EOF. Simplify some invocations of AT_CHECK_PRINTER_AND_DESTRUCTOR that passed directives already coded in the file. Add some tests to check the location of "error". For some tests, the C++ parser is correct, and not yacc.c. For other tests, they provide different, but unsatisfying, values, so keep the C++ value so that at least one parser is "correct" according to the test suite. (Actions after errors): Remove, this is subsumed by the AT_CHECK_PRINTER_AND_DESTRUCTOR series.2004-09-06 Akim Demaille <akim@epita.fr> * data/lalr1.cc: Adjust the indentation of the labels. (Parser::pop): New. Use it.2004-09-06 Akim Demaille <akim@epita.fr> * data/yacc.cc, data/glr.cc (yydestruct): Accept an additional argument, an informative message. Call YY_SYMBOL_PRINT. Adjust all callers: integrate the associated YY_SYMBOL_PRINT. * data/lalr1.cc (destruct_): Likewise. In addition, no longer depend on b4_yysymprint_generate and b4_yydestruct_generate to generate these functions, do it "by hand".2004-09-03 Akim Demaille <akim@epita.fr> * data/glr.c, data/lalr1.cc, data/yacc.c: When YYABORT was invoked, yydestruct the lookahead. * tests/calc.at (Calculator $1): Update the expected lengths of traces: there is an added line for the discarded lookahead. * doc/bison.texinfo (Destructor Decl): Some rewording. Define "discarded" symbols.2004-09-02 Akim Demaille <akim@epita.fr> * data/lalr1.cc (translate_, destruct_): No reason to be static.2004-09-02 Akim Demaille <akim@epita.fr> * data/glr.c, yacc.c (YYDSYMPRINT): Remove, not used. (YYDSYMPRINTF): Rename as... (YY_SYMBOL_PRINT): this. * data/lalr1.cc (YY_SYMBOL_PRINT): New, modeled after the previous two. Use it instead of direct symprint_ calls. (yybackup): Tweak the "Now at end of input" case to match yacc.c's one.2004-09-02 Akim Demaille <akim@epita.fr> * data/lalr1.cc (b4_yysymprint_generate): New. (symprint_): New member function, defined when YYDEBUG. Use it consistently instead of token/nterm debugging output by hand. * tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): Adjust %printer calls to use cdebug_ when using lalr1.cc.2004-08-30 Florian Krohm <florian@edamail.fishkill.ibm.com> * data/glr.c: Guard the declarations of yypstack and yypdumpstack with #ifdef YYDEBUG.2004-08-26 Akim Demaille <akim@epita.fr> * doc/bison.texinfo (Implementing Loops): Rename as... (Implementing Gotos/Loops): this.2004-08-13 Paul Eggert <eggert@cs.ucla.edu> Adjust to latest gnulib. * bootstrap (gnulib_modules): Add xalloc-die. Set LC_ALL=C so that file names sort consistently. Prefer the gnulib copies of gettext.m4, glibc21.m4, inttypes_h.m4, lib-ld.m4, lib-prefix.m4, po.m4, stdint_h.m4, uintmax_t.m4, ulonglong.m4. (intl_files_to_remove): Add gettext.m4, lib-ld.m4, lib-prefix.m4, po.m4 since we are now using _gl.m4 instead.2004-08-10 Florian Krohm <florian@edamail.fishkill.ibm.com> * src/scan-action.l: Remove. Scanning of semantic actions is handled in scan-gram.l.2004-08-07 Florian Krohm <florian@edamail.fishkill.ibm.com> * src/scan-gram.l (handle_syncline): Use uniqstr_new not xstrdup. * src/location.h (struct): The file member is a uniqstr. (equal_boundaries): Use UNIQSTR_EQ for comparison.2004-07-22 Paul Eggert <eggert@cs.ucla.edu> Fix bug with non-%union parsers that have printers or destructors, which led to a Bison core dump. Reported by Peter Fales in <http://lists.gnu.org/archive/html/bug-bison/2004-07/msg00014.html>. * data/c.m4 (b4_symbol_actions): Don't assume %union was used. * data/lalr1.cc (yystype) [defined YYSTYPE]: Define to YYSTYPE, not to our own type. * src/output.c (symbol_destructors_output, symbol_printers_output): Don't assume %union. * tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR, AT_CHECK_PRINTER_AND_DESTRUCTOR): New argument UNION-FLAG. All callers changed. (_AT_CHECK_PRINTER_AND_DESTRUCTOR): Don't assume %union. Use type char, not unsigned int, when declaring an array of char; this lets us remove a cast. (Printers and Destructors): Add non-%union test cases.2004-06-21 Paul Eggert <eggert@cs.ucla.edu> * doc/bison.texinfo: Minor editorial changes, mostly to the new GLR writeups. E.g., avoid frenchspacing and the future tense, change "lookahead" to "look-ahead", and change "wrt" to "with respect to".2004-06-21 Paul Hilfinger <hilfingr@CS.Berkeley.EDU> * doc/bison.texinfo (Merging GLR Parses, Compiler Requirements): New sections, split off from the GLR Parsers section. Put the new Simple GLR Parser near the start of the GLR section, for clarity. Rewrite connective text.2004-06-21 Frank Heckenbach <frank@g-n-u.de> * doc/bison.texinfo (Simple GLR Parsers): New section.2004-06-21 Paul Eggert <eggert@cs.ucla.edu> * NEWS, TODO, doc/bison.texinfo: Use "look-ahead" instead of "lookahead", to be consistent. * REFERENCES: Fix incorrect reference to DeRemer and Pennello, while we're fixing "look-ahead". * src/conflicts.c (shift_set): Renamed from shiftset. (look_ahead_set): Renamed from lookaheadset. * src/print.c: Likewise. * src/getargs.c (report_args): Add "look-ahead" as the new canonical name for "lookahead". (report_types, usage): Likewise. * src/getargs.h (report_look_ahead_tokens): Renamed from report_lookaheads. * src/lalr.c (compute_look_ahead_tokens): Renamed from compute_lookaheads. (state_look_ahead_tokens_count): Renamed from state_lookaheads_count. (look_ahead_tokens_print): Renamed from lookaheads_print. * src/state.c (state_rule_look_ahead_tokens_print): Renamed from state_rule_lookaheads_print. * src/state.h: Likewise. (reductions.look_ahead_tokens): Renamed from lookaheads. * tests/torture.at (AT_DATA_LOOK_AHEAD_TOKENS_GRAMMAR): Renamed from AT_DATA_LOOKAHEADS_GRAMMAR.2004-06-03 Paul Eggert <eggert@cs.ucla.edu> * README: Update location of patched M4 distribution.2004-05-30 Albert Chin-A-Young <china@thewrittenword.com> Don't assume the C++ compiler takes the same arguments as the C compiler (trivial change). * configure.ac (O0CXXFLAGS): New var. * tests/atlocal.in (CXXFLAGS): Use it.2004-05-29 Paul Eggert <eggert@cs.ucla.edu> Fix some "make check" problems with C++ reported by Albert Chin-A-Young for Tru64 C++ in this thread: http://lists.gnu.org/archive/html/bug-bison/2004-05/msg00049.html * m4/cxx.m4 (BISON_TEST_FOR_WORKING_CXX_COMPILER): Check for std::cerr. * tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): Output to a .cc file for C++, not to a .c file. * tests/calc.at (AT_CHECK_CALC): Likewise. * tests/regression.at (AT_CHECK_DANCER): Likewise. * tests/local.at (AT_COMPILE_CXX): Default to OUTPUT.cc, not OUTPUT.c.2004-05-28 Albert Chin-A-Young <china@thewrittenword.com> * tests/calc.at, tests/actions.at: Workaround for SGI C++ compiler. (trivial change)2004-05-27 Paul Eggert <eggert@cs.ucla.edu> Spent a few hours checking out which prerequisite versions the current sources actually require. I went all the way back to Gettext 0.10.40, Automake 1.4, and Autoconf 2.57 and investigated a seemingly endless set of combinations of versions more recent than that. The bottom line is that the current sources require fairly recent versions of the build tools, and it'll be some work to change this. * configure.ac (AC_PREREQ): Increase from 2.58 to 2.59. (AM_INIT_AUTOMAKE): Increase from 1.7 to 1.8. (AM_GNU_GETTEXT_VERSION): Increase from 0.11.5 to 0.12. Add comments explaining why those particular versions are currently needed. * src/parse-gram.y (lloc_default): Rewrite to avoid compiler bug in SGI MIPSpro 7.4.1m. Problem reported by Albert Chin-A-Young in <http://lists.gnu.org/archive/html/bug-bison/2004-05/msg00037.html>. * configure.ac (AC_PREREQ): Bump to 2.58, since 2.57 doesn't work (it fails with a Autoconf-without-aclocal-m4 diagnostic).2004-05-26 Paul Eggert <eggert@cs.ucla.edu> * configure.ac (AM_GNU_GETTEXT_VERSION): Lower it from 0.14.1 to 0.11.5. Suggested by Bruno Haible. * bootstrap: Remove gettext version checking. * doc/bison.texinfo (Decl Summary): Also mention that %union can depend on prerequisite types. Problem reported by Tim Van Holder.2004-05-25 Paul Eggert <eggert@cs.ucla.edu> * README: Mention GNU m4 1.4 bugs and Akim's patched version. * README-alpha: Don't tell people not to package this. * bootstrap: Don't assume $(...) works; use `...` instead. Problem reported by Paul Hilfinger. Also, diagnose non-GNU gettext better. * doc/bison.texinfo (Decl Summary, Bison Options): Clarify what's put into the -d output file, and mention what to do if YYSTYPE is defined as a macro.2004-05-24 Paul Eggert <eggert@cs.ucla.edu> Undo change made earlier today: it caused autopoint to not bring in ABOUT-NLS. Ouch. Instead, substitute our own diagnostic for autopoint's. * bootstrap: Check that gettext version matches what's in configure.ac. Warn users to ignore robots.txt ERROR 404. * bootstrap: Undo today's earlier change (logged below). * configure.ac (AM_GNU_GETTEXT_VERSION): Likewise. The gettext version checking is causing more trouble than it's curing; remove it. Problem reported by Paul Hilfinger. * bootstrap: Issue a warning that one can expect a message 'AM_GNU_GETTEXT is used, but not AM_GNU_GETTEXT_VERSION'. * configure.ac (AM_GNU_GETTEXT_VERSION): Remove.2004-05-23 Paul Eggert <eggert@cs.ucla.edu> Ensure that the C++ compiler used for testing actually works on a simple test program; if not, skip the C++-related tests. Problem reported by Vin Shelton in: http://lists.gnu.org/archive/html/bug-bison/2004-05/msg00026.html * m4/cxx.m4: New file. * configure.ac (BISON_TEST_FOR_WORKING_CXX_COMPILER): Add. * tests/atlocal.in (BISON_CXX_WORKS): Add. * tests/local.at (AT_COMPILE_CXX): Use it.2004-05-21 Paul Eggert <eggert@cs.ucla.edu> * data/glr.c (yylloc): Output this macro even if locations are not being generated, as the GLR parser needs it even in that case. Problem reported by Troy A. Johnson <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=195946>. * configure.ac (AC_INIT): Update to 1.875e.2004-05-21 Paul Eggert <eggert@cs.ucla.edu> * NEWS: Version 1.875d. * configure.ac (AC_INIT): Likewise. * src/parse-gram.c, src/parse-gram.h: Regenerate with 1.875d. * configure.ac (--enable-gcc-warnings): Do not enable -Wshadow, -Wmissing-prototypes, or -Wstrict-prototypes for C++. The current lalr1.cc runs afoul of the first, and the last two are no longer supported by GCC 3.4.0. * README: Mention GNU m4 1.4 or later; mention m4 patches. * HACKING: Use ./bootstrap, not "make update" to import foreign files.2004-05-06 Paul Eggert <eggert@cs.ucla.edu> * src/muscle_tab.c (hash_muscle): Accept and return size_t, not unsigned int, for compatibility with latest gnulib hash module. * src/state.c (state_hash, state_hasher): Likewise. * src/symtab.c (hash_symbol, hash_symbol_hasher): Likewise. * src/uniqstr.c (hash_uniqstr): Likewise.2004-05-03 Paul Eggert <eggert@cs.ucla.edu> * NEWS: Unescaped newlines are no longer allowed in char & strings. * src/scan-gram.l (<SC_ESCAPED_STRING,SC_ESCAPED_CHARACTER, SC_CHARACTER,SC_STRING>): Reject unescaped newlines in character and string literals. (unexpected_end): New function. (unexpected_eof): Use it. (unexpected_newline): New function. (<INITIAL,SC_AFTER_IDENTIFIER,SC_PRE_CODE>): Coalesce duplicate actions. * NEWS: Document %expect-rr. * bootstrap (--gnulib-srcdir=*, --cvs-user=*): Fix typo by replacing $1 with $option. Remove more 'intl'-related files. Don't DEFUN AM_INTL_SUBDIR twice. * lib/.cvsignore: Add strndup.h. Remove memchr.c, memcmp.c, memrchr.c, strcasecmp.c, strchr.c, strrchr.c, strspn.c, strtol.c, strtoul.c. * m4/.cvsignore: Add exitfail.m4, extensions.m4, gnulib.m4, hard-locale.m4, mbstate_t.m4, strerror_r.m4, strndup.m4, xstrndup.m4. Remove glibc21.m4, intdiv0.m4, inttypes-pri.m4, inttypes.m4, inttypes_h.m4, isc-posix.m4, lcmessage.m4, stdint_h.m4, uintmax_t.m4, ulonglong.m4. * src/.cvsignore: Add *.output. * src/parse-gram.y: Put copyright notice inside %{ %} so it gets copied to the output file.2004-04-28 Paul Eggert <eggert@twinsun.com>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -