2011-02-23 14 views
1

私は学生です。一般的な目的のために、独自の.net言語を作成し、それがどのように行われているかを知り、新しいことを学ぶだけです。何が良い選択だと思いますか? CLRを対象とする静的言語を構築するか、DLRの上に動的言語を構築するには?.NETの静的言語と静的言語の構築の違いは何ですか?

  1. これらの2種類の言語を作成する際の手順はどのように異なりますか?
  2. スキャナ、パーサー、CILコードを生成するためのツールは何ですか?私は人々がASTを生成するためのantlrパーサジェネレータを推奨し、それをDLR式ツリーに変換するので、CILコードを生成する必要はありません。
+2

誰もが楽しみのためだけに新しい.NET言語を構築する必要があります。 –

+0

なぜこれがダウン表示されますか?私は問題を見ますが、それほど深刻なものではありません...タイトルの質問は、本文中の質問よりも良い質問です。それは最も答えやすいです。 – Skurmedel

答えて

1

私は間違いなくANTLRとその本をお勧めします。文法の世代が分かっていない限り、参考資料が必要です。

また、ANTLR ASTを使用してCodeDomを生成することをお勧めします。どのような言語を作成したいかによって、DLRを使用するかどうかを決めることができます。

私は両方のルートで大きな成功を収めました。

私はCILも生成しましたが、それは素晴らしいものではありませんでしたが動作しました。最後の手段として残す。

+0

CodeDomからCILを生成できますか? – Vladimir

+0

CodeDomから任意のものを生成することができます。CodeDomの両端(CodeProviderとCodeGenerator)を書き込んで、完全に制御できます。私はILを生成していましたが、それは非CodeDomジェネレータ経由でした(これはCodeDomの前です)。私は確かにILを生成するためにCodeDomを使用することをお勧めしません、私はそれが非常に奇妙なことだと思う。 – Task

関連する問題