11

私は ANTLR で .NET 用の単純な DSL を構築し、文字列のスクリプトを動的メソッドに変換して遊んで少し学んでいます。私の最初のアイデアは IL オペコードに変換することでしたが、今は DM 作成のための式ツリーについて読んでいます。ILコードと同じように、式ツリーを使用して任意のメソッドを生成できるようですか?

ありがとう!

コード: https://github.com/ricardoborges/NPortugol2

4

1 に答える 1

9

ILコードは、もう少し強力です。たとえば、これを使用して、.NET CLR に適したコードを生成できますが、必ずしも C# や VB.NET で記述できるコードとは限りません。

しかし、一般的には、式ツリーを使用してやりたいことはほぼ何でもできるはずであり、頭を包むのははるかに簡単です。

IL コードを出力すると、おそらく式ツリーをコンパイルするよりも多少速く実行されます。これ (時期尚早の最適化) については心配しませんが、注目に値します。動的変数を使用するとパフォーマンスにどのような影響があるかを参照してください。一部のパフォーマンス仕様について。

于 2013-02-01T00:41:42.173 に答える