实现一个脚本语言Raven(一)
2024-09-16 05:35:15
之前实现了Raven语言的0.1版,仅仅支持表达式处理与控制语句,由于不支持数组、函数、类,甚至都不是图灵完全的语言。
现在参考vczh的博客打算重新写一遍Raven语言。陈祖不愧是神啊,高中就写出支持脚本的游戏地图编辑器了。
据说脚本引擎有四个重要属性:
- 命令式、描述式
- 按值计算、惰性计算
- 强类型、弱类型、无类型
- 函数与闭包
跟之前说好的一样,Raven语言是命令式按值计算支持函数闭包的弱类型语言,内置有正则表达式引擎一枚。
再次动手之前先记录一些会用到的知识点与灵感。
语法树采用visiter模式。
构造出语法树以后,指定一个visiter给语法树,这样不管想要解释型还是编译型都可以用不同的visiter来实现。
最新文章
- @RequestMapping注解详解
- 使用MLeaksFinder检测项目内存泄露总结
- Java虚拟机5:Java垃圾回收(GC)机制详解
- Wamp 简单使用方法
- 关于IPv6被拒
- servlet运行流程
- php运行模式的比较(转)
- VBS基础篇 - 动态数组
- Codeforces Round #328 (Div. 2) A. PawnChess 暴力
- fcntl记录锁
- Apache commons (Java常用工具包)简介
- POJ 3692:Kindergarten(最大的使命)
- Image Pipeline
- (二)Java工程化--Maven实践
- [原创]K8 Cscan 3.6大型内网渗透自定义扫描器
- 2018SDIBT_国庆个人第七场
- sublime text3快速生成html头部信息
- ZOJ 3962 Seven Segment Display(数位DP)题解
- Eclipse 文件太长,导致着色异常问题
- JSch远程执行脚本
热门文章
- jQuery name属性与checked属性结合获取表单元素值
- 【 D3.js 进阶系列 — 6.2 】 饼状图的拖拽
- apache虚拟主机的设置
- 【转】Ubuntu下配置支持Windows访问的samba共享
- python解析AMF协议
- asp.net 中Session的运用,及抛出错误“未将对象引用设置到对象的实例”
- javaweb之javascript结合(三)
- 解决SQL数据库无法脱机的问题
- BeanPostProcessor 的使用,实现在对象初始化之前或者之后对对象进行操作
- 数据绑定之DataFormatString