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}