# HG changeset patch # User HackBot # Date 1461891736 0 # Node ID df13af30c7305d5d72edf22ead42fe6bcba7d515 # Parent d57ca2535d99b36393ed2a86e08803313aa6773e mv t7cNVub5 daoyu.c diff -r d57ca2535d99 -r df13af30c730 daoyu.c --- a/daoyu.c Fri Apr 29 01:01:38 2016 +0000 +++ b/daoyu.c Fri Apr 29 01:02:16 2016 +0000 @@ -1,51 +1,43 @@ -/*COMPACT DAOYU INTERPRETER, Kaynato 2016*/ +/*COMPACT_DAOYU_INTERPRETER-KAYNATO_2016*/ #include #include #include -#define q(c) y(c)R -#define __ typedef -#define y if -#define d sizeof -#define R return -#define S (v->J) -#define U (v->K) -#define W (v->F) -#define e (v->G) -#define X (v->E) -#define f (v->A) -#define Y (v->B) -#define g (a->nn) -#define j (a->ii) -#define L(l) q(j >= l) -#define t(r,c) case c: R r; -__ unsigned long Q;__ unsigned char O;__ void V;__ char I;__ struct PATH{struct PATH*A;struct PATH -*B;Q*E;Q F;Q G;O ii;Q J;Q K;Q M;Q nn;}_P;__ _P*_;V F1(_),F2(_),F3(_),F4(_),F6(_),F7(_),F8(_),F9(_) -,FA(_),FB(_),FC(_),FD(_),FE(_),FF(_),F5(_,_);I GI(),AN(_);V P(),o(_,Q,Q,Q);O GN(I);Q n(_,Q,Q),p(Q) -,P2(Q);O k=d(Q)*8,C=0;Q D=1;__ V(*_f)(_);_f ff[16]={0,F1,F2,F3,F4,0,F6,F7,F8,F9,FA,FB,FC,FD,FE,FF} -;_P N={0,0,0,1,0,0,1,0,0,0};_ a=0,Z=0;I*b=0;int main(int argc,I*argv[]){I*i=argv[1];Q l=0;_P ql=N; -_ m=&ql;q(argc<2)0;while(*i&&*i!=64)i++;y(*i==64)b=++i;while(argv[1][l]&&argv[1][l]!=64)l++;q(!l)0 -;l=P2((l+1)/2);m->F=l*8;y(l%d(Q))l=d(Q);y(!(m->E=calloc(l,1))){printf("Cannot allocate %d bytes: " -,l);perror("");R 0;}for(l=0;argv[1][l]&&argv[1][l]!=64;l++){Q hex=GN(argv[1][l]);o(m,4*l,4,hex);}a -=m;F5(m,0);free(m->E);m->E=0;R 0;}O GN(I ch){switch(ch){t(0,46)t(1,33)t(2,47)t(3,93:case 41)t(4,37 -)t(5,35)t(6,62)t(7,61)t(8,40)t(9,60)t(10,58)t(11,83)t(12,91)t(13,42)t(14,36)t(15,59)default:R 0;}} -Q P2(Q x){Q r=x;Q s=0;while(r>>1){r>>=1;s++;}r<<=s;y(x!=r)r<<=1;R r;}I GI() {q(!b)0;q(*b)*b++;b=0; -R 0;}V F1(_ v){Q i=0;Q r=0;L(1);q(S==1);y(S<=k){Q H=S/2;o(v,U,S,n(v,U,H)|(n(v,U+H,H)<=4))U+=S;else F3(v);}V F3(_ v){L(7);y(SJ=1;Z->K= -1;}V F4(_ v){Q l=U;L(5);while(l+4B->A=v;v->B->M=v->M+1;v->B->E -=calloc(1,d(Q));}Z=Y;e=U/4;g=e;for(;D&&e<(W/4)&&v&&Z;e++){T=a->G;C=(a->E[(T*4)/32]>>(32-((T*4)%32) --4))&p(4);y(C==5)F5(Z,v);else y(C)ff[C](Z);}y(!cc){free(Y);Y=0;R;}y(!D){free(Y);Y=0;D=1;}a=cc;Z=cc -->B;R;}V F6(_ v){y(j>0)j--;}V F7(_ v){L(5);y(n(v,U,1)^n(v,U+S-1,1))P();}V F8(_ v){L(7);y(S>1){S/=2 -;R;}q(!Y); Z = Y;Z->J=Z->F;}V F9(_ v){L(9);j++;a->G=g-1;}V FA(_ v){long z=U;L(6);for(;z<(U+S);z+=8 -)putc(n(v,z,8),stdout);}V FB(_ v){L(2);y(W==1){Q r=n(v,0,1);y(a->A){Q oi=a->A->G;o(a->A,oi*4,4,r); -}free(X);X=0;D=0;R;}W>>=1;y(W<=8)realloc(X,1);else realloc(X,W/8);y(S>1)F8(v);y((U+S)>W)U-=W;}V FC -(_ v){y(j<1){Q L=S;y(L==1){q(!Y);Z=Y;Z->J=Z->F;FC(Z);F8(Z);R;}y(L<=k){o(v,U,L>>1,p(L));o(v,U+(L/2) -,L/2,~p(L));}else{Q r=(U/k);Q ri=r+(L/k)-1;while(r1)memcpy(w,X,u*d(Q)/2);else memcpy(w,X,d(Q));X=w;F3(v);}V FF(_ v){Q i=U;L(6);y(S<8){o(v,U,S,GI -());R;}for(;i<(U+S);i+=8)o(v,i,8,GI());}I AN(_ v){R U%(S<<1)==0;}Q p(Q l){q(l>(k-(i%k)-L))&p(L);}V o(_ v,Q i,Q L,Q w){Q s=k-(i%k)-L;y(L>k -)abort();X[i/k]&=~(p(L)<G++;} \ No newline at end of file +#define r return +#define B (S*8) +#define R(c) Y(c)r +#define Q(i,j,k) Y(!(i=calloc(j,k))){printf("CANNOT ALLOCATE %d BYTES: ",j*k);perror("");abort();} +#define M(l) Y(V>=l)r; +#define T typedef +#define H while +#define D p->d +#define A p->a +#define O p->n +#define Y if +#define U p->c +#define N p->l +#define J p->g +#define P p->o +#define K C->b +#define V C->e +T unsigned long L;T void v;T struct ___{struct ___*o;struct ___*c;L* d;L a;L g;L e;L l;L n;L f;L b;}__;T __*_; +#undef T +v b(_),h(_),t(_),u(_),e(_),f(_),g(_),k(_),l(_),n(_),o(_),i(_),j(_),a(_),q(_,_),T(),W(_,L,L,L),(*F[16])(_)={0,b, +h,t,u,0,e,f,g,k,l,n,o,i,j,a};char X(),Z(_),*I;L G(_,L,L),s(L),m=1,x=0,y,z=0,S=sizeof(L);const __ w={0,0,0,1,0 +,0,1,0,0,0};_ C=0,E=0;int main(int argc,char*argv[]){__ i=w;_ p=&i;I=argv[1];R(argc<2)0;H(I[x]&&I[x]-64)x++;R(! +x++)0;y=x/2;H(y/2){y/=2;z++;}y<<=z;x=x/2-y?y*2:y;A=x*8;Y(x%S)x=S;Q(p->d,x,1)x=0;H(I[x]&&I[x]-64){y=I[x];W(p,4*x +++,4,y-33?y-47?y-93?y-41?y-37?y-35?y-62?y-61?y-40?y-60?y-58?y-83?y-91?y-42?y-36?y-59?0:15:14:13:12:11:10:9:8:7: +6:5:4:3:3:2:1);}H(*I&&*I-64)I++;I=*I-64?0:I+1;q(C=p,0);free(D);r 0;}v b(_ p){x=0;M(1)R(N<2);Y(N<=B){y=N/2;W(p,O +,N,G(p,O,y)|(G(p,O+y,y)<3){O+=N;r;}t(p);}v t(_ p){M(7)Y(Nn=E->l=1;}v u(_ p){x=O;y=0;M(5);H(x +c->o=p;p->c->f=p->f+1;p->c->d=calloc +(1,S);}E=U;J=O/4;K=J;H(m&&Jg;z=(C->d[y*4/32]>>(32-((y*4)%32)-4))&s(4);Y(z==5)q(E,p);else Y(z)F +[z](E);J++;}Y(!i){free(U);U=0;r;}Y(!m){free(U);U=0;m=1;}C=i;E=i->c;}v e(_ p){Y(V)V--;}v f(_ p){M(5)Y(G(p,O,1)^G +(p,O+N-1,1))T();}v g(_ p){M(7)Y(N>1){N/=2;r;}R(!U);E=U;E->l=E->a;}v k(_ p){M(9)V++;C->g=K-1;}v l(_ p){M(6)y=O;H +(yo)W(C->o,C->o->g*4,4,G(p,0,1));free(D);m=D=0;r;}A/= +2;realloc(D,A<9?1:A/8);Y(N>1)g(p);Y(O+N>A)O-=A;}v o(_ p){Y(V<1){x=N;Y(x==1){R(!U);E=U;E->l=E->a;o(E);g(E);r;}Y( +x>B){y=O/B;z=y-1+x/B;H(yB?A:B)/8/S;Q(i,z,S)memcpy(i,D,z>1 +?z*S/2:S);D=i;t(p);}v a(_ p){z=O;M(6);Y(N<8){W(p,O,N,X());r;}H(z<(O+N)){W(p,z,8,X());z+=8;}}char X(){r I&&*I?*I +++:(I=0);}char Z(_ p){r!(O%(N*2));}L s(L i){R(i>(B-j-i +%B))&s(j);}v W(_ p,L i,L j,L k){R(j>B);z=B-j-i%B;D[i/B]&=~(s(j)<g++;} \ No newline at end of file diff -r d57ca2535d99 -r df13af30c730 t7cNVub5 --- a/t7cNVub5 Fri Apr 29 01:01:38 2016 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,43 +0,0 @@ -/*COMPACT_DAOYU_INTERPRETER-KAYNATO_2016*/ -#include -#include -#include -#define r return -#define B (S*8) -#define R(c) Y(c)r -#define Q(i,j,k) Y(!(i=calloc(j,k))){printf("CANNOT ALLOCATE %d BYTES: ",j*k);perror("");abort();} -#define M(l) Y(V>=l)r; -#define T typedef -#define H while -#define D p->d -#define A p->a -#define O p->n -#define Y if -#define U p->c -#define N p->l -#define J p->g -#define P p->o -#define K C->b -#define V C->e -T unsigned long L;T void v;T struct ___{struct ___*o;struct ___*c;L* d;L a;L g;L e;L l;L n;L f;L b;}__;T __*_; -#undef T -v b(_),h(_),t(_),u(_),e(_),f(_),g(_),k(_),l(_),n(_),o(_),i(_),j(_),a(_),q(_,_),T(),W(_,L,L,L),(*F[16])(_)={0,b, -h,t,u,0,e,f,g,k,l,n,o,i,j,a};char X(),Z(_),*I;L G(_,L,L),s(L),m=1,x=0,y,z=0,S=sizeof(L);const __ w={0,0,0,1,0 -,0,1,0,0,0};_ C=0,E=0;int main(int argc,char*argv[]){__ i=w;_ p=&i;I=argv[1];R(argc<2)0;H(I[x]&&I[x]-64)x++;R(! -x++)0;y=x/2;H(y/2){y/=2;z++;}y<<=z;x=x/2-y?y*2:y;A=x*8;Y(x%S)x=S;Q(p->d,x,1)x=0;H(I[x]&&I[x]-64){y=I[x];W(p,4*x -++,4,y-33?y-47?y-93?y-41?y-37?y-35?y-62?y-61?y-40?y-60?y-58?y-83?y-91?y-42?y-36?y-59?0:15:14:13:12:11:10:9:8:7: -6:5:4:3:3:2:1);}H(*I&&*I-64)I++;I=*I-64?0:I+1;q(C=p,0);free(D);r 0;}v b(_ p){x=0;M(1)R(N<2);Y(N<=B){y=N/2;W(p,O -,N,G(p,O,y)|(G(p,O+y,y)<3){O+=N;r;}t(p);}v t(_ p){M(7)Y(Nn=E->l=1;}v u(_ p){x=O;y=0;M(5);H(x -c->o=p;p->c->f=p->f+1;p->c->d=calloc -(1,S);}E=U;J=O/4;K=J;H(m&&Jg;z=(C->d[y*4/32]>>(32-((y*4)%32)-4))&s(4);Y(z==5)q(E,p);else Y(z)F -[z](E);J++;}Y(!i){free(U);U=0;r;}Y(!m){free(U);U=0;m=1;}C=i;E=i->c;}v e(_ p){Y(V)V--;}v f(_ p){M(5)Y(G(p,O,1)^G -(p,O+N-1,1))T();}v g(_ p){M(7)Y(N>1){N/=2;r;}R(!U);E=U;E->l=E->a;}v k(_ p){M(9)V++;C->g=K-1;}v l(_ p){M(6)y=O;H -(yo)W(C->o,C->o->g*4,4,G(p,0,1));free(D);m=D=0;r;}A/= -2;realloc(D,A<9?1:A/8);Y(N>1)g(p);Y(O+N>A)O-=A;}v o(_ p){Y(V<1){x=N;Y(x==1){R(!U);E=U;E->l=E->a;o(E);g(E);r;}Y( -x>B){y=O/B;z=y-1+x/B;H(yB?A:B)/8/S;Q(i,z,S)memcpy(i,D,z>1 -?z*S/2:S);D=i;t(p);}v a(_ p){z=O;M(6);Y(N<8){W(p,O,N,X());r;}H(z<(O+N)){W(p,z,8,X());z+=8;}}char X(){r I&&*I?*I -++:(I=0);}char Z(_ p){r!(O%(N*2));}L s(L i){R(i>(B-j-i -%B))&s(j);}v W(_ p,L i,L j,L k){R(j>B);z=B-j-i%B;D[i/B]&=~(s(j)<g++;} \ No newline at end of file