- ベストアンサー
lex,yaccについて
いま授業で使おうとしているのですが、windows上でこれらのソフト(機能?)を使うことはできるのでしょうか? VC++にはできるような記述がネット上であったのですが、コマンドプロンプト上で(Borland 無償版)使用したいと思います。 標準でできる物なのでしょうか? ご存じの方は教えて下さい。 よろしくお願いします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 >>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
その他の回答 (4)
- teo98
- ベストアンサー率23% (70/303)
>てっきり 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)
英語のHPですが、GnuWin32というところなら、 cygwinを使わない flex,byacc,bison があります。
- teo98
- ベストアンサー率23% (70/303)
Windows上に、RedHat系のLinuxを走らせた環境にCygwinがあります。するとyacc&lexの上位互換とされるBison&Flexを走らせることが可能となります。まずは、それらの出力をgccでコンパイルするのが無難だと思います。多分、最初のうちは、字句解析と構文解析とのインターフェースに苦労します。それをマスターした上で、Borlandに乗り換えると良いかと思います。因みに、Borland等のコンパイラを利用する場合には、何処かでインクルードファイルを入手してこなければならないようです。
補足
学校では lex&yacc の後 cc でコンパイルしています。 てっきり cc を bcc32(Borland)に変える物と思っていましたが、Borlandでもlex,yaccの代わりができるんですね。(違うかな?) 一つ気になったことですが、 >yacc&lexの上位互換とされるBison&Flexを走らせる これは学校で作っているプログラムを家で(Bison&Flex&gcc)動作確認、あるいはその逆で 家で作った物を学校の(lex,yacc,cc(gcc))でそのまま 動作させることはできるのでしょうか?
- asuca
- ベストアンサー率47% (11786/24626)
yaccについては参考URLのものなんかがあります。 あと、 http://kaiunix.cs.shinshu-u.ac.jp/Lesson/ProgLanTh/2003/cygwininstall.htm なんかを入れてUNIXのものを利用できるようにする方法もあります。 これを入れた後でGNU版のbison,flexを入れれば使えます。
お礼
ありがとうございます。 とりあえずはできるのかな? 早速URLを拝見したいと思います。
お礼
ありがとうございます。 英語ということでこれから気合いを入れて見たいと 思います。(分からないかも知れないけど(^_^;))