]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Patch lemon to fix "error" token handling, according ot
authordrh <>
Fri, 27 Aug 2021 11:26:37 +0000 (11:26 +0000)
committerdrh <>
Fri, 27 Aug 2021 11:26:37 +0000 (11:26 +0000)
[forum:/forumpost/e680f42f53090061|forum post e680f42f53090061].

FossilOrigin-Name: 106b5e5355a3836a9756333e6dcbb13f0878a5352dab00973b8f0900879bd724

manifest
manifest.uuid
tool/lemon.c
tool/lempar.c

index 7e071f28fb8a00c34fd26cc4c204d1c5e95b9932..bd49b608f7d04ec3ffca1cd5fcbddc41b555940a 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Add\sthe\s--safe\sto\sthe\sCLI.\s\sAlso\sthe\s--nonce\soption\sand\sthe\s.nonce\scommand.
-D 2021-08-26T18:31:39.329
+C Patch\slemon\sto\sfix\s"error"\stoken\shandling,\saccording\sot\n[forum:/forumpost/e680f42f53090061|forum\spost\se680f42f53090061].
+D 2021-08-27T11:26:37.146
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@@ -1840,8 +1840,8 @@ F tool/genfkey.test b6afd7b825d797a1e1274f519ab5695373552ecad5cd373530c63533638a
 F tool/getlock.c f4c39b651370156cae979501a7b156bdba50e7ce
 F tool/index_usage.c f62a0c701b2c7ff2f3e21d206f093c123f222dbf07136a10ffd1ca15a5c706c5
 F tool/kvtest-speed.sh 4761a9c4b3530907562314d7757995787f7aef8f
-F tool/lemon.c a5acddd3eec6a388872aae6efc7563336348a9c45e5563642f77e8e3a50e859d
-F tool/lempar.c 757e4ec699b99e0b7e78ffd8ec2063d9fa198b9102d2009dbe08369dc5775dcb
+F tool/lemon.c dabeb66806057235fdca34d77e077a554396d8b8c2e1982dfd292b9dba3be13c
+F tool/lempar.c 7d4b1c863a6c7f75f0a04bfa7000b7388898c9ee9c906adc675bc40590ad0abe
 F tool/libvers.c caafc3b689638a1d88d44bc5f526c2278760d9b9
 F tool/loadfts.c c3c64e4d5e90e8ba41159232c2189dba4be7b862
 F tool/logest.c 11346aa019e2e77a00902aa7d0cabd27bd2e8cca
@@ -1922,7 +1922,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
 F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
 F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P c7f0813cabf9d8ab367bead5ba8cf20132b8bb9274d8e47b76ad66a10517dd2a
-R 96ba0fa0400f19ae37fbb446bcbce223
+P c76870cb1a8e2e1389ad864c51b9f596dff21df8bb58f438f0a2cacfa63b22a4
+R c18392e64d5f9a64cf0c5ede682cfbfb
 U drh
-Z c0d94ba9195f86107b44ea4e3e28e613
+Z 30473933374c4aa8bce1a958333c8a4a
index bf8ee8bbc8e2e9b2fbade53678d93811edbe32dc..25d36a2c858434631b6858a14adcc9438937acf5 100644 (file)
@@ -1 +1 @@
-c76870cb1a8e2e1389ad864c51b9f596dff21df8bb58f438f0a2cacfa63b22a4
\ No newline at end of file
+106b5e5355a3836a9756333e6dcbb13f0878a5352dab00973b8f0900879bd724
\ No newline at end of file
index 75fc7aa2fb9988e49ba4754792f05d14b908dcba..edf17cae74391196377182cb3ed6d56dbfb2af7a 100644 (file)
@@ -3571,7 +3571,9 @@ PRIVATE int compute_action(struct lemon *lemp, struct action *ap)
       /* Since a SHIFT is inherient after a prior REDUCE, convert any
       ** SHIFTREDUCE action with a nonterminal on the LHS into a simple
       ** REDUCE action: */
-      if( ap->sp->index>=lemp->nterminal ){
+      if( ap->sp->index>=lemp->nterminal
+       && (lemp->errsym==0 || ap->sp->index!=lemp->errsym->index)
+      ){
         act = lemp->minReduce + ap->x.rp->iRule;
       }else{
         act = lemp->minShiftReduce + ap->x.rp->iRule;
index bbb0cc367d82de7d1de0c5df396d4df0a46957b9..d5ebe69424cb52f29ccff0c6d28293d8a55d58e9 100644 (file)
@@ -985,10 +985,6 @@ void Parse(
           yyact = yy_find_reduce_action(yypParser->yytos->stateno,
                                         YYERRORSYMBOL);
           if( yyact<=YY_MAX_SHIFTREDUCE ) break;
-          if( yyact>=YY_MIN_REDUCE && yyRuleInfoNRhs[yyact-YY_MIN_REDUCE] ){
-            yyact -= YY_MIN_REDUCE - YY_MIN_SHIFTREDUCE;
-            break;
-          }
           yy_pop_parser_stack(yypParser);
         }
         if( yypParser->yytos <= yypParser->yystack || yymajor==0 ){