10

関数型言語のインタープリターを実装したいとします。そうすることに伴う問題と、利用可能な適切な文献を理解したいと思います。これは、設計の初期段階にある新しい言語であるため、質問の範囲が広くなっています。

この議論の目的のために、言語の目的は重要ではなく、インタープリターの書きやすさに大きな違いが生じる場合、その機能を (大幅に) 変更できると仮定できます。

MIT の Web サイトには、 Structure and Interpretation of Computer Programsのオンライン コピーと、1986 年に HP で記録された、Scheme を使用した MIT 6.001 講義のビデオがあります。これらは、言語設計の優れた入門書となります

4

4 に答える 4

3

出発点として、コンピュータ プログラムの構造と解釈 (SICP)を強くお勧めします。この本は、インタープリター (およびコンパイラー) を作成することの意味を紹介するものであり、言語を設計するすべての人にとって必読の書です。

関数型言語のインタープリターを実装することは、他の汎用言語のインタープリターを実装することとあまり変わらない可能性があります。字句解析、解析、AST 構築、セマンティック解析、および実行 (純粋なインタープリターの場合) またはコード生成と最適化 (コンパイラーの場合、Java/Perl/Python のようなバイトコードへのコンパイルも) があります。SICP では、「適用順序」評価と「通常順序」評価の違いを紹介します。これは、純粋な機能的コンテキストで重要になる場合があります。

于 2009-10-21T23:08:26.703 に答える
0

特にインタープリターに興味がある場合は、SICP を補完するものとして Essentials of Programming Languages をお勧めします: 公式 EOPL サイト。第 3 版をチェックしてみてください。サイトはまだ更新されていません。

編集: スパム防止のためにリンクを選択せざるを得ないため、公式ページは現在非加熱です。ただし、簡単にGoogle対応です。

于 2009-11-06T15:21:40.827 に答える