2009-09-04 13 views
4

以前はコンパイラを使っていましたが、System.Reflectionを使ってASTからコード(IL)を生成しました。さて、私は作業したい別のコンパイラのアイデアを持っています(これは別のペットプロジェクトですが、少なくとも現在は生産コードで使用されることはありません)。Microsoft CCI - 参考文献、コンパイラ作成の参考文献

ご存じのように、ペットプロジェクトは、プロダクションコードに比べて大きな利点があります。試してみると失敗することがあります。だから、Microsoft's CCIを使ってコンパイラを書くことにしました。

私が見つけた唯一の良い参考資料は、基本的な言語のコンパイラ(codeplexのCCIの一部です)ですが、チュートリアル、書籍、記事、コードを勉強する以外の情報を得ることができます(ソリューションを見ても何かを学ぶのに最適な方法ではありませんが、どのような選択肢があるのか​​、そのようなコードが動作するのかはわかりません)。

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

答えて

2

開始のために、私はCCIに慣れていない人たちのために、いくつかのリンクを投げます:抽象構文木を生成し、コンパイルするための

  1. CCI-ASTプロジェクト。
  2. CCI-Metadata clrアセンブリのメタデータを読み書きするプロジェクトです.pdbの読み書きもサポートしています。
  3. CCI-Samplesプロジェクトには、小さな基本コンパイラが含まれています。
  4. Lang.Net CCIについて、少し「なぜ、どのように?」
  5. VCC - CCI上の並行cコンパイラ。私はまだそれを掘り下げていないが、私はそれが何の説明もなく、最初からコンパイラを構築するのに良いことではない(これは主にF#で書かれている)という別の大きなプロジェクトであると期待している。