aboutsummaryrefslogtreecommitdiff
path: root/tool/lemon.c
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2019-08-28 11:31:11 +0000
committerdrh <drh@noemail.net>2019-08-28 11:31:11 +0000
commit010bdb4c7968fa7e50a46633bf359d60b144a33e (patch)
tree50c6b0d0a85c8ddb76c068329ff571d0ccebb476 /tool/lemon.c
parent2e51716b1520fc6e681e9578d681e2e60ae6590f (diff)
downloadsqlite-010bdb4c7968fa7e50a46633bf359d60b144a33e.tar.gz
sqlite-010bdb4c7968fa7e50a46633bf359d60b144a33e.zip
Further improvements to parser speed by enlarging lookup tables to eliminate
the need to do range checking on the index prior to lookup. FossilOrigin-Name: 47d3e091ae49eb7947af5abef9b5b96b16b86d349e51fe0677795649be6db473
Diffstat (limited to 'tool/lemon.c')
-rw-r--r--tool/lemon.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/tool/lemon.c b/tool/lemon.c
index 3daa6d38c..893e1d18b 100644
--- a/tool/lemon.c
+++ b/tool/lemon.c
@@ -4506,7 +4506,9 @@ void ReportTable(
*/
if( lemp->has_fallback ){
int mx = lemp->nterminal - 1;
- while( mx>0 && lemp->symbols[mx]->fallback==0 ){ mx--; }
+ /* 2019-08-28: Generate fallback entries for every token to avoid
+ ** having to do a range check on the index */
+ /* while( mx>0 && lemp->symbols[mx]->fallback==0 ){ mx--; } */
lemp->tablesize += (mx+1)*szCodeType;
for(i=0; i<=mx; i++){
struct symbol *p = lemp->symbols[i];