Very interesting. I had no idea that lemon.c and lempar.c were being revised. I assumed they were static.
Would it be too much to increment the version that lemon -x prints? Currently it prints out "Lemon version 1.0" which led me to believe it was not being actively developed. RW P.S. I like what I see in the revision history. Ron Wilson, Engineering Project Lead, 434.455.6453 HARRIS CORPORATION | RF Communications Division assuredcommunications(tm) -----Original Message----- From: Vincent Zweije [mailto:vzwe...@wcc-group.com] Sent: Monday, June 15, 2009 12:54 PM To: Wilson, Ron P Cc: General Discussion of SQLite Database Subject: Re: [sqlite] Lemon parser : compile error when using "%token_destructor" directive On Mon, Jun 15, 2009 at 11:42:26AM -0400, Wilson, Ron P wrote: || It has been a while since I used lemon (big fan though). Did you resolve || this issue or do you still need help? [It appears my previous response did not get through.] Looks suspiciously like this problem, which was fixed in version 3.6.2: http://www.sqlite.org/cvstrac/tktview?tn=3299 Ciao. || -----Original Message----- || From: sqlite-users-boun...@sqlite.org [mailto:sqlite-users-boun...@sqlite.org] On Behalf Of ferrety ferrety || Sent: Monday, June 08, 2009 7:15 PM || To: sqlite-users@sqlite.org || Subject: [sqlite] Lemon parser : compile error when using "%token_destructor" directive || || Hi List, || This is the only place I found to ask for "lemon parser" error. || || When trying to use the "%token_destructor" directive: || || %include { || #include <stdio.h> || void token_dtor (struct Token * t) || { || fprintf(stderr, "In token_destructor: t -> value=%s\n", t -> value); || } || } || %token_destructor { token_dtor($$); } || || || I got the following error: || error: too many arguments to function 'yy_destructor' || || I tried to understand how "lemon" generated the calls for that function and || found that: || || 1) The definition of "yy_destructor" is with only 2 arguments: || static void yy_destructor(YYCODETYPE yymajor, YYMINORTYPE *yypminor){ || switch( yymajor ){ || /* Here is inserted the actions which take place when a || ... || || 2) "Lemon" generates different calls to "yy_destructor", sometimes with 2 or || 3 parameters : || yy_destructor( yymajor, &yytos->minor); <- HERE with 2 arguments, || which is fine || yy_destructor(yypParser,4,&yymsp[0].minor); <- HERE with 3 arguments, which || is an error || yy_destructor(yypParser,5,&yymsp[-2].minor); <- same || yy_destructor(yypParser,6,&yymsp[0].minor); <- same || ... || || Sometime, the "yy_destructor" si called with 2 arguments as defined and some || other time, || it's called with 3 arguments. || || Is it a bug or am I missing something? -- WCC - Smart Search & Match NL +31 30 7503222 vzwe...@wcc-group.com www.wcc-group.com _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users