Vczh Library++ 3.0這破東西也做了一年半了,因此打算給它制作第一個Release。這個Release將計劃包含下面的東西:
1、vle.exe。這是一個編譯器和虛擬機的命令行程序。通過這個程序可以把NativeX程序編譯成assembly、可以執行基于控制臺的assembly程序、以及運行我為這個平臺開發的一個單元測試工具。這些是已經開發完成的了。接下來還要給vle.exe添加鏈接功能。所謂的鏈接功能是指將多個assembly合并成一個,并且預先展開所有模板函數、模板變量和concept mapping等等。雖然NativeX程序跟C語言很像(多了泛型和concept mapping),也需要頭文件,不過其機制并不像#include那樣把文件復制進去,而是類似pascal。為了調用另一個assembly而必須的頭文件可以讓編譯器在編譯的過程中產生,不需要人去維護。
2、vlscript.dll。這是一個編譯器和虛擬機的函數庫。這個函數庫將會制作成C而不是C++的格式。我在盡可能讓vlscript.dll包含vle.exe所具有的全部功能以外,還要添加一些其他的譬如可以遍歷一個assembly里面各種聲明什么的的一些功能,以便二次開發的時候可以利用vlscript.dll完成很多有趣的事情。
3、TurtleDotNet.exe。這暫時還是一個設想。還記得舊社會的LOGO語言吧?最近新出的Microsoft Small Basic也跟LOGO一樣可以使用烏龜畫圖。這是一個很好的教程式的函數庫,因此我也打算做一個。因為時間的關系,我并不會在第一個Release里面包含一個NativeX的IDE,而只是包含一個C#寫的窗口程序,可以讀取assembly并提供烏龜畫圖的功能。這也同時展示了C#如何跟C的dll進行互操作。
4、各種NativeX的demo。現在已經開發好的demo包含一個四則運算分析器的程序。這個程序從字符串生成語法樹(NativeX也可以利用虛函數表來模擬多態,雖然這需要人肉完成而不是語法完成),然后做各種事情。我還附帶一個四則運算分析庫的單元測試程序。另一個開發好的demo是一個猜數字游戲。程序隨機產生4個0-9范圍內的數字,然后讓你也輸入4個,告訴你命中了多少,半命中(數字對位置不對)了多少,然后一直到你放棄或者猜中為止,程序結束。
上面已經開發好的東西已經check in在codeplex里面了,感興趣的話可以
自行下載。不過那個vle.exe是以源代碼的形式存放的(不像Release,都是編譯好的東西),因此如果想要看到效果的話,需要裝有Visual Studio 2010。編譯完之后,在Tools\Release\Vlpp\和Tools\Release\Vlpp\ScriptSample\CrossAssemblyInvoking\Binary\下面有Readme.txt,會告訴你在編譯完vle.exe之后如何部署他們,使得上述的兩個NativeX demo可以編譯和運行。
拭目以待吧,哇哈哈。
posted on 2011-02-19 23:29
陳梓瀚(vczh) 閱讀(3479)
評論(1) 編輯 收藏 引用 所屬分類:
VL++3.0開發紀事