code wiki / (root) / nx_smoke_nxc_pipeline.nx

nx_smoke_nxc_pipeline.nx

buildroot/runtime/nx_smoke_nxc_pipeline.nx

2910 B79 linesdepth 6pulls 16 transitivereach 0 importersview sourcekind smoketopic smoke
docsdependenciesstructsconstsfunctions

about

Replay nxc.nx's pipeline on the baked-in demo, reporting at each stage so we can see exactly where stage 4 is failing. Returns: 1 = lex_source returned NULL 2 = parse_module returned NULL 3-9 = opt/regalloc/riscv stage threw something we'd need to instrument differently (just runs) 100 = OK, asm_pos was 0 (nothing emitted) 101 = OK, asm_pos > 0, code_len == 0 102 = OK, asm_pos > 0, code_len < 0 -- distinguished below 200 = code_len == -1 (unknown mnemonic) 201 = code_len == -2 (pass 1 fail) 202 = code_len == -3 (pass 2 fail) N = code_len when 0 < N < 100 (success)

dependencies 12 imports · 0 importers

nx_syscalls.nx nx_types.nx nx_lex_kinds.nx nx_outbuf.nx nx_ir.nx nx_tokenizer.nx nx_parse.nx nx_opt.nx nx_regalloc.nx nx_riscv.nx nx_smoke_nxc_pipeline.nx

diagram shows first 10 each side; +2 more imports, +0 more importers in the complete lists below.

imports: nx_syscalls.nxnx_types.nxnx_lex_kinds.nxnx_outbuf.nxnx_ir.nxnx_tokenizer.nxnx_parse.nxnx_opt.nxnx_regalloc.nxnx_riscv.nxcrt0.nxnxasm_v2.nx

imported by: nobody (leaf or entry point)

call flow from main pre-order; caps 40 nodes / depth 6 declared; ↻ = already shown

main lex_source sys_mmap lexm_expand lexm_prescan lexm_isid is_alnum is_alpha is_digit lexm_body_end lexm_define lexm_init sys_mmap ↻ lexm_warn_body_too_long lexm_diag_cell lexm_emit_str lexm_emit_dec sys_write lexm_name_at lexm_body_at sys_mmap ↻ lexm_isid ↻ lexm_body_end ↻ lexm_for_expand lexm_isid ↻ lexm_body_end ↻ lexm_for_emit lexm_isid ↻ sys_mmap ↻ lexm_for_bound lexm_lookup lexm_name_at ↻ lexm_body_at ↻ lexm_body_int lexm_emit_dec ↻ lexm_kw_is lexm_paste_expand sys_mmap ↻ lexm_trim lexm_is_ident_text

structs

none

consts

none

functions

36func main() -> i64