code wiki / (root) / smoke_nxc_pipeline3.nx

smoke_nxc_pipeline3.nx source

↩ module page · 21 lines · 608 B

1// Inspect m.n_functions after parse_module. 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 main() -> i64 { return __syscall(93, 30, 0, 0, 0, 0, 0) }" 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}