プロが教えるわが家の防犯対策術!

bisonとflexで簡易電卓を作ってみようとしていますが、
bisonがy.tag.cとy.tag.hを出力してくれません。
flexのほうは正しく機能しているような気がします。

コード自体は

http://kmaebashi.com/programmer/devlang/yacclex. …

↑ここに載っているものを利用しています。

環境はWindows Vistaで、
bisonのバージョンが2.1です。

bisonをyオプションで実行しているのですが、
y.tag.cとy.tag.hを出力してくれません。
bisonが全然機能していないかというとそうでもなくて、
vオプションをつけてみると.outputをちゃんと出力してくれます。

初心者で浅学で頭も悪いので、困ってしまいました。
どうか助けてください。

よろしくお願いします。

A 回答 (3件)

> 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の項目をチェックしてインストールすることが出来ます。
    • good
    • 0

bison a.y


とおうコマンドを打鍵した場合、生成されるのは、y.tab.cではなく、a.tab.c
だけです。
もし、y.tab.c y.tab.hを生成したいのならば、
bison -d a.y
と打鍵してください。
まず man bison
と打鍵して、その他のオプションも調べておいてください。
    • good
    • 0

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

こんな感じなんですが、分かりますか??

補足日時:2009/12/06 02:37
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!