On 08/07/2016 21:54, Richard Hipp wrote:
Please try again with the latest version of Lemon.  Thanks.

On 7/6/16, Nick Wellnhofer <wellnho...@aevum.de> wrote:
On 05/07/2016 18:12, Richard Hipp wrote:
Please try https://www.sqlite.org/src/info/2683b375ad129117 and verify
that the changes on trunk are working.  Thanks.

Still doesn't work for me. The structure of the #ifdefs in `Parse` is:

     #ifdef YYERRORSYMBOL
       ...
     #elif defined(YYNOERRORRECOVERY)
       ...
     #else  /* YYERRORSYMBOL is not defined */
       ...
     #endif

Your first check-in modifies the first branch, your second check-in the
second
branch, resulting in:

     #ifdef YYERRORSYMBOL
       ...
       #ifndef YYNOERRORRECOVERY
         yypParser->yyerrcnt = -1;
       #endif
       ...
     #elif defined(YYNOERRORRECOVERY)
       ...
       #ifndef YYNOERRORRECOVERY
         yypParser->yyerrcnt = -1;
       #endif
       ...
     #else  /* YYERRORSYMBOL is not defined */
       ...
     #endif

The change to the second branch has no effect because YYNOERRORRECOVERY is
always defined. My patch modifies the third branch ("YYERRORSYMBOL is not
defined"). This fixes code that defines neither YYERRORSYMBOL nor
YYNOERRORRECOVERY. I think the code should look like this:

     #ifdef YYERRORSYMBOL
       ...
       #ifndef YYNOERRORRECOVERY
         yypParser->yyerrcnt = -1;
       #endif
       ...
     #elif defined(YYNOERRORRECOVERY)
       ...
     #else  /* YYERRORSYMBOL is not defined */
       ...
       yypParser->yyerrcnt = -1;
       ...
     #endif

(Another check for YYNOERRORRECOVERY isn't really needed in the third
branch.
It will always be undef.)

Nick






--
aevum GmbH
Nadistr. 12
80809 München
Germany

Tel: +49 89 35747589
http://aevum.de/
_______________________________________________
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to