lex&yacc for windows的安裝

最近在寫compiler作業要裝lex&yacc安裝挺麻煩的,
雖然有gnu軟體安裝經驗的人一下子就搞定了XDDD

windows下的相容軟體叫flex和bison

載點分別在:
http://gnuwin32.sourceforge.net/packages/flex.htm
http://gnuwin32.sourceforge.net/packages/bison.htm

最偷懶的方法就是下載這個
Complete package, except sources

然後跟windows一般軟體的安裝方法一樣
next到底就裝好了XDD

然後到了命令列模式鍵入flex才發現找不到東西
廢話,因為還沒加入環境變數阿Orz

我的電腦→右鍵→內容→系統→進階
環境變數→系統變數→path→編輯
加入;C:\Program Files\GnuWin32\bin;
記得前後有分號

接著重開命令提示字元cmd
鍵入
flex -V
bison -V
有看到正確訊息就表示安裝成功了!!

創作者介紹

koukai的Blog

koukaipan 發表在 痞客邦 PIXNET 留言(5) 人氣()


留言列表 (5)

發表留言
  • qwert535286
  • 請問如果沒裝mingw的人,需不需要裝整個GnuWin32包呢?
  • 可以不用,如果你不需要編譯程式的話,應該可以不用

    koukaipan 於 2010/03/11 14:49 回覆

  • elan
  • 找了半天都没有想到去下这个package 谢谢大大这篇博文~~
  • 蕭伯宇
  • 可以請問為何我在命令提示字元鍵入bison rpncalc.y 有印出一串程式碼 卻沒產生一個 rpncalc.tab.c 的檔案呢?
    我改打bison rpncalc.y --yacc 也一樣沒產生
    懇請回答
    BY 苦惱的資工學生
  • Hi,我沒遇過這種情況,不過提供幾個嘗試的方向。

    首先,確認一下,你寫的.y檔沒有問題,也許你可以從這邊抓範例試試看:
    http://good-ed.blogspot.com/2010/04/lexyacc.html

    再來,不知道你印出的東西是不是.tab.c的內容,如果你確定是的話,也許你可以在bison指令後加上-o指定輸出到什麼檔案。如果那是bison的錯誤訊息,那你可能要先確定你.y檔的正確性了。

    koukaipan 於 2011/05/23 09:50 回覆

  • 訪客
  • 版主您好:
    我也跟蕭同學遇到同樣的狀況,將範例餵給bison會跑出一堆訊息,如
    m4_define<[b4_pact_min],
    [[-9]]>

    加上-o也是一樣的情形
    bison為2.4.1版
    不知有什麼建議呢,謝謝。
  • Hi,
    我的flex版本2.5.35,bison版本2.4.1
    我跑了上面網址所給的範例,沒有任何問題
    (除了要自己加入yyerror()、以及要指名bison產生y.tab.h以外)
    如果你是跑別的範例所遇到的問題,也許你要檢查一下語法的正確性。有些語法yacc跟bison的並沒有共通哦~~
    建議你先從簡單的範例跑看看,才能確定是bison問題,還是你的y檔語法錯誤
    good luck!!

    koukaipan 於 2011/09/13 18:04 回覆

  • 匿名
  • 回覆#3 #4
    注意一下,bison安裝路徑中不能包含「空白」,
    例如以下路徑就包含「空白」:
    C:\Program Files