• <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

            文章均收錄自他人博客,但不喜標(biāo)題前加-[轉(zhuǎn)貼],因其丑陋,見(jiàn)諒!~
            隨筆 - 1469, 文章 - 0, 評(píng)論 - 661, 引用 - 0
            數(shù)據(jù)加載中……

            vc++與YACC和LEX集成環(huán)境

            在這里,將介紹由英國(guó)Bumble-Bee Software公司生產(chǎn)的Windows環(huán)境下的YACC和LEX集成環(huán)境Parser Generator。Parser Generator是Windows下YACC和LEX的實(shí)現(xiàn)。它包括一個(gè)圖形用戶界面,同時(shí)包括YACC和Lex兩個(gè)版本,分別叫做AYACC和Alex。Parser Generator非常適合于與VC++集成。

            在安裝了Parser Generator后,執(zhí)行以下步驟,即可使VC++編譯和連接由Parser Generator產(chǎn)生的文件。

            1.目錄設(shè)置

            在VC++中執(zhí)行以下步驟,每個(gè)步驟只執(zhí)行一次。

            (1) 選擇Tools菜單中的Options命令,在屏幕上即會(huì)出現(xiàn)Options對(duì)話框。

            (2) 選擇Directories選項(xiàng)卡。

            (3) 在Show Directories for下拉列表框中選擇Include Files。

            (4) 在Directories框中,點(diǎn)擊最后的空目錄,并填入Parser Generator的include子目錄的路徑。

            (5) 在Show Directories for下拉列表框中選擇Library Files。

            (6) 在Directories框中,點(diǎn)擊最后的空目錄,并填入Parser Generator的lib\msdev子目錄的路徑。

            (7) 在Show Directories for下拉列表框中選擇Source Files。

            (8) 在Directories框中,點(diǎn)擊最后的空目錄,并填入Parser Generator的Source子目錄的路徑。

            (9) 點(diǎn)擊OK按鈕,Options對(duì)話框?qū)⒔邮茉O(shè)置并關(guān)閉。

            VC++在就可以找到包含文件yacc.h和lex.h以及YACC和Lex的庫(kù)文件。

            2.項(xiàng)目設(shè)置

            對(duì)于每個(gè)VC++項(xiàng)目,都需在VC++中執(zhí)行以下步驟:

            (1) 選擇Project菜單中的Settings命令,在屏幕上即會(huì)出現(xiàn)Project Settings對(duì)話框。

            (2) 在Settings for下拉列表框中選擇Win32 Debug。

            (3) 選擇C/C++標(biāo)簽。

            (4) 在Category下拉列表框中選擇General。

            (5) 在Preprocessor Definitions框中,在當(dāng)前文本的最后,輸入YYDEBUG。

            (6) 選擇Link標(biāo)簽。

            (7) 在Category下拉列表框中選擇General。

            (8) 在Object/Library Modules框中,在當(dāng)前文本的后面,輸入yld.lib ylmtd.lib ylmtdlld.lib。

            (9) 在Settings for下拉列表框中選擇Win32 Release。

            (10) 重復(fù)第8步的工作。

            (11) 點(diǎn)擊OK按鈕,Project Settings對(duì)話框?qū)⒔邮茉O(shè)置并關(guān)閉。

            VC++現(xiàn)在可以從特定的庫(kù)中接受YACC和Lex所需的函數(shù)和變量。

            3.應(yīng)用

            (1)在Parser Generator下的編輯窗口輸入YACC源程序(擴(kuò)展名必須為.y)。

            (2)用Parser Generator下的Project菜單的Compile file命令編譯源程序,生成相應(yīng)的C語(yǔ)言源程序(.cpp)。

            (3)用VC++編譯,連接C語(yǔ)言源程序,生成可執(zhí)行程序(.exe)后即可執(zhí)行。

            用的VC 2005, 和原來(lái)VC 6的設(shè)置項(xiàng)對(duì)應(yīng)不上, 很多半天都找不到.好不容易找全了, 卻還是編譯出錯(cuò).
            最后,只好選擇再裝一個(gè)VC6, 嗯, 兩個(gè)VC, 不錯(cuò).
            先介紹一下Parser Generator,主頁(yè)下載: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.

                    下面說(shuō)一下windows環(huán)境下parser generator和vc++的各項(xiàng)配置

            (一)parser generator的環(huán)境設(shè)置

                     安裝好parser generator,打開(kāi)集成開(kāi)發(fā)環(huán)境,點(diǎn)項(xiàng)目Project菜單,在下拉菜單中選LibBuilder,彈出LibBuilder對(duì)話框選擇屬性按鈕,彈出compiler properties 對(duì)話框:
               Name 選擇Visual C++ (32-bit)

               Directory :msvc32
               options:

            依次為 vc++版本(Versoin 6)
            是否支持unicode碼。(選擇默認(rèn))
            是否把w_char_t作為內(nèi)建類型。(選擇默認(rèn))
            下邊是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

                注意:編譯器安裝目錄根據(jù)個(gè)人安裝目錄需要做相應(yīng)的調(diào)整。所有的這些設(shè)置完成之后點(diǎn)ok。
                   最后一步,配置parser generator的properties,如圖即可:

                   返回LibBuilder。點(diǎn)Build就可以編譯vc++使用的lex與yacc的lib庫(kù)。

            注:我參考Vs 2003.net的設(shè)置,在VC 2005下進(jìn)行相應(yīng)設(shè)置, 結(jié)果lex與yacc的lib庫(kù)沒(méi)能編譯通過(guò), 可能是我設(shè)置錯(cuò)誤, 不應(yīng)該是尚不兼容的問(wèn)題吧.
                生成庫(kù)文件在軟件安裝目錄下的D:\Parser Generator 2\Cpp\Lib\msvc32目錄下。

            (二)vc++環(huán)境的設(shè)置

            1.目錄設(shè)置

                     為了在VC++中可以找到包含文件yacc.h和lex.h以及YACC和Lex的庫(kù)文件,需要對(duì)VC++進(jìn)行相關(guān)的目錄設(shè)置
            (1)       選擇Tools菜單中的Options命令,打開(kāi)Options對(duì)話框。
            (2)       選擇Directories選項(xiàng)卡。
            (3)       在Show Directories for下拉列表框中選擇Include Files。
                       在Directories框中,點(diǎn)擊最后的空目錄,并填入 F:\PARGEN\CPP\INCLUDE(根據(jù)個(gè)人安裝目錄需要做相應(yīng)的調(diào)整)
            (4)       在Show Directories for下拉列表框中選擇Library Files。
                       在Directories框中,點(diǎn)擊最后的空目錄,并填入F:\PARGEN\CPP\LIB\MSVC32
            (5)       在Show Directories for下拉列表框中選擇Source Files。
                       在Directories框中,點(diǎn)擊最后的空目錄,并填入F:\PARGEN\CPP\SOURCE
            (6)       點(diǎn)擊OK按鈕,Options對(duì)話框?qū)⒔邮茉O(shè)置并關(guān)閉。

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

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

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

            久久久久国产精品人妻| 亚洲中文久久精品无码ww16| 国产婷婷成人久久Av免费高清| 99久久国产综合精品女同图片| 精产国品久久一二三产区区别| 婷婷久久香蕉五月综合加勒比| 久久精品夜夜夜夜夜久久| 99久久国产综合精品麻豆| 久久久中文字幕日本| 亚洲色大成网站www久久九| 国产亚洲美女精品久久久久狼| 久久亚洲精品无码播放| 三上悠亚久久精品| 久久久艹| 久久久久久久99精品免费观看| 日韩中文久久| 久久精品一区二区国产| 久久久久久久久久久久久久| 99久久精品免费| 国产亚洲综合久久系列| 久久久久久综合网天天| 久久久精品久久久久久 | 中文精品久久久久国产网址 | 欧美久久久久久| 色综合久久中文综合网| 久久亚洲春色中文字幕久久久| 久久国产三级无码一区二区| 久久99国产亚洲高清观看首页| 久久99热这里只有精品国产| 久久综合亚洲色HEZYO国产| 99麻豆久久久国产精品免费| 国产69精品久久久久9999APGF | 区久久AAA片69亚洲| 久久91这里精品国产2020| 精品久久777| 国产欧美一区二区久久| 久久精品夜夜夜夜夜久久| 久久综合精品国产二区无码| 色欲久久久天天天综合网| 无码国内精品久久综合88| 国产精品久久久久免费a∨|