]> git.saurik.com Git - bison.git/blobdiff - ChangeLog
GLR parsers sometimes raise parse errors instead of performing the
[bison.git] / ChangeLog
index 07800e0de89a7266277b6375b04165b304f27d1d..aadd09704d7c78516438c0e9e935bf2e0605bb02 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,79 @@
+2002-10-13  Akim Demaille  <akim@epita.fr>
+
+       GLR parsers sometimes raise parse errors instead of performing the
+       default reduction.
+       Reported by Charles-Henry de Boysson.
+
+       * tests/calc.at (_AT_CHECK_CALC, _AT_CHECK_CALC_ERROR): Don't
+       check the length of the traces when %glr.
+       (_AT_CHECK_CALC_ERROR): Also skip `^Stack' lines, coming from
+       GLR's traces.
+       (AT_CHECK_CALC_LALR, AT_CHECK_CALC_GLR): New.
+       Test GLR parsers.
+       * data/glr.c (YYLEFTMOST_STATE): Fix its value.
+       (yyltype): Remove the yy prefix from the member names.
+       (yytable): Complete its comment.
+       (yygetLRActions): Map error action number from YYTABLE from
+       YYTABLE_NINF to 0.
+       (yyisErrorAction): No longer compare YYACTION to YYPACT_NINF
+       (which was a bug: it should have been YYTABEL_NINF, and yet it was
+       not satisfying as we could compare an YYACTION computed from
+       YYDEFACT to YYTABLE_NINF although they are unrelated): 0 is the
+       only value for error actions.
+       (yyreportParseError): In verbose parse error messages, don't issue
+       `error' in the list of expected tokens.
+       * data/yacc.c (yyparse) <yybackup>: Rewrite the decoding of the
+       next action to perform to match glr.c's decoding.
+       (yytable): Complete its comment.
+
+2002-10-13  Paul Eggert  <eggert@twinsun.com>
+
+       Fix problem reported by Henrik Grubbstroem in
+       <http://mail.gnu.org/pipermail/bug-bison/2002-October/001670.html>:
+       "nonterm: { $$ = 123; } { $$ = $1; };" was wrongly rejected,
+       because the Bison parser reads the second action before reducing
+       the first one.
+       * src/scan-gram.l (rule_length): New static var.
+       Use it to keep track of the rule length in the scanner, since
+       we can't expect the parser to be in lock-step sync with the scanner.
+       (handle_action_dollar, handle_action_at): Use this var.
+       * tests/actions.at (Exotic Dollars): Test for the problem.
+       
+2002-10-12  Paul Eggert  <eggert@twinsun.com>
+
+       * lib/timevar.c [! IN_GCC && HAVE_SYS_TIME_H]: Include <sys/time.h>.
+       * m4/timevar.m4 (BISON_PREREQ_TIMEVAR): Check for <sys/time.h>.
+       Include <sys/time.h> when checking for clock_t and struct tms.
+       Use same include order as source.
+       This is for the SunOS 4.1.4 porting bug reported by Peter Klein in
+       <http://mail.gnu.org/pipermail/bug-bison/2002-October/001674.html>.
+       
+       * lib/timevar.c: Update copyright date and clarify comments.
+       (get_time) [IN_GCC]: Keep the GCC version for reference.
+       
+       * lib/timevar.c, lib/timevar.h, lib/timevar.def: Import
+       GCC version as of today, then merge Bison's changes.
+       Change "GCC" to "Bison" in copyright notice.  timevar.def's
+       author is Akim, so change that too.
+
+       * src/reader.c (grammar_current_rule_check):
+       Don't worry about the default action if $$ is untyped.
+       Prevents bogus warnings reported by Jim Gifford in
+       <http://mail.gnu.org/pipermail/bug-bison/2002-October/001673.html>.
+
+       * data/c.m4 (b4_token_enum): Do not define YYTOKENTYPE.
+       * data/glr.c, data/lalr1.cc, data/yacc.c:
+       Output token definitions before the first part of user declarations.
+       Fixes compatibility problem reported by Jim Gifford for kbd in
+       <http://mail.gnu.org/pipermail/bug-bison/2002-October/001672.html>.
+
+2002-10-11  Paul Eggert  <eggert@twinsun.com>
+
+       * data/yacc.c (yyreport_parse_error): Remove, putting its body into...
+       (yyparse): here.  This undoes some of the 2002-07-25 change.
+       Compatibility problem reported by Ralf S. Engelschall with
+       OSSP cfg <http://www.ossp.org/pkg/lib/cfg/>.
+
 2002-10-11  Akim Demaille  <akim@epita.fr>
 
        * tests/regression.at Characters Escapes): New.