修复给定代码中的冲突&引用;25转移/减少冲突[-Wconflicts sr]”;

修复给定代码中的冲突&引用;25转移/减少冲突[-Wconflicts sr]”;,c,compiler-construction,bison,flex-lexer,C,Compiler Construction,Bison,Flex Lexer,//Lex文件:for.l alpha [A-Za-z] digit [0-9] %% [\t \n] for return FOR; {digit}+ return NUM; {alpha}({alpha}|{digit})* return ID; "<=" return LE; ">=" return GE; "==" return EQ; "!="

//Lex文件:for.l

alpha [A-Za-z]  
digit [0-9]  
%%  
[\t \n]   
for         return FOR;  
{digit}+    return NUM;  
{alpha}({alpha}|{digit})* return ID;  
"<="         return LE;  
">="         return GE;  
"=="         return EQ;  
"!="          return NE;  
"||"          return OR;  
"&&"         return AND;  
.            return yytext[0];  
%% 
我怎么修理它

编制方法:

$ lex c.l  
$ yacc c.y  

你的语法有各种各样的问题;以下是最明显的例子:

  • 允许
    DEF
    为空。也就是说

     for (i=0;i<1;i++)  for (j=0;j<1;j++) 
    

    for(i=0;i请编辑您的代码并更具体地说明您遇到的问题,以便我们能够更好更快地帮助您,谢谢!完成后,请帮助我解决这些冲突。请查看此so帖子:
    
    $ lex c.l  
    $ yacc c.y  
    
     for (i=0;i<1;i++)  for (j=0;j<1;j++)