1

私はスクリプト言語に取り組んでおり、自分の言語用のコンパイラ/インタープリタを書きたいと思っています。

標準 ML でコンパイラを実行することにしました

私の質問は、このような設計プロセスを行うための「パターン」はありますか?

私はコンピューターサイエンスコースの一環として Java コンパイラーをゼロから作成しましたが、言語が与えられたので、それは一種の不正行為でした。つまり、参照実装と構文、文法、およびその他の仕様が与えられたということです。

ゼロから始める場合、問題のあるドメインしか持たない場合、どのように始めればよいですか?

このテーマに関する本またはチュートリアルを探しています。

4

2 に答える 2

4

関数型言語での最新のコンパイラ構築に関する古典的な本は次のとおりです。

于 2012-05-18T13:50:29.937 に答える
2

コンピュータ プログラミングの概念、技法、モデル。この本は、言語を設計する方法を直接説明するものではありませんが、1 つの興味深い言語 (Oz) の機能、それらがどのように相互作用するか、およびさまざまな使用パターンと機能をどのように有効にするかについての詳細な調査です。これは、さまざまな設計上の決定と機能の意味を理解するのに優れています。そのような本を何冊か読んで、結果の言語を観察し、それらから合成することは、言語を設計する方法を学ぶための適切な方法です。

同様に、しかしもっと実用的に言えば、プログラミング Scalaは、言語機能がどのようにスタイルを可能にするかを説明する素晴らしい仕事をしています。

言語設計の多くは、最終的には好みとセンスです。既存の言語の詳細な調査を読むことは、そのような味を開発し、磨くための良い方法です.

于 2012-05-24T15:20:23.817 に答える