微軟的編譯器API,Roslyn的新特性

jopen 12年前發布 | 7K 次閱讀 編譯器

Roslyn 是一系列用于處理編譯、腳本、工作空間和 IED 服務的程序庫。它是一種可擴展的模型,最先的兩種目標語言是 VB 和C#。盡管離完成還很遠——Roslyn 的目標是 VB 12 和C# 6,但這次發布是項目的重要里程碑。

對于C#,編譯器現在支持大多數語言特性。async、dynamic 和部分可空的算術特性(nullable arithmetic)還很突出。在上個預覽版中沒有提供的其他特性,包括查詢表達式(query expressions)、匿名類型(anonymous types)、匿名函數(anonymous functions)和迭代塊(iterator blocks),現在已經都可用了。

Visual Basic 也在語言上做出了很多類似的進展,現在已經實現。舊的特性,像隱式聲明的本地變量(選項顯式關閉,Option explicit Off)位于列表之中,但是遺留的錯誤處理(On Error GoTo X)并不在列表之內。迭代器和 Async 特性還有待于實現。

API 本身也得到了很多改善,很多接口被完全刪除,或者被簡單的事件所替代。例如,我們現在可以不實現 IWorkspaceListener,而是監聽 Workspace.WorkspaceChanged 事件。

現在為 C# 提供有交互性的、REPL 樣式的控制臺。你可以從 View->Other Windows 菜單載入它。最終也會為 VB 提供類似的控制臺。

Roslyn CTP 站點包含了新版本,還有對 VS 2012 的支持,以及大量例子和白皮書。使用這個版本之前先要安裝 Visual Studio 2010 SP 1 SDK。如果你有 Visual Studio 2012,那么也需要 Visual Studio 2012 RC SDK

查看英文原文:What’s new with Roslyn, Microsoft’s Compiler APIs

來自: InfoQ

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!