2011-03-29 129 views
1

我讀過http://dinosaur.compilertools.net/bison/bison_5.html#SEC25。但遵循這些說明我不能編譯我的yacc文件使用bison如何在Windows環境下使用Bison編譯yacc(.y)文件?

我如何在Windows 7中編譯我的文件...?

請幫我這麼做。

+0

你有關於它失敗的細節嗎?很難從這裏知道你的問題。 – 2011-03-29 08:50:47

+0

@大衛:其實我是新來的野牛世界。我不知道編譯'.y'文件的命令。我認爲這些評論是針對Unix環境的。並且我從[http://gnuwin32.sourceforge.net/]下載了bison.exe。 – 2011-03-29 08:54:30

+0

您已經從正確的地方獲得了bison.exe。那麼,怎麼了? – 2011-03-29 10:42:59

回答

0

在Windows PowerShell中使用這些Unix命令可能工作,但我不確定,而且我目前不在Windows上,所以我無法檢查它。

如果失敗,您可以嘗試安裝Cygwin(Windows中的基本Linux環境)。安裝過程中必須選擇野牛包裝。它帶有可以使用的自己的外殼。

其實我個人最喜歡在Windows下編程的時候是用VirtualBox設置虛擬機。這樣你就可以使用真正的Linux環境而不需要真正離開Windows。

祝你好運!

+0

完全不需要PowerShell,Cygwin,VM等。 – 2011-03-29 10:44:01

0

有一個常見原因,爲什麼野牛不能在Windows上正常運行,並在安裝說明中提到,但經常被忽略。 bison(和flex)安裝在目錄(路徑)中的目錄位置的名稱不包含空格是非常重要的。特別是這意味着它不能被置於C:\Program Files\之下。問題是這個目錄可能會被建議作爲默認的安裝位置。有時需要手動將默認值更改爲其他值(如C:\GnuWin\或類似的)。通常還需要手動將適當的目錄添加到PATH環境變量中。完成此操作後,在命令提示符下運行bison和flex應該沒有問題。它通常會以下列方式使用:

flex lang.l 
bison lang.y 
gcc -o lang.exe lang.tab.c -lfl 

這是沒有必要安裝的MinGW,Cygwin的或使用PowerShell或VM或使用Linux通過@DavidHefferman

指示如果仍然不能說得對,我甚至有一個instructional video