code wiki / (root) / smoke_imports.nx

smoke_imports.nx source

↩ module page · 17 lines · 524 B

1// smoke_imports.nx -- test import + tok_at-like memory layout. 2 3import "syscalls.nx" 4import "lex_kinds.nx" 5 6func main() -> i64 { 7 let raw: *u8 = sys_mmap(16 * TOK_BYTES + TOK_BYTES) 8 let toks: *Tok = raw as *Tok 9 // Manually populate one tok. 10 let base: i64 = toks as i64 11 let t: *Tok = (base + 0 * TOK_BYTES) as *Tok 12 t.kind = TK_FUNC 13 let t2: *Tok = (base + 1 * TOK_BYTES) as *Tok 14 t2.kind = TK_IDENT 15 let v: i64 = t.kind + t2.kind 16 return __syscall(93, v, 0, 0, 0, 0, 0) 17}