我的代码存在问题
alphabet [a-zA-Z]
var {alphabet}+[{chiffre}{alphabet}_]*
{varIntDecl} {
for(int i=5 ;i<yyleng;i++)tab[cmp].token[i-5]=yytext[i]; strcpy(tab[cmp].value,"0");strcpy(tab[cmp].type,"Var");
tab[cmp].indiceTS= cmp;
strcpy(tab[cmp++].typeValeur,"int");
yylval.indiceTS=cmp;
return (INTVARIABLEDECL);
}
{var} {
for(int i=0;i<cmp;i++){
if(!strcmp(tab[i].token,yytext)) {
return (VARINT);
}
}
printf("Error Variable non trouvé Please Declare First ");
}
varIntDecl {int}{blancs}{var};
当我执行此操作时 我有一个yacc部分,但它与此无关
我每次都会执行var的冲突,即使这不是我想做的事情
这是执行的结果:
错误变量非麻烦请声明第一个
错误变量非麻烦请声明第一个