3xt 7xr 10xb 7xs 3xy 3xx !pick up chars until ESC return in q0! [1.u1<↑Tu0(q0-27)"E0; 'q0i>q1,.x0]1 !move up to matching right paren! [1 !nesting level! 0u1 < (.-z)"E!end of file! ;tMissing ) 1; ' (1A-41)"E!right paren! q1"E !exit! 1; ' (q1-1)u1' (1A-40)"E!left paren! (q1+1)u1' !move dot! c>]1 !change to base pointer format! [2[1 !called with base in q0! q0u2 .u1 !construct command! i<r( g2 @i/+/ g2 @i/[; mr d i] 1u7 v>/ !execute it! q1,.x0m0 ]1]2 !apply mb twice for each token of q8! [1< !take token from q8 to q0! zj .u1 g8 q1j (.-z)"E!no more tokens! 1; ' :s u0 q0"Ezj' q0"N-d' .,zx8 q1,.x0 [0 0jmb ]0 0jmb>]1 !convert file for list of bases! [1 zj .u1 iseb ctxb mdb bb tb ltb extb q1,.x8 ms ]1 !test for single base! ;tBase: mt jmb