code wiki / (root) / smoke_nxc_pipeline14.nx

smoke_nxc_pipeline14.nx source

↩ module page · 19 lines · 594 B

1// Report f.n_values after parse+opt for the demo. 2import "syscalls.nx" 3import "types.nx" 4import "lex_kinds.nx" 5import "outbuf.nx" 6import "ir.nx" 7import "lex.nx" 8import "parse.nx" 9import "opt.nx" 10 11func main() -> i64 { 12 let demo: *u8 = "func main() -> i64 { return __syscall(93, 30, 0, 0, 0, 0, 0) }" 13 let toks: *Tok = lex_source(demo, 4096) 14 let m: *Module = parse_module(toks, 0 as *Module) 15 let fn_base: i64 = m.functions as i64 16 let f: *Function = (fn_base + 0 * 176) as *Function 17 opt_run(f) 18 return __syscall(93, f.n_values & 0xFF, 0, 0, 0, 0, 0) 19}