2009-05-16 10 views
4

私は、(テキストボックス内の)テキストを与え、パーサー文法(類似のBNFを編集することによって)とトークン構造を試すことができるユーティリティを望みます。解析木がどのように見えるかを見ることができます(現在の文法を使用してテキストを解析できない場合は、どこが停止したかがわかります)。文脈自由パーサー文法を作成するための対話型ユーティリティーを探してください

キーワードは対話性です。私はflexとbisonを使ってこれを行うことができましたが、私はいつもレクサーとパーサを再作成する必要があります。

このようなものはありますか?私は何も発見していない。理想的には、それはLinuxで動作し、自由でなければならない。

+0

これは私にとって便利なツールです。私の答えでルートを終了する場合は、私はあなたの私の電子メールを与えることができ、私たちは協力することができます。迅速な文法テストに適しています。 –

+0

私はこれを見つけました。http://jscc.jmksf.com/jscc_on_web.pngこれを答えに追加しました。 –

答えて

5

あなたは私が何を見ていない

GTKSourceViewを使用してpyBisonや友人とそれをノックすることができますが、あなたが望んでいた場合は、これを行うためのプログラムを書くことができます。 BisonのソースをDSOに移植してロードし、BNFを実行してオートマトンテーブルを引き出すことができます。フロントエンドを作成します(GTKSourceViewは再び良いと思われる)と、いくつかのシステムにごflex.cとバイソンを書き出すために呼び出す添付

- そして、GTK-ソースビューテキストボックス

にevalutationを添付 - かいくつかの共有オブジェクトoutput.soを作成し、アプリケーションにロードしてアンロードします。

私が文法を開発するときに行うことは、開発のスピードを上げるためにpyBisonなどの高水準言語ツールを使用することです。その後、C/Flex/Bisonと.lと.yファイルを後で使用してください。 GTKはDSOやdlopen()fandangoを必要とせずに上記を達成するためにPythonで本当に使いやすいはずです。

BNFとテスト構文は、いくつかのバックエンドのD/NFA生成器とループしていることにより、read-eval-printループと非常によく似

しばらく後

私は、これは別の質問に答えました:

http://jscc.jmksf.com/jscc_on_web.png

これはJavaScriptでパーサを生成するためのJavaScriptのYacc /バイソンのようなツールです。とにかくこれを使ってC文法を簡単にデバッグできます。私は必ずそれを使用します。

+0

こんにちは!今まであなたに戻ってこないのは残念です。これは空き時間の試練であり、仕事はかなり忙しいです。 :-) 私はこのようなプロジェクトに貢献する時間はないと思っています。私は少しのPythonを試しただけでGTKを使って何もしていないので知識が不足するかもしれません。しかし、いいアイディアだと思う。私は趣味のプロジェクトに投資するのにもう少し時間を取ってほしかった。 あなたがリンクしているツールは十分に良いようです!私はまだそれをテストしていないが、私はそうすることを楽しみにしています! お返事ありがとうございます! –

+0

@Kent - 心配しないで、この1つを待っていた;)そのツールはかなりクールに見えます。昨日しか見つからなかった:P幸運! –

4

ANTLRWORKS(http://www.antlr.org/works/index.html)はこれまで見た中で最も優れたインタラクティブな文法開発環境です。 ANTLRで書かれたLL(*)文法を視覚化してデバッグしましょう。

関連する問題