stage1 部分功能测试00,01,02,06成功

This commit is contained in:
zzy
2026-07-05 18:23:33 +08:00
parent 50b07074fb
commit 51d8510b79
30 changed files with 4336 additions and 59 deletions

32
stage1/test03.spl Normal file
View File

@@ -0,0 +1,32 @@
#[extern("vm")] fn vm_printf(fmt: *u8, ...) void;
type Point = struct {
x: i32,
y: i32,
}
type Enum = enum {
Int,
Add
}
type Expr = enum {
Int: i32,
Add: struct { left: *Expr, right: *Expr },
}
fn eval(e: *Expr) i32 {
match e {
.Int(val) => return val,
.Add(left, right) => return eval(left) + eval(right),
}
return 0;
}
fn main() void {
var p: Point = Point { .x = 3, .y = 4 };
vm_printf("%d %d\n", p.x, p.y);
vm_printf("basic enum\n", Enum.Int, Enum.Add);
ret;
}