• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            woaidongmao

            文章均收錄自他人博客,但不喜標題前加-[轉貼],因其丑陋,見諒!~
            隨筆 - 1469, 文章 - 0, 評論 - 661, 引用 - 0
            數據加載中……

            vc++與YACC和LEX集成環境

            在這里,將介紹由英國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)后即可執行。

            用的VC 2005, 和原來VC 6的設置項對應不上, 很多半天都找不到.好不容易找全了, 卻還是編譯出錯.
            最后,只好選擇再裝一個VC6, 嗯, 兩個VC, 不錯.
            先介紹一下Parser Generator,主頁下載:http://www.bumblebeesoftware.com/downloads.htm
            Parser Generator is a YACC and Lex programming tool for Windows. As well as including a Graphical User Interace, the software also includes two versions of YACC and Lex, called AYACC and ALex. Parser Generator is able to generate C, C++ and Java parsers and lexical analysers. This includes both Unicode and Multibyte Character Set (MBCS) variants. In your applications you can create multiple, thread safe, instances of these parsers and lexical analysers.

                    下面說一下windows環境下parser generator和vc++的各項配置

            (一)parser generator的環境設置

                     安裝好parser generator,打開集成開發環境,點項目Project菜單,在下拉菜單中選LibBuilder,彈出LibBuilder對話框選擇屬性按鈕,彈出compiler properties 對話框:
               Name 選擇Visual C++ (32-bit)

               Directory :msvc32
               options:

            依次為 vc++版本(Versoin 6)
            是否支持unicode碼。(選擇默認)
            是否把w_char_t作為內建類型。(選擇默認)
            下邊是VC的各種目錄:
            依次為
            Compiler Bin Directory (C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\VC98\BIN

            Compiler Bin Directory(C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\COMMON\MSDEV98\BIN

            Compiler Include Directory(C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\VC98\INCLUDE

            Compiler Include Directory(C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\VC98\MFC\INCLUDE

            Compiler Library Directory(C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\VC98\LIB

            Compiler Library Directory(C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\VC98\MFC\LIB

                注意:編譯器安裝目錄根據個人安裝目錄需要做相應的調整。所有的這些設置完成之后點ok。
                   最后一步,配置parser generator的properties,如圖即可:

                   返回LibBuilder。點Build就可以編譯vc++使用的lex與yacc的lib庫。

            注:我參考Vs 2003.net的設置,在VC 2005下進行相應設置, 結果lex與yacc的lib庫沒能編譯通過, 可能是我設置錯誤, 不應該是尚不兼容的問題吧.
                生成庫文件在軟件安裝目錄下的D:\Parser Generator 2\Cpp\Lib\msvc32目錄下。

            (二)vc++環境的設置

            1.目錄設置

                     為了在VC++中可以找到包含文件yacc.h和lex.h以及YACC和Lex的庫文件,需要對VC++進行相關的目錄設置
            (1)       選擇Tools菜單中的Options命令,打開Options對話框。
            (2)       選擇Directories選項卡。
            (3)       在Show Directories for下拉列表框中選擇Include Files。
                       在Directories框中,點擊最后的空目錄,并填入 F:\PARGEN\CPP\INCLUDE(根據個人安裝目錄需要做相應的調整)
            (4)       在Show Directories for下拉列表框中選擇Library Files。
                       在Directories框中,點擊最后的空目錄,并填入F:\PARGEN\CPP\LIB\MSVC32
            (5)       在Show Directories for下拉列表框中選擇Source Files。
                       在Directories框中,點擊最后的空目錄,并填入F:\PARGEN\CPP\SOURCE
            (6)       點擊OK按鈕,Options對話框將接受設置并關閉。

            2.項目設置
            對于每個VC++項目,都需在VC++中進行以下設置,以使VC++可以從特定的庫中接受LEX和YACC所需要的函數和變量
            (1)       選擇Project菜單中的Settings命令,打開Project Settings對話框。
            (2)       在Settings for下拉列表框中選擇Win32 Debug。
            (3)       選擇C/C++選項卡, 在Category下拉列表框中選擇General。
                             在Preprocessor Definitions框中,在當前文本的最后,輸入
                            ,YYDEBUG
            注:對應到VC 2005為C/C++->Preprocessor->Preprocessor Definitions.
            (4)       選擇Link選項卡,在Category下拉列表框中選擇General。
                             在Object/Library Modules框中,在當前文本的后面,輸入yld.lib
            注:VC 6中的Object/Library Modules對應到VC 2005為Propert->Configuration Properties->Linker->Input->Additional Dependencies ,找了好久.
            (5)       在Settings for下拉列表框中選擇Win32 Release。
            (6)     重復第4步的工作。
            (7)   點擊OK按鈕,Project Settings對話框設置完畢。

               這樣設置之后我們就可以用vc++編譯Parser Generator 生成的c文件了。具體為:
            先打開Parser Generator 集成開發環境。點擊Project菜單,點擊下拉菜單中的ParseWizard菜單,一路下去建立一個工程。然后點擊project菜單下的的Rebuild All。在項目文件夾下就生成了相應c文件與h文件。
            再用VC++建立一個空控制臺工程,然后把用用Parser Generator
            生成的c文件和頭文件加入工程中。接著對VC++進行上面所說的項目設置,然后就可以編譯運行了。新手可以使用parser generator 自帶的范例,這樣方便檢驗環境的配置是否正確.

            posted on 2008-05-17 00:33 肥仔 閱讀(1189) 評論(0)  編輯 收藏 引用 所屬分類: LEX & YACC

            亚洲伊人久久精品影院| 国产成人无码精品久久久久免费| 欧洲国产伦久久久久久久| 日日狠狠久久偷偷色综合96蜜桃| 久久综合亚洲色一区二区三区| 日产精品99久久久久久| 99久久国产热无码精品免费久久久久 | A级毛片无码久久精品免费| 国产精品久久久久久久久鸭| 久久99精品九九九久久婷婷 | 97久久香蕉国产线看观看| 国产精品久久久久久久午夜片 | 韩国三级大全久久网站| 国产亚洲精久久久久久无码77777| 久久99免费视频| 亚洲午夜久久久久久噜噜噜| 久久久精品视频免费观看| 久久99精品国产99久久| 日韩人妻无码一区二区三区久久99| 国产成人无码久久久精品一| 久久综合鬼色88久久精品综合自在自线噜噜| 人妻精品久久久久中文字幕69| 久久精品国产亚洲精品| 99久久精品久久久久久清纯| 久久综合狠狠综合久久| 久久免费看黄a级毛片| 一本色综合久久| 亚洲国产精品无码久久九九| 亚洲国产天堂久久久久久| 久久国产亚洲精品| 蜜桃麻豆www久久国产精品| 久久精品不卡| 中文字幕无码av激情不卡久久| 合区精品久久久中文字幕一区| 成人国内精品久久久久影院VR| 热99re久久国超精品首页| 精品久久久久久无码人妻热| 久久91精品综合国产首页| 中文字幕久久精品 | 精品国产乱码久久久久久人妻| 亚洲另类欧美综合久久图片区|