static void Z131_get_rest_args(CL_FORM *base, CL_FORM *display[]) { if(CL_ATOMP(ARG(0))) { LOAD_NIL(ARG(0)); } else { COPY(GET_CAR(ARG(0)), ARG(1)); if(CL_ATOMP(ARG(1))) { COPY(&display[1][0], ARG(1)); LOAD_NIL(ARG(2)); call_cont(ARG(1)); } COPY(GET_CAR(ARG(0)), ARG(1)); if(CL_CONSP(ARG(1))) { COPY(GET_CAR(ARG(1)), ARG(2)); } else { if(CL_TRUEP(ARG(1))) { LOAD_SMSTR((CL_FORM *)&KClisp[264], ARG(2)); /* ~a is not a list */ COPY(ARG(1), ARG(3)); Ferror(ARG(2), 2); } else { COPY(ARG(1), ARG(2)); } } COPY(ARG(1), ARG(3)); COPY(ARG(3), ARG(4)); if(CL_CONSP(ARG(4))) { COPY(GET_CDR(ARG(4)), ARG(1)); } else { if(CL_TRUEP(ARG(4))) { LOAD_SMSTR((CL_FORM *)&KClisp[262], ARG(5)); /* ~a is not a list */ COPY(ARG(4), ARG(6)); Ferror(ARG(5), 2); } else { COPY(ARG(4), ARG(1)); } } COPY(ARG(1), GET_CAR(ARG(0))); COPY(&display[0][1], ARG(1)); COPY(GET_CDR(ARG(0)), ARG(2)); Z131_get_rest_args(ARG(2), display); ALLOC_CONS(ARG(3), ARG(1), ARG(2), ARG(0)); } }
void printlist(int addr){ if(IS_NIL(addr)) printf(")"); else { print(GET_CAR(addr)); if(! (IS_NIL(GET_CDR(addr)))) printf(" "); printlist(GET_CDR(addr)); } }
static void Z114_lambda(CL_FORM *base) { if(CL_SMSTRP(ARG(0))) { if(CL_SMSTRP(ARG(1))) { LOAD_FIXNUM(ARG(2), 0, ARG(2)); LOAD_NIL(ARG(3)); LOAD_FIXNUM(ARG(4), 0, ARG(4)); LOAD_NIL(ARG(5)); stringE1(ARG(0)); } else { LOAD_NIL(ARG(0)); } } else { if(CL_CONSP(ARG(0))) { if(CL_CONSP(ARG(1))) { COPY(GET_CAR(ARG(0)), ARG(2)); COPY(GET_CAR(ARG(1)), ARG(3)); if(EQ(ARG(2), ARG(3))) { COPY(GET_CDR(ARG(0)), ARG(2)); COPY(GET_CDR(ARG(1)), ARG(3)); COPY(ARG(2), ARG(0)); COPY(ARG(3), ARG(1)); LOAD_FIXNUM(ARG(2), 0, ARG(2)); LOAD_NIL(ARG(3)); LOAD_FIXNUM(ARG(4), 0, ARG(4)); LOAD_NIL(ARG(5)); stringE1(ARG(0)); } else { LOAD_NIL(ARG(0)); } } else { LOAD_NIL(ARG(0)); } } else { LOAD_BOOL(EQ(ARG(0), ARG(1)), ARG(0)); } } }
void pairlis1(CL_FORM *base) { M1_1:; if(CL_ATOMP(ARG(0))) { if(CL_ATOMP(ARG(1))) { COPY(ARG(2), ARG(0)); goto RETURN1; } else { goto M1_2; } } else { if(CL_ATOMP(ARG(1))) { goto M1_2; } else { COPY(ARG(0), ARG(3)); COPY(ARG(3), ARG(4)); COPY(GET_CAR(ARG(4)), ARG(3)); COPY(ARG(1), ARG(4)); COPY(ARG(4), ARG(5)); COPY(GET_CAR(ARG(5)), ARG(4)); COPY(ARG(2), ARG(5)); ALLOC_CONS(ARG(8), ARG(3), ARG(4), ARG(6)); ALLOC_CONS(ARG(8), ARG(6), ARG(5), ARG(2)); COPY(GET_CAR(ARG(0)), ARG(3)); COPY(ARG(0), ARG(4)); COPY(ARG(4), ARG(5)); COPY(GET_CDR(ARG(5)), ARG(0)); COPY(GET_CAR(ARG(1)), ARG(3)); COPY(ARG(1), ARG(4)); COPY(ARG(4), ARG(5)); COPY(GET_CDR(ARG(5)), ARG(1)); } } goto M1_1; M1_2:; LOAD_SMSTR((CL_FORM *)&Kpairlis1[0], ARG(3)); /* The lists of keys and data are of unequal length. */ Ferror(ARG(3), 1); LOAD_NIL(ARG(0)); RETURN1:; }
static void Z124_lambda(CL_FORM *base) { if(CL_SMSTRP(ARG(1))) { COPY(INDIRECT(GET_FORM(ARG(0)) + 4), ARG(2)); COPY(INDIRECT(GET_FORM(ARG(0)) + 3), ARG(3)); Ffuncall(ARG(2), 2); COPY(ARG(2), ARG(0)); } else { if(CL_CONSP(ARG(1))) { COPY(GET_CAR(ARG(1)), ARG(2)); if(CL_SYMBOLP(ARG(2)) && GET_SYMBOL(ARG(2)) == SYMBOL(Slisp, 255)) /* CHARACTER-SET */ { LOAD_SYMBOL(SYMBOL(Slisp, 255), ARG(3)); /* CHARACTER-SET */ COPY(INDIRECT(GET_FORM(ARG(0)) + 4), ARG(4)); COPY(GET_CDR(ARG(1)), ARG(5)); Ffuncall(ARG(4), 2); mv_count = 1; ALLOC_CONS(ARG(5), ARG(3), ARG(4), ARG(0)); } else { COPY(ARG(1), ARG(0)); } } else { COPY(ARG(1), ARG(0)); } } }
void Flength(CL_FORM *base) { if(CL_TRUEP(ARG(0))) { if(CL_CONSP(ARG(0))) { LOAD_FIXNUM(ARG(1), 0, ARG(1)); COPY(ARG(0), ARG(2)); M1_1:; if(CL_ATOMP(ARG(2))) { goto RETURN1; } F1plus(ARG(1)); COPY(ARG(2), ARG(3)); COPY(GET_CDR(ARG(3)), ARG(2)); goto M1_1; RETURN1:; COPY(ARG(1), ARG(0)); } else { if(CL_SMVECP(ARG(0))) { LOAD_FIXNUM(ARG(2), AR_SIZE(GET_FORM(ARG(0))), ARG(0)); } else { COPY(ARG(0), ARG(1)); LOAD_SYMBOL(SYMBOL(Slisp, 150), ARG(2)); /* COMPLEX-VECTOR */ rt_struct_typep(ARG(1)); if(CL_TRUEP(ARG(1))) { COPY(ARG(0), ARG(1)); complex_vector_fillptr(ARG(1)); Fminusp(ARG(1)); if(CL_TRUEP(ARG(1))) { complex_vector_length(ARG(0)); } else { complex_vector_fillptr(ARG(0)); } } else { COPY(SYMVAL(Slisp, 58), ARG(1)); /* WRONG_TYPE */ COPY(ARG(0), ARG(2)); LOAD_SYMBOL(SYMBOL(Slisp, 36), ARG(3)); /* SEQUENCE */ Ferror(ARG(1), 3); } } } } else { LOAD_FIXNUM(ARG(1), 0, ARG(0)); } }
void printlist(int addr){ if(IS_NIL(addr)) printf(")"); else if((!(listp(cdr(addr)))) && (! (nullp(cdr(addr))))){ print(car(addr)); printf(" . "); print(cdr(addr)); printf(")"); } else { print(GET_CAR(addr)); if(! (IS_NIL(GET_CDR(addr)))) printf(" "); printlist(GET_CDR(addr)); } }
static void Z87_readc(CL_FORM *base) { if(CL_TRUEP(INDIRECT(GET_FORM(ARG(0)) + 3))) { COPY(INDIRECT(GET_FORM(ARG(0)) + 3), ARG(1)); if(CL_CONSP(ARG(1))) { COPY(GET_CAR(ARG(1)), ARG(1)); } else { LOAD_SMSTR((CL_FORM *)&KClisp[239], ARG(2)); /* ~a is not a list */ COPY(ARG(1), ARG(3)); Ferror(ARG(2), 2); } stream_readc(ARG(1)); Ffuncall(ARG(1), 1); mv_count = 1; if(CL_TRUEP(ARG(1))) { COPY(ARG(1), ARG(0)); } else { if(CL_CONSP(INDIRECT(GET_FORM(ARG(0)) + 3))) { } else { LOAD_SMSTR((CL_FORM *)&KClisp[239], ARG(2)); /* ~a is not a list */ COPY(INDIRECT(GET_FORM(ARG(0)) + 3), ARG(3)); Ferror(ARG(2), 2); } COPY(INDIRECT(GET_FORM(ARG(0)) + 3), ARG(2)); COPY(ARG(2), ARG(3)); if(CL_CONSP(ARG(3))) { COPY(GET_CDR(ARG(3)), INDIRECT(GET_FORM(ARG(0)) + 3)); } else { LOAD_SMSTR((CL_FORM *)&KClisp[241], ARG(4)); /* ~a is not a list */ COPY(ARG(3), ARG(5)); Ferror(ARG(4), 2); } COPY(ARG(0), ARG(2)); Z87_readc(ARG(2)); COPY(ARG(2), ARG(0)); } } else { LOAD_NIL(ARG(0)); } }
TERM bpx_get_cdr(TERM t) { XDEREF(t); if (ISLIST(t)) { return GET_CDR(t); } else { bpx_raise("list expected"); } return NULL_TERM; /* should not be reached */ }
//環境はリストになっていて次のよう。 // env = (sym1 sym2 ...nil) //数ならtagに値の型を入れて、それに対応した値をnum=数、 //bind=シンボルのアドレスあるいはリストのアドレスをいれておく。 // nilは必ず0番地に割り当てられるので0番地までを手繰ればいい。 int findsym(char *name){ int addr; addr = E; while(addr != 0){ if(HAS_NAME(addr,name)) return(addr); else addr = GET_CDR(addr); } return(NIL); }
void Frplacd(CL_FORM *base) { if(CL_CONSP(ARG(0))) { COPY(ARG(1), GET_CDR(ARG(0))); } else { LOAD_SMSTR((CL_FORM *)&KClisp[258], ARG(2)); /* ~a is not a cons */ COPY(ARG(0), ARG(3)); Ferror(ARG(2), 2); } }
void Flogeqv(CL_FORM *base, int nargs) { Flist(ARG(0), nargs - 0); LOAD_FIXNUM(ARG(1), -1, ARG(1)); M1_1:; if(CL_TRUEP(ARG(0))) { } else { COPY(ARG(1), ARG(0)); goto RETURN1; } COPY(ARG(0), ARG(3)); COPY(ARG(3), ARG(4)); if(CL_CONSP(ARG(4))) { COPY(GET_CAR(ARG(4)), ARG(3)); } else { LOAD_SMSTR((CL_FORM *)&KClisp[264], ARG(3)); /* ~a is not a list */ Ferror(ARG(3), 2); } COPY(ARG(0), ARG(4)); COPY(ARG(4), ARG(5)); if(CL_CONSP(ARG(5))) { COPY(GET_CDR(ARG(5)), ARG(0)); } else { LOAD_SMSTR((CL_FORM *)&KClisp[262], ARG(6)); /* ~a is not a list */ COPY(ARG(5), ARG(7)); Ferror(ARG(6), 2); } if(CL_FIXNUMP(ARG(3))) { } else { COPY(ARG(3), ARG(4)); LOAD_SMSTR((CL_FORM *)&KClisp[244], ARG(3)); /* type error: ~S is not of type ~S */ LOAD_SYMBOL(SYMBOL(Slisp, 23), ARG(5)); /* FIXNUM */ Ferror(ARG(3), 3); } LOAD_FIXNUM(ARG(4), GET_FIXNUM(ARG(1)) ^ GET_FIXNUM(ARG(3)), ARG(2)); LOAD_FIXNUM(ARG(3), ~ GET_FIXNUM(ARG(2)), ARG(1)); goto M1_1; RETURN1:; }
//デバッグ用 void cellprint(int addr){ switch(GET_TAG(addr)){ case EMP: printf("EMP "); break; case NUM: printf("NUM "); break; case SYM: printf("SYM "); break; case LIS: printf("LIS "); break; case FUN: printf("FUN "); break; } printf("name=%s ", GET_NAME(addr)); printf("car=%d ", GET_CAR(addr)); printf("cdr=%d ", GET_CDR(addr)); printf("num=%d ", GET_NUMBER(addr)); printf("bind=&d ", GET_BIND(addr)); printf("subr=%d\n", heap[addr].subr); }
static void Z130_mapcon_internal(CL_FORM *base, CL_FORM *display[]) { CONTENV new_cont; CL_FORM *caller_base; new_cont.bind_top = bind_top; new_cont.last = last_cont; LOAD_UNIQUE_TAG(ARG(0)); caller_base = (CL_FORM *)SETJMP(new_cont.jmp_buf); if(caller_base == NULL) { last_cont = &new_cont; if(CL_ATOMP(&display[0][1])) { LOAD_NIL(ARG(0)); } else { COPY(&display[0][0], ARG(1)); COPY(&display[0][1], ARG(2)); COPY(GET_CAR(&display[0][1]), ARG(3)); COPY(&display[0][1], ARG(4)); COPY(ARG(4), ARG(5)); COPY(GET_CDR(ARG(5)), &display[0][1]); COPY(&display[0][2], ARG(3)); display[1] = ARG(0); Z131_get_rest_args(ARG(3), display); Fapply(ARG(1), 3); mv_count = 1; Z130_mapcon_internal(ARG(2), display); Fnconc(ARG(1), 2); COPY(ARG(1), ARG(0)); } RETURN1:; last_cont = new_cont.last; } else { last_cont = new_cont.last; if(EQ(STACK(caller_base, 0), ARG(0))) { COPY(STACK(caller_base, 1), ARG(0)); } else { call_cont(caller_base); } } }
//-------デバッグ用------------------ void cellprint(int addr){ switch(GET_FLAG(addr)){ case FRE: printf("FRE "); break; case USE: printf("USE "); break; } switch(GET_TAG(addr)){ case EMP: printf("EMP "); break; case NUM: printf("NUM "); break; case SYM: printf("SYM "); break; case LIS: printf("LIS "); break; case SUBR: printf("SUBR "); break; case FSUBR: printf("FSUBR "); break; case FUNC: printf("FUNC "); break; } printf("%07d ", GET_CAR(addr)); printf("%07d ", GET_CDR(addr)); printf("%07d ", GET_BIND(addr)); printf("%s \n", GET_NAME(addr)); }
//-------デバッグ用------------------ void cellprint(int addr){ switch(GET_FLAG(addr)){ case FRE: printf("FRE "); break; case USE: printf("USE "); break; } switch(GET_TAG(addr)){ case EMP: printf("EMP "); break; case NUM: printf("NUM "); break; case SYM: printf("SYM "); break; case LIS: printf("LIS "); break; case SUBR: printf("SUBR "); break; case FSUBR: printf("FSUBR "); break; case LAMBDA:printf("LAMBDA "); break; } printf("car=%d ", GET_CAR(addr)); printf("cdr=%d ", GET_CDR(addr)); printf("bind=%d ", GET_BIND(addr)); printf("name=%s \n", GET_NAME(addr)); }
void list_reverse(CL_FORM *base) { LOAD_NIL(ARG(1)); LOAD_NIL(ARG(2)); COPY(ARG(0), ARG(3)); M1_1:; if(CL_ATOMP(ARG(3))) { LOAD_NIL(ARG(2)); goto RETURN1; } COPY(ARG(3), ARG(4)); COPY(GET_CAR(ARG(4)), ARG(2)); ALLOC_CONS(ARG(6), ARG(2), ARG(1), ARG(1)); COPY(ARG(3), ARG(4)); COPY(GET_CDR(ARG(4)), ARG(3)); goto M1_1; RETURN1:; COPY(ARG(1), ARG(0)); }
void rt_simple_assoc(CL_FORM *base) { LOAD_NIL(ARG(2)); COPY(ARG(1), ARG(3)); M1_1:; if(CL_ATOMP(ARG(3))) { LOAD_NIL(ARG(2)); COPY(ARG(2), ARG(0)); goto RETURN1; } COPY(ARG(3), ARG(4)); COPY(GET_CAR(ARG(4)), ARG(2)); if(CL_CONSP(ARG(2))) { COPY(GET_CAR(ARG(2)), ARG(5)); } else { if(CL_TRUEP(ARG(2))) { LOAD_SMSTR((CL_FORM *)&KClisp[264], ARG(5)); /* ~a is not a list */ COPY(ARG(2), ARG(6)); Ferror(ARG(5), 2); } else { COPY(ARG(2), ARG(5)); } } if(EQ(ARG(0), ARG(5))) { COPY(ARG(2), ARG(0)); goto RETURN1; } COPY(ARG(3), ARG(4)); COPY(GET_CDR(ARG(4)), ARG(3)); goto M1_1; RETURN1:; }
void rt_do_external_symbols_iterator(CL_FORM *base) { COPY(ARG(1), ARG(2)); Ppackage_external(ARG(2)); COPY(SYMVAL(Slisp, 372), ARG(3)); /* PACKAGE-HASHTAB-SIZE */ LOAD_SMALLFIXNUM(0, ARG(4)); M1_1:; COPY(ARG(4), ARG(5)); COPY(ARG(3), ARG(6)); Fge(ARG(5), 2); if(CL_TRUEP(ARG(5))) { LOAD_NIL(ARG(0)); goto RETURN1; } LOAD_NIL(ARG(5)); COPY(ARG(2), ARG(6)); COPY(ARG(4), ARG(7)); Fsvref(ARG(6)); M2_1:; if(CL_ATOMP(ARG(6))) { LOAD_NIL(ARG(5)); goto RETURN2; } COPY(ARG(6), ARG(7)); COPY(GET_CAR(ARG(7)), ARG(5)); COPY(ARG(0), ARG(7)); COPY(ARG(5), ARG(8)); Ffuncall(ARG(7), 2); mv_count = 1; COPY(ARG(6), ARG(7)); COPY(GET_CDR(ARG(7)), ARG(6)); goto M2_1; RETURN2:; F1plus(ARG(4)); goto M1_1; RETURN1:; }
static void Z122_check_for(CL_FORM *base) { COPY(ARG(1), ARG(2)); LOAD_SYMBOL(SYMBOL(Slisp, 248), ARG(3)); /* PATTERN */ rt_struct_typep(ARG(2)); if(CL_TRUEP(ARG(2))) { LOAD_NIL(ARG(2)); COPY(ARG(1), ARG(3)); pattern_pieces(ARG(3)); M1_1:; if(CL_ATOMP(ARG(3))) { LOAD_NIL(ARG(2)); COPY(ARG(2), ARG(0)); goto RETURN1; } COPY(ARG(3), ARG(4)); COPY(GET_CAR(ARG(4)), ARG(2)); if(CL_SMSTRP(ARG(2))) { COPY(ARG(0), ARG(4)); COPY(ARG(2), ARG(5)); Z122_check_for(ARG(4)); bool_result = CL_TRUEP(ARG(4)); } else { if(CL_CONSP(ARG(2))) { if(CL_CONSP(ARG(1))) { COPY(GET_CAR(ARG(1)), ARG(4)); } else { if(CL_TRUEP(ARG(1))) { LOAD_SMSTR((CL_FORM *)&KClisp[239], ARG(4)); /* ~a is not a list */ COPY(ARG(1), ARG(5)); Ferror(ARG(4), 2); } else { COPY(ARG(1), ARG(4)); } } if(CL_SYMBOLP(ARG(4)) && GET_SYMBOL(ARG(4)) == SYMBOL(Slisp, 255)) /* CHARACTER-SET */ { COPY(ARG(0), ARG(5)); if(CL_CONSP(ARG(1))) { COPY(GET_CDR(ARG(1)), ARG(6)); } else { if(CL_TRUEP(ARG(1))) { LOAD_SMSTR((CL_FORM *)&KClisp[241], ARG(6)); /* ~a is not a list */ COPY(ARG(1), ARG(7)); Ferror(ARG(6), 2); } else { COPY(ARG(1), ARG(6)); } } Z122_check_for(ARG(5)); } else { goto ELSE1; } } else { goto ELSE1; } bool_result = CL_TRUEP(ARG(5)); } if(bool_result) { LOAD_SYMBOL(SYMBOL(Slisp, 48), ARG(0)); /* T */ goto RETURN1; } ELSE1:; COPY(ARG(3), ARG(4)); COPY(GET_CDR(ARG(4)), ARG(3)); goto M1_1; RETURN1:; } else { if(CL_LISTP(ARG(1))) { LOAD_NIL(ARG(2)); COPY(ARG(1), ARG(3)); M2_1:; if(CL_ATOMP(ARG(3))) { LOAD_NIL(ARG(2)); COPY(ARG(2), ARG(0)); goto RETURN2; } COPY(ARG(3), ARG(4)); COPY(GET_CAR(ARG(4)), ARG(2)); COPY(ARG(0), ARG(4)); COPY(ARG(2), ARG(5)); Z122_check_for(ARG(4)); if(CL_TRUEP(ARG(4))) { LOAD_SYMBOL(SYMBOL(Slisp, 48), ARG(0)); /* T */ goto RETURN2; } COPY(ARG(3), ARG(4)); COPY(GET_CDR(ARG(4)), ARG(3)); goto M2_1; RETURN2:; } else { if(CL_SMSTRP(ARG(1))) { COPY(ARG(1), ARG(2)); Flength(ARG(2)); LOAD_SMALLFIXNUM(0, ARG(3)); M3_1:; COPY(ARG(3), ARG(4)); COPY(ARG(2), ARG(5)); Fge(ARG(4), 2); if(CL_TRUEP(ARG(4))) { LOAD_NIL(ARG(0)); goto RETURN3; } COPY(ARG(0), ARG(4)); COPY(ARG(1), ARG(5)); COPY(ARG(3), ARG(6)); Fschar(ARG(5)); Ffuncall(ARG(4), 2); mv_count = 1; if(CL_TRUEP(ARG(4))) { LOAD_SYMBOL(SYMBOL(Slisp, 48), ARG(0)); /* T */ goto RETURN3; } F1plus(ARG(3)); goto M3_1; RETURN3:; } else { if(CL_SYMBOLP(ARG(1)) && GET_SYMBOL(ARG(1)) == SYMBOL(Slisp, 256)) /* UNSPECIFIC */ { LOAD_NIL(ARG(0)); } else { LOAD_SMSTR((CL_FORM *)&Kmaybe_diddle_case[0], ARG(0)); /* etypecase: the value ~a is not a legal value */ Ferror(ARG(0), 2); } } } } }
void Penumerate_directories(CL_FORM *base) { M1_1:; if(CL_TRUEP(ARG(1))) { if(CL_CONSP(ARG(1))) { COPY(GET_CAR(ARG(1)), ARG(5)); } else { LOAD_SMSTR((CL_FORM *)&KClisp[239], ARG(5)); /* ~a is not a list */ COPY(ARG(1), ARG(6)); Ferror(ARG(5), 2); } if(CL_SMSTRP(ARG(5))) { LOAD_SYMBOL(SYMBOL(Slisp, 44), ARG(6)); /* STRING */ COPY(ARG(0), ARG(7)); COPY(ARG(5), ARG(8)); LOAD_SMSTR((CL_FORM *)&KPenumerate_directories[0], ARG(9)); /* / */ Fconcatenate(ARG(6), 4); if(CL_CONSP(ARG(1))) { COPY(GET_CDR(ARG(1)), ARG(7)); } else { LOAD_SMSTR((CL_FORM *)&KClisp[241], ARG(7)); /* ~a is not a list */ COPY(ARG(1), ARG(8)); Ferror(ARG(7), 2); } COPY(ARG(6), ARG(0)); COPY(ARG(7), ARG(1)); LOAD_SYMBOL(SYMBOL(Slisp, 48), ARG(3)); /* T */ goto M1_1; } else { if(CL_SYMBOLP(ARG(5)) && GET_SYMBOL(ARG(5)) == SYMBOL(Slisp, 265)) /* UP */ { LOAD_SYMBOL(SYMBOL(Slisp, 44), ARG(6)); /* STRING */ COPY(ARG(0), ARG(7)); LOAD_SMSTR((CL_FORM *)&KPenumerate_directories[2], ARG(8)); /* ../ */ Fconcatenate(ARG(6), 3); if(CL_CONSP(ARG(1))) { COPY(GET_CDR(ARG(1)), ARG(7)); } else { LOAD_SMSTR((CL_FORM *)&KClisp[241], ARG(7)); /* ~a is not a list */ COPY(ARG(1), ARG(8)); Ferror(ARG(7), 2); } COPY(ARG(6), ARG(0)); COPY(ARG(7), ARG(1)); LOAD_SYMBOL(SYMBOL(Slisp, 48), ARG(3)); /* T */ goto M1_1; } else { LOAD_SMSTR((CL_FORM *)&KPenumerate_directories[4], ARG(0)); /* etypecase: the value ~a is not a legal value */ COPY(ARG(5), ARG(1)); Ferror(ARG(0), 2); } } } else { COPY(ARG(2), ARG(1)); LOAD_SYMBOL(SYMBOL(Slisp, 48), ARG(2)); /* T */ COPY(ARG(4), ARG(3)); Penumerate_files(ARG(0)); } goto RETURN1; RETURN1:; }
static void Z146_get_elem(CL_FORM *base) { if(CL_CONSP(ARG(1))) { COPY(GET_CAR(ARG(1)), ARG(2)); } else { if(CL_TRUEP(ARG(1))) { LOAD_SMSTR((CL_FORM *)&KClisp[264], ARG(2)); /* ~a is not a list */ COPY(ARG(1), ARG(3)); Ferror(ARG(2), 2); } else { COPY(ARG(1), ARG(2)); } } if(CL_LISTP(ARG(2))) { if(CL_CONSP(ARG(1))) { COPY(GET_CAR(ARG(1)), ARG(2)); } else { if(CL_TRUEP(ARG(1))) { LOAD_SMSTR((CL_FORM *)&KClisp[264], ARG(2)); /* ~a is not a list */ COPY(ARG(1), ARG(3)); Ferror(ARG(2), 2); } else { COPY(ARG(1), ARG(2)); } } if(CL_CONSP(ARG(2))) { COPY(GET_CAR(ARG(2)), ARG(3)); } else { if(CL_TRUEP(ARG(2))) { LOAD_SMSTR((CL_FORM *)&KClisp[264], ARG(3)); /* ~a is not a list */ COPY(ARG(2), ARG(4)); Ferror(ARG(3), 2); } else { COPY(ARG(2), ARG(3)); } } COPY(ARG(2), ARG(4)); COPY(ARG(4), ARG(5)); if(CL_CONSP(ARG(5))) { COPY(GET_CDR(ARG(5)), ARG(2)); } else { if(CL_TRUEP(ARG(5))) { LOAD_SMSTR((CL_FORM *)&KClisp[262], ARG(6)); /* ~a is not a list */ COPY(ARG(5), ARG(7)); Ferror(ARG(6), 2); } else { COPY(ARG(5), ARG(2)); } } if(CL_CONSP(ARG(1))) { COPY(ARG(2), GET_CAR(ARG(1))); } else { LOAD_SMSTR((CL_FORM *)&KClisp[252], ARG(4)); /* ~a is not a cons */ COPY(ARG(1), ARG(5)); Ferror(ARG(4), 2); } COPY(ARG(3), ARG(0)); } else { if(CL_CONSP(ARG(1))) { COPY(GET_CAR(ARG(1)), ARG(2)); } else { if(CL_TRUEP(ARG(1))) { LOAD_SMSTR((CL_FORM *)&KClisp[264], ARG(2)); /* ~a is not a list */ COPY(ARG(1), ARG(3)); Ferror(ARG(2), 2); } else { COPY(ARG(1), ARG(2)); } } COPY(INDIRECT(GET_FORM(ARG(0)) + 3), ARG(3)); Felt(ARG(2)); COPY(ARG(2), ARG(0)); } }
void Fget_properties(CL_FORM *base) { M1_1:; if(CL_ATOMP(ARG(0))) { LOAD_NIL(ARG(0)); LOAD_NIL(ARG(1)); LOAD_NIL(ARG(2)); COPY(ARG(1), &mv_buf[0]); COPY(ARG(2), &mv_buf[1]); mv_count = 3; } else { COPY(GET_CAR(ARG(0)), ARG(2)); COPY(ARG(2), ARG(3)); COPY(ARG(1), ARG(4)); LOAD_NIL(ARG(5)); LOAD_NIL(ARG(6)); LOAD_NIL(ARG(7)); member1(ARG(3)); if(CL_TRUEP(ARG(3))) { COPY(GET_CAR(ARG(0)), ARG(2)); COPY(GET_CDR(ARG(0)), ARG(3)); if(CL_CONSP(ARG(3))) { COPY(GET_CAR(ARG(3)), ARG(3)); } else { if(CL_TRUEP(ARG(3))) { LOAD_SMSTR((CL_FORM *)&KClisp[264], ARG(4)); /* ~a is not a list */ COPY(ARG(3), ARG(5)); Ferror(ARG(4), 2); } else { } } COPY(ARG(0), ARG(4)); COPY(ARG(2), ARG(0)); COPY(ARG(3), &mv_buf[0]); COPY(ARG(4), &mv_buf[1]); mv_count = 3; } else { COPY(ARG(0), ARG(2)); COPY(ARG(2), ARG(3)); COPY(GET_CDR(ARG(3)), ARG(3)); if(CL_CONSP(ARG(3))) { COPY(GET_CDR(ARG(3)), ARG(0)); } else { if(CL_TRUEP(ARG(3))) { LOAD_SMSTR((CL_FORM *)&KClisp[262], ARG(4)); /* ~a is not a list */ COPY(ARG(3), ARG(5)); Ferror(ARG(4), 2); } else { COPY(ARG(3), ARG(0)); } } goto M1_1; } } goto RETURN1; RETURN1:; }
void list_position(CL_FORM *base) { GEN_HEAPVAR(ARG(4), ARG(8)); COPY(ARG(5), ARG(8)); LOAD_NIL(ARG(9)); if(CL_TRUEP(ARG(3))) { } else { if(CL_TRUEP(INDIRECT(ARG(4)))) { GEN_CLOSURE(array, ARG(10), 4, Z161_lambda, -1); COPY(ARG(4), &array[3]); LOAD_CLOSURE(array, ARG(10)); COPY(ARG(10), ARG(3)); } else { GEN_STATIC_GLOBAL_FUNARG(extern_closure, Feql, 2); LOAD_GLOBFUN(&extern_closure, ARG(3)); } } LOAD_NIL(ARG(10)); COPY(ARG(5), ARG(11)); COPY(ARG(1), ARG(12)); Fnthcdr(ARG(11)); M1_1:; if(CL_ATOMP(ARG(11))) { LOAD_NIL(ARG(10)); goto RETURN1; } COPY(ARG(11), ARG(12)); COPY(GET_CAR(ARG(12)), ARG(10)); COPY(ARG(8), ARG(12)); COPY(ARG(6), ARG(13)); Fge(ARG(12), 2); if(CL_TRUEP(ARG(12))) { goto RETURN1; } COPY(ARG(3), ARG(12)); COPY(ARG(0), ARG(13)); if(CL_TRUEP(ARG(7))) { COPY(ARG(7), ARG(14)); COPY(ARG(10), ARG(15)); Ffuncall(ARG(14), 2); mv_count = 1; } else { COPY(ARG(10), ARG(14)); } Ffuncall(ARG(12), 3); mv_count = 1; if(CL_TRUEP(ARG(12))) { COPY(ARG(8), ARG(9)); if(CL_TRUEP(ARG(2))) { } else { goto RETURN1; } } COPY(ARG(8), ARG(12)); F1plus(ARG(12)); COPY(ARG(12), ARG(8)); COPY(ARG(11), ARG(12)); COPY(GET_CDR(ARG(12)), ARG(11)); goto M1_1; RETURN1:; COPY(ARG(9), ARG(0)); }
void member1(CL_FORM *base) { GEN_HEAPVAR(ARG(3), ARG(5)); if(CL_TRUEP(ARG(2))) { } else { if(CL_TRUEP(INDIRECT(ARG(3)))) { GEN_CLOSURE(array, ARG(5), 4, Z11_lambda, -1); COPY(ARG(3), &array[3]); LOAD_CLOSURE(array, ARG(5)); COPY(ARG(5), ARG(2)); } else { GEN_STATIC_GLOBAL_FUNARG(extern_closure, Feql, 2); LOAD_GLOBFUN(&extern_closure, ARG(2)); } } COPY(ARG(1), ARG(5)); M1_1:; if(CL_TRUEP(ARG(5))) { COPY(ARG(2), ARG(6)); COPY(ARG(0), ARG(7)); if(CL_TRUEP(ARG(4))) { COPY(ARG(4), ARG(8)); if(CL_CONSP(ARG(5))) { COPY(GET_CAR(ARG(5)), ARG(9)); } else { LOAD_SMSTR((CL_FORM *)&KClisp[264], ARG(9)); /* ~a is not a list */ COPY(ARG(5), ARG(10)); Ferror(ARG(9), 2); } Ffuncall(ARG(8), 2); mv_count = 1; } else { if(CL_CONSP(ARG(5))) { COPY(GET_CAR(ARG(5)), ARG(8)); } else { LOAD_SMSTR((CL_FORM *)&KClisp[264], ARG(8)); /* ~a is not a list */ COPY(ARG(5), ARG(9)); Ferror(ARG(8), 2); } } Ffuncall(ARG(6), 3); mv_count = 1; if(CL_TRUEP(ARG(6))) { COPY(ARG(5), ARG(0)); } else { COPY(ARG(5), ARG(6)); COPY(ARG(6), ARG(7)); if(CL_CONSP(ARG(7))) { COPY(GET_CDR(ARG(7)), ARG(5)); } else { if(CL_TRUEP(ARG(7))) { LOAD_SMSTR((CL_FORM *)&KClisp[262], ARG(5)); /* ~a is not a list */ COPY(ARG(7), ARG(6)); Ferror(ARG(5), 2); } else { COPY(ARG(7), ARG(5)); } } goto M1_1; } } else { LOAD_NIL(ARG(0)); } goto RETURN1; RETURN1:; }
void get_macro_character1(CL_FORM *base) { COPY(ARG(1), ARG(2)); LOAD_SYMBOL(SYMBOL(Slisp, 410), ARG(3)); /* READTABLE */ rt_struct_typep(ARG(2)); if(CL_TRUEP(ARG(2))) { COPY(OFFSET(AR_BASE(GET_FORM(ARG(1))), 0 + 1), ARG(2)); } else { COPY(SYMVAL(Slisp, 342), ARG(2)); /* NO_STRUCT */ COPY(ARG(1), ARG(3)); LOAD_SYMBOL(SYMBOL(Slisp, 410), ARG(4)); /* READTABLE */ Ferror(ARG(2), 3); } if(CL_CHARP(ARG(0))) { COPY(ARG(0), ARG(3)); } else { COPY(SYMVAL(Slisp, 58), ARG(3)); /* WRONG_TYPE */ COPY(ARG(0), ARG(4)); LOAD_SYMBOL(SYMBOL(Slisp, 18), ARG(5)); /* CHARACTER */ Ferror(ARG(3), 3); } rt_char_code(ARG(3)); LOAD_BOOL(CL_SMVECP(ARG(2)), ARG(4)); if(CL_TRUEP(ARG(4))) { goto THEN1; } else { COPY(ARG(2), ARG(5)); LOAD_SYMBOL(SYMBOL(Slisp, 150), ARG(6)); /* COMPLEX-VECTOR */ rt_struct_typep(ARG(5)); } if(CL_TRUEP(ARG(5))) { THEN1:; } else { COPY(SYMVAL(Slisp, 58), ARG(4)); /* WRONG_TYPE */ COPY(ARG(2), ARG(5)); LOAD_SYMBOL(SYMBOL(Slisp, 47), ARG(6)); /* VECTOR */ Ferror(ARG(4), 3); } Frow_major_aref(ARG(2)); if(CL_TRUEP(ARG(2))) { if(CL_CONSP(ARG(2))) { COPY(GET_CAR(ARG(2)), ARG(3)); } else { LOAD_SMSTR((CL_FORM *)&KClisp[239], ARG(3)); /* ~a is not a list */ COPY(ARG(2), ARG(4)); Ferror(ARG(3), 2); } if(CL_CONSP(ARG(2))) { COPY(GET_CDR(ARG(2)), ARG(4)); } else { LOAD_SMSTR((CL_FORM *)&KClisp[241], ARG(4)); /* ~a is not a list */ COPY(ARG(2), ARG(5)); Ferror(ARG(4), 2); } COPY(ARG(3), ARG(0)); COPY(ARG(4), &mv_buf[0]); mv_count = 2; } else { LOAD_NIL(ARG(0)); } }
void export1(CL_FORM *base) { coerce_to_package(ARG(1)); if(CL_LISTP(ARG(0))) { } else { COPY(ARG(0), ARG(2)); Flist(ARG(2), 1); COPY(ARG(2), ARG(0)); } LOAD_NIL(ARG(2)); COPY(ARG(0), ARG(3)); M1_1:; if(CL_ATOMP(ARG(3))) { LOAD_NIL(ARG(2)); goto RETURN1; } COPY(ARG(3), ARG(4)); COPY(GET_CAR(ARG(4)), ARG(2)); if(CL_SYMBOLP(ARG(2))) { LOAD_SMSTR(SYM_NAME(ARG(2)), ARG(4)); } else { if(CL_TRUEP(ARG(2))) { COPY(SYMVAL(Slisp, 676), ARG(4)); /* SYM_EXPECTED */ COPY(ARG(2), ARG(5)); Ferror(ARG(4), 2); } else { LOAD_SMSTR((CL_FORM *)&KClisp[266], ARG(4)); /* NIL */ } } COPY(ARG(1), ARG(5)); find_symbol1(ARG(4)); COPY(&mv_buf[0], ARG(5)); { int nargs; nargs = 2; mv_count = 1; { switch(nargs) { case 0: LOAD_NIL(ARG(4)); case 1: LOAD_NIL(ARG(5)); nargs = 2; } if(CL_TRUEP(ARG(5))) { LOAD_NIL(ARG(6)); } else { LOAD_SYMBOL(SYMBOL(Slisp, 48), ARG(6)); /* T */ } if(CL_TRUEP(ARG(6))) { goto THEN1; } else { if(EQ(ARG(4), ARG(2))) { goto ELSE2; } else { goto THEN1; } } { THEN1:; LOAD_SMSTR((CL_FORM *)&Kexport1[0], ARG(6)); /* ~S is not accessible in ~S */ COPY(ARG(2), ARG(7)); COPY(ARG(1), ARG(8)); Ferror(ARG(6), 3); } ELSE2:; if(CL_SYMBOLP(ARG(5)) && GET_SYMBOL(ARG(5)) == SYMBOL(Slisp, 385)) /* EXTERNAL */ { goto RETURN1; } LOAD_NIL(ARG(6)); COPY(ARG(1), ARG(7)); LOAD_SYMBOL(SYMBOL(Slisp, 354), ARG(8)); /* PACKAGE */ rt_struct_typep(ARG(7)); if(CL_TRUEP(ARG(7))) { COPY(OFFSET(AR_BASE(GET_FORM(ARG(1))), 6 + 1), ARG(7)); } else { COPY(SYMVAL(Slisp, 352), ARG(7)); /* NO_STRUCT */ COPY(ARG(1), ARG(8)); LOAD_SYMBOL(SYMBOL(Slisp, 354), ARG(9)); /* PACKAGE */ Ferror(ARG(7), 3); } M2_1:; if(CL_ATOMP(ARG(7))) { LOAD_NIL(ARG(6)); goto RETURN2; } COPY(ARG(7), ARG(8)); COPY(GET_CAR(ARG(8)), ARG(6)); if(CL_SYMBOLP(ARG(2))) { LOAD_SMSTR(SYM_NAME(ARG(2)), ARG(8)); } else { if(CL_TRUEP(ARG(2))) { COPY(SYMVAL(Slisp, 676), ARG(8)); /* SYM_EXPECTED */ COPY(ARG(2), ARG(9)); Ferror(ARG(8), 2); } else { LOAD_SMSTR((CL_FORM *)&KClisp[266], ARG(8)); /* NIL */ } } COPY(ARG(6), ARG(9)); find_symbol1(ARG(8)); COPY(&mv_buf[0], ARG(9)); { int nargs; nargs = 2; mv_count = 1; { switch(nargs) { case 0: LOAD_NIL(ARG(8)); case 1: LOAD_NIL(ARG(9)); nargs = 2; } if(CL_TRUEP(ARG(9))) { if(EQ(ARG(8), ARG(2))) { goto ELSE3; } else { COPY(ARG(6), ARG(10)); LOAD_SYMBOL(SYMBOL(Slisp, 354), ARG(11)); /* PACKAGE */ rt_struct_typep(ARG(10)); if(CL_TRUEP(ARG(10))) { COPY(OFFSET(AR_BASE(GET_FORM(ARG(6))), 4 + 1), ARG(10)); } else { COPY(SYMVAL(Slisp, 352), ARG(10)); /* NO_STRUCT */ COPY(ARG(6), ARG(11)); LOAD_SYMBOL(SYMBOL(Slisp, 354), ARG(12)); /* PACKAGE */ Ferror(ARG(10), 3); } COPY(ARG(8), ARG(11)); COPY(ARG(10), ARG(12)); LOAD_NIL(ARG(13)); LOAD_NIL(ARG(14)); LOAD_NIL(ARG(15)); member1(ARG(11)); COPY(ARG(11), ARG(10)); if(CL_TRUEP(ARG(10))) { goto ELSE3; } else { goto THEN4; } } } else { goto ELSE3; } { THEN4:; LOAD_SMSTR((CL_FORM *)&Kexport1[2], ARG(10)); /* ~S will cause a name conflict in ~S */ COPY(ARG(2), ARG(11)); COPY(ARG(6), ARG(12)); Ferror(ARG(10), 3); } ELSE3:; } } COPY(ARG(7), ARG(8)); COPY(GET_CDR(ARG(8)), ARG(7)); goto M2_1; RETURN2:; if(CL_SYMBOLP(ARG(2))) { LOAD_SMSTR(SYM_NAME(ARG(2)), ARG(6)); } else { if(CL_TRUEP(ARG(2))) { COPY(SYMVAL(Slisp, 676), ARG(6)); /* SYM_EXPECTED */ COPY(ARG(2), ARG(7)); Ferror(ARG(6), 2); } else { LOAD_SMSTR((CL_FORM *)&KClisp[266], ARG(6)); /* NIL */ } } LOAD_FIXNUM(ARG(7), 101, ARG(7)); COPY(ARG(6), ARG(8)); string_to_simple_string(ARG(8)); rt_sxhash_string(ARG(8)); COPY(ARG(8), ARG(9)); LOAD_FIXNUM(ARG(10), 101, ARG(10)); rt_floor(ARG(9)); COPY(&mv_buf[0], ARG(10)); mv_count = 1; { COPY(ARG(10), ARG(6)); } if(CL_SYMBOLP(ARG(5)) && GET_SYMBOL(ARG(5)) == SYMBOL(Slisp, 384)) /* INTERNAL */ { COPY(ARG(2), ARG(7)); COPY(ARG(1), ARG(8)); LOAD_SYMBOL(SYMBOL(Slisp, 354), ARG(9)); /* PACKAGE */ rt_struct_typep(ARG(8)); if(CL_TRUEP(ARG(8))) { COPY(OFFSET(AR_BASE(GET_FORM(ARG(1))), 2 + 1), ARG(8)); } else { COPY(SYMVAL(Slisp, 352), ARG(8)); /* NO_STRUCT */ COPY(ARG(1), ARG(9)); LOAD_SYMBOL(SYMBOL(Slisp, 354), ARG(10)); /* PACKAGE */ Ferror(ARG(8), 3); } COPY(ARG(6), ARG(9)); del_pack_sym(ARG(7)); } COPY(ARG(1), ARG(7)); LOAD_SYMBOL(SYMBOL(Slisp, 354), ARG(8)); /* PACKAGE */ rt_struct_typep(ARG(7)); if(CL_TRUEP(ARG(7))) { COPY(OFFSET(AR_BASE(GET_FORM(ARG(1))), 3 + 1), ARG(7)); } else { COPY(SYMVAL(Slisp, 352), ARG(7)); /* NO_STRUCT */ COPY(ARG(1), ARG(8)); LOAD_SYMBOL(SYMBOL(Slisp, 354), ARG(9)); /* PACKAGE */ Ferror(ARG(7), 3); } COPY(ARG(7), ARG(9)); COPY(ARG(6), ARG(10)); Fsvref(ARG(9)); ALLOC_CONS(ARG(10), ARG(2), ARG(9), ARG(8)); COPY(ARG(8), ARG(9)); COPY(ARG(7), ARG(10)); COPY(ARG(6), ARG(11)); Fset_svref(ARG(9)); } } COPY(ARG(3), ARG(4)); COPY(GET_CDR(ARG(4)), ARG(3)); goto M1_1; RETURN1:; LOAD_SYMBOL(SYMBOL(Slisp, 48), ARG(0)); /* T */ }
void set_difference1(CL_FORM *base) { GEN_HEAPVAR(ARG(3), ARG(5)); if(CL_TRUEP(ARG(2))) { } else { if(CL_TRUEP(INDIRECT(ARG(3)))) { GEN_CLOSURE(array, ARG(5), 4, Z4_lambda, -1); COPY(ARG(3), &array[3]); LOAD_CLOSURE(array, ARG(5)); COPY(ARG(5), ARG(2)); } else { GEN_STATIC_GLOBAL_FUNARG(extern_closure, Feql, 2); LOAD_GLOBFUN(&extern_closure, ARG(2)); } } LOAD_NIL(ARG(5)); LOAD_NIL(ARG(6)); COPY(ARG(0), ARG(7)); M1_1:; if(CL_ATOMP(ARG(7))) { LOAD_NIL(ARG(6)); goto RETURN1; } COPY(ARG(7), ARG(8)); COPY(GET_CAR(ARG(8)), ARG(6)); if(CL_TRUEP(ARG(4))) { COPY(ARG(4), ARG(8)); COPY(ARG(6), ARG(9)); Ffuncall(ARG(8), 2); mv_count = 1; } else { COPY(ARG(6), ARG(8)); } COPY(ARG(1), ARG(9)); COPY(ARG(2), ARG(10)); COPY(ARG(4), ARG(11)); COPY(ARG(8), ARG(12)); COPY(ARG(9), ARG(13)); COPY(ARG(10), ARG(14)); LOAD_NIL(ARG(15)); COPY(ARG(11), ARG(16)); member1(ARG(12)); if(CL_TRUEP(ARG(12))) { } else { ALLOC_CONS(ARG(10), ARG(6), ARG(5), ARG(5)); } COPY(ARG(7), ARG(8)); COPY(GET_CDR(ARG(8)), ARG(7)); goto M1_1; RETURN1:; COPY(ARG(5), ARG(0)); }
static void Z6_union_internal(CL_FORM *base, CL_FORM *display[]) { M1_1:; if(CL_TRUEP(ARG(0))) { if(CL_TRUEP(&display[0][4])) { COPY(&display[0][4], ARG(1)); if(CL_CONSP(ARG(0))) { COPY(GET_CAR(ARG(0)), ARG(2)); } else { LOAD_SMSTR((CL_FORM *)&KClisp[264], ARG(2)); /* ~a is not a list */ COPY(ARG(0), ARG(3)); Ferror(ARG(2), 2); } Ffuncall(ARG(1), 2); mv_count = 1; } else { if(CL_CONSP(ARG(0))) { COPY(GET_CAR(ARG(0)), ARG(1)); } else { LOAD_SMSTR((CL_FORM *)&KClisp[264], ARG(1)); /* ~a is not a list */ COPY(ARG(0), ARG(2)); Ferror(ARG(1), 2); } } COPY(&display[0][1], ARG(2)); COPY(&display[0][2], ARG(3)); COPY(&display[0][4], ARG(4)); COPY(ARG(1), ARG(5)); COPY(ARG(2), ARG(6)); COPY(ARG(3), ARG(7)); LOAD_NIL(ARG(8)); COPY(ARG(4), ARG(9)); member1(ARG(5)); if(CL_TRUEP(ARG(5))) { COPY(ARG(0), ARG(1)); if(CL_CONSP(ARG(1))) { COPY(GET_CDR(ARG(1)), ARG(0)); } else { LOAD_SMSTR((CL_FORM *)&KClisp[262], ARG(0)); /* ~a is not a list */ Ferror(ARG(0), 2); } goto M1_1; } else { if(CL_CONSP(ARG(0))) { COPY(GET_CAR(ARG(0)), ARG(1)); } else { LOAD_SMSTR((CL_FORM *)&KClisp[264], ARG(1)); /* ~a is not a list */ COPY(ARG(0), ARG(2)); Ferror(ARG(1), 2); } if(CL_CONSP(ARG(0))) { COPY(GET_CDR(ARG(0)), ARG(2)); } else { LOAD_SMSTR((CL_FORM *)&KClisp[262], ARG(2)); /* ~a is not a list */ COPY(ARG(0), ARG(3)); Ferror(ARG(2), 2); } Z6_union_internal(ARG(2), display); ALLOC_CONS(ARG(3), ARG(1), ARG(2), ARG(0)); } } else { COPY(&display[0][1], ARG(0)); } goto RETURN1; RETURN1:; }
int cdr(int addr){ return(GET_CDR(addr)); }