µGo语言实现
前言
1.
基础
1.1.
µGo简介
1.2.
最小编译器
1.3.
LLVM汇编简介
2.
表达式
2.1.
加减法表达式
2.2.
乘除法表达式
2.3.
解析表达式语法树
2.4.
重构解析器
3.
最小µGo程序
3.1.
AST视角的µGo程序
3.2.
AST到LLVM汇编
3.3.
完善词法解析器
3.4.
完善语法解析器
3.5.
打印AST语法树
3.6.
命令行界面
4.
变量和作用域
4.1.
完善token包
4.2.
完善AST和解析器
4.3.
完善LLIR输出
4.4.
输出WASM模块
4.5.
简短定义和多赋值
5.
if分支和for循环
5.1.
完善token包和lex包
5.2.
完善AST和解析器
5.3.
if和for到LLIR汇编
6.
函数和递归
6.1.
return语句
6.2.
递归调用µGo函数
7.
多文件和多包支持
7.1.
import语句
7.2.
多文件和包依赖
7.3.
ugopath配置信息
8.
字符串
9.
数组
10.
map
11.
结构体
12.
方法
13.
闭包
14.
接口
15.
异常
16.
反射
17.
CGO
18.
WASM
19.
类型系统
20.
自举
21.
LSP服务
22.
附录
Light (default)
Rust
Coal
Navy
Ayu
µGo语言实现
KusonStack一站式可编程配置技术栈(Go):
https://github.com/KusionStack/kusion
KCL 配置编程语言(Rust):
https://github.com/KusionStack/KCLVM
凹语言™:
https://github.com/wa-lang/wa
21. LSP服务