code wiki / _hdl_build / nx_census_to_bg.nx

nx_census_to_bg.nx source

↩ module page · 87 lines · 4104 B

1// nx_census_to_bg.nx -- generic adapter: a RICH census (id\tcategory\tfeature\tstatus\tweight, the 2// nx_math_census/nx_sci_census/nx_wolfram_census output format) -> the nx_backlog_gen CONTRACT 3// (status\tfeature\tunion\tevidence, ABSENT-keyed). So ANY rich census's gaps flow into the self-feed 4// -> GEN-<rung>-<id> queue tasks -> the swarm/clones build them (hardware-rung-up, sovereign, EXCEED). 5// Reusable (operator: "get functionalities from across LOTS of systems ... S-class exceed, time the only 6// limit") -- one adapter serves every incumbent catalog. argv[1]=input rich census, argv[2]=output bg. 7// 8// module: nishi-core.meta.census_to_bg 9// depends: nishi-core.sys.syscalls 10// capability: RICH_CENSUS_TO_BACKLOG_CONTRACT_ADAPTER 11// license_tier: ORIGINAL 12import "nx_syscalls.nx" 13const K_MAGIC_262144: i64 = 262144 14 15func cb_w(fd: i64, s: *u8) -> i64 { var n: i64=0; while s[n]!=(0 as u8){n=n+1} sys_write(fd,s,n); return 0 } 16func cb_wn(fd: i64, v: i64) -> i64 { let bb: *u8=sys_mmap(28); var m: i64=v; if m<0{m=0-m;sys_write(fd,"-" as *u8,1)}; let t: *u8=sys_mmap(28); var k: i64=0; if m==0{t[0]=48;k=1}; while m>0{t[k]=(48+(m%10)) as u8;m=m/10;k=k+1}; var i: i64=0; while i<k{bb[i]=t[k-1-i];i=i+1}; sys_write(fd,bb,k); return 0 } 17func cb_len(s: *u8) -> i64 { var n: i64=0; while s[n]!=(0 as u8){n=n+1} return n } 18 19func cb_read(path: *u8, buf: *u8, cap: i64) -> i64 { 20 let fd: i64 = sys_openat_rd(path) 21 if fd < 0 { return 0 } 22 var n: i64 = 0 23 var r: i64 = sys_read(fd, buf, cap - 1) 24 while r > 0 { n = n + r; if n >= cap - 1 { r = 0 } else { r = sys_read(fd, buf + n, cap - 1 - n) } } 25 sys_close(fd) 26 return n 27} 28 29func cb_field(buf: *u8, ls: i64, le: i64, f: i64, dst: *u8, cap: i64) -> i64 { 30 var col: i64 = 0 31 var p: i64 = ls 32 var k: i64 = 0 33 while p < le { 34 if buf[p] == (9 as u8) { if col == f { dst[k] = 0 as u8; return k } col = col + 1; if col == f { k = 0 } } 35 else { if col == f { if k < cap - 1 { dst[k] = buf[p]; k = k + 1 } } } 36 p = p + 1 37 } 38 dst[k] = 0 as u8 39 return k 40} 41 42func main(argc: i64, argv: *i64) -> i64 { 43 if argc < 3 { cb_w(1, "usage: nx_census_to_bg <in-rich-census> <out-bg>\n" as *u8); sys_exit(2); return 2 } 44 let inp: *u8 = argv[1] as *u8 45 let outp: *u8 = argv[2] as *u8 46 let buf: *u8 = sys_mmap(K_MAGIC_262144) 47 let n: i64 = cb_read(inp, buf, K_MAGIC_262144) 48 if n <= 0 { cb_w(1, "CENSUS2BG verdict=RED reason=no-input\n" as *u8); sys_exit(11); return 11 } 49 let ofd: i64 = sys_openat_wr(outp, 0x1a4) 50 if ofd < 0 { cb_w(1, "CENSUS2BG verdict=RED reason=no-output\n" as *u8); sys_exit(12); return 12 } 51 cb_w(ofd, "# AUTHORED by nx_census_to_bg -- rich census -> backlog_gen contract. columns: status\tfeature\tunion\tevidence\n" as *u8) 52 53 let idf: *u8 = sys_mmap(128) 54 let feat: *u8 = sys_mmap(256) 55 let stat: *u8 = sys_mmap(64) 56 var rows: i64 = 0 57 var absent: i64 = 0 58 var ls: i64 = 0 59 var i: i64 = 0 60 while i <= n { 61 var eol: i64 = 0 62 if i == n { eol = 1 } else { if buf[i] == (10 as u8) { eol = 1 } } 63 if eol == 1 { 64 if i > ls { if buf[ls] != (35 as u8) { 65 let il: i64 = cb_field(buf, ls, i, 0, idf, 128) 66 let sl: i64 = cb_field(buf, ls, i, 3, stat, 64) 67 if il > 0 { if sl > 0 { 68 cb_field(buf, ls, i, 2, feat, 256) 69 // emit: status \t feature(=id slug) \t union(=desc) \t evidence 70 cb_w(ofd, stat); cb_w(ofd, "\t" as *u8); cb_w(ofd, idf); cb_w(ofd, "\t" as *u8) 71 cb_w(ofd, feat); cb_w(ofd, "\tsovereign-hw-rung-up-research-not-copy-exceed\n" as *u8) 72 rows = rows + 1 73 // ABSENT? (first byte 'A') 74 if stat[0] == (65 as u8) { absent = absent + 1 } 75 } } 76 } } 77 ls = i + 1 78 } 79 i = i + 1 80 } 81 sys_close(ofd) 82 cb_w(1, "CENSUS2BG rows=" as *u8); cb_wn(1, rows) 83 cb_w(1, " absent=" as *u8); cb_wn(1, absent) 84 cb_w(1, " verdict=GREEN\n" as *u8) 85 sys_exit(0) 86 return 0 87}