This is seq.c in view mode; [Download] [Up]
/* (C) Copyright Taiichi Yuasa and Masami Hagiya, 1984. All rights reserved. */ #include <cmpinclude.h> #include "seq.h" init_seq(start,size,data)char *start;int size;object data; { register object *base=vs_top;register object *sup=base+VM2;vs_check; Cstart=start;Csize=size;Cdata=data;set_VV(VV,VM1,data); base[0]= VV[0]; (void)simple_symlispcall_no_event(VV[16],base+0,1); MF(VV[17],L2,start,size,data); MF(VV[18],L3,start,size,data); MF(VV[19],L4,start,size,data); MF(VV[20],L5,start,size,data); MF(VV[21],L6,start,size,data); MF(VV[22],L7,start,size,data); MF(VV[23],L8,start,size,data); vs_top=vs_base=base; } /* function definition for MAKE-SEQUENCE */ static L2() { register object *base=vs_base; register object *sup=base+VM3; vs_reserve(VM3); if(vs_top-vs_base<2) too_few_arguments(); parse_key(vs_base+2,FALSE,FALSE,1,VV[2]); vs_top=sup; base[4]= Cnil; base[5]= Cnil; if(!(base[0]==VV[1])){ goto T6;} if((base[3])==Cnil){ goto T9;} base[6]= base[1]; base[7]= VV[2]; base[8]= base[2]; vs_top=(vs_base=base+6)+3; Lmake_list(); return; T9:; base[6]= base[1]; vs_top=(vs_base=base+6)+1; Lmake_list(); return; T6:; if(base[0]==VV[3]){ goto T15;} if(!(base[0]==VV[4])){ goto T16;} T15:; base[4]= VV[5]; goto T4; T16:; if(base[0]==VV[6]){ goto T20;} if(!(base[0]==VV[7])){ goto T21;} T20:; base[4]= VV[8]; goto T4; T21:; if(base[0]==VV[9]){ goto T25;} if(!(base[0]==VV[10])){ goto T26;} T25:; base[4]= Ct; goto T4; T26:; base[6]= base[0]; base[0]= simple_symlispcall_no_event(VV[24],base+6,1); if(!(car(base[0])==VV[1])){ goto T33;} if((base[3])==Cnil){ goto T37;} base[6]= base[1]; base[7]= VV[2]; base[8]= base[2]; vs_top=(vs_base=base+6)+3; Lmake_list(); return; T37:; base[6]= base[1]; vs_top=(vs_base=base+6)+1; Lmake_list(); return; T33:; if(car(base[0])==VV[11]){ goto T43;} if(car(base[0])==VV[12]){ goto T43;} base[6]= VV[13]; base[7]= base[0]; vs_top=(vs_base=base+6)+2; Lerror(); vs_top=sup; T43:; base[6]= cadr(base[0]); if(base[6]==Cnil)goto T50; base[4]= base[6]; goto T4; T50:; base[4]= Ct; T4:; base[6]= base[4]; base[7]= base[1]; base[8]= Cnil; base[9]= Cnil; base[10]= Cnil; base[11]= Cnil; base[12]= Cnil; vs_top=(vs_base=base+6)+7; siLmake_vector(); vs_top=sup; base[5]= vs_base[0]; if((base[3])==Cnil){ goto T61;} {int V1; int V2; V1= 0; V2= fix(base[1]); T67:; if(!((V1)>=(V2))){ goto T68;} goto T61; T68:; (void)(elt_set(base[5],V1,base[2])); V1= (V1)+1; goto T67;} T61:; vs_top=(vs_base=base+5)+1; return; } /* function definition for CONCATENATE */ static L3() { register object *base=vs_base; register object *sup=base+VM4; vs_reserve(VM4); if(vs_top-vs_base<1) too_few_arguments(); vs_base=vs_base+1; vs_top[0]=Cnil; {object *p=vs_top; for(;p>vs_base;p--)p[-1]=MMcons(p[-1],p[0]);} vs_top=sup; {int V3; base[4]= base[0]; {object V4; {object V5; object V6= base[1]; if(endp(V6)){ V4= Cnil; goto T79;} base[6]=V5=MMcons(Cnil,Cnil); T80:; base[7]= (V6->c.c_car); vs_top=(vs_base=base+7)+1; Llength(); vs_top=sup; (V5->c.c_car)= vs_base[0]; if(endp(V6=MMcdr(V6))){ V4= base[6]; goto T79;} V5=MMcdr(V5)=MMcons(Cnil,Cnil); goto T80;} T79:; vs_top=base+6; while(!endp(V4)) {vs_push(car(V4));V4=cdr(V4);} vs_base=base+6;} Lplus(); vs_top=sup; base[5]= vs_base[0]; vs_top=(vs_base=base+4)+2; L2(); vs_top=sup; base[2]= vs_base[0]; V3= 0; base[3]= base[1]; T85:; if((base[3])!=Cnil){ goto T86;} vs_top=(vs_base=base+2)+1; return; T86:; {int V7; int V8; V7= 0; V8= length(car(base[3])); T94:; if(!((V7)>=(V8))){ goto T95;} goto T90; T95:; base[4]= elt(car(base[3]),V7); (void)(elt_set(base[2],V3,base[4])); V3= (V3)+(1); V7= (V7)+1; goto T94;} T90:; base[3]= cdr(base[3]); goto T85;} } /* function definition for MAP */ static L4() { register object *base=vs_base; register object *sup=base+VM5; vs_reserve(VM5); if(vs_top-vs_base<3) too_few_arguments(); vs_base=vs_base+3; vs_top[0]=Cnil; {object *p=vs_top; for(;p>vs_base;p--)p[-1]=MMcons(p[-1],p[0]);} vs_top=sup; base[3]= make_cons(base[2],base[3]); {object V9; {object V10; object V11= base[3]; if(endp(V11)){ V9= Cnil; goto T111;} base[5]=V10=MMcons(Cnil,Cnil); T112:; base[6]= (V11->c.c_car); vs_top=(vs_base=base+6)+1; Llength(); vs_top=sup; (V10->c.c_car)= vs_base[0]; if(endp(V11=MMcdr(V11))){ V9= base[5]; goto T111;} V10=MMcdr(V10)=MMcons(Cnil,Cnil); goto T112;} T111:; vs_top=base+5; while(!endp(V9)) {vs_push(car(V9));V9=cdr(V9);} vs_base=base+5;} Lmin(); vs_top=sup; base[4]= vs_base[0]; if((base[0])!=Cnil){ goto T116;} {int V12; int V13; V12= 0; V13= fix(base[4]); T121:; if(!((V12)>=(V13))){ goto T122;} base[5]= Cnil; vs_top=(vs_base=base+5)+1; return; T122:; base[5]= base[1]; {object V14; {object V15; object V16= base[3]; if(endp(V16)){ V14= Cnil; goto T128;} base[6]=V15=MMcons(Cnil,Cnil); T129:; (V15->c.c_car)= elt((V16->c.c_car),V12); if(endp(V16=MMcdr(V16))){ V14= base[6]; goto T128;} V15=MMcdr(V15)=MMcons(Cnil,Cnil); goto T129;} T128:; vs_top=base+6; while(!endp(V14)) {vs_push(car(V14));V14=cdr(V14);} vs_base=base+6;} super_funcall_no_event(base[5]); vs_top=sup; V12= (V12)+1; goto T121;} T116:; base[6]= base[0]; base[7]= base[4]; vs_top=(vs_base=base+6)+2; L2(); vs_top=sup; base[5]= vs_base[0]; {int V17; int V18; V17= 0; V18= fix(base[4]); T140:; if(!((V17)>=(V18))){ goto T141;} vs_top=(vs_base=base+5)+1; return; T141:; base[7]= base[1]; {object V19; {object V20; object V21= base[3]; if(endp(V21)){ V19= Cnil; goto T148;} base[8]=V20=MMcons(Cnil,Cnil); T149:; (V20->c.c_car)= elt((V21->c.c_car),V17); if(endp(V21=MMcdr(V21))){ V19= base[8]; goto T148;} V20=MMcdr(V20)=MMcons(Cnil,Cnil); goto T149;} T148:; vs_top=base+8; while(!endp(V19)) {vs_push(car(V19));V19=cdr(V19);} vs_base=base+8;} super_funcall_no_event(base[7]); vs_top=sup; base[6]= vs_base[0]; (void)(elt_set(base[5],V17,base[6])); V17= (V17)+1; goto T140;} } /* function definition for SOME */ static L5() { register object *base=vs_base; register object *sup=base+VM6; vs_reserve(VM6); if(vs_top-vs_base<2) too_few_arguments(); vs_base=vs_base+2; vs_top[0]=Cnil; {object *p=vs_top; for(;p>vs_base;p--)p[-1]=MMcons(p[-1],p[0]);} vs_top=sup; base[2]= make_cons(base[1],base[2]); {int V22; int V23; V22= 0; {object V24; {object V25; object V26= base[2]; if(endp(V26)){ V24= Cnil; goto T158;} base[3]=V25=MMcons(Cnil,Cnil); T159:; base[4]= (V26->c.c_car); vs_top=(vs_base=base+4)+1; Llength(); vs_top=sup; (V25->c.c_car)= vs_base[0]; if(endp(V26=MMcdr(V26))){ V24= base[3]; goto T158;} V25=MMcdr(V25)=MMcons(Cnil,Cnil); goto T159;} T158:; vs_top=base+3; while(!endp(V24)) {vs_push(car(V24));V24=cdr(V24);} vs_base=base+3;} Lmin(); vs_top=sup; V23= fix(vs_base[0]); T163:; if(!((V22)>=(V23))){ goto T164;} base[3]= Cnil; vs_top=(vs_base=base+3)+1; return; T164:; base[4]= base[0]; {object V27; {object V28; object V29= base[2]; if(endp(V29)){ V27= Cnil; goto T171;} base[5]=V28=MMcons(Cnil,Cnil); T172:; (V28->c.c_car)= elt((V29->c.c_car),V22); if(endp(V29=MMcdr(V29))){ V27= base[5]; goto T171;} V28=MMcdr(V28)=MMcons(Cnil,Cnil); goto T172;} T171:; vs_top=base+5; while(!endp(V27)) {vs_push(car(V27));V27=cdr(V27);} vs_base=base+5;} super_funcall_no_event(base[4]); vs_top=sup; base[3]= vs_base[0]; if((base[3])==Cnil){ goto T168;} vs_top=(vs_base=base+3)+1; return; T168:; V22= (V22)+1; goto T163;} } /* function definition for EVERY */ static L6() { register object *base=vs_base; register object *sup=base+VM7; vs_reserve(VM7); if(vs_top-vs_base<2) too_few_arguments(); vs_base=vs_base+2; vs_top[0]=Cnil; {object *p=vs_top; for(;p>vs_base;p--)p[-1]=MMcons(p[-1],p[0]);} vs_top=sup; base[2]= make_cons(base[1],base[2]); {int V30; int V31; V30= 0; {object V32; {object V33; object V34= base[2]; if(endp(V34)){ V32= Cnil; goto T183;} base[3]=V33=MMcons(Cnil,Cnil); T184:; base[4]= (V34->c.c_car); vs_top=(vs_base=base+4)+1; Llength(); vs_top=sup; (V33->c.c_car)= vs_base[0]; if(endp(V34=MMcdr(V34))){ V32= base[3]; goto T183;} V33=MMcdr(V33)=MMcons(Cnil,Cnil); goto T184;} T183:; vs_top=base+3; while(!endp(V32)) {vs_push(car(V32));V32=cdr(V32);} vs_base=base+3;} Lmin(); vs_top=sup; V31= fix(vs_base[0]); T188:; if(!((V30)>=(V31))){ goto T189;} base[3]= Ct; vs_top=(vs_base=base+3)+1; return; T189:; base[3]= base[0]; {object V35; {object V36; object V37= base[2]; if(endp(V37)){ V35= Cnil; goto T197;} base[4]=V36=MMcons(Cnil,Cnil); T198:; (V36->c.c_car)= elt((V37->c.c_car),V30); if(endp(V37=MMcdr(V37))){ V35= base[4]; goto T197;} V36=MMcdr(V36)=MMcons(Cnil,Cnil); goto T198;} T197:; vs_top=base+4; while(!endp(V35)) {vs_push(car(V35));V35=cdr(V35);} vs_base=base+4;} super_funcall_no_event(base[3]); vs_top=sup; if((vs_base[0])!=Cnil){ goto T193;} base[3]= Cnil; vs_top=(vs_base=base+3)+1; return; T193:; V30= (V30)+1; goto T188;} } /* function definition for NOTANY */ static L7() { register object *base=vs_base; register object *sup=base+VM8; vs_reserve(VM8); if(vs_top-vs_base<2) too_few_arguments(); vs_base=vs_base+2; vs_top[0]=Cnil; {object *p=vs_top; for(;p>vs_base;p--)p[-1]=MMcons(p[-1],p[0]);} vs_top=sup; base[4]= base[0]; base[5]= base[1]; {object V38; V38= base[2]; vs_top=base+6; while(!endp(V38)) {vs_push(car(V38));V38=cdr(V38);} vs_base=base+4;} L5(); vs_top=sup; base[3]= vs_base[0]; base[4]= ((base[3])==Cnil?Ct:Cnil); vs_top=(vs_base=base+4)+1; return; } /* function definition for NOTEVERY */ static L8() { register object *base=vs_base; register object *sup=base+VM9; vs_reserve(VM9); if(vs_top-vs_base<2) too_few_arguments(); vs_base=vs_base+2; vs_top[0]=Cnil; {object *p=vs_top; for(;p>vs_base;p--)p[-1]=MMcons(p[-1],p[0]);} vs_top=sup; base[4]= base[0]; base[5]= base[1]; {object V39; V39= base[2]; vs_top=base+6; while(!endp(V39)) {vs_push(car(V39));V39=cdr(V39);} vs_base=base+4;} L6(); vs_top=sup; base[3]= vs_base[0]; base[4]= ((base[3])==Cnil?Ct:Cnil); vs_top=(vs_base=base+4)+1; return; }
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.