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

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

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

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

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

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

语法树采用visiter模式。

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

最新文章

  1. @RequestMapping注解详解
  2. 使用MLeaksFinder检测项目内存泄露总结
  3. Java虚拟机5:Java垃圾回收(GC)机制详解
  4. Wamp 简单使用方法
  5. 关于IPv6被拒
  6. servlet运行流程
  7. php运行模式的比较(转)
  8. VBS基础篇 - 动态数组
  9. Codeforces Round #328 (Div. 2) A. PawnChess 暴力
  10. fcntl记录锁
  11. Apache commons (Java常用工具包)简介
  12. POJ 3692:Kindergarten(最大的使命)
  13. Image Pipeline
  14. (二)Java工程化--Maven实践
  15. [原创]K8 Cscan 3.6大型内网渗透自定义扫描器
  16. 2018SDIBT_国庆个人第七场
  17. sublime text3快速生成html头部信息
  18. ZOJ 3962 Seven Segment Display(数位DP)题解
  19. Eclipse 文件太长,导致着色异常问题
  20. JSch远程执行脚本

热门文章

  1. jQuery name属性与checked属性结合获取表单元素值
  2. 【 D3.js 进阶系列 — 6.2 】 饼状图的拖拽
  3. apache虚拟主机的设置
  4. 【转】Ubuntu下配置支持Windows访问的samba共享
  5. python解析AMF协议
  6. asp.net 中Session的运用,及抛出错误“未将对象引用设置到对象的实例”
  7. javaweb之javascript结合(三)
  8. 解决SQL数据库无法脱机的问题
  9. BeanPostProcessor 的使用,实现在对象初始化之前或者之后对对象进行操作
  10. 数据绑定之DataFormatString