2015-08-30 1733 views
0

我試圖在Windows 10平臺上運行Ymer工具。我已經通過cygwin安裝了g ++,gcc,yacc。在configure命令之後,當我運行make命令編譯應用程序時,它會生成以下錯誤。byacc%使用make命令編譯時定義了語法錯誤

PS C:\ymer> make 
/bin/sh ./ylwrap src/grammar.yy y.tab.c src/grammar.cc y.tab.h echo src/grammar.cc | sed -e s/cc$/hh/ -e s/cpp$/hpp/ -e s/cxx$/hxx/ -e s/c++$/h++/ -e s/c$/h/ y.output src/grammar.output -- byacc -d 
    byacc: e - line 514 of "/cygdrive/c/ymer/src/grammar.yy", syntax error 
    %defines 
    ^
    Makefile:2467: recipe for target 'src/grammar.cc' failed 
    make: *** [src/grammar.cc] Error 1 

看來grammar.yy文件導致問題。任何人都知道如何解決這個問題。順便說一句,我不熟悉yacc也沒有make文件。我對cygwin也很陌生。

謝謝

回答

2

%defines聲明是特定的野牛(不standard YACC的一部分)。文件grammar.yy包含一些byacc實現的野牛功能,但這不是其中的一種。 (從手冊頁的description看來,這相當於標準命令行選項-d,使其不太有用)。

+0

謝謝你的回答。其實我厭倦了「野牛-y」而不是byacc,而且它工作。 – Memin

+0

隨意'接受'答案(它似乎解決了問題)。 – reinierpost