• ベストアンサー

yacc&lexの実行の仕方がよくわかりません。

いま、yaccとlexのプログラムを作ってみたんですが、実行方法がわかりません。yacc hogehoge.yとcygwinで打っても「コマンド ノット ファウンド」って表示されます。 初歩的な質問で申し訳ありませんが、回答よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • zwi
  • ベストアンサー率56% (730/1282)
回答No.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)
回答No.3

回答されてる方の様に、インストールしてないのか、パスが通ってないのかと思います。 cygwinな環境のデフォルトなインストール知りませんので cd / find . -name yacc 又は find . -name "yacc*" かな? で見つからなかったら、インストールされてません。 もし 見つかったのならば /xx1/xx2/yacc hogehoge,y とすれば、よいでしょう。 で、「/xx1/xx2」のパスを追加すればいいです。 詳細は調べてね。

saak888
質問者

補足

回答ありがとうございます。 「cd/」って何でしょうか? パスということでしょうか? ちなみに、 find . -name yacc 又は find . -name "yacc*" の両方ダメでした。 インストールの方法が載ってるサイトを教えていただけると幸いです。

  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.2

デフォルトインストールでは、yacc(binso byacc)やlex (flex)は インストールされませんが、インストールしていますか?

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

コマンドプロンプトで実行するプログラムであれば、 yaccへのパスが適切に設定されていない。 yaccがあるフォルダで実行するか、環境変数PATHに記述を追加するか。 インストール手順または操作説明に記載がありませんか?

関連するQ&A