Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Lemon optimization: When doing a shift following a reduce that pops one or more elements off the stack, no need to check for stack overflow. (CVS 2300) |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
adcd9a3fa2a86464abd613aa88ae110b |
User & Date: | drh 2005-02-01 03:20:00.000 |
Context
2005-02-01
| ||
03:46 | Fix an error introduced with (2299). (CVS 2301) (check-in: 22041d5f26 user: danielk1977 tags: trunk) | |
03:20 | Lemon optimization: When doing a shift following a reduce that pops one or more elements off the stack, no need to check for stack overflow. (CVS 2300) (check-in: adcd9a3fa2 user: drh tags: trunk) | |
03:09 | Avoid allocating a vdbe in sqlite3FinishCoding() if one has not been allocated already. (CVS 2299) (check-in: eaf1866e4d user: danielk1977 tags: trunk) | |
Changes
Changes to tool/lempar.c.
︙ | ︙ | |||
474 475 476 477 478 479 480 | %% }; yygoto = yyRuleInfo[yyruleno].lhs; yysize = yyRuleInfo[yyruleno].nrhs; yypParser->yyidx -= yysize; yyact = yy_find_reduce_action(yypParser,yygoto); if( yyact < YYNSTATE ){ | > > > > > > > > > > > > > > | > | 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 | %% }; yygoto = yyRuleInfo[yyruleno].lhs; yysize = yyRuleInfo[yyruleno].nrhs; yypParser->yyidx -= yysize; yyact = yy_find_reduce_action(yypParser,yygoto); if( yyact < YYNSTATE ){ #ifdef NDEBUG /* If we are not debugging and the reduce action popped at least ** one element off the stack, then we can push the new element back ** onto the stack here, and skip the stack overflow test in yy_shift(). ** That gives a significant speed improvement. */ if( yysize ){ yypParser->yyidx++; yymsp -= yysize-1; yymsp->stateno = yyact; yymsp->major = yygoto; yymsp->minor = yygotominor; }else #endif { yy_shift(yypParser,yyact,yygoto,&yygotominor); } }else if( yyact == YYNSTATE + YYNRULE + 1 ){ yy_accept(yypParser); } } /* ** The following code executes when the parse fails |
︙ | ︙ |