编译lex文件时出错

时间:2015-05-06 10:09:51

标签: lex

%{
#include <stdio.h>
#include "y.tab.h"
extern int yylval;
%}
%%
[a-zA-Z] { yylval= *yytext[0]; return ID; }
[0-9]    { yylval= *yytext[0]; return NUM;} 
.    return yytext[0];
\n   return 0;
%%

我正在编译这个lex文件和yacc文件,当我点击以下命令(cc lex.yy.c y.tab.h -ll)时,错误就是上面的lex代码(错误) :一元'*'的无效类型参数(有'int')) 帮我解决这个问题。

1 个答案:

答案 0 :(得分:0)

*移除[0]*yytext[0]

yytext是指向char的指针,因此yytext[0]char,您无法取消引用char,正如编译器告诉您的那样。< / p>