diff --git a/manifest b/manifest index 4e8d904769..8fa025d5a5 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Changes\sto\sa\scouple\sof\stest\sscripts\sto\shandle\sthe\stcl\s8.5\sversion\sof\s(file\sattributes\s-readonly)\son\smac.\s(CVS\s4472) -D 2007-10-05T15:53:29 +C Changes\slemon\sso\sthat\sthe\sgenerated\sparser\sdoes\snot\saccept\sprior\sto\nseeing\sthe\sEOF\stoken.\s\sThis\sis\sa\slemon\schange\sonly\sand\sdoes\snot\neffect\sSQLite.\s\sTicket\s#2550.\s(CVS\s4473) +D 2007-10-05T16:16:36 F Makefile.in 75b729d562e9525d57d9890ec598b38e1a8b02bc F Makefile.linux-gcc 65241babba6faf1152bf86574477baab19190499 F README 9c4e2d6706bdcc3efdd773ce752a8cdab4f90028 @@ -504,7 +504,7 @@ F test/where5.test fdf66f96d29a064b63eb543e28da4dfdccd81ad2 F test/zeroblob.test 7d1854ea79d048e023e5f2e38106a7e99a17435c F tool/diffdb.c 7524b1b5df217c20cd0431f6789851a4e0cb191b F tool/fragck.tcl 5265a95126abcf6ab357f7efa544787e5963f439 -F tool/lemon.c 1f8c0ee267cd8224bb6c979ca3b7cf36299c4c78 +F tool/lemon.c 5b243377708d5fadb7ed4795ad6b2e9c379e1f0f F tool/lempar.c 8f998bf8d08e2123149c2cc5d0597cd5d5d1abdd F tool/memleak.awk 4e7690a51bf3ed757e611273d43fe3f65b510133 F tool/memleak2.awk 9cc20c8e8f3c675efac71ea0721ee6874a1566e8 @@ -581,7 +581,7 @@ F www/tclsqlite.tcl 8be95ee6dba05eabcd27a9d91331c803f2ce2130 F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0 F www/version3.tcl 890248cf7b70e60c383b0e84d77d5132b3ead42b F www/whentouse.tcl fc46eae081251c3c181bd79c5faef8195d7991a5 -P f795431c725d88bd4011f20cf63cac630de842f1 -R 979cdcdc8ea6ae6406c777ce279b3379 -U danielk1977 -Z c03fae9704ced5b927314f1297351417 +P a51946e66badab37cd54982265631bbc5e414f8e +R 210c10367161878aed944ec38d45f171 +U drh +Z 3fd649e0712ea99e40f908f4ebe8b274 diff --git a/manifest.uuid b/manifest.uuid index 08fb85ad5a..17477da504 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -a51946e66badab37cd54982265631bbc5e414f8e \ No newline at end of file +1c68d93412a608f5164ad984ff290ab3b832bf7a \ No newline at end of file diff --git a/tool/lemon.c b/tool/lemon.c index 0a5ce88732..3bea77a9f2 100644 --- a/tool/lemon.c +++ b/tool/lemon.c @@ -149,6 +149,7 @@ struct symbol { struct rule { struct symbol *lhs; /* Left-hand side of the rule */ char *lhsalias; /* Alias for the LHS (NULL if none) */ + int lhsStart; /* True if left-hand side is the start symbol */ int ruleline; /* Line number for the rule */ int nrhs; /* Number of RHS symbols */ struct symbol **rhs; /* The RHS symbols */ @@ -709,6 +710,7 @@ does not work properly.",sp->name); ** left-hand side */ for(rp=sp->rule; rp; rp=rp->nextlhs){ struct config *newcfp; + rp->lhsStart = 1; newcfp = Configlist_addbasis(rp,0); SetAdd(newcfp->fws,0); } @@ -3942,6 +3944,7 @@ struct lemon *lemp; } if( ap->type!=REDUCE ) continue; rp = ap->x.rp; + if( rp->lhsStart ) continue; if( rp==rbest ) continue; n = 1; for(ap2=ap->next; ap2; ap2=ap2->next){