From: drh Date: Sun, 27 Apr 2008 18:45:10 +0000 (+0000) Subject: Fix the lemon parser generator so that it works again with the "error" X-Git-Tag: version-3.6.10~1125 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7f7c257b6b8803dc3d824fe0b86d914432753651;p=thirdparty%2Fsqlite.git Fix the lemon parser generator so that it works again with the "error" symbol. Ticket #3079 (CVS 5052) FossilOrigin-Name: 20ed749266d099eb35f40ca479db8baa75186b60 --- diff --git a/manifest b/manifest index 58dccd98f8..5cf5265021 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Remove\sall\sreferences\sto\ssqlite3_intptr_t.\s(CVS\s5051) -D 2008-04-27T18:40:12 +C Fix\sthe\slemon\sparser\sgenerator\sso\sthat\sit\sworks\sagain\swith\sthe\s"error"\nsymbol.\s\sTicket\s#3079\s(CVS\s5052) +D 2008-04-27T18:45:11 F Makefile.arm-wince-mingw32ce-gcc ac5f7b2cef0cd850d6f755ba6ee4ab961b1fadf7 F Makefile.in 25b3282a4ac39388632c2fb0e044ff494d490952 F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654 @@ -551,7 +551,7 @@ F test/zeroblob.test 7d1854ea79d048e023e5f2e38106a7e99a17435c F tool/diffdb.c 7524b1b5df217c20cd0431f6789851a4e0cb191b F tool/fragck.tcl 5265a95126abcf6ab357f7efa544787e5963f439 F tool/lemon.c 1dc8d53c5ac40f4186ea1bd6ec87a974e18f35a0 -F tool/lempar.c 5ebb066cdb849a7e0e88206a1b7574cac0f1b063 +F tool/lempar.c aab54f1758c554e550ff5c4b191053a819279a2b F tool/memleak.awk 4e7690a51bf3ed757e611273d43fe3f65b510133 F tool/memleak2.awk 9cc20c8e8f3c675efac71ea0721ee6874a1566e8 F tool/memleak3.tcl 7707006ee908cffff210c98158788d85bb3fcdbf @@ -630,7 +630,7 @@ F www/tclsqlite.tcl 8be95ee6dba05eabcd27a9d91331c803f2ce2130 F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0 F www/version3.tcl 890248cf7b70e60c383b0e84d77d5132b3ead42b F www/whentouse.tcl fc46eae081251c3c181bd79c5faef8195d7991a5 -P a4149ca317c2fd7ce87b8f23029c3f87a7f4c2e8 -R f54b4828ff50f00d8660564d13a96027 +P 6a94d19747a05df2694d3720f76de3dab3836578 +R 79609f1a0af14b94afb1ca285dc546fb U drh -Z 3fa96b4da5e32efdd6f210e98bf91fe8 +Z dae6fd0d3c11302374c3e38fa9845414 diff --git a/manifest.uuid b/manifest.uuid index 717dfd73f6..0826360dc1 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -6a94d19747a05df2694d3720f76de3dab3836578 \ No newline at end of file +20ed749266d099eb35f40ca479db8baa75186b60 \ No newline at end of file diff --git a/tool/lempar.c b/tool/lempar.c index 5a7933f41b..fa4689db1a 100644 --- a/tool/lempar.c +++ b/tool/lempar.c @@ -404,13 +404,25 @@ static int yy_find_reduce_action( YYCODETYPE iLookAhead /* The look-ahead token */ ){ int i; +#ifdef YYERRORSYMBOL + if( stateno>YY_REDUCE_MAX ){ + return yy_default[stateno]; + } +#else assert( stateno<=YY_REDUCE_MAX ); +#endif i = yy_reduce_ofst[stateno]; assert( i!=YY_REDUCE_USE_DFLT ); assert( iLookAhead!=YYNOCODE ); i += iLookAhead; +#ifdef YYERRORSYMBOL + if( i<0 || i>=YY_SZ_ACTTAB || yy_lookahead[i]!=iLookAhead ){ + return yy_default[stateno]; + } +#else assert( i>=0 && i