smoke_nxc_pipeline5.nx source
↩ module page · 21 lines · 581 B
1// Try minimal source matching parse_test's expectations.
2
3import "syscalls.nx"
4import "types.nx"
5import "lex_kinds.nx"
6import "outbuf.nx"
7import "ir.nx"
8import "lex.nx"
9import "parse.nx"
10
11func main() -> i64 {
12 let demo: *u8 = "func f() { return 42 }"
13
14 let toks: *Tok = lex_source(demo, 4096)
15 if toks == (0 as *Tok) { return __syscall(93, 1, 0, 0, 0, 0, 0) }
16
17 let m: *Module = parse_module(toks, 0 as *Module)
18 if m == (0 as *Module) { return __syscall(93, 2, 0, 0, 0, 0, 0) }
19
20 return __syscall(93, m.n_functions & 0xFF, 0, 0, 0, 0, 0)
21}