Phoenix FrameworkのアーキテクトであるAndy Ayers氏が、Phoenix Compiler Frameworkについて、そしてChannel9(source)で作成されたビデオでの動作方法を説明している。Phoenixはコンパイラとして動作するが、それだけではない。ソフトウェアの最適化および分析フレームワークであり、他のコンパイラやツールで使用される。バイナリコードを生成することができる が、またMSILアセンブリーを記述することもできる。ソースコードが分析され、IR(Intermediate Representation)形式に表され、後にさまざまなツールで分析や操作が可能である。JITterとしては、機能しない。
他のコンパイラのように、Phoenixはソースコードを受け取り、バイナリに変換する。主な違いの1つは、Phoenixがすべての Microsoftコンパイラ(25以上)を1つに集め、Microsoftがサポートするすべての言語やプラットフォームのバイナリやMSILコード を生成する。
すばらしい機能はPhoenixがフレームワークであり、接続可能なAPIがあることである。APIを使用して、Phoenix機能を使用するツールを記述することができる。たとえば、IRファイルを分析して、ソースコードの最適化方法について結論を出す独自のツールを記述することができる。接続可能な機 能も非常に使いやすい。Microsoftはたいてい1、2年かけて新たなハードウェアチップ向けのすべてのコンパイラを生成する、とAndy氏は語る。今やハードウェア製造者は、チップが市場に出回ったときに、新たなチップのソースコードのコンパイルに使用されるPhoenixプラグインを提供することができる。
その他のMicrosoftの主要なコンパイラのように、PhoenixはWindows、Office、Visual Studioおよびコンパイラを限界まで押しやる大規模製品のコンパイルテストにパスする必要がある。これはコンパイラが確実に現実世界の複雑なソフ トウェアに対してテストされ、バグを発見するためにおこなわれる。
コンパイラは内部がマルチスレッドなので、コンパイルで使用されるプラットフォームに依存して、高速なビルド時間が実現する。4つの処理装置上、ビルド時間は1つの処理装置よりも5倍は高速である。
近ごろ、Microsoft ConnectはPhoenix SDK - April 2008 CTP(source)をリリースした。このリリースでは、2007年7月に利用可能になった以前のプレリリースに多くの機能拡張とバグ修正が加えられている。 Phoenixについての詳細は、Microsoft Connect(source)で参照することができる。
原文はこちらです:http://www.infoq.com/news/2008/05/Phoenix-Compiler-Framework