1 个不稳定版本
0.0.1 | 2022年3月13日 |
---|
90 在 #toy
17KB
440 行
简单
学习编译器设计的玩具语言/编译器。
截图
语法
符号 | 符号定义 |
---|---|
函数 | fn <Ident>? <FunctionParams> <FunctionReturn>? <FunctionBody> |
函数参数 | ( ) |
函数返回值 | -> i64 |
函数体 | { <表达式> } |
表达式 | <值> <运算符>? <表达式>? |
值 | <Ident> | <Literal> |
运算符 | + |
Ident | [A-Za-z]* |
字面量 | [0-9]* |
待办事项
- 扩展语法以添加可以包含多个函数的模块
- 实现符号表
- 扩展语法以包含函数的捕获参数
- 添加更多运算符和运算符优先级
技术栈
依赖项
~7.5MB
~167K SLoC