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)); } }
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:; }
void EDIRemoveCarFromContext(CONTEXT context, CAR * oldCar) { for (uint i = 0, length = context->nbCars; i < length; ++i) { if(context->cars[i]->ID == oldCar->ID) { #ifdef DEBUG_BUILD printf("\nFlushing car from array: current ptr %p (size %u)\n", context->cars, context->nbCars); printCar(oldCar); #endif context->cars = (CAR **) removeItemAtIndexFromArray((void **) context->cars, context->nbCars--, i); #ifdef DEBUG_BUILD printf("Resized: new ptr %p (size %u)\n\n", context->cars, context->nbCars); #endif if(oldCar->context.section == SECTION_NODE) GET_CAR_NODE(context->EDI.node, oldCar->context.index, oldCar->context.onLeftRoad) = NULL; else GET_CAR((&context->EDI.externalRoads[oldCar->context.section]), false, oldCar->context.index, oldCar->context.onLeftRoad) = NULL; crushCar(oldCar); break; } } }
static void Z86_lambda(CL_FORM *base) { COPY(INDIRECT(GET_FORM(ARG(0)) + 3), ARG(2)); if(CL_CONSP(ARG(2))) { COPY(GET_CAR(ARG(2)), ARG(2)); } else { if(CL_TRUEP(ARG(2))) { LOAD_SMSTR((CL_FORM *)&KClisp[239], ARG(3)); /* ~a is not a list */ COPY(ARG(2), ARG(4)); Ferror(ARG(3), 2); } else { LOAD_NIL(ARG(2)); } } stream_unreadc(ARG(2)); COPY(ARG(1), ARG(3)); Ffuncall(ARG(2), 2); COPY(ARG(2), ARG(0)); }
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 null_or_quoted(CL_FORM *base) { if(CL_TRUEP(ARG(0))) { LOAD_NIL(ARG(1)); } else { LOAD_SYMBOL(SYMBOL(Slisp, 48), ARG(1)); /* T */ } if(CL_TRUEP(ARG(1))) { COPY(ARG(1), ARG(0)); } else { if(CL_CONSP(ARG(0))) { COPY(GET_CAR(ARG(0)), ARG(2)); LOAD_BOOL(EQ(ARG(2), SYMVAL(Slisp, 444)), ARG(0)); /* *BQ-QUOTE* */ } else { LOAD_NIL(ARG(0)); } } }
TERM bpx_get_car(TERM t) { XDEREF(t); if (ISLIST(t)) { return GET_CAR(t); } else { bpx_raise("list expected"); } }
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 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)); } }
void bq_splicing_frob(CL_FORM *base) { if(CL_CONSP(ARG(0))) { COPY(GET_CAR(ARG(0)), ARG(1)); LOAD_BOOL(EQ(ARG(1), SYMVAL(Slisp, 427)), ARG(1)); /* *COMMA-ATSIGN* */ if(CL_TRUEP(ARG(1))) { LOAD_SYMBOL(SYMBOL(Slisp, 48), ARG(0)); /* T */ } else { COPY(GET_CAR(ARG(0)), ARG(2)); LOAD_BOOL(EQ(ARG(2), SYMVAL(Slisp, 428)), ARG(0)); /* *COMMA-DOT* */ } } else { LOAD_NIL(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 Frplaca(CL_FORM *base) { if(CL_CONSP(ARG(0))) { COPY(ARG(1), GET_CAR(ARG(0))); } else { LOAD_SMSTR((CL_FORM *)&KClisp[237], 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 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)); } }
void Fset_elt(CL_FORM *base) { if(CL_CONSP(ARG(1))) { COPY(ARG(2), ARG(3)); COPY(ARG(1), ARG(4)); Fnthcdr(ARG(3)); if(CL_CONSP(ARG(3))) { COPY(ARG(0), GET_CAR(ARG(3))); } else { LOAD_SMSTR((CL_FORM *)&KClisp[252], ARG(0)); /* ~a is not a cons */ COPY(ARG(3), ARG(1)); Ferror(ARG(0), 2); } } else { LOAD_BOOL(CL_SMVECP(ARG(1)), ARG(3)); if(CL_TRUEP(ARG(3))) { goto THEN1; } else { COPY(ARG(1), ARG(4)); LOAD_SYMBOL(SYMBOL(Slisp, 150), ARG(5)); /* COMPLEX-VECTOR */ rt_struct_typep(ARG(4)); } if(CL_TRUEP(ARG(4))) { THEN1:; Fset_row_major_aref(ARG(0)); } else { COPY(SYMVAL(Slisp, 58), ARG(0)); /* WRONG_TYPE */ LOAD_SYMBOL(SYMBOL(Slisp, 36), ARG(2)); /* SEQUENCE */ Ferror(ARG(0), 3); } } }
//-------デバッグ用------------------ 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 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 Fcar(CL_FORM *base) { if(CL_CONSP(ARG(0))) { COPY(GET_CAR(ARG(0)), ARG(0)); } else { if(CL_TRUEP(ARG(0))) { LOAD_SMSTR((CL_FORM *)&KClisp[264], ARG(1)); /* ~a is not a list */ COPY(ARG(0), ARG(2)); Ferror(ARG(1), 2); } else { } } }
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_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 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:; }
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 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 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 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:; }
void Fmap(CL_FORM *base, int nargs) { Flist(ARG(3), nargs - 3); ALLOC_CONS(ARG(6), ARG(2), ARG(3), ARG(3)); LOAD_GLOBFUN(&CFmin, ARG(4)); LOAD_GLOBFUN(&CFlength, ARG(5)); COPY(ARG(3), ARG(6)); Fmapcar(ARG(5), 2); Fapply(ARG(4), 2); mv_count = 1; LOAD_FIXNUM(ARG(5), 0, ARG(5)); GEN_HEAPVAR(ARG(5), ARG(6)); { GEN_CLOSURE(array, ARG(6), 4, Z146_get_elem, 1); COPY(ARG(5), &array[3]); LOAD_CLOSURE(array, ARG(6)); } if(CL_TRUEP(ARG(0))) { if(CL_SYMBOLP(ARG(0)) && GET_SYMBOL(ARG(0)) == SYMBOL(Slisp, 28)) /* LIST */ { LOAD_NIL(ARG(7)); LOAD_NIL(ARG(8)); ALLOC_CONS(ARG(9), ARG(7), ARG(8), ARG(7)); M1_1:; COPY(INDIRECT(ARG(5)), ARG(8)); COPY(ARG(4), ARG(9)); Fge(ARG(8), 2); if(CL_TRUEP(ARG(8))) { COPY(GET_CAR(ARG(7)), ARG(0)); goto RETURN1; } COPY(ARG(1), ARG(8)); COPY(ARG(6), ARG(9)); COPY(ARG(3), ARG(10)); Fmaplist(ARG(9), 2); Fapply(ARG(8), 2); mv_count = 1; COPY(ARG(7), ARG(9)); add_q(ARG(8)); COPY(INDIRECT(ARG(5)), ARG(8)); F1plus(ARG(8)); COPY(ARG(8), INDIRECT(ARG(5))); goto M1_1; RETURN1:; } else { COPY(ARG(0), ARG(7)); COPY(ARG(4), ARG(8)); LOAD_NIL(ARG(9)); LOAD_NIL(ARG(10)); make_sequence1(ARG(7)); M2_1:; COPY(INDIRECT(ARG(5)), ARG(8)); COPY(ARG(4), ARG(9)); Fge(ARG(8), 2); if(CL_TRUEP(ARG(8))) { COPY(ARG(7), ARG(0)); goto RETURN2; } COPY(ARG(7), ARG(8)); COPY(INDIRECT(ARG(5)), ARG(9)); COPY(ARG(1), ARG(10)); COPY(ARG(6), ARG(11)); COPY(ARG(3), ARG(12)); Fmaplist(ARG(11), 2); Fapply(ARG(10), 2); mv_count = 1; COPY(ARG(10), ARG(11)); COPY(ARG(8), ARG(12)); COPY(ARG(9), ARG(13)); Fset_elt(ARG(11)); COPY(INDIRECT(ARG(5)), ARG(8)); F1plus(ARG(8)); COPY(ARG(8), INDIRECT(ARG(5))); goto M2_1; RETURN2:; } } else { M3_1:; COPY(INDIRECT(ARG(5)), ARG(7)); COPY(ARG(4), ARG(8)); Fge(ARG(7), 2); if(CL_TRUEP(ARG(7))) { LOAD_NIL(ARG(0)); goto RETURN3; } COPY(ARG(1), ARG(7)); COPY(ARG(6), ARG(8)); COPY(ARG(3), ARG(9)); Fmaplist(ARG(8), 2); Fapply(ARG(7), 2); mv_count = 1; COPY(INDIRECT(ARG(5)), ARG(7)); F1plus(ARG(7)); COPY(ARG(7), INDIRECT(ARG(5))); goto M3_1; RETURN3:; } }
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)); } }