Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Attempt to reset the error count in the Lemon-generated parser after a parse failure. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
91889fa30e84760e0d4b3d429c4abdef |
User & Date: | drh 2016-07-05 12:47:28.882 |
Context
2016-07-05
| ||
16:11 | More fixes to Lemon so that it automatically resets its error counter at the end of a parse. (check-in: 2683b375ad user: drh tags: trunk) | |
12:47 | Attempt to reset the error count in the Lemon-generated parser after a parse failure. (check-in: 91889fa30e user: drh tags: trunk) | |
2016-07-04
| ||
11:47 | Add the sqlite3rbu_state() API. Used to determine the current state (creating OAL, ready to move OAL, incremental-checkpoint, finished or error) of an RBU operation. (check-in: 0357875fbb user: dan tags: trunk) | |
Changes
Changes to tool/lempar.c.
︙ | |||
386 387 388 389 390 391 392 393 394 395 396 397 398 399 | 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 | + | ** ** If there is a destructor routine associated with the token which ** is popped from the stack, then call it. */ static void yy_pop_parser_stack(yyParser *pParser){ yyStackEntry *yytos; assert( pParser->yytos!=0 ); assert( pParser->yytos > pParser->yystack ); yytos = pParser->yytos--; #ifndef NDEBUG if( yyTraceFILE ){ fprintf(yyTraceFILE,"%sPopping %s\n", yyTracePrompt, yyTokenName[yytos->major]); } |
︙ | |||
795 796 797 798 799 800 801 | 796 797 798 799 800 801 802 803 804 805 806 807 808 809 | - | int yyendofinput; /* True if we are at the end of input */ #endif #ifdef YYERRORSYMBOL int yyerrorhit = 0; /* True if yymajor has invoked an error */ #endif yyParser *yypParser; /* The parser */ |
︙ | |||
875 876 877 878 879 880 881 882 883 884 885 886 887 888 | 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 | + + + | YYERRORSYMBOL)) >= YY_MIN_REDUCE ){ yy_pop_parser_stack(yypParser); } if( yypParser->yytos < yypParser->yystack || yymajor==0 ){ yy_destructor(yypParser,(YYCODETYPE)yymajor,&yyminorunion); yy_parse_failed(yypParser); #ifndef YYNOERRORRECOVERY yypParser->yyerrcnt = -1; #endif yymajor = YYNOCODE; }else if( yymx!=YYERRORSYMBOL ){ yy_shift(yypParser,yyact,YYERRORSYMBOL,yyminor); } } yypParser->yyerrcnt = 3; yyerrorhit = 1; |
︙ |