\d k A:`n`m`v`a`c / syntax types B[A;A]:(3 0 4 5 0 / binding strengths 3 0 0 0 0 2 0 1 5 0 0 0 0 0 0 6 0 6 5 0) C[A;A]:(`n` `m`v` / result type `n` ` ` ` `n` `v`v` ` ` ` ` ` `a` `a`a`) tree:{*(1<#:)(bind . drop@)/|@[x;&term'x;`n,1__f@]} / token-list -> parse-tree term:{:[1=#x;1;~atom x]} / nested token-list atom:{4:x 1} / (`type;token) bind:{,/.[(0,y+0 2)_ x;1;pair;c . x[1 0+y;0]]} / ..xy.. -> ..(t;yx).. drop:{(x;:[&/=':k:b':*:'x;0;(<':k)?1])} / drop in binding strength pair:{,(y;|:[dyad[y]. x;mona . x;x])} / binding operation mona:{(x;(*y;y[1],":"))} / Fv -> Fv: dyad:{n[x]&n[y]&v[z]&(~~4:z 1)&2=#z 1} / v n -> v: n n:A[0]~*: / ?noun v:A[2]~*: / ?verb b:{:[` _in x,y;0;B[x;y]]} / syntax error strength c:{:[` _in x,y;`;C[x;y]]} / syntax error result \d ^ tree:k.tree