2012-06-19 84 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