2012-06-19 64 views
0

我开始将Lex用于作业。在我的Lex文件中,当转到规则部分的第一行时,我总是遇到错误。我已经在书中的示例代码上进行了测试。Lex:所有方法在规则部分遇到错误

这里是Flex的抛出错误:

1 Error: Parse error at line

2 Description: Badly formed macro definition.

这里是我的代码。

int num_lines = 0, num_chars = 0; 
%% 
\n ++num_lines; ++num_chars;  // error here 
. ++num_chars; 
%% 
main() 
{ 
yylex(); 
printf("# of lines = %d, # of chars = %d\n", 
num_lines, num_chars); 
} 

谢谢:)

回答

0

尝试

%{ 
int num_lines = 0, num_chars = 0; 
%} 

%% 
... 
+0

我还是遇到了错误的线之上:( – hqt

+0

我用JFlex的。我不知道有任何莱克斯差异?(因为'计算器'我的工作没有Flex。 – hqt