一个简单的解释器,支持面向对象,函数,数组,闭包等语法。目前只是 个初级版本,之后会对它做性能优化,设计虚拟机来提高语言的性能。
- ast: 包含了语法树节点的实现
- env: 实现了上下文,用来存储符号代表的对象
- exception: 异常处理模块,实现自定义异常类,只要要反馈出错的位置
- parser: 语法分析器,通过配置规则,解析文本符号,输出语法树
- stype: 定义了Stone语言的基本类型
- tests: 一些Stone语言编写的测试代码
- Lexer.cpp: 词法分析器,通过正则表达式匹配源码字符串,分割单词输出符号
- Naive.cpp: 提供了原生函数的支持,在env里注册naive函数
- Parse.hpp: 主要为语法分析器提供支持,采用LL语法分析方式。