mirror of
https://github.com/sqlite/sqlite.git
synced 2025-07-27 20:41:58 +03:00
Change the way that lemon handles %extra_argument. (CVS 427)
FossilOrigin-Name: ffc387a48a9864b7f323314fbf8295b5bb2a3bd1
This commit is contained in:
16
tool/lemon.c
16
tool/lemon.c
@ -3018,13 +3018,17 @@ int mhflag; /* Output in makeheaders format if true */
|
||||
i = strlen(lemp->arg);
|
||||
while( i>=1 && isspace(lemp->arg[i-1]) ) i--;
|
||||
while( i>=1 && (isalnum(lemp->arg[i-1]) || lemp->arg[i-1]=='_') ) i--;
|
||||
fprintf(out,"#define %sARGDECL ,%s\n",name,&lemp->arg[i]); lineno++;
|
||||
fprintf(out,"#define %sXARGDECL %s;\n",name,lemp->arg); lineno++;
|
||||
fprintf(out,"#define %sANSIARGDECL ,%s\n",name,lemp->arg); lineno++;
|
||||
fprintf(out,"#define %sARG_SDECL %s;\n",name,lemp->arg); lineno++;
|
||||
fprintf(out,"#define %sARG_PDECL ,%s\n",name,lemp->arg); lineno++;
|
||||
fprintf(out,"#define %sARG_FETCH %s = yypParser->%s\n",
|
||||
name,lemp->arg,&lemp->arg[i]); lineno++;
|
||||
fprintf(out,"#define %sARG_STORE yypParser->%s = %s\n",
|
||||
name,&lemp->arg[i],&lemp->arg[i]); lineno++;
|
||||
}else{
|
||||
fprintf(out,"#define %sARGDECL\n",name); lineno++;
|
||||
fprintf(out,"#define %sXARGDECL\n",name); lineno++;
|
||||
fprintf(out,"#define %sANSIARGDECL\n",name); lineno++;
|
||||
fprintf(out,"#define %sARG_SDECL\n",name); lineno++;
|
||||
fprintf(out,"#define %sARG_PDECL\n",name); lineno++;
|
||||
fprintf(out,"#define %sARG_FETCH\n",name); lineno++;
|
||||
fprintf(out,"#define %sARG_STORE\n",name); lineno++;
|
||||
}
|
||||
if( mhflag ){
|
||||
fprintf(out,"#endif\n"); lineno++;
|
||||
|
Reference in New Issue
Block a user