4

しばらく前、私はコンパイラに取り組んでいましたSystem.Reflection.AST からコード (IL) を生成していました。今、私は取り組みたい別のコンパイラのアイデアを持っています (これは別のペット プロジェクトであり、少なくとも現在は製品コードで使用されるものではありません)。

ご存知のように、ペット プロジェクトには、実稼働コードよりも大きな利点が 1 つあります。それは、実験して失敗できることです。そこで、 Microsoft の CCIを使用してコンパイラを作成することにしました。

私が見つけた唯一の良い参考資料は、基本言語のサンプル コンパイラ (これは CCI on codeplex の一部です) ですが、チュートリアル、本、記事など、入手できる他のリソースがあればいいのにと思います。コードを勉強すること以外のより多くの情報 (何かを学ぶための最良の方法であるとは限りません。解決策が表示されますが、どのような代替手段があるか、またはそのようなコードが機能する理由はわかりません)。

では、コンパイラの作成と AST の処理に関して、CCI に関するリソース (チュートリアル、書籍) はありますか?

4

1 に答える 1

2

最初に、CCI に慣れていない人のために、いくつかのリンクを紹介します。

  1. 抽象構文ツリーを生成およびコンパイルするための CCI-ASTプロジェクト。
  2. clr アセンブリのメタデータを読み書きするための CCI-Metadataプロジェクトは、pdb の読み書きもサポートしています。
  3. CCI-Samplesプロジェクトには、最初の投稿で言及した小さな基本的なコンパイラが含まれています。
  4. CCI に関するLang.Netプレゼンテーション、「なぜ、どのように」
  5. VCC - CCI の上にある並行 C コンパイラ。まだ掘り下げていませんが、別の大きなプロジェクトになると思いますが、説明はなく、コンパイラの構築を最初から学ぶのにはあまり適していません (これ以外に、主に F# で書かれています)。
于 2009-09-04T17:53:32.773 に答える