Changeset 3826
- Timestamp:
- 09/16/03 17:41:15 (20 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/j/src/org/armedbear/lisp/Primitives.java
r3816 r3826 3 3 * 4 4 * Copyright (C) 2002-2003 Peter Graves 5 * $Id: Primitives.java,v 1. 399 2003-09-16 16:24:13piso Exp $5 * $Id: Primitives.java,v 1.400 2003-09-16 17:41:15 piso Exp $ 6 6 * 7 7 * This program is free software; you can redistribute it and/or … … 40 40 private static final int DIVIDE = 6; 41 41 private static final int EXIT = 7; 42 private static final int LAST = 8; 43 private static final int MAX = 9; 44 private static final int MIN = 10; 45 private static final int MULTIPLY = 11; 46 private static final int VALUES = 12; 42 private static final int MAX = 8; 43 private static final int MIN = 9; 44 private static final int MULTIPLY = 10; 45 private static final int VALUES = 11; 47 46 48 47 // Primitive1 49 private static final int ABS = 1 3;50 private static final int ARRAYP = 1 4;51 private static final int ARRAY_HAS_FILL_POINTER_P = 1 5;52 private static final int BIT_VECTOR_P = 1 6;53 private static final int BOTH_CASE_P = 1 7;54 private static final int CHARACTERP = 1 8;55 private static final int CHAR_CODE = 1 9;56 private static final int CHAR_DOWNCASE = 20;57 private static final int CHAR_INT = 2 1;58 private static final int CHAR_UPCASE = 2 2;59 private static final int CODE_CHAR = 2 3;60 private static final int COMPILED_FUNCTION_P = 2 4;61 private static final int CONSP = 2 5;62 private static final int EVAL = 2 6;63 private static final int EVENP = 2 7;64 private static final int FBOUNDP = 2 8;65 private static final int FMAKUNBOUND = 2 9;66 private static final int FOURTH = 30;67 private static final int FUNCTIONP = 3 1;68 private static final int IDENTITY = 3 2;69 private static final int KEYWORDP = 3 3;70 private static final int LENGTH = 3 4;71 private static final int LISTP = 3 5;72 private static final int LOWER_CASE_P = 3 6;73 private static final int MAKE_SYMBOL = 3 7;74 private static final int MAKUNBOUND = 3 8;75 private static final int NUMBERP = 3 9;76 private static final int ODDP = 40;77 private static final int PREDECESSOR = 4 1;78 private static final int SECOND = 4 2;79 private static final int SIMPLE_BIT_VECTOR_P = 4 3;80 private static final int SIMPLE_STRING_P = 4 4;81 private static final int SIMPLE_VECTOR_P = 4 5;82 private static final int SPECIAL_OPERATOR_P = 4 6;83 private static final int STRINGP = 4 7;84 private static final int SUCCESSOR = 4 8;85 private static final int SYMBOL_FUNCTION = 4 9;86 private static final int SYMBOL_NAME = 50;87 private static final int SYMBOL_PACKAGE = 5 1;88 private static final int SYMBOL_PLIST = 5 2;89 private static final int SYMBOL_VALUE = 5 3;90 private static final int THIRD = 5 4;91 private static final int UPPER_CASE_P = 5 5;92 private static final int VALUES_LIST = 5 6;93 private static final int VECTORP = 5 7;48 private static final int ABS = 12; 49 private static final int ARRAYP = 13; 50 private static final int ARRAY_HAS_FILL_POINTER_P = 14; 51 private static final int BIT_VECTOR_P = 15; 52 private static final int BOTH_CASE_P = 16; 53 private static final int CHARACTERP = 17; 54 private static final int CHAR_CODE = 18; 55 private static final int CHAR_DOWNCASE = 19; 56 private static final int CHAR_INT = 20; 57 private static final int CHAR_UPCASE = 21; 58 private static final int CODE_CHAR = 22; 59 private static final int COMPILED_FUNCTION_P = 23; 60 private static final int CONSP = 24; 61 private static final int EVAL = 25; 62 private static final int EVENP = 26; 63 private static final int FBOUNDP = 27; 64 private static final int FMAKUNBOUND = 28; 65 private static final int FOURTH = 29; 66 private static final int FUNCTIONP = 30; 67 private static final int IDENTITY = 31; 68 private static final int KEYWORDP = 32; 69 private static final int LENGTH = 33; 70 private static final int LISTP = 34; 71 private static final int LOWER_CASE_P = 35; 72 private static final int MAKE_SYMBOL = 36; 73 private static final int MAKUNBOUND = 37; 74 private static final int NUMBERP = 38; 75 private static final int ODDP = 39; 76 private static final int PREDECESSOR = 40; 77 private static final int SECOND = 41; 78 private static final int SIMPLE_BIT_VECTOR_P = 42; 79 private static final int SIMPLE_STRING_P = 43; 80 private static final int SIMPLE_VECTOR_P = 44; 81 private static final int SPECIAL_OPERATOR_P = 45; 82 private static final int STRINGP = 46; 83 private static final int SUCCESSOR = 47; 84 private static final int SYMBOL_FUNCTION = 48; 85 private static final int SYMBOL_NAME = 49; 86 private static final int SYMBOL_PACKAGE = 50; 87 private static final int SYMBOL_PLIST = 51; 88 private static final int SYMBOL_VALUE = 52; 89 private static final int THIRD = 53; 90 private static final int UPPER_CASE_P = 54; 91 private static final int VALUES_LIST = 55; 92 private static final int VECTORP = 56; 94 93 95 94 // Primitive2 96 private static final int MEMBER = 5 8;97 private static final int RPLACA = 5 9;98 private static final int RPLACD = 60;99 private static final int SET = 6 1;95 private static final int MEMBER = 57; 96 private static final int RPLACA = 58; 97 private static final int RPLACD = 59; 98 private static final int SET = 60; 100 99 101 100 private Primitives() … … 110 109 definePrimitive("/", DIVIDE); 111 110 definePrimitive("exit", EXIT); 112 definePrimitive("last", LAST);113 111 definePrimitive("max", MAX); 114 112 definePrimitive("min", MIN); … … 231 229 if (args[i].isGreaterThan(result)) 232 230 result = args[i]; 233 }234 return result;235 }236 case LAST: { // ### last237 int n;238 switch (args.length) {239 case 1:240 n = 1;241 break;242 case 2:243 n = Fixnum.getValue(args[1]);244 break;245 default:246 throw new WrongNumberOfArgumentsException("LAST");247 }248 LispObject list = checkList(args[0]);249 if (list == NIL)250 return NIL;251 LispObject result = list;252 while (list instanceof Cons) {253 list = list.cdr();254 if (n-- <= 0)255 result = result.cdr();256 231 } 257 232 return result;
Note: See TracChangeset
for help on using the changeset viewer.