code wiki / (root) / end2end_test.nx

end2end_test.nx

buildroot/runtime/end2end_test.nx

6401 B132 linesdepth 5pulls 12 transitivereach 0 importersview sourcekind gate/proof
docsdependenciesstructsconstsfunctions

about

end2end_test.nx -- prove lex.nx + parse.nx + ir.nx work together. Takes a NishiLang source string in memory, runs it through the full NishiLang-side front-end (lex → parse → IR), and verifies structural invariants on the resulting Module. This is the "nx compiles nx" demo: zero C-side compiler code touches the IR build; every byte from source to SSA goes through NishiLang-shipped modules.

dependencies 6 imports · 0 importers

nx_syscalls.nx nx_types.nx nx_lex_kinds.nx nx_ir.nx nx_tokenizer.nx nx_parse.nx end2end_test.nx

imports: nx_syscalls.nxnx_types.nxnx_lex_kinds.nxnx_ir.nxnx_tokenizer.nxnx_parse.nx

imported by: nobody (leaf or entry point)

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

main run_src lex_source sys_mmap nxa_die sys_write sys_exit nxa_lock_take nxa_lock_addr sys_write ↻ nxa_lock_give nxa_lock_addr ↻ nxa_report_overrun sys_write ↻ nxa_dump_printable sys_write ↻ nxa_dump_sizes sys_write ↻ lexm_expand lexm_prescan lexm_isid is_alnum lexm_body_end lexm_define lexm_init lexm_warn_body_too_long 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_body_int

structs

none

consts

none

functions

19func run_src(src: *u8, expect_n_funcs: i64) -> i64 {
called by 1: main calls 1: lex_source
33func main() -> i64 {
calls 1: run_src