windows下yacc和lex開發環境配置(Parser Generator篇)

來源:互聯網
上載者:User
  1. 下載安裝
    Parser Generator是Windows下YACC和LEX的實現,是由英國Bumble-Bee Software公司開發.
    http://www.bumblebeesoftware.com/downloads.htm.
    安裝軟體之後,設定系統內容變數path,在path屬性中添加安裝bin目錄;以我的安裝為例,在以前的path屬性後添加;D:/Program Files/Parser Generator 2/Bin
    在控制台命令視窗中輸入alex,ayacc,檢驗是否能找到這兩個命令.如果找不到,那麼肯定是環境變數設定有誤.
  2. vc.net配置
    下面我以vc.net為例,進行配置說明.
    1)開啟vc.net程式,開啟菜單"工具"=>"選項",開啟"選項"對話方塊.
    2)在選項對話方塊左邊選擇"Projects"=>"VC++ 目錄"
       在"顯示以下內容的目錄(S)"下拉式清單中選擇"可執行檔",在下面的目錄列表中添加一行"D:/Program Files/Parser Generator 2/Bin"
      在"顯示以下內容的目錄(S)"下拉式清單中選擇"包含檔案",在下面的目錄列表中添加一行"D:/Program Files/Parser Generator 2/Cpp/Include"
      在"顯示以下內容的目錄(S)"下拉式清單中選擇"庫檔案",在下面的目錄列表中添加一行"D:/Program Files/Parser Generator 2/Cpp/Lib/msvc32"
      在"顯示以下內容的目錄(S)"下拉式清單中選擇"源檔案",在下面的目錄列表中添加一行"D:/Program Files/Parser Generator 2/Cpp/Source"
  3. 樣本
    用vc.net建立一個控制台項目
    選中項目,在右鍵菜單中選擇"屬性",或者選擇菜單"項目"=>"屬性",開啟項目屬性對話方塊.
    1)在左邊選擇"屬性配置"=>"C/C++"=>"預先處理",在右邊列表中,"前置處理器定義"行中添加一個YYDEBUG宏定義,用;號通別的宏定義分隔開來.
    2)在左邊選擇"屬性配置"=>"連接器"=>"輸入",在右邊列表中,"附加依賴項"中添加yld.lib或者ylmtrid.lib   (ylmtrid.lib  是多線程,yld.lib 是單線程)
    3)從D:/Program Files/Parser Generator 2/Cpp/Examples/calc目錄中拷貝calc.y檔案到項目目錄,開代控制台,進入項目calc.y所在目錄,執行命令ayacc calc.y,如果成功,你會看到在同樣的目錄中,有一個calc.c檔案產生.將calc.c添加到項目中,然後編譯,產生可執行程式.
    4)配置編譯選項,自動轉換.y.l檔案
      在工程中選擇.y檔案,右鍵菜單=>"屬性"開啟屬性對話方塊,在屬性對話方塊中選擇"自訂產生步驟",在右邊"命令列"中輸入ayacc calc.y,在"輸出"中輸入calc.c;這樣在編譯工程的時候,就可以根據calc.y檔案自動產生calc.c檔案,.l檔案的組建組態辦法類似.
  4. 結束
    我按照上面步驟成功產生了程式,沒有出現任何錯誤.vc6.0的配置類似.如有不對的地方,歡迎指正.
    另外可以採用CygWin,看文章http://hi.baidu.com/momoca/blog/item/f6010cd7dbdb00dea044df51.html
    也可以採用minGw,看文章http://hi.baidu.com/dadandachan/blog/item/449d802f0ff9b1381e3089b0.html
    flex,bison的http://www.monmouth.com/~wstreett/lex-yacc/lex-yacc.html
    CygWin和minGw在這兒就不再舉執行個體了,大家可以參考上面的文章,其實也是工具而已.
    yacc&lex英文資料http://www.cs.man.ac.uk/~pjj/cs2111/
    http://epaperpress.com/lexandyacc/
    http://yaxx.sourceforge.net
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.