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

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

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

CCI: Metadata的API包括:

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

CCI: Code and AST項目包括:

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

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