3

そこで、スタック マシン、インタープリター、コンパイラー、およびプログラミング言語とその一般理論に関連するいくつかの事柄について学んできました。私が本やオンラインで見つけたもののほとんどは非常に専門的で、特定のトピック、たとえばインタプリタについて述べており、それが他のトピック、たとえば部分評価者とどのように関連しているかについては言及されていません。インタープリター、コンパイラー、部分評価器の間の相互接続を調べるための初心者向けの優れたリソースはありますか? 優れたリソースとは、具体的な実装とともに理論を説明するものを意味します。このことについて学べば学ぶほど、日々の仕事でそれらすべてを適用できる場所が増えますが、初心者向けのリソースがないことは少し残念です.

4

1 に答える 1

8

インタープリター、コンパイラー、および部分評価器の両方を使用する 1 つのプロジェクトは、Truffle with Graal です。Java Truffle フレームワークに AST インタープリターを実装すると、JIT コンパイラー Graal がそれをコンパイルします。その特別な点は、Truffle 言語の実装が、現在の実行に対応する実際のセマンティクスのサブセットに特化する必要があることです。Graal は、この特殊なサブセットのマシン コードのみを生成し、以前の実行の仮定が無効になっている場合は最適化を解除します。また、フレームワークはすべての AST 実行メソッドをインライン化します。これは、部分的な評価の形式です。オンラインでいくつかの論文を見つけるか、コードを直接見ることができます。

于 2014-02-04T06:12:38.443 に答える