code wiki / (root) / nx_measurement_source_binding_gate.nx

nx_measurement_source_binding_gate.nx source

↩ module page · 48 lines · 4474 B

1// Read-only pure join gate, actual declaration ruler controls; no estate writes. 2import "nx_measurement_binding_lib.nx" 3import "nx_gate_verdict.nx" 4func pbg_valid(buf: *u8, scratch: *i64, sym: *i64) -> i64 { return pbm_validate(buf,bf_slen(buf),scratch,sym) } 5func pbg_count(buf: *u8, contract: *u8, scratch: *i64, sym: *i64) -> i64 { return pbm_count(buf,bf_slen(buf),contract,0,bf_slen(contract),scratch,sym) } 6func pbg_decl(buf: *u8) -> i64 { return sd_declared_buf(buf,bf_slen(buf),"target" as *u8) } 7func main() -> i64 { 8 let ctr: *i64=gv_ctr(); gv_head("SOURCE-BINDING" as *u8) 9 let sym: *i64=sys_mmap(3*8) as *i64; var scratch: i64=0 10 gv_check("identifier accepted" as *u8,pbm_ident("target" as *u8,0,6)==1,ctr) 11 gv_check("digit-leading identity refused" as *u8,pbm_ident("1target" as *u8,0,7)==0,ctr) 12 gv_check("empty identity refused" as *u8,pbm_ident("" as *u8,0,0)==0,ctr) 13 gv_check("punctuated identity refused" as *u8,pbm_ident("target()" as *u8,0,8)==0,ctr) 14 let one: *u8="label|runtime/a.nx|target|0|1|1|1|1|note\n" as *u8 15 gv_check("actual nine-field row shape accepted" as *u8,pbg_valid(one,&scratch,sym)==1,ctr) 16 gv_check("unique exact match" as *u8,pbg_count(one,"target" as *u8,&scratch,sym)==1,ctr) 17 gv_check("short prefix is not a match" as *u8,pbg_count(one,"tar" as *u8,&scratch,sym)==0,ctr) 18 gv_check("long prefix neighbor is not a match" as *u8,pbg_count(one,"targetx" as *u8,&scratch,sym)==0,ctr) 19 let two: *u8="one|runtime/a.nx|target\ntwo|runtime/_hdl_build/a.nx|target\n" as *u8 20 gv_check("same basename paths remain two rows" as *u8,pbg_count(two,"target" as *u8,&scratch,sym)==2,ctr) 21 let dup: *u8="one|runtime/a.nx|target\none|runtime/a.nx|target\n" as *u8 22 gv_check("identical duplicate rows are not collapsed" as *u8,pbg_count(dup,"target" as *u8,&scratch,sym)==2,ctr) 23 let watch: *u8="one|runtime/a.nx|_ABSENT_:target\n" as *u8 24 gv_check("watch effective symbol exact match" as *u8,pbg_count(watch,"target" as *u8,&scratch,sym)==1,ctr) 25 gv_check("watch form retained" as *u8,sym[2]==1,ctr) 26 let withheld: *u8="one|runtime/a.nx|_ABSENT_:target:knowledge/proof.json\n" as *u8 27 gv_check("withheld effective symbol exact match" as *u8,pbg_count(withheld,"target" as *u8,&scratch,sym)==1,ctr) 28 gv_check("withheld form retained" as *u8,sym[2]==2,ctr) 29 gv_check("bare absent has no join" as *u8,pbg_count("one|a.nx|_ABSENT_\n" as *u8,"target" as *u8,&scratch,sym)==0,ctr) 30 gv_check("empty watch refused" as *u8,pbg_valid("one|a.nx|_ABSENT_:\n" as *u8,&scratch,sym)<0,ctr) 31 gv_check("empty withheld precondition refused" as *u8,pbg_valid("one|a.nx|_ABSENT_:target:\n" as *u8,&scratch,sym)<0,ctr) 32 gv_check("malformed absence prefix refused" as *u8,pbg_valid("one|a.nx|_ABSENT_wrong\n" as *u8,&scratch,sym)<0,ctr) 33 gv_check("missing symbol field refused" as *u8,pbg_valid("one|a.nx\n" as *u8,&scratch,sym)<0,ctr) 34 gv_check("empty source field refused" as *u8,pbg_valid("one||target\n" as *u8,&scratch,sym)<0,ctr) 35 gv_check("empty matrix refuses negative census" as *u8,pbg_valid("" as *u8,&scratch,sym)<0,ctr) 36 gv_check("comment and metadata skipped" as *u8,pbg_valid("# prose\n@metadata\none|a.nx|target\n" as *u8,&scratch,sym)==1,ctr) 37 gv_check("CRLF accepted" as *u8,pbg_valid("one|a.nx|target\r\n" as *u8,&scratch,sym)==1,ctr) 38 gv_check("comment-only declaration mention is absent" as *u8,pbg_decl("// func target() -> i64 { return 1 }\n" as *u8)==0,ctr) 39 gv_check("call site is absent" as *u8,pbg_decl("func caller() -> i64 { return target() }\n" as *u8)==0,ctr) 40 gv_check("string mention is absent" as *u8,pbg_decl("const prose: *u8 = \"func target()\" as *u8\n" as *u8)==0,ctr) 41 gv_check("longer identifier declaration is absent" as *u8,pbg_decl("func targetx() -> i64 { return 1 }\n" as *u8)==0,ctr) 42 gv_check("exact declaration text is present" as *u8,pbg_decl("func target() -> i64 { return 1 }\n" as *u8)==1,ctr) 43 gv_check("constant presence illustrates declaration-not-function scope" as *u8,pbg_decl("const target: i64 = 1\n" as *u8)==1,ctr) 44 gv_check("multiline lexical ambiguity remains explicitly unverified" as *u8,pbg_decl("/*\nfunc target() -> i64 { return 1 }\n*/\n" as *u8)==1,ctr) 45 sys_munmap(sym as *u8,3*8) 46 let rc: i64=gv_verdict("SOURCE-BINDING" as *u8,ctr,"exact contract-to-row joins preserve gaps and ambiguity; declaration text is not syntax or behavior proof" as *u8) 47 sys_exit(rc); return rc 48}