Via CodePlex

Apr 17, 2009 11:21 GMT  ·  By

The Common Compiler Infrastructure is a project put together by Herman Venter, principal software development engineer at Microsoft, and made available for download via CodePlex. The Common Compiler Infrastructure: Metadata components have been released under the MS Public License (Ms-PL) which is an OSI-approved open-source license. The open-source CCI bits are available as a free download and are aimed at a professional audience involved in building compilers, or program development tools, according to Venter.

“One of the things I do is to write compiler after compiler. Somewhat like old king Midas, everything I touch turns into a compiler. Along the way, I've harvested pieces of code that I use frequently and I've packaged them up in a mostly incomplete, but still useful set of libraries that help with writing compilers and compiler like tools,” Venter stated. “These libraries have now been released by Microsoft Research as an open source project [Common Compiler Infrastructure: Metadata].”

You will be able to see Venter in the video embedded at the bottom of this article explaining the Common Compiler Infrastructure. CCI brings to the table nothing more than a collection of libraries, components that can be leveraged when it comes down to taking advantage of the functionality that compilers usually share. The libraries can be used when creating compilers, as well as readers and writers for MSIL and symbol files, Microsoft explains. Developers already flirting with compilers have undoubtedly turned to tools such as FxCop introspection engine, ILMerge, Spec# or Code Contracts, which all leverage CCI.

“The metadata components provide functionality for reading, writing and manipulating Microsoft Common Language Runtime (CLR) assemblies and debug files. The functionality provided by these components subsumes the functionality provided by System.Reflection and System.Reflection.Emit,” reads an excerpt from the tool's official description.

The Common Compiler Infrastructure is available for download here.   Get Microsoft Silverlight