您的位置:軟件測試 > 開源軟件測試 > 開源軟件測試新聞 >
微軟將編譯器通用基礎(chǔ)結(jié)構(gòu)開源了
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2013/1/29 16:10:14 ] 推薦標(biāo)簽:

微軟研究院已經(jīng)將“Common Compiler Infrastructure: Metadata (CCI)”和“CCI: Code and AST”兩個(gè)項(xiàng)目開源了,其中包含了一套讓編譯器或編程工具操作CLR程序集元數(shù)據(jù)和調(diào)試文件的類庫。CCI: Metadata組件擴(kuò)展了System.Reflection,而CCI: Code and AST擴(kuò)展了System.CodeDom。

CCI并不會(huì)加載它訪問的程序集,而是讀寫它們的元數(shù)據(jù),同時(shí)它也只會(huì)在必要時(shí)才會(huì)打開依賴的程序集。在操作CLR PE文件時(shí),CCI可以寫入任何實(shí)現(xiàn)了元數(shù)據(jù)模型接口(Microsoft.Cci.MetadataModel)的對(duì)象。

CCI: Metadata的API包括:

一個(gè)元數(shù)據(jù)模型一個(gè)CLR PE讀取器一個(gè)CLR PE寫入器一個(gè)元數(shù)據(jù)輔助類(Microsoft.Cci.MetadataHelper.dll中的靜態(tài)方法)元數(shù)據(jù)模型接口的實(shí)現(xiàn)類一個(gè)用于操作源文件的源代碼模型一個(gè)PDB讀取器一個(gè)PDB寫入器

CCI: Code and AST項(xiàng)目包括:

一個(gè)用于讀取語句和表達(dá)式的代碼模型一個(gè)可變的代碼模型,可表示經(jīng)過修改的代碼模型,因?yàn)槠胀ǖ拇a模型只是提供了代碼的只讀視圖一個(gè)用于提取AST節(jié)點(diǎn)的AST模型。“AST節(jié)點(diǎn)負(fù)責(zé)一些例如,綁定定義與名稱,分辨重載,錯(cuò)誤檢查這樣的事情。AST組件的設(shè)計(jì)目的是為了支持增量型編譯,同時(shí)允許對(duì)不可變的代碼模型進(jìn)行高效的修訂(projection)”

軟件測試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd