- 重写计算过程机制
- 改进st兼容问题
- round ceil floor 允许输入int类型
- 加入新函数load用于动态载入变量
- 重新整理文档
- 重写了字符串解析并修复换行和换行转义混用解析错误的bug
- 计算类型内部储存的值现在支持被序列化
- 字符串模板中的 {% %} 不再输出内容
- 字符串模板 {} 报错优化
- 计算过程信息进行算符标注
- 优化值读写钩子接口
- 赋值语句调整为表达式,这意味着能够在字符串模板中使用
- 赋值语句取值后不再从栈中弹出值
- 新增报错信息优化方案
- 随机种子设置,序列化和反序列
- 计算过程文本可以自定义了
- 计算过程文本的生成函数进行了分离,现在只在GetDetailText被调用时生成
- 将解析和执行分成两个阶段,可以分别单独调用
- 现在能够检查生成的字节码是否进行了骰点运算,这在部分指令中很有用
- 修改API,新建变量更为简洁
- 移除了undefined
- 修复了ToJSON的一个bug
- 使用 自己修改的 pigeon 重构语法解析
- NativeObject 一种用于绑定Go对象的类型,行为类似于dict
- 为字典类型增加了 keys() values() items() 方法
- dir 函数,和python的dir函数类似,用于获取对象的所有属性
- 空值合并算符
- 文档调整
- 逻辑与/逻辑或/按位与/按位或
- 补全测试用例
- 编写文档
- Fate/WoD/DoubleCross 相关算符
- 计算过程完善
- 内置函数支持默认参数
- 简易原型链机制
- 计算过程显示
- 字典类型
- 变量作用域
- 序列化和反序列化: array native_function,全类型完成
- 内置函数: ceil floor round int float str
- 序列化和反序列化: int float str undefined null computed function
- 分片赋值,以及取值语法,支持array和str
- range语法 [0..2] 为 [0,1,2],[3..1] 为 [3,2,1]
- while 语法
- return 语法
- 数组下标赋值
- 线程安全优化
- 现在可以使用 true / false 其值为 1 / 0
- break / continue 支持
- 多维数组
- computed 计算类型
- function 函数类型
- if else 语句
- undefined 类型
- a == 1 ? 1 : 2 三目运算符
- a == 1 ? 'A', a == 2 ? 'B', a == 3 : 'C'
- 一元算符 +1 -1
- 数组
- 数组下标
- fvtt语法: [1,2,3]kh [1,2,3]kl
- 支持浮点数
- 支持字符串
- 支持变量
- RollVM的测试覆盖率提升至95%
- 能够编译到JS
- 数学和逻辑算符全类型支持(除computed和array之外)
- 初步的单元测试
- 异常机制
- 接口调整
- 实现了d算符
- 实现d算符语法,d20k / d20q / d20kh / d20hl / d20d / d20dl / d20dh
- 二元算符框架(+-*/等)
- 支持数学四则运算
- 支持比较算符(< <= == != > >=)
- 指令执行初步架构
- VM接口
- 简易REPL
- 建项目,初步文法