cyendra

Azarath Metrion Zinthos

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

之前实现了Raven语言的0.1版,仅仅支持表达式处理与控制语句,由于不支持数组、函数、类,甚至都不是图灵完全的语言。

现在参考vczh的博客打算重新写一遍Raven语言。陈祖不愧是神啊,高中就写出支持脚本的游戏地图编辑器了。

据说脚本引擎有四个重要属性:

  1. 命令式、描述式
  2. 按值计算、惰性计算
  3. 强类型、弱类型、无类型
  4. 函数与闭包

跟之前说好的一样,Raven语言是命令式按值计算支持函数闭包的弱类型语言,内置有正则表达式引擎一枚。

再次动手之前先记录一些会用到的知识点与灵感。

 

语法树采用visiter模式。

构造出语法树以后,指定一个visiter给语法树,这样不管想要解释型还是编译型都可以用不同的visiter来实现。

posted on 2014-10-03 20:42  cyendra  阅读(320)  评论(0编辑  收藏  举报