使用Java实现的一门解释型面向对象编程语言
实现了以下语法功能:
- 扫描并统计Token
- 构建抽象语法树AST
- 计算表达式
- 变量声明与赋值(var)
- 语法块、作用域和闭包
- 分支控制流(if-else)
- 循环控制流(while、for)
- 函数的声明与调用(fun)
- 添加部分内置函数(如clock()用于计时)
- 类的定义与实例化(class)
- 构造函数(init())
- this关键字、类属性和成员方法
- 继承关系(<)
- super关键字
使用方法:
- 创建Lox语言源代码文件,与
test01
等测试文件置于同一目录下 - 在IDEA中编译整个项目(build project),生成
out/
目录 - 进入
out/production/lox
目录- 解释并执行Lox源代码文件
java cn.gjz.lox.Lox /Users/gjz/Documents/idea-project/lox/src/test01
- 命令行交互的方式启动解释器
java cn.gjz.lox.Lox
- 解释并执行Lox源代码文件