-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathz.c
27 lines (27 loc) · 3.57 KB
/
z.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include"z.h"//eval(+/x%#x) parse("a0()) str wrd num
ss;
ZU C[27][8],G[27],q(ii),e(ii,i0**);Z0*P=":+-*%&|<>=~!@?#_^,.$RENLMSZZZ'/\\()",F[27][64];_G(K,cc[]=" nyi rnk len typ";x=k(i,a,x);P(B>x,c[x*=4]=P[i];wl(4,c+x))x)_g(S,_r(G[i]);G[i]=x)
_g(y,Ua=G[24];G[24]=x;r(q(i),S(24,a)))H(z,U z[ua];i(ua,zi=G[i+1];G[i+1]=_i(i,r_(a)))x=y(f,x);i(ua,S(i+1,zi))_a(x))H(Z,i(ua,Q(x=aa?y(f,x):z(f,_i(G[9]=ti(i),r_(a)),x)))_a(x))
_G(c,pa?12==i?B>a?y(a,x):((_)a)(x):0:K(i,a,x))Ui(v,33>i-B)T(n,ij=*s--;65==j?r(e(i,&s),--s):r_(B>j?Ci[j]:G[j%B]?:wl(1,&j)))U(N,x=x?:Q(n(i,&s));v(*s)?x:N(i,&s,c(12,Q(n(i,&s)),x)))
U(Y,ij=v(*--s)?*s--:0;ik=105==*s&3==s[-1]/B;s-=k;U*a=G+*s--%B;a=k?x(*a,P(tx,0)(U*)sx+(i2)G[9]):a;N(i,&s,r_(*a=j?c(j%B,*a,x):(_r(*a),x))))
U(M,ij=*s--;U f=Q(n(i,&s));(B>f?62>j?z:Z:k3)(f,Q(N(i,&s,0)),x))U(V,ij=*s--%B;v(*s)?K(j,29>j?0:*s--,x):c(j,Q(N(i,&s,0)),x))U(E,64==*s?x:E(i,&s,Q((B==*s?Y:3>*s-61u>v(s[-2])?M:V)(i,&s,x))))
T(e,E(i,&s,Q(N(i,&s,0))))Ui(q,ss=F[i];s+=1+*s;Ux=Q(e(i,&s));B==s[2+(31>s[2]-33u)]?_x(B):x)
//parse !"#$%&'()*+, -./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`a..z{|}~
Ui(P_,",+ .3$%=@A#!1\"2>& * ')(-,____5______786___49________?_0/"[64>i?i:i-76])is(ib,iu(~b0((i0)i!=Vs)))Z0*f,l;is(ns,R(1,i,*rV=Vs))is(gs,r(ns(i,s),*rV&=15))
_e(e$,ij;46>*s?-e$(i-1,s+1):i>(j=ib(101,s))?E9[15&s[j+1]]*i$(j,s):i>(j=ib(46,s))?(i-=j+1,(E9[i]*i$(j,s)+i$(i,s+j+1))/E9[i]):i$(i,s),ii,ss)is(n$,(8>i?b(8*i):-1)&*(U*)s)
ins(vs,sd=s+n;im=nc(n,7-i?B:96,s);m++?R(i,m,i(m,n=l(d-s,ib(7>tr?B:96,s));$3(tr-2,ri=i$(n,s),re=e$(n,s),rj=n$(n,s));s+=n+1)):$3(i-2,ti(i$(n,s)),te(e$(n,s)),t(7,n$(n,s))))
ins(cs,sd=s-1;Va=Vs;Vc=101==a|46==a;Vb=c|10>a-48;r(iu(~b0(1>I0|$4(n,34!=a,b,b|32==a|1>a-45&32==Vd,27>a-96|b))),ij=7==n;Ci[*++f=l++]=$3(n,ns(r,s),gs(r,s),vs(j?n:r>iu(b0(c))?3:2,r-j,s+j))))
is(p,sd=f=F+i;*++f=64;ij;W(j=*s;B<j&59!=j)s+=8>(j=34==j?0:48==j&10>s[1]-48u?1:10>s[1>j-45&v(*f)]-48u?2:96==j?7:26>j-97?j:P_(j-B))?cs(i,j,s+!j)+2*!j:95!=(*++f=j);f[1]=l=0;*d=f-d-1;S(i,i))
#define L(c,z) {i0*t=s+i;ii=-1;W((s+=i+1)<t&&(i=(10-c?ib:ic)(c,s)))Q(_(z));}
_Z(_p,U*_=C+i;W(_r(*_))*_++=0,ii)is(qs,Ux=0;L(59,x=_x('::'==*(i1*)(s+1)?(p(*s%B,s+3),B):r(q(p(0,s)),_p(0))))x)
ZU w(ii,ss);_U(ls,ii;Ua=Q(m_(&i,s));s=(i0*)a;L(10,in=0;W(++n<i&&'/ '-*(i1*)(s+n));W(B==s[--n]);w(n+1,s))_m(a,i),ss)
//print 99;-99.99 -9.9e2;-99.99-99.99
ins($i,i?r(i,W(i--)(s[i]=48|n%10,n/=10)):n>>31?(*s++=45,1+$i(0,-n,s)):$i(1+L_(n),n,s))_U($n,*R=*(U*)&x;7+lu(x+1)>>3,Ux,U*R)Ui(wd,i-=d[i-1]==B;P(192>i,wl(i,d))w_(189,d);ws(".."))
ins($e,P(i,$i(2,.5+100*ei(n),s))*s++="+-"[n>>31];ee=ei(b(31)&n);n=.5+1e2*e;P(1e4>n,$i(2,n/100,s);s[2]=46;3+$i(2,n%100,s+3))n=10*e/E9[L_(e)];i(5,s[i]=48+$5(i,n/10,-2,n%10,53,L_(e)))6)
_U($a,4>i?(3>i?$i:$e)(l,x,s):7>i?6+$e(0,x>>32,s+$e(0,x,s)):$n(x,s),ii,Ux,ss)f(lz,im=2>tx-2?r(0,i(nx,r=m(r,xi))):0;$4(tx-1,1,m>>31?0:1+L_(m),E1<m?0:1+r(0,i(nx,r|=xi&&E1!=xi)),0))
f(wm,l=lz(x);im=mx?ux:1;h(l(16,m),ss=d;ii=h*vx;ij=i+vx;do $(1-l,s+=$a(tx,5>tx?xi:xj,s);*s++=B)*s++=48|(2>tx?xg:3>tx?xi:!!xi);W(++i<j&192>s-d);wd(s-d))if(16<m)ws("..");B)
f(wx,if(x&&B-x)px?wd(B>G[px]?_(ss=F[x];i(*s,ij=s[i+2];d[i]=B>j?48:96>j?P[j-B]:j)*s):(*d=P[x],1)):ax?(l=0,wd($a(tx,b(60)&x,d))):_x(!nx?0:1==tx&B<=*sx?wl(nx,sx):tx?wm(x):ws("lst"));x)
//repl
ZU zs(ii,ss);e2 t;is(ts,if(92-*s)p(0,s);Ua=t*_t()+6*i;i(i,Q(_r(92-*s?q(0):zs(0,s))))_p(0);ti(.5+(t*_t()-a)/1e6))is(w,s[i=i?:ic(0,s)]=0;i&&47-*s?wx((92-*s?qs:zs)(i,s)):B)
is(zs,$4(ib(*++s,"\\lt"),_k(0),ls(s+2),++s;s[i=ic(B,s)]=0;ts(i?iz(qs(i,s)):1,s+i+1),P('w'==*s,ku(0,0))s=d;j(27,Ux=G[j];*s=96+j;s+=x&&i^px)ns(s-d,d)))
int main(int i,i0**_){k_();t=1e9/t_();if(s)w(0,s);$(s=*++_,P(46-s[ic(0,s)-2],w(0,s))ls(s))ws(D);W(i=_w(wc(B),d,256))if(--i)w(i,d);}