Parser Generator的使用說明


Parser Generator的使用說明
2010年05月13日 星期四 18:35
parser generator的使用方法

這里只以vc6.0為例,首先打開parser generator編輯器,選擇Project->LibBuilder

在LibBuilder對話框中選中Visual C++(32-bit),按屬性鍵Properties后確以下設置

Script file name                        .\Cpp\Script\msvc32.lbs

Name                                    Visual C++(32-bit)

Directory                               msvc32

Compiler Version                         Version 6

Unicode                                  True

Treat wchar_t as Built-in Type            False

Compiler Bin Directory            安裝路徑\Microsoft Visual Studio\Vc98\bin

Compiler Bin Directory(2) 安裝路徑\Microsoft Visual Studio\Common\MSDev98\bin

Compiler Include Directory      安裝路徑\Microsoft Visual Studio\Vc98\include

Compiler Include Directory(2)               無

Compiler Library Directory          安裝路徑\Microsoft Visual Studio\Vc98\lib

Compiler Library Directory(2)              無

Libraries下的庫文件全部選中后ok

LibBuilder對話框->Build(編譯過程可能幾分鍾)

編譯完成后我們就可以使用parser generator編寫lex或是yacc程序了

Project->ParserWizard

Step1 工程設定(一點需要注意語言可以選擇c或是c++或java)

Step2 工程設定(默認創建帶main函數的yacc文件和lex文件)

Step3 yacc文件設定

Step4 lex文件設定

 

Lex和yacc的語法參考http://www.ibm.com/developerworks/cn/linux/sdk/lex/

編輯好代碼后Project->RebBuild All在你創建好的工程下自動生成Step1選定語言的文件(.h/..c/.cpp/.java)

之后在vc6.0加入如下設置

Tool->Option-> directory

Bin file :

安裝目錄\PARSER GENERATOR 2\BIN

Include file:

安裝目錄\PARSER GENERATOR 2\CPP\INCLUDE

Library file

安裝目錄\PARSER GENERATOR 2\CPP\LIB\MSVC32

Soure file

安裝目錄\PARSER GENERATOR 2\CPP\SOURCE

創建vc6.0工程

將生成文件復制到vc6.0創建工程下

Source files和Header Files中加入生成文件(.h/.c/.cpp)

在工程設定中Project->Settings For box選中win32 debug

c/c++ ->Category選中General ->Preprocessor Definitions加入YYDEBUG

在工程Project設定Project->Settings For box中選中all

link -> Category選中General->Object/Library Modules中加入yld.lib

這里需要注意的是yld.lib為parser generator的DUBUG單線程版本,對於vc的控制台程序是可以的,如果使用了MFC或是Windows applications程序則需要對應下表追加

Library(DEBUG)

Run-time Library

Description

yld.lib

Debug Single-Threaded

單線程靜態鏈接庫(DEBUG版本)

ylmtd.lib

Debug Multithreaded

多線程靜態鏈接庫(DEBUG版本)

ylmtrd.lib

Debug Multithreaded DLL

多線程靜態鏈接庫當run time library 使用動態庫(DEBUG版本)

ylmtrid.lib    

Debug Multithreaded DLL

多線程動態鏈接庫當run time library 使用動態庫(DEBUG版本)

 

Library(RELEASE)

Run-time Library

Description

yl.lib

Single-Threaded

單線程靜態鏈接庫(RELEASE版本)

ylmt.lib

Multithreaded

多線程靜態鏈接庫(RELEASE版本)

ylmtr.lib

Multithreaded DLL      

多線程靜態鏈接庫當run time library 使用動態庫(RELEASE版本)

ylmtri.lib

Multithreaded DLL      

多線程動態鏈接庫當run time library 使用動態庫(RELEASE版本)

如果使用了動態庫版本需要在程序運行環境中追加DLL的地址

安裝目錄\PARSER GENERATOR 2\CPP\LIB\MSVC32

如果需要鏈接yacc或是lex的dll.在Preprocessor Definitions下加入YYDLL.

 

這樣就可以使用vc6.0對lex生成文件進行編譯了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM