最近一段時(shí)間,SoftArt的所有更新,都集中在編譯器上。雖然沒有辦法趕上在2011年的SoftArt第一版本的alpha發(fā)布(也許會(huì)更名為Salvia,版本代號(hào)為Cryptic Era),但是整體進(jìn)度還是比較理想的。今天提交了r425,這是一個(gè)比較重要的更新。到這個(gè)更新為止,編譯器在后端的所有API便基本確定了。除去以后對(duì)參數(shù)和簽名的小改動(dòng),基本結(jié)構(gòu)已經(jīng)成型。
Parser,AST,Semantic和Code gen都已經(jīng)有了相應(yīng)的原型和對(duì)應(yīng)的測(cè)試。接下來基本就是堆代碼的體力活了。
接下來,有以下工作比較重要:
0. 未實(shí)現(xiàn)的語(yǔ)言特性及對(duì)應(yīng)的測(cè)試用例。
1. automatic regression tests的框架。這個(gè)框架的名稱就叫fart,framework of auto regression tests的簡(jiǎn)寫。這個(gè)Test與現(xiàn)有的unit tests稍有不同,他在第一次生成代碼的時(shí)候,是要人工去檢查并執(zhí)行驗(yàn)證的。以后所有的測(cè)試,都是將結(jié)論與藍(lán)本進(jìn)行比較。
2. semantic階段的出錯(cuò)處理,以及code generate階段的容錯(cuò)機(jī)制。這一部分的將隨著編譯器的逐步完善而完善。
3. 并行化的代碼生成。生成以SIMD方式執(zhí)行的代碼是這個(gè)編譯器開發(fā)的初衷,它也是整個(gè)編譯器功能中最重要的部分。
4. Host和Runtime部分。這一部分主要負(fù)責(zé)編譯器的初始化,內(nèi)建函數(shù)的注冊(cè),與腳本的交互等功能。在這一部分完成后,SoftArt就可以正式將SASL集成進(jìn)來。
5. Shader API的設(shè)計(jì)和實(shí)現(xiàn)。
簡(jiǎn)易的計(jì)劃表:
1.0(~Jun 2011):
不隨SoftArt發(fā)布。完成進(jìn)度:0: >60% 1: >80% 2: >20% 3: – 4: – 5: -
2.0(~Q1 2012):
編譯器隨SoftArt發(fā)布。未集成。進(jìn)度: 0: >75% 1: >90% 2: >40% 3: – 4: – 5: -
3.0(~2013):
集成進(jìn)softart。進(jìn)度: 0: >85% 1: >90% 2: >50% 3: – 4: >50% 5: >30%