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}