1.Roslyn:
微软今天(2012-06-06)向CTP社区发布了Roslyn编译器的最新版本,它主要用于Visual Basic和C#代码,可工作于Visual Studio 2010 SP1和最新的Visual Studio 2011测试版。
这是一个更为开放式的编译器,与以往不透明的编译过程不同,开发者可以在编译过程中访问和分析编译数据,这也是微软今年在 BUILD会议上展示的“Compiler-as-a-Service”概念。目前该编译器的CTP版本已经可以下载。[1]
传统的编译器都是黑盒子:源代码从黑盒子的一端进入,目标文件/程序集从另一端出来。Roslyn项目改变这种模型,开放了Visual Basic和C#编译器的API。这些API允许工具和终端用户查看代码编译过程中编译器的状况。Roslyn的CTP展示了VB和C#代码生成,分析,反射的下一代语言目标模型,未来还将支持脚本和交互。
2.
NRefactory
http://www.codeproject.com/Articles/408663/Using-NRefactory-for-analyzing-Csharp-code
nrefactory:http://wiki.sharpdevelop.net/NRefactory.ashx
NRefactory is used by SharpDevelop & MonoDevelop for code navigation etc. NRefactory 5 is a complete rewrite of NRefactory 4 and is used by MonoDevelop 3.
a tutorial on nrefactory: http://www.codeproject.com/Articles/408663/Using-NRefactory-for-analyzing-Csharp-code
a similar project by Microsoft Research -- Roslyn: http://msdn.microsoft.com/en-us/roslyn