• ベストアンサー

lex,yaccについて

いま授業で使おうとしているのですが、windows上でこれらのソフト(機能?)を使うことはできるのでしょうか? VC++にはできるような記述がネット上であったのですが、コマンドプロンプト上で(Borland 無償版)使用したいと思います。 標準でできる物なのでしょうか? ご存じの方は教えて下さい。 よろしくお願いします。

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

  • ベストアンサー
  • nightowl
  • ベストアンサー率44% (490/1101)
回答No.4

こんにちは。 >>yacc&lexの上位互換とされるBison&Flexを走らせる >これは学校で作っているプログラムを家で(Bison&Flex&gcc)動作確認、 >あるいはその逆で家で作った物を学校の(lex,yacc,cc(gcc))でそのまま >動作させることはできるのでしょうか? 可能でしょう。Bison と Flex にはそれぞれ従来の Yacc, Lex との 互換オプションも用意されています。「bison -y」「flex -l」です。 使いこなしなどは以下のページが参考になるでしょう。 http://www.timeparadocs.net/bab/flex_bison/flex_bison.htm http://www.geocities.co.jp/SiliconValley-Oakland/3432/man/bison/bison-ja.html http://www.linux.or.jp/JM/html/flex/man1/flex.1.html http://www.asahi-net.or.jp/%7Ewg5k-ickw/html/online/flex-2.5.4/flex_toc.html http://math.cs.kitami-it.ac.jp/~fuchino/proin/experimentIII-2000/jikken.html

参考URL:
http://guppy.eng.kagawa-u.ac.jp/~kagawa/1999/SysProg/builder.html

その他の回答 (4)

  • teo98
  • ベストアンサー率23% (70/303)
回答No.5

>てっきり cc を bcc32(Borland)に変える物と思っていましたが、Borlandでもlex,yaccの代わりができるんですね。(違うかな?) ccの代わりにBcc32などを使う場合に、何処かでライブラリィーを入手してくる必要があると聞いています。 >yacc&lexの上位互換とされるBison&Flexを走らせる これは学校で作っているプログラムを家で(Bison&Flex&gcc)動作確認、あるいはその逆で 家で作った物を学校の(lex,yacc,cc(gcc))でそのまま 動作させることはできるのでしょうか? lex,yacc,cc(gcc)用に書かれたものであれば、たぶん、互換性が保たれます。 しかし、Bison&Flex用に書かれたソースについては、簡易化された箇所が多くあり、lex&yaccでの動作時に、エラーメッセージが多発するかもしれません。

  • pureh
  • ベストアンサー率69% (36/52)
回答No.3

英語のHPですが、GnuWin32というところなら、 cygwinを使わない flex,byacc,bison があります。

参考URL:
http://gnuwin32.sourceforge.net/
a-k-a
質問者

お礼

ありがとうございます。 英語ということでこれから気合いを入れて見たいと 思います。(分からないかも知れないけど(^_^;))

  • teo98
  • ベストアンサー率23% (70/303)
回答No.2

Windows上に、RedHat系のLinuxを走らせた環境にCygwinがあります。するとyacc&lexの上位互換とされるBison&Flexを走らせることが可能となります。まずは、それらの出力をgccでコンパイルするのが無難だと思います。多分、最初のうちは、字句解析と構文解析とのインターフェースに苦労します。それをマスターした上で、Borlandに乗り換えると良いかと思います。因みに、Borland等のコンパイラを利用する場合には、何処かでインクルードファイルを入手してこなければならないようです。

参考URL:
http://www.kcat.zaq.ne.jp/takao/documents/bcb/08_using_flex_and_bison.html
a-k-a
質問者

補足

学校では lex&yacc の後 cc でコンパイルしています。 てっきり cc を bcc32(Borland)に変える物と思っていましたが、Borlandでもlex,yaccの代わりができるんですね。(違うかな?) 一つ気になったことですが、 >yacc&lexの上位互換とされるBison&Flexを走らせる これは学校で作っているプログラムを家で(Bison&Flex&gcc)動作確認、あるいはその逆で 家で作った物を学校の(lex,yacc,cc(gcc))でそのまま 動作させることはできるのでしょうか?

  • asuca
  • ベストアンサー率47% (11786/24626)
回答No.1

yaccについては参考URLのものなんかがあります。 あと、 http://kaiunix.cs.shinshu-u.ac.jp/Lesson/ProgLanTh/2003/cygwininstall.htm なんかを入れてUNIXのものを利用できるようにする方法もあります。 これを入れた後でGNU版のbison,flexを入れれば使えます。

参考URL:
http://www.vector.co.jp/soft/dos/prog/se002362.html
a-k-a
質問者

お礼

ありがとうございます。 とりあえずはできるのかな? 早速URLを拝見したいと思います。

関連するQ&A