.Net编译器Roslyn(一)

在 2014 微软 Build 大会上,Anders Hejlsberg 亲自宣布 .NET 编译平台 Roslyn 开源。

Anders Hejlsberg 是 Turbo Pascal 编译器的主要作者,号称 Delphi 和 C# 之父,同时他也是 .NET 创立者。

Roslyn 是以 API 为驱动的下一代编译器,集成在最新版的 Visual Studio 上。它开放 C# 和 Visual Basic 编译器的 API,使得开发者可以借助编译器进行解析代码文件、动态为编程语言增加功能、扩展编译器、自定义编译器动作等操作。

Git源代码地址:

https://github.com/dotnet/roslyn

CodePlex:

https://roslyn.codeplex.com/

Nuget地址:

http://www.nuget.org/packages/Microsoft.Net.Compilers/

介绍

一般来说,编译器是一个黑箱,源代码从一端进入,然后箱子中发生一些奇妙的变化,最后从另一端出来目标文件或程序集。编译器施展它们的魔法,它们必须对所处理的代码进行深入的理解,不过相关知识不是每个人都需要知道,除了实现编译器的大法师。因此在转换输出完成后相关的信息就会被遗忘。

对编译器来说,几十年来一直很好地为我们所用,但只是会用编译器已经不够。我们越来越依赖于集成开发环境(IDE)的特性,比如智能感知、重构、智能重命名、“查找所有引用”和“转到定义”来提高我们的生产率。我们依赖于代码分析工具来提高我们的代码质量,使用代码生成器来帮助构造程序。这些工具变得越聪明,他们需要了解越来越多的深入代码知识,但是这些知识只有编译器知道。这是.NET编译器平台得核心任务(“Roslyn”):打开黑箱,让工具和终端用户共享编译器掌握的关于我们代码的丰富信息。取代不透明的源代码入和对象出的转换器,通过.NET编译器平台(“Roslyn”),编译器变成你可以使用的平台API,以用于你的工具和应用的编码相关的工作。

让编译器作为平台的过渡,为集中创建代码工具和应用程序大大降低了进入门槛。它创造了许多革新,如:meta-Programming、代码生成和转换,交互使用C#和VB语言,和某些特殊领域的嵌入式C#和VB语言。

.NET编译器平台(“Roslyn”)SDK预览版包含了最新的新语言对象模型草案,以用于代码生成、分析以及重构。在将来的预览版中,我们希望包含用于脚本以及交互式使用C#和Visual Basic的API支持草案。本文档提供了.NET编译器平台(“Roslyn”)概念上的概览。更多的细节可以在SDK预览版的演练及例子中找到。

更多简介和API介绍:

https://www.oschina.net/translate/roslyn-intro

相关博客:

入门API:http://daveaglick.com/posts/compiler-platform-scripting

利用Roslyn构建一个简单的C#交互脚本引擎



  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值