The Phoenix Framework
The Phoenix framework is an enhanced infrastructure for compilers and
programming tools. Phoenix supports a range of languages and is easily
retargeted for a variety of architectures.
Phoenix is an open, extensible environment designed to meet the needs
of two audiences: developers who need production-level compilers and
tools, and researchers who develop programming tools and languages. For
the production developer, Phoenix offers a large set of building blocks
that enable you to combine methods and objects to build a tool to
achieve a specific result. The same code generator supports type-safe
languages such as C# and other languages such as C++ and Visual
Basic.
Optimizations and analyses can be run at many levels of the code
generation process, not just at the end, and results of different runs
can provide information to one another.
Researchers gain a solid infrastructure designed for modular code
reuse that smoothly retargets different architectures and languages. New
tools and compiler elements can be developed without the usual
requirement to develop a new infrastructure at the same time. New tools,
better-performing phases, and more versatile readers all run on the same
platform. In addition, because research happens on the same code base as
production, transferring new packages from research to production
happens seamlessly.
The following image shows a conceptual overview of the Phoenix
platform.

Go to Phoenix architecture.
|