跟vczh看实例学编译原理——零:序言
摘要:在《如何设计一门语言》里面,我讲了一些语言方面的东西,还有痛快的喷了一些XX粉什么的。不过单纯讲这个也是很无聊的,所以我开了这个《跟vczh看实例学编译原理》系列,意在科普一些编译原理的知识,尽量让大家可以在创造语言之后,自己写一个原型。在这里我拿我创造的一门很有趣的语言 https://github.com/vczh/tinymoe/ 作为实例。商业编译器对功能和质量的要求都是很高的,里面大量的东西其实都跟编译原理没关系。一个典型的编译原理的原型有什么特征呢?性能低 错误信息难看 没有检查所有情况就生成代码 优化做得烂 几乎没有编译选项 等等。Tinymoe就满足了上面的5种情况,因为我的目
阅读全文
posted @
2014-01-19 01:22
陈梓瀚(vczh)
阅读(13620)
推荐(24) 编辑
2013年终总结
摘要:2013年我就干了两件事情。第一件是gaclib,第二件是tinymoe。Gaclib终于做到安全的支持C++的反射、从XML加载窗口和控件了。现在在实现的东西则是一个给gaclib用的workflow小脚本,用来写一些简单的view的逻辑、定义viewmodel接口,还有跟WPF差不多的data binding。Tinymoe是我大二的时候就设计出来的东西,无奈以前对计算机的理论基础了解的太少,以至于没法实现,直到现在才能做出来。总的来说tinymoe是一个模仿英语语法的严肃的编程语言——也就是说它是不基于NLP的,语法是严格的,写错一个单词也会编译不过。因此所有的函数都要写成短语,包括控制
阅读全文
posted @
2014-01-04 21:52
陈梓瀚(vczh)
阅读(8622)
推荐(3) 编辑