私はLL(k)言語のEBNFを与えられたパーザージェネレータを探していますが、私にC#パーサを与え、EBNFで定義された型をクラス生成します。良いC#コンパイラコンパイラ/パーサジェネレータは何ですか?
答えて
GoldはOKです(他には何も言っていないため)。
ANTLR遠くパーサジェネレータが行くように
だけでなく、あなたのことを行う必要があり15文字になるようなことを言う。 ;)+1 – kenny
ANTLRには、適切なエラーメッセージを与えるのに本当の問題があると思います。幸運を考え出してください。 @inludeの仕様はどこに置かれますか?ドキュメンテーションは驚くべきことであり、決して好きなやり方を示すものではありません。ツリー文法は時間の無駄です。ANTLRサイトでも、これに関する膨大なブログエントリがあります。 –
http://www.antlr.org/wiki/display/ANTLR3/Antlr+3+CSharp+Targetは3年前に最後に更新され、すべてのコードブロックが欠落しているよううーん、見える - それはちょうど何、いや、待ってJavaScriptが無効になっているときに発生します。とにかく、C#は常に第二のクラスのANTLRターゲットでした。私が最初に使ったとき、C#ランタイムソースコードは利用できませんでした。著者(ANTLRの作者と同じではありません)は、指定されたライセンスIIRCを持たないバイナリをリリースし、地球の顔から落ちました。 Reflectorを使ってソースコードを再構築しました。 – Qwertie
Grammaticaは、LL(k)をサポートしています。 http://grammatica.percederberg.net/
PROSにアイロニーを探す:これは単純な CONSです:ドキュメント の-Lack
Coco/R -Ratherスロー(SSWから - "ヨハネス・ケプラー" 大学リンツ)
ブロック上には、LL(k)文法とゼロ幅アサーションをサポートする新しいパーサジェネレータがLLLPGと呼ばれています。ランタイムライブラリなしで使用できます(基本クラスで十分です)。ドキュメントはかなり詳細ですが、LLLPGを使用してC#の方言の大部分を解析しました(これは実際にはLLLPGの主な入力言語です)。入力構文はEBNFではありませんが(C#+ ANTLRスタイルのコードのマッシュアップのようなものです)。
全開示:私はそれを書きました。質問は大歓迎です。
- 1. 良いフリーターミナルマルチプレクサとは何ですか?
- 2. ランキングシステムの良いデザインは何ですか
- 3. 良いJavaScriptプラグインカラーピッカーは何ですか?
- 4. より良いデザインは何ですか?
- 5. 良いメッシュアニメーションテクニックは何ですか?
- 6. 良いRailsロギングソリューションとは何ですか?
- 7. 良いAPIインデクサーとは何ですか?
- 8. 良いラップトップテーブルとは何ですか?
- 9. 良いWiresharkチュートリアルは何ですか?
- 10. 良いwiki/cmsは何ですか?
- 11. 良いリジッドボディダイナミクスのリファレンスは何ですか?
- 12. 良いGeoTiffビューアとは何ですか?
- 13. テストレシオの良いコードは何ですか?
- 14. 良いコード形式は何ですか?
- 15. Subject.asObservableとは何が良いですか?
- 16. 良いJavaメディアライブラリとは何ですか?
- 17. C#では、ユニットテストのフィードバックループを改善する良い方法は何ですか?
- 18. 良いC++ネイティブマルチメディアライブラリですか?
- 19. C++用のオープンソース開発環境:何が良いですか?
- 20. C#でRichTextFileを保存する最も良い方法は何ですか?
- 21. C#で.sysファイルをロードする最も良い方法は何ですか?
- 22. C++でデータを追加する最も良い方法は何ですか
- 23. C#で2つのリストを返す最も良い方法は何ですか?
- 24. C++でWebサービスをデボループするための良いプラットフォームは何ですか?
- 25. WordPressでC#をフォーマットする最も良い方法は何ですか?
- 26. C/C++でテキストファイルを暗号化する最良の方法は何ですか?
- 27. 良いC/C++ Webツールキットですか?
- 28. 良いC/C++ DSPライブラリですか?
- 29. C#でフォームを切り替える最も良い方法は何ですか?
- 30. 何が良いですか:データかattr?
私はかなり良いと言っています – SpaceghostAli
OPはLL(k)を求めました。金はLALRです。 –
私が間違っていると私を修正してください:LL文法はLALR文法のサブセットではありませんか? –