- ベストアンサー
yacc&lexの実行の仕方がよくわかりません。
いま、yaccとlexのプログラムを作ってみたんですが、実行方法がわかりません。yacc hogehoge.yとcygwinで打っても「コマンド ノット ファウンド」って表示されます。 初歩的な質問で申し訳ありませんが、回答よろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
cygwin環境であれば、GNUのflex/bisonがsetup.exeでインストール可能なはずです。gccをインストールする時と手順はまったく一緒なので心配要りません。FULLでインストールしていれば既に入っています。 [対応] lex->flex yacc->bison この問題レベルでWEBを検索して調べられない人が、yacc/lexを使いこなせるか心配ですが大丈夫ですか? 言語インタプリ/コンパイラのサンプルをどこかで手に入れられたのでしょうか?それの手順を試しているだけですか? まず、cygwin/unixを勉強された方が良いと思います。自力でflexのソースコードを見つけてきてコンパイルとインストールが出来るぐらいにならないとyacc/lexは難しいですよ。
その他の回答 (3)
- splwtr
- ベストアンサー率16% (75/461)
回答されてる方の様に、インストールしてないのか、パスが通ってないのかと思います。 cygwinな環境のデフォルトなインストール知りませんので cd / find . -name yacc 又は find . -name "yacc*" かな? で見つからなかったら、インストールされてません。 もし 見つかったのならば /xx1/xx2/yacc hogehoge,y とすれば、よいでしょう。 で、「/xx1/xx2」のパスを追加すればいいです。 詳細は調べてね。
- sakusaker7
- ベストアンサー率62% (800/1280)
デフォルトインストールでは、yacc(binso byacc)やlex (flex)は インストールされませんが、インストールしていますか?
- bin-chan
- ベストアンサー率33% (1403/4213)
コマンドプロンプトで実行するプログラムであれば、 yaccへのパスが適切に設定されていない。 yaccがあるフォルダで実行するか、環境変数PATHに記述を追加するか。 インストール手順または操作説明に記載がありませんか?
補足
回答ありがとうございます。 「cd/」って何でしょうか? パスということでしょうか? ちなみに、 find . -name yacc 又は find . -name "yacc*" の両方ダメでした。 インストールの方法が載ってるサイトを教えていただけると幸いです。