2011-05-27 49 views
0

我使用flex詞法分析器作爲我的編譯器項目詞法分析器和我有這個功能來改變詞法分析器輸入流如下:flex自動生成的文件無法使用?

.L

void initLexer(string code) { 
    lineNumber = 1; 
    columnNumber = 0; 
    currentStringIndex = 0; 
    yy_delete_buffer(YY_CURRENT_BUFFER); 
    YY_BUFFER_STATE my_string_buffer = yy_scan_string("sh"); 
    yy_switch_to_buffer(my_string_buffer); 
} 

,我使用下列選項生成適當的程序

%option nounput 
%option nomain nodefault 
%option noyywrap 
%option warn 
%option c++ 

我運行Flex詞法分析器工具,我得到的自動生成的CPP文件之後,我嘗試建立我的項目,但它不能recogn ize

error C2065: 'yy_current_buffer' : undeclared identifier  
error C3861: 'yy_delete_buffer': identifier not found 
error C3861: 'yy_scan_string': identifier not found 
error C3861: 'yy_switch_to_buffer': identifier not found  

爲什麼?我該怎麼辦??

回答

1

我對這個問題的解決方案 - 我用MinGW軟件包中的flex