- 締切済み
bisonがy.tag.cとy.tag.hを出力してくれません
bisonとflexで簡易電卓を作ってみようとしていますが、 bisonがy.tag.cとy.tag.hを出力してくれません。 flexのほうは正しく機能しているような気がします。 コード自体は http://kmaebashi.com/programmer/devlang/yacclex.html ↑ここに載っているものを利用しています。 環境はWindows Vistaで、 bisonのバージョンが2.1です。 bisonをyオプションで実行しているのですが、 y.tag.cとy.tag.hを出力してくれません。 bisonが全然機能していないかというとそうでもなくて、 vオプションをつけてみると.outputをちゃんと出力してくれます。 初心者で浅学で頭も悪いので、困ってしまいました。 どうか助けてください。 よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- kazuma1956
- ベストアンサー率50% (1/2)
> bison a.y > とおうコマンドを打鍵した場合、生成されるのは、y.tab.cではなく、a.tab.c >だけです。 > もし、y.tab.c y.tab.hを生成したいのならば、 > bison -d a.y > と打鍵してください。 > まず man bisonそれ > と打鍵して、その他のオプションも調べておいてください。 訂正 bison -d a.yではなく、bison -d -y a.y でした。 m4 XX can coot open XX というメッセージの件ですが、Windowsでcygwin かminGWをお使いのようですね。 m4というマクロプロセッサがインストールされていないようです。 (必要ならばシステム管理者と相談して)m4をインストールしてください。 cygwinならば、setupを機動し、Interpretersのなかのm4の項目をチェックしてインストールすることが出来ます。
- kazuma1956
- ベストアンサー率50% (1/2)
bison a.y とおうコマンドを打鍵した場合、生成されるのは、y.tab.cではなく、a.tab.c だけです。 もし、y.tab.c y.tab.hを生成したいのならば、 bison -d a.y と打鍵してください。 まず man bison と打鍵して、その他のオプションも調べておいてください。
- sakusaker7
- ベストアンサー率62% (800/1280)
y.tag.c/y.tag.h じゃなくて y.tab.c と y.tab.h なんですけど それを間違ってはいないですよね? それと、本当に構文解析器の生成に成功しているんでしょうか。 なにかメッセージは出ていませんか?
補足
すみません。誤植です。y.tab.c と y.tab.h が出力されて欲しい感じです。 メッセージはいっぱい出ています。 いっぱい出ていて気がつかなかったのですが、 エラーが出ていました。m:4とかってのがファイルを開けていないそうです。 むぅ。失礼しました。 m4: cannot open `Files\GnuWin32\bison/share/bison': No such file or directory m4: cannot open `C:\Program': No such file or directory m4: cannot open `Files\GnuWin32\bison/share/bison/m4sugar/m4sugar.m4': No such file or directory こんな感じなんですが、分かりますか??