2009-07-28 34 views

答えて

6

GoldはOKです(他には何も言っていないため)。

+0

私はかなり良いと言っています – SpaceghostAli

+3

OPはLL(k)を求めました。金はLALRです。 –

+0

私が間違っていると私を修正してください:LL文法はLALR文法のサブセットではありませんか? –

4

あなたは、MinosseCCを見てC#にJavaCCのポートをお勧めします。別の可能性はSpartです。

+1

MinosseCCの名前がCSharpCCに変更されました。 現在のバージョンでは、Google Codeのスペース上にあり、開発版(JavaCCの5.0のポートは)GitHubの上で開発中でありながら、それは、JavaCCの3.2のポートです(http://github.com/deveel/csharpcc) – Antonello

22

ANTLR遠くパーサジェネレータが行くように

+16

だけでなく、あなたのことを行う必要があり15文字になるようなことを言う。 ;)+1 – kenny

+0

ANTLRには、適切なエラーメッセージを与えるのに本当の問題があると思います。幸運を考え出してください。 @inludeの仕様はどこに置かれますか?ドキュメンテーションは驚くべきことであり、決して好きなやり方を示すものではありません。ツリー文法は時間の無駄です。ANTLRサイトでも、これに関する膨大なブログエントリがあります。 –

+1

http://www.antlr.org/wiki/display/ANTLR3/Antlr+3+CSharp+Targetは3年前に最後に更新され、すべてのコードブロックが欠落しているよううーん、見える - それはちょうど何、いや、待ってJavaScriptが無効になっているときに発生します。とにかく、C#は常に第二のクラスのANTLRターゲットでした。私が最初に使ったとき、C#ランタイムソースコードは利用できませんでした。著者(ANTLRの作者と同じではありません)は、指定されたライセンスIIRCを持たないバイナリをリリースし、地球の顔から落ちました。 Reflectorを使ってソースコードを再構築しました。 – Qwertie

1

Coco/R -Ratherスロー(SSWから - "ヨハネス・ケプラー" 大学リンツ)

3

ブロック上には、LL(k)文法とゼロ幅アサーションをサポートする新しいパーサジェネレータがLLLPGと呼ばれています。ランタイムライブラリなしで使用できます(基本クラスで十分です)。ドキュメントはかなり詳細ですが、LLLPGを使用してC#の方言の大部分を解析しました(これは実際にはLLLPGの主な入力言語です)。入力構文はEBNFではありませんが(C#+ ANTLRスタイルのコードのマッシュアップのようなものです)。

全開示:私はそれを書きました。質問は大歓迎です。

関連する問題