自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

微軟公布CCI工具源代碼 并加入微軟開源許可

開發(fā)
微軟在本周正式公布它的CCI(Common Compiler Infrastructure )工具源代碼,并歸入獲得OSI認(rèn)證的開源許可 MS Public License (Ms-PL)中免費進(jìn)行下載。微軟的CCI是一組可以提供編譯器和相關(guān)編程工具功能的組件,這些組件可以用來讀寫和處理微軟的CLR(公共語言運行庫 )組件和調(diào)試文件。

微軟內(nèi)部一直使用CCI來開發(fā)各種不同的編程語言和編程工具,包括FxCop 和 Spec#。

Common Compiler Infrastructure(CCI)源自Project 7,用于為.NET平臺提供一套實現(xiàn)編程語言用的公共基礎(chǔ)設(shè)施。這套基礎(chǔ)設(shè)施不但也用與編譯器編寫,也可用于代碼分析、代碼優(yōu)化、代碼生成等多種功能。FxCop就一直依賴于CCI來提供PE文件解析和寫入的相關(guān)功能。Visual Studio中的代碼分析功能也是基于CCI的特化版。.NET 4的Code Contract也在使用CCI……

2天前,這套類庫終于公開發(fā)布了,而且是基于Ms-PL許可證開源發(fā)布了。此刻我難以壓抑激動的心情。

CCI是在微軟研究院的Redmond的研究所的支持下,由Herman Venter宣布開源的。

目前發(fā)布了的CCI包括三部分,都是以source-only的方式發(fā)布的:
CCI on CodePlex:

Common Compiler Infrastructure: Metadata components

這部分提供了對PE文件及其中的元數(shù)據(jù)的操作,包括PE文件的讀、寫、遍歷、轉(zhuǎn)換等功能,也提供了一些反編譯到源碼的支持;同時它還包括對PDB文件的讀、寫功能。
使用過Mono.Cecil的同學(xué)可以考慮看看CCI對Metadata的支持是否能更好的滿足需要。

Common Compiler Infrastructure: Code and AST Components

這部分提供了連接編譯器前端與后端的橋梁,也就是對AST的支持。CCI包含了大量AST節(jié)點類型,可以支持大部分程序語言中設(shè)計的語法結(jié)構(gòu)的語義。在編譯器前端生成了合適的AST之后,CCI提供了后端支持將AST編譯為IL,免除了編譯器編寫的一大痛苦。
這部分可用于替代CodeDOM原本的地位。

Common Compiler Infrastructure: Sample applications

這部分包含了一些使用CCI的例子,目前有一個Small Basic編譯器。日后還會不斷有新的例子加入。

其中CCI的主要文檔都在CCI-AST的那個部分的Documentation目錄里。

值得一提的是,CCI并不提供編譯器前端的功能,也就是說詞法分析器和文法分析器都不在CCI的功能范圍內(nèi)。但現(xiàn)成的解析器生成器非常多,隨便挑一款與CCI配合都沒問題。如果是像ANTLR一類有自己的AST類層次的庫,可以在前端生成了AST后轉(zhuǎn)換為CCI的AST,這樣就能與CCI其余的部分聯(lián)系上了。

【編輯推薦】

  1. 微軟開始組織開發(fā)大型Windows Mobile應(yīng)用程序
  2. 微軟MVP教你如何看懂.NET CLR基本術(shù)語
  3. 微軟發(fā)布ASP.NET MVC源代碼
責(zé)任編輯:彭凡 來源: 51CTO
相關(guān)推薦

2009-11-24 14:46:43

APC

2009-11-05 13:51:49

APC微軟系統(tǒng)中心聯(lián)盟

2009-09-16 14:22:08

APC微軟系統(tǒng)中心

2012-03-11 18:40:49

GroupMe

2020-02-24 09:25:33

代碼開發(fā)工具

2020-11-14 16:05:44

Python微軟

2021-05-06 09:58:08

微軟AI 系統(tǒng)工具Counterfit

2013-09-16 09:20:04

微軟

2021-03-01 11:33:03

微軟惡意代碼惡意軟件

2015-10-14 15:18:33

軟件IC網(wǎng)

2012-01-07 00:50:44

2012-01-09 11:05:02

2024-09-10 09:16:06

2014-12-09 09:47:31

谷歌谷歌云平臺微軟

2014-04-04 10:07:46

ApacheWinJS

2009-06-18 09:11:03

2012-05-14 10:56:38

Win7

2009-06-10 16:10:49

微軟MAPP啟明星辰

2015-05-11 15:03:43

JavaScriptJavaScript開

2014-07-03 13:51:10

Android LAndroid L源碼
點贊
收藏

51CTO技術(shù)棧公眾號