home *** CD-ROM | disk | FTP | other *** search
-
- /* (C) Copyright Taiichi Yuasa and Masami Hagiya, 1984. All rights reserved. */
- #include <cmpinclude.h>
- #include "evalmacros.h"
- init_evalmacros(start,size,data)char *start;int size;object data;
- { register object *base=vs_top;register object *sup=base+VM2;vs_top=sup;vs_check;
- Cstart=start;Csize=size;Cdata=data;set_VV(VV,VM1,data);
- MM(VV[44],L1,start,size,data);
- MM(VV[45],L2,start,size,data);
- MM(VV[46],L3,start,size,data);
- MM(VV[47],L4,start,size,data);
- MM(VV[48],L5,start,size,data);
- MM(VV[49],L6,start,size,data);
- MM(VV[50],L7,start,size,data);
- MM(VV[51],L8,start,size,data);
- MM(VV[52],L9,start,size,data);
- MM(VV[33],L10,start,size,data);
- MM(VV[53],L11,start,size,data);
- MM(VV[54],L12,start,size,data);
- MM(VV[5],L13,start,size,data);
- MM(VV[55],L14,start,size,data);
- MM(VV[56],L15,start,size,data);
- MM(VV[57],L16,start,size,data);
- MM(VV[58],L17,start,size,data);
- MM(VV[30],L18,start,size,data);
- MM(VV[59],L19,start,size,data);
- MM(VV[60],L20,start,size,data);
- MM(VV[61],L21,start,size,data);
- MM(VV[38],L22,start,size,data);
- MM(VV[62],L23,start,size,data);
- MM(VV[32],L24,start,size,data);
- MM(VV[63],L25,start,size,data);
- MM(VV[64],L26,start,size,data);
- vs_top=vs_base=base;
- }
- /* macro definition for DEFVAR */
-
- static L1()
- { register object *base=vs_base;
- register object *sup=base+VM3;
- vs_reserve(VM3);
- check_arg(2);
- vs_top=sup;
- {object V1=base[0]->c.c_cdr;
- if(endp(V1))invalid_macro_call();
- base[2]= (V1->c.c_car);
- V1=V1->c.c_cdr;
- if(endp(V1)){
- base[3]= Cnil;
- base[4]= Cnil;
- } else {
- base[3]= (V1->c.c_car);
- base[4]= Ct;
- V1=V1->c.c_cdr;}
- if(endp(V1)){
- base[5]= Cnil;
- } else {
- base[5]= (V1->c.c_car);
- V1=V1->c.c_cdr;}
- if(!endp(V1))invalid_macro_call();}
- if((base[4])==Cnil){
- goto T4;}
- if((base[5])==Cnil){
- goto T7;}
- base[6]= list(2,VV[2],base[2]);
- base[7]= list(2,VV[1],base[6]);
- base[8]= list(2,VV[2],base[2]);
- base[9]= list(4,VV[3],base[8],base[5],VV[4]);
- base[10]= list(2,VV[2],base[2]);
- base[11]= list(2,VV[6],base[10]);
- base[12]= list(3,VV[7],base[2],base[3]);
- base[13]= list(3,VV[5],base[11],base[12]);
- base[14]= list(2,VV[2],base[2]);
- base[15]= list(5,VV[0],base[7],base[9],base[13],base[14]);
- vs_top=(vs_base=base+15)+1;
- return;
- T7:;
- base[6]= list(2,VV[2],base[2]);
- base[7]= list(2,VV[1],base[6]);
- base[8]= list(2,VV[2],base[2]);
- base[9]= list(2,VV[6],base[8]);
- base[10]= list(3,VV[7],base[2],base[3]);
- base[11]= list(3,VV[5],base[9],base[10]);
- base[12]= list(2,VV[2],base[2]);
- base[13]= list(4,VV[0],base[7],base[11],base[12]);
- vs_top=(vs_base=base+13)+1;
- return;
- T4:;
- base[6]= list(2,VV[2],base[2]);
- base[7]= list(2,VV[1],base[6]);
- base[8]= list(2,VV[2],base[2]);
- base[9]= list(3,VV[0],base[7],base[8]);
- vs_top=(vs_base=base+9)+1;
- return;
- }
- /* macro definition for DEFPARAMETER */
-
- static L2()
- { register object *base=vs_base;
- register object *sup=base+VM4;
- vs_reserve(VM4);
- check_arg(2);
- vs_top=sup;
- {object V2=base[0]->c.c_cdr;
- if(endp(V2))invalid_macro_call();
- base[2]= (V2->c.c_car);
- V2=V2->c.c_cdr;
- if(endp(V2))invalid_macro_call();
- base[3]= (V2->c.c_car);
- V2=V2->c.c_cdr;
- if(endp(V2)){
- base[4]= Cnil;
- } else {
- base[4]= (V2->c.c_car);
- V2=V2->c.c_cdr;}
- if(!endp(V2))invalid_macro_call();}
- if((base[4])==Cnil){
- goto T11;}
- base[5]= list(2,VV[2],base[2]);
- base[6]= list(2,VV[1],base[5]);
- base[7]= list(2,VV[2],base[2]);
- base[8]= list(4,VV[3],base[7],base[4],VV[8]);
- base[9]= list(3,VV[7],base[2],base[3]);
- base[10]= list(2,VV[2],base[2]);
- base[11]= list(5,VV[0],base[6],base[8],base[9],base[10]);
- vs_top=(vs_base=base+11)+1;
- return;
- T11:;
- base[5]= list(2,VV[2],base[2]);
- base[6]= list(2,VV[1],base[5]);
- base[7]= list(3,VV[7],base[2],base[3]);
- base[8]= list(2,VV[2],base[2]);
- base[9]= list(4,VV[0],base[6],base[7],base[8]);
- vs_top=(vs_base=base+9)+1;
- return;
- }
- /* macro definition for DEFCONSTANT */
-
- static L3()
- { register object *base=vs_base;
- register object *sup=base+VM5;
- vs_reserve(VM5);
- check_arg(2);
- vs_top=sup;
- {object V3=base[0]->c.c_cdr;
- if(endp(V3))invalid_macro_call();
- base[2]= (V3->c.c_car);
- V3=V3->c.c_cdr;
- if(endp(V3))invalid_macro_call();
- base[3]= (V3->c.c_car);
- V3=V3->c.c_cdr;
- if(endp(V3)){
- base[4]= Cnil;
- } else {
- base[4]= (V3->c.c_car);
- V3=V3->c.c_cdr;}
- if(!endp(V3))invalid_macro_call();}
- if((base[4])==Cnil){
- goto T15;}
- base[5]= list(2,VV[2],base[2]);
- base[6]= list(3,VV[9],base[5],base[3]);
- base[7]= list(2,VV[2],base[2]);
- base[8]= list(4,VV[3],base[7],base[4],VV[10]);
- base[9]= list(2,VV[2],base[2]);
- base[10]= list(4,VV[0],base[6],base[8],base[9]);
- vs_top=(vs_base=base+10)+1;
- return;
- T15:;
- base[5]= list(2,VV[2],base[2]);
- base[6]= list(3,VV[9],base[5],base[3]);
- base[7]= list(2,VV[2],base[2]);
- base[8]= list(3,VV[0],base[6],base[7]);
- vs_top=(vs_base=base+8)+1;
- return;
- }
- /* macro definition for AND */
-
- static L4()
- { register object *base=vs_base;
- register object *sup=base+VM6;
- vs_reserve(VM6);
- check_arg(2);
- vs_top=sup;
- {object V4=base[0]->c.c_cdr;
- base[2]= V4;}
- if(!(endp(base[2]))){
- goto T18;}
- base[3]= Ct;
- vs_top=(vs_base=base+3)+1;
- return;
- T18:;
- base[3]= reverse(base[2]);
- base[4]= cdr(base[3]);
- base[5]= car(base[3]);
- T24:;
- if(!(endp(base[4]))){
- goto T25;}
- vs_top=(vs_base=base+5)+1;
- return;
- T25:;
- base[6]= cdr(base[4]);
- base[5]= list(3,VV[11],car(base[4]),base[5]);
- base[4]= base[6];
- goto T24;
- }
- /* macro definition for OR */
-
- static L5()
- { register object *base=vs_base;
- register object *sup=base+VM7;
- vs_reserve(VM7);
- check_arg(2);
- vs_top=sup;
- {object V5=base[0]->c.c_cdr;
- base[2]= V5;}
- if(!(endp(base[2]))){
- goto T34;}
- base[3]= Cnil;
- vs_top=(vs_base=base+3)+1;
- return;
- T34:;
- base[3]= reverse(base[2]);
- base[4]= cdr(base[3]);
- base[5]= car(base[3]);
- T40:;
- if(!(endp(base[4]))){
- goto T41;}
- vs_top=(vs_base=base+5)+1;
- return;
- T41:;
- base[6]= cdr(base[4]);
- vs_base=vs_top;
- Lgensym();
- vs_top=sup;
- base[7]= vs_base[0];
- base[8]= list(2,base[7],car(base[4]));
- base[9]= make_cons(base[8],Cnil);
- base[10]= list(4,VV[11],base[7],base[7],base[5]);
- base[5]= list(3,VV[12],base[9],base[10]);
- base[4]= base[6];
- goto T40;
- }
- /* macro definition for LOCALLY */
-
- static L6()
- { register object *base=vs_base;
- register object *sup=base+VM8;
- vs_reserve(VM8);
- check_arg(2);
- vs_top=sup;
- {object V6=base[0]->c.c_cdr;
- base[2]= V6;}
- base[3]= listA(3,VV[12],Cnil,base[2]);
- vs_top=(vs_base=base+3)+1;
- return;
- }
- /* macro definition for LOOP */
-
- static L7()
- { register object *base=vs_base;
- register object *sup=base+VM9;
- vs_reserve(VM9);
- check_arg(2);
- vs_top=sup;
- {object V7=base[0]->c.c_cdr;
- base[2]= V7;
- vs_base=vs_top;
- Lgensym();
- vs_top=sup;
- base[3]= vs_base[0];}
- base[4]= make_cons(VV[0],base[2]);
- base[5]= list(2,VV[15],base[3]);
- base[6]= list(4,VV[14],base[3],base[4],base[5]);
- base[7]= list(3,VV[13],Cnil,base[6]);
- vs_top=(vs_base=base+7)+1;
- return;
- }
- /* macro definition for DEFMACRO */
-
- static L8()
- { register object *base=vs_base;
- register object *sup=base+VM10;
- vs_reserve(VM10);
- check_arg(2);
- vs_top=sup;
- {object V8=base[0]->c.c_cdr;
- if(endp(V8))invalid_macro_call();
- base[2]= (V8->c.c_car);
- V8=V8->c.c_cdr;
- if(endp(V8))invalid_macro_call();
- base[3]= (V8->c.c_car);
- V8=V8->c.c_cdr;
- base[4]= V8;}
- base[5]= list(2,VV[2],base[2]);
- base[6]= list(2,VV[2],base[2]);
- base[7]= list(2,VV[2],base[3]);
- base[8]= list(2,VV[2],base[4]);
- base[9]= list(4,VV[17],base[6],base[7],base[8]);
- base[10]= list(3,VV[16],base[5],base[9]);
- vs_top=(vs_base=base+10)+1;
- return;
- }
- /* macro definition for DEFUN */
-
- static L9()
- { register object *base=vs_base;
- register object *sup=base+VM11;
- vs_reserve(VM11);
- check_arg(2);
- vs_top=sup;
- {object V9=base[0]->c.c_cdr;
- if(endp(V9))invalid_macro_call();
- base[2]= (V9->c.c_car);
- V9=V9->c.c_cdr;
- if(endp(V9))invalid_macro_call();
- base[3]= (V9->c.c_car);
- V9=V9->c.c_cdr;
- base[4]= V9;}
- base[6]= base[4];
- base[7]= Cnil;
- symlispcall_no_event(VV[65],base+6,2);
- Llist();
- vs_top=sup;
- base[5]= vs_base[0];
- base[6]= car(base[5]);
- base[7]= cadr(base[5]);
- base[8]= caddr(base[5]);
- if((base[6])==Cnil){
- goto T59;}
- base[9]= list(2,VV[2],base[2]);
- base[10]= list(3,VV[19],base[9],VV[20]);
- base[11]= list(3,VV[18],base[10],base[6]);
- base[12]= list(2,VV[2],base[2]);
- base[13]= list(2,VV[21],base[12]);
- base[14]= listA(3,VV[13],base[2],base[8]);
- base[15]= make_cons(base[14],Cnil);
- base[16]= append(base[7],base[15]);
- base[17]= listA(3,VV[23],base[3],base[16]);
- base[18]= list(2,VV[22],base[17]);
- base[19]= list(3,VV[18],base[13],base[18]);
- base[20]= list(2,VV[2],base[2]);
- base[21]= list(4,VV[0],base[11],base[19],base[20]);
- vs_top=(vs_base=base+21)+1;
- return;
- T59:;
- base[9]= list(2,VV[2],base[2]);
- base[10]= list(2,VV[21],base[9]);
- base[11]= listA(3,VV[13],base[2],base[8]);
- base[12]= make_cons(base[11],Cnil);
- base[13]= append(base[7],base[12]);
- base[14]= listA(3,VV[23],base[3],base[13]);
- base[15]= list(2,VV[22],base[14]);
- base[16]= list(3,VV[18],base[10],base[15]);
- base[17]= list(2,VV[2],base[2]);
- base[18]= list(3,VV[0],base[16],base[17]);
- vs_top=(vs_base=base+18)+1;
- return;
- }
- /* macro definition for PSETQ */
-
- static L10()
- { register object *base=vs_base;
- register object *sup=base+VM12;
- vs_reserve(VM12);
- check_arg(2);
- vs_top=sup;
- {object V10=base[0]->c.c_cdr;
- base[2]= V10;}
- {object V11;
- V11= base[2];
- base[3]= Cnil;
- base[4]= Cnil;
- T63:;
- if(!(endp((V11)))){
- goto T64;}
- base[5]= reverse(base[4]);
- base[6]= make_cons(Cnil,base[3]);
- base[7]= reverse(base[6]);
- base[8]= listA(3,VV[24],base[5],base[7]);
- vs_top=(vs_base=base+8)+1;
- return;
- T64:;
- vs_base=vs_top;
- Lgensym();
- vs_top=sup;
- base[5]= vs_base[0];
- base[6]= list(2,base[5],cadr((V11)));
- base[4]= make_cons(base[6],base[4]);
- base[6]= list(3,VV[7],car((V11)),base[5]);
- base[3]= make_cons(base[6],base[3]);
- V11= cddr((V11));
- goto T63;}
- }
- /* macro definition for COND */
-
- static L11()
- { register object *base=vs_base;
- register object *sup=base+VM13;
- vs_reserve(VM13);
- check_arg(2);
- vs_top=sup;
- {object V12=base[0]->c.c_cdr;
- base[2]= V12;
- base[3]= Cnil;}
- {object V13;
- base[4]= reverse(base[2]);
- V13= car(base[4]);
- T80:;
- if(!(endp(base[4]))){
- goto T81;}
- vs_top=(vs_base=base+3)+1;
- return;
- T81:;
- if(!(endp(cdr((V13))))){
- goto T87;}
- if(!(car((V13))==Ct)){
- goto T90;}
- base[3]= Ct;
- goto T85;
- T90:;
- vs_base=vs_top;
- Lgensym();
- vs_top=sup;
- base[5]= vs_base[0];
- base[6]= list(2,base[5],car((V13)));
- base[7]= make_cons(base[6],Cnil);
- base[8]= list(4,VV[11],base[5],base[5],base[3]);
- base[3]= list(3,VV[12],base[7],base[8]);
- goto T85;
- T87:;
- if(!(car((V13))==Ct)){
- goto T96;}
- if(!(endp(cddr((V13))))){
- goto T100;}
- base[3]= cadr((V13));
- goto T98;
- T100:;
- base[3]= make_cons(VV[0],cdr((V13)));
- T98:;
- goto T85;
- T96:;
- if(!(endp(cddr((V13))))){
- goto T104;}
- base[3]= list(4,VV[11],car((V13)),cadr((V13)),base[3]);
- goto T102;
- T104:;
- {object V14= car((V13));
- base[5]= make_cons(VV[0],cdr((V13)));
- base[3]= list(4,VV[11],V14,base[5],base[3]);}
- T102:;
- T85:;
- base[4]= cdr(base[4]);
- V13= car(base[4]);
- goto T80;}
- }
- /* macro definition for WHEN */
-
- static L12()
- { register object *base=vs_base;
- register object *sup=base+VM14;
- vs_reserve(VM14);
- check_arg(2);
- vs_top=sup;
- {object V15=base[0]->c.c_cdr;
- if(endp(V15))invalid_macro_call();
- base[2]= (V15->c.c_car);
- V15=V15->c.c_cdr;
- base[3]= V15;}
- base[4]= make_cons(VV[0],base[3]);
- base[5]= list(3,VV[11],base[2],base[4]);
- vs_top=(vs_base=base+5)+1;
- return;
- }
- /* macro definition for UNLESS */
-
- static L13()
- { register object *base=vs_base;
- register object *sup=base+VM15;
- vs_reserve(VM15);
- check_arg(2);
- vs_top=sup;
- {object V16=base[0]->c.c_cdr;
- if(endp(V16))invalid_macro_call();
- base[2]= (V16->c.c_car);
- V16=V16->c.c_cdr;
- base[3]= V16;}
- base[4]= list(2,VV[25],base[2]);
- base[5]= make_cons(VV[0],base[3]);
- base[6]= list(3,VV[11],base[4],base[5]);
- vs_top=(vs_base=base+6)+1;
- return;
- }
- /* macro definition for PROG */
-
- static L14()
- { register object *base=vs_base;
- register object *sup=base+VM16;
- vs_reserve(VM16);
- check_arg(2);
- vs_top=sup;
- {object V17=base[0]->c.c_cdr;
- if(endp(V17))invalid_macro_call();
- base[2]= (V17->c.c_car);
- V17=V17->c.c_cdr;
- base[3]= V17;
- base[4]= Cnil;}
- T113:;
- if(endp(base[3])){
- goto T115;}
- if(!(type_of(car(base[3]))==t_cons)){
- goto T115;}
- if(caar(base[3])==VV[26]){
- goto T114;}
- T115:;
- base[5]= make_cons(VV[14],base[3]);
- base[6]= make_cons(base[5],Cnil);
- base[7]= append(base[4],base[6]);
- base[8]= listA(3,VV[12],base[2],base[7]);
- base[9]= list(3,VV[13],Cnil,base[8]);
- vs_top=(vs_base=base+9)+1;
- return;
- T114:;
- base[4]= make_cons(car(base[3]),base[4]);
- base[5]= car(base[3]);
- base[3]= cdr(base[3]);
- goto T113;
- }
- /* macro definition for PROG* */
-
- static L15()
- { register object *base=vs_base;
- register object *sup=base+VM17;
- vs_reserve(VM17);
- check_arg(2);
- vs_top=sup;
- {object V18=base[0]->c.c_cdr;
- if(endp(V18))invalid_macro_call();
- base[2]= (V18->c.c_car);
- V18=V18->c.c_cdr;
- base[3]= V18;
- base[4]= Cnil;}
- T132:;
- if(endp(base[3])){
- goto T134;}
- if(!(type_of(car(base[3]))==t_cons)){
- goto T134;}
- if(caar(base[3])==VV[26]){
- goto T133;}
- T134:;
- base[5]= make_cons(VV[14],base[3]);
- base[6]= make_cons(base[5],Cnil);
- base[7]= append(base[4],base[6]);
- base[8]= listA(3,VV[24],base[2],base[7]);
- base[9]= list(3,VV[13],Cnil,base[8]);
- vs_top=(vs_base=base+9)+1;
- return;
- T133:;
- base[4]= make_cons(car(base[3]),base[4]);
- base[5]= car(base[3]);
- base[3]= cdr(base[3]);
- goto T132;
- }
- /* macro definition for PROG1 */
-
- static L16()
- { register object *base=vs_base;
- register object *sup=base+VM18;
- vs_reserve(VM18);
- check_arg(2);
- vs_top=sup;
- {object V19=base[0]->c.c_cdr;
- if(endp(V19))invalid_macro_call();
- base[2]= (V19->c.c_car);
- V19=V19->c.c_cdr;
- base[3]= V19;
- vs_base=vs_top;
- Lgensym();
- vs_top=sup;
- base[4]= vs_base[0];}
- base[5]= list(2,base[4],base[2]);
- base[6]= make_cons(base[5],Cnil);
- base[7]= make_cons(base[4],Cnil);
- base[8]= append(base[3],base[7]);
- base[9]= listA(3,VV[12],base[6],base[8]);
- vs_top=(vs_base=base+9)+1;
- return;
- }
- /* macro definition for PROG2 */
-
- static L17()
- { register object *base=vs_base;
- register object *sup=base+VM19;
- vs_reserve(VM19);
- check_arg(2);
- vs_top=sup;
- {object V20=base[0]->c.c_cdr;
- if(endp(V20))invalid_macro_call();
- base[2]= (V20->c.c_car);
- V20=V20->c.c_cdr;
- if(endp(V20))invalid_macro_call();
- base[3]= (V20->c.c_car);
- V20=V20->c.c_cdr;
- base[4]= V20;
- vs_base=vs_top;
- Lgensym();
- vs_top=sup;
- base[5]= vs_base[0];}
- base[6]= list(2,base[5],base[3]);
- base[7]= make_cons(base[6],Cnil);
- base[8]= make_cons(base[5],Cnil);
- base[9]= append(base[4],base[8]);
- base[10]= listA(3,VV[12],base[7],base[9]);
- base[11]= list(3,VV[0],base[2],base[10]);
- vs_top=(vs_base=base+11)+1;
- return;
- }
- /* macro definition for MULTIPLE-VALUE-LIST */
-
- static L18()
- { register object *base=vs_base;
- register object *sup=base+VM20;
- vs_reserve(VM20);
- check_arg(2);
- vs_top=sup;
- {object V21=base[0]->c.c_cdr;
- if(endp(V21))invalid_macro_call();
- base[2]= (V21->c.c_car);
- V21=V21->c.c_cdr;
- if(!endp(V21))invalid_macro_call();}
- base[3]= list(3,VV[27],VV[28],base[2]);
- vs_top=(vs_base=base+3)+1;
- return;
- }
- /* macro definition for MULTIPLE-VALUE-SETQ */
-
- static L19()
- { register object *base=vs_base;
- register object *sup=base+VM21;
- vs_reserve(VM21);
- check_arg(2);
- vs_top=sup;
- {object V22=base[0]->c.c_cdr;
- if(endp(V22))invalid_macro_call();
- base[2]= (V22->c.c_car);
- V22=V22->c.c_cdr;
- if(endp(V22))invalid_macro_call();
- base[3]= (V22->c.c_car);
- V22=V22->c.c_cdr;
- if(!endp(V22))invalid_macro_call();}
- {object V23;
- int V24;
- V23= base[2];
- vs_base=vs_top;
- Lgensym();
- vs_top=sup;
- base[4]= vs_base[0];
- V24= 0;
- base[5]= Cnil;
- T155:;
- if(!(endp((V23)))){
- goto T156;}
- base[6]= list(2,VV[30],base[3]);
- base[7]= list(2,base[4],base[6]);
- base[8]= make_cons(base[7],Cnil);
- base[9]= listA(3,VV[12],base[8],base[5]);
- vs_top=(vs_base=base+9)+1;
- return;
- T156:;
- {object V25= car((V23));
- base[6]= make_fixnum(V24);
- base[7]= list(3,VV[31],base[6],base[4]);
- base[8]= list(3,VV[7],V25,base[7]);
- base[5]= make_cons(base[8],base[5]);}
- V23= cdr((V23));
- V24= (V24)+1;
- goto T155;}
- }
- /* macro definition for MULTIPLE-VALUE-BIND */
-
- static L20()
- { register object *base=vs_base;
- register object *sup=base+VM22;
- vs_reserve(VM22);
- check_arg(2);
- vs_top=sup;
- {object V26=base[0]->c.c_cdr;
- if(endp(V26))invalid_macro_call();
- base[2]= (V26->c.c_car);
- V26=V26->c.c_cdr;
- if(endp(V26))invalid_macro_call();
- base[3]= (V26->c.c_car);
- V26=V26->c.c_cdr;
- base[4]= V26;}
- {object V27;
- int V28;
- V27= base[2];
- vs_base=vs_top;
- Lgensym();
- vs_top=sup;
- base[5]= vs_base[0];
- V28= 0;
- base[6]= Cnil;
- T170:;
- if(!(endp((V27)))){
- goto T171;}
- base[7]= list(2,VV[30],base[3]);
- base[8]= list(2,base[5],base[7]);
- base[9]= reverse(base[6]);
- base[10]= make_cons(base[8],base[9]);
- base[11]= listA(3,VV[24],base[10],base[4]);
- vs_top=(vs_base=base+11)+1;
- return;
- T171:;
- {object V29= car((V27));
- base[7]= make_fixnum(V28);
- base[8]= list(3,VV[31],base[7],base[5]);
- base[9]= list(2,V29,base[8]);
- base[6]= make_cons(base[9],base[6]);}
- V27= cdr((V27));
- V28= (V28)+1;
- goto T170;}
- }
- /* macro definition for DO */
-
- static L21()
- { register object *base=vs_base;
- register object *sup=base+VM23;
- vs_reserve(VM23);
- check_arg(2);
- vs_top=sup;
- {object V30=base[0]->c.c_cdr;
- if(endp(V30))invalid_macro_call();
- base[2]= (V30->c.c_car);
- V30=V30->c.c_cdr;
- if(endp(V30))invalid_macro_call();
- {object V31= (V30->c.c_car);
- if(endp(V31))invalid_macro_call();
- base[3]= (V31->c.c_car);
- V31=V31->c.c_cdr;
- base[4]= V31;}
- V30=V30->c.c_cdr;
- base[5]= V30;
- base[6]= Cnil;
- vs_base=vs_top;
- Lgensym();
- vs_top=sup;
- base[7]= vs_base[0];
- base[8]= Cnil;
- base[9]= Cnil;}
- T187:;
- if(endp(base[5])){
- goto T189;}
- if(!(type_of(car(base[5]))==t_cons)){
- goto T189;}
- if(caar(base[5])==VV[26]){
- goto T188;}
- T189:;
- goto T185;
- T188:;
- base[6]= make_cons(car(base[5]),base[6]);
- base[10]= car(base[5]);
- base[5]= cdr(base[5]);
- goto T187;
- T185:;
- {object V32;
- base[10]= base[2];
- V32= car(base[10]);
- T207:;
- if(!(endp(base[10]))){
- goto T208;}
- goto T204;
- T208:;
- base[11]= list(2,car((V32)),cadr((V32)));
- base[8]= make_cons(base[11],base[8]);
- if(endp(cddr((V32)))){
- goto T214;}
- base[9]= make_cons(car((V32)),base[9]);
- base[9]= make_cons(caddr((V32)),base[9]);
- T214:;
- base[10]= cdr(base[10]);
- V32= car(base[10]);
- goto T207;}
- T204:;
- base[10]= reverse(base[8]);
- base[11]= make_cons(VV[0],base[4]);
- base[12]= list(2,VV[32],base[11]);
- base[13]= list(3,VV[11],base[3],base[12]);
- base[14]= make_cons(VV[14],base[5]);
- base[15]= reverse(base[9]);
- base[16]= make_cons(VV[33],base[15]);
- base[17]= list(2,VV[15],base[7]);
- base[18]= list(6,VV[14],base[7],base[13],base[14],base[16],base[17]);
- base[19]= make_cons(base[18],Cnil);
- base[20]= append(base[6],base[19]);
- base[21]= listA(3,VV[12],base[10],base[20]);
- base[22]= list(3,VV[13],Cnil,base[21]);
- vs_top=(vs_base=base+22)+1;
- return;
- }
- /* macro definition for DO* */
-
- static L22()
- { register object *base=vs_base;
- register object *sup=base+VM24;
- vs_reserve(VM24);
- check_arg(2);
- vs_top=sup;
- {object V33=base[0]->c.c_cdr;
- if(endp(V33))invalid_macro_call();
- base[2]= (V33->c.c_car);
- V33=V33->c.c_cdr;
- if(endp(V33))invalid_macro_call();
- {object V34= (V33->c.c_car);
- if(endp(V34))invalid_macro_call();
- base[3]= (V34->c.c_car);
- V34=V34->c.c_cdr;
- base[4]= V34;}
- V33=V33->c.c_cdr;
- base[5]= V33;
- base[6]= Cnil;
- vs_base=vs_top;
- Lgensym();
- vs_top=sup;
- base[7]= vs_base[0];
- base[8]= Cnil;
- base[9]= Cnil;}
- T231:;
- if(endp(base[5])){
- goto T233;}
- if(!(type_of(car(base[5]))==t_cons)){
- goto T233;}
- if(caar(base[5])==VV[26]){
- goto T232;}
- T233:;
- goto T229;
- T232:;
- base[6]= make_cons(car(base[5]),base[6]);
- base[10]= car(base[5]);
- base[5]= cdr(base[5]);
- goto T231;
- T229:;
- {object V35;
- base[10]= base[2];
- V35= car(base[10]);
- T251:;
- if(!(endp(base[10]))){
- goto T252;}
- goto T248;
- T252:;
- base[11]= list(2,car((V35)),cadr((V35)));
- base[8]= make_cons(base[11],base[8]);
- if(endp(cddr((V35)))){
- goto T258;}
- base[9]= make_cons(car((V35)),base[9]);
- base[9]= make_cons(caddr((V35)),base[9]);
- T258:;
- base[10]= cdr(base[10]);
- V35= car(base[10]);
- goto T251;}
- T248:;
- base[10]= reverse(base[8]);
- base[11]= make_cons(VV[0],base[4]);
- base[12]= list(2,VV[32],base[11]);
- base[13]= list(3,VV[11],base[3],base[12]);
- base[14]= make_cons(VV[14],base[5]);
- base[15]= reverse(base[9]);
- base[16]= make_cons(VV[7],base[15]);
- base[17]= list(2,VV[15],base[7]);
- base[18]= list(6,VV[14],base[7],base[13],base[14],base[16],base[17]);
- base[19]= make_cons(base[18],Cnil);
- base[20]= append(base[6],base[19]);
- base[21]= listA(3,VV[24],base[10],base[20]);
- base[22]= list(3,VV[13],Cnil,base[21]);
- vs_top=(vs_base=base+22)+1;
- return;
- }
- /* macro definition for CASE */
-
- static L23()
- { register object *base=vs_base;
- register object *sup=base+VM25;
- vs_reserve(VM25);
- check_arg(2);
- vs_top=sup;
- {object V36=base[0]->c.c_cdr;
- if(endp(V36))invalid_macro_call();
- base[2]= (V36->c.c_car);
- V36=V36->c.c_cdr;
- base[3]= V36;
- base[4]= Cnil;
- vs_base=vs_top;
- Lgensym();
- vs_top=sup;
- base[5]= vs_base[0];}
- {object V37;
- base[6]= reverse(base[3]);
- V37= car(base[6]);
- T274:;
- if(!(endp(base[6]))){
- goto T275;}
- base[7]= list(2,base[5],base[2]);
- base[8]= make_cons(base[7],Cnil);
- base[9]= list(3,VV[12],base[8],base[4]);
- vs_top=(vs_base=base+9)+1;
- return;
- T275:;
- if(car((V37))==Ct){
- goto T280;}
- if(!(car((V37))==VV[34])){
- goto T281;}
- T280:;
- base[4]= make_cons(VV[0],cdr((V37)));
- goto T279;
- T281:;
- if(!(type_of(car((V37)))==t_cons)){
- goto T287;}
- base[7]= list(2,VV[2],car((V37)));
- base[8]= list(3,VV[35],base[5],base[7]);
- base[9]= make_cons(VV[0],cdr((V37)));
- base[4]= list(4,VV[11],base[8],base[9],base[4]);
- goto T279;
- T287:;
- if((car((V37)))==Cnil){
- goto T279;}
- base[7]= list(2,VV[2],car((V37)));
- base[8]= list(3,VV[36],base[5],base[7]);
- base[9]= make_cons(VV[0],cdr((V37)));
- base[4]= list(4,VV[11],base[8],base[9],base[4]);
- T279:;
- base[6]= cdr(base[6]);
- V37= car(base[6]);
- goto T274;}
- }
- /* macro definition for RETURN */
-
- static L24()
- { register object *base=vs_base;
- register object *sup=base+VM26;
- vs_reserve(VM26);
- check_arg(2);
- vs_top=sup;
- {object V38=base[0]->c.c_cdr;
- if(endp(V38)){
- base[2]= Cnil;
- } else {
- base[2]= (V38->c.c_car);
- V38=V38->c.c_cdr;}
- if(!endp(V38))invalid_macro_call();}
- base[3]= list(3,VV[37],Cnil,base[2]);
- vs_top=(vs_base=base+3)+1;
- return;
- }
- /* macro definition for DOLIST */
-
- static L25()
- { register object *base=vs_base;
- register object *sup=base+VM27;
- vs_reserve(VM27);
- check_arg(2);
- vs_top=sup;
- {object V39=base[0]->c.c_cdr;
- if(endp(V39))invalid_macro_call();
- {object V40= (V39->c.c_car);
- if(endp(V40))invalid_macro_call();
- base[2]= (V40->c.c_car);
- V40=V40->c.c_cdr;
- if(endp(V40))invalid_macro_call();
- base[3]= (V40->c.c_car);
- V40=V40->c.c_cdr;
- if(endp(V40)){
- base[4]= Cnil;
- } else {
- base[4]= (V40->c.c_car);
- V40=V40->c.c_cdr;}
- if(!endp(V40))invalid_macro_call();}
- V39=V39->c.c_cdr;
- base[5]= V39;
- vs_base=vs_top;
- Lgensym();
- vs_top=sup;
- base[6]= vs_base[0];}
- base[7]= list(2,VV[39],base[6]);
- base[8]= list(3,base[6],base[3],base[7]);
- base[9]= list(2,VV[40],base[6]);
- base[10]= list(2,VV[40],base[6]);
- base[11]= list(3,base[2],base[9],base[10]);
- base[12]= list(2,base[8],base[11]);
- base[13]= list(2,VV[41],base[6]);
- base[14]= list(2,base[13],base[4]);
- base[15]= listA(4,VV[38],base[12],base[14],base[5]);
- vs_top=(vs_base=base+15)+1;
- return;
- }
- /* macro definition for DOTIMES */
-
- static L26()
- { register object *base=vs_base;
- register object *sup=base+VM28;
- vs_reserve(VM28);
- check_arg(2);
- vs_top=sup;
- {object V41=base[0]->c.c_cdr;
- if(endp(V41))invalid_macro_call();
- {object V42= (V41->c.c_car);
- if(endp(V42))invalid_macro_call();
- base[2]= (V42->c.c_car);
- V42=V42->c.c_cdr;
- if(endp(V42))invalid_macro_call();
- base[3]= (V42->c.c_car);
- V42=V42->c.c_cdr;
- if(endp(V42)){
- base[4]= Cnil;
- } else {
- base[4]= (V42->c.c_car);
- V42=V42->c.c_cdr;}
- if(!endp(V42))invalid_macro_call();}
- V41=V41->c.c_cdr;
- base[5]= V41;
- vs_base=vs_top;
- Lgensym();
- vs_top=sup;
- base[6]= vs_base[0];}
- base[7]= list(2,base[6],base[3]);
- base[8]= list(2,VV[42],base[2]);
- base[9]= list(3,base[2],VV[29],base[8]);
- base[10]= list(2,base[7],base[9]);
- base[11]= list(3,VV[43],base[2],base[6]);
- base[12]= list(2,base[11],base[4]);
- base[13]= listA(4,VV[38],base[10],base[12],base[5]);
- vs_top=(vs_base=base+13)+1;
- return;
- }
-