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