在這里,將介紹由英國Bumble-Bee Software公司生產的Windows環境下的YACC和LEX集成環境Parser Generator。Parser Generator是Windows下YACC和LEX的實現。它包括一個圖形用戶界面,同時包括YACC和Lex兩個版本,分別叫做AYACC和Alex。Parser Generator非常適合于與VC++集成。
在安裝了Parser Generator后,執行以下步驟,即可使VC++編譯和連接由Parser Generator產生的文件。
1.目錄設置
在VC++中執行以下步驟,每個步驟只執行一次。
(1) 選擇Tools菜單中的Options命令,在屏幕上即會出現Options對話框。
(2) 選擇Directories選項卡。
(3) 在Show Directories for下拉列表框中選擇Include Files。
(4) 在Directories框中,點擊最后的空目錄,并填入Parser Generator的include子目錄的路徑。
(5) 在Show Directories for下拉列表框中選擇Library Files。
(6) 在Directories框中,點擊最后的空目錄,并填入Parser Generator的lib\msdev子目錄的路徑。
(7) 在Show Directories for下拉列表框中選擇Source Files。
(8) 在Directories框中,點擊最后的空目錄,并填入Parser Generator的Source子目錄的路徑。
(9) 點擊OK按鈕,Options對話框將接受設置并關閉。
VC++在就可以找到包含文件yacc.h和lex.h以及YACC和Lex的庫文件。
2.項目設置
對于每個VC++項目,都需在VC++中執行以下步驟:
(1) 選擇Project菜單中的Settings命令,在屏幕上即會出現Project Settings對話框。
(2) 在Settings for下拉列表框中選擇Win32 Debug。
(3) 選擇C/C++標簽。
(4) 在Category下拉列表框中選擇General。
(5) 在Preprocessor Definitions框中,在當前文本的最后,輸入YYDEBUG。
(6) 選擇Link標簽。
(7) 在Category下拉列表框中選擇General。
(8) 在Object/Library Modules框中,在當前文本的后面,輸入yld.lib ylmtd.lib ylmtdlld.lib。
(9) 在Settings for下拉列表框中選擇Win32 Release。
(10) 重復第8步的工作。
(11) 點擊OK按鈕,Project Settings對話框將接受設置并關閉。
VC++現在可以從特定的庫中接受YACC和Lex所需的函數和變量。
3.應用
(1)在Parser Generator下的編輯窗口輸入YACC源程序(擴展名必須為.y)。
(2)用Parser Generator下的Project菜單的Compile file命令編譯源程序,生成相應的C語言源程序(.cpp)。
(3)用VC++編譯,連接C語言源程序,生成可執行程序(.exe)后即可執行。
參考文獻:
[1] 呂映芝,張素琴,蔣維杜,編譯原理.北京: 清華大學出版社, 1998.1