Microsoft Has Open Sourced the Common Compiler Infrastructure
Microsoft Research has open sourced the Common Compiler Infrastructure: Metadata (CCI) and CCI: Code and AST projects containing a set of libraries used by compilers and other programming tools to manipulate metadata in CLR assemblies and debug files. The CCI: Metadata components subsume System.Reflection while CCI: Code and AST subsumes System.CodeDom.
CCI does not actually load the assemblies it accesses, but it reads/writes their metadata, and it does not open a dependency assembly until it is needed. When working with CLR PE files, CCI can write to them any object that implements the metadata model interfaces (Microsoft.Cci.MetadataModel).
The CCI: Metadata API contains:
- a Metadata Model
- a CLR PE Reader
- a CLR PE Writer
- a metadata helper class (static methods in Microsoft.Cci.MetadataHelper.dll)
- implementation classes for the Metadata Model interfaces
- a Source Model to work with source files
- a PDB reader
- a PDB writer
The CCI: Code and AST project contains:
- a Code Model used to read statements and expressions
- a Mutable Code Model which represents a modified code model since the Code Model offers a read-only view of the code
- an AST Model to extract AST nodes. “AST nodes take care of things such as binding names to definitions, overload resolution and error checking. The AST components are designed to support incremental compilation, while allowing for efficient projection onto the immutable code model.”
The project is supported by RiSE, a Microsoft Research team.
from:http://www.infoq.com/news/2009/04/Open-Source-CCI;jsessionid=B169C7533F915EF866B37F43FEC7434C
出处:http://justinw.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架