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) 阅读(3468)
评论(1) 编辑 收藏 引用 所属分类:
VL++3.0开发纪事