我正在尝试运行以下程序,并且我得到了无法识别的规则:37。不确定为什么它在第37行给出了我的错误。
命令:$ lex mycsv2html.l
%{ //Definition Section
#include <stdin.h>
#include <stdout.h>
int c;
extern int yylval;
%}
%% // Rule Section
" " ;
[\n] {
c = yytext[0];
yylval = c - '\n';
return(br);
}
["] {
c = yytext[0];
yylval = c - '';
return('');
}
[<] {
c = yytext[0];
yylval = c - '';
return('<');
}
[>] {
c = yytext[0];
yylval = c - '';
return('>');
}
int main(void) //C Code Section
{
/* Call the lexer, then quit. */
yylex();
return 0;
}
答案 0 :(得分:0)
您应该在第二部分(规则)和第三部分(C代码)之间添加%%
。
.....
[>] {
c = yytext[0];
yylval = c - '';
return('>');
}
%% // HERE
int main(void) //C Code Section
.....