好长时间没写博客了。在完成汉诺塔游戏的重构后,我的兴趣发散到了别的上了,但都是东一枪西一炮,不成系统的学习。先是对lua语言有了浓厚的兴趣,粗略学习了部分,又学习了点linxu shell,然后又学了点正则表达式。接着又迷上了perl语言。兴趣转移的很快,这些语言让我开阔了眼界,但也带来了迷惑。丰富的高层次操作,掩盖了它们背后的复杂性。让我有种不踏实的感觉,特别是基础的C语言并没有掌握熟悉。 现在,我回到兴趣发散出去的原点,cforth的设计上来。这次重新设计,重新编码,为的是解决之前经验和知识不足导致的一系列问题。比如,解释器程序过于简单,导致无法加入控制字。解释器前端和字典部分数据结构不统一,无法灵活的操纵数据。
为了用C语言实现一个真正的forth系统,首先需要设计好整个数据结构。目前的想法是,用链表实现解释器词法分析前端,数据堆栈,返回堆栈。使用hash表实现字典结构。这次采用螺旋式设计,经过详细的设计和论证,从底层向高层构建,先写出原型,然后再进行下一步设计和论证,一步一步螺旋式上升。稍候我将附上设计图。
阅读(2424) | 评论(0) | 转发(0) |