Changeset 4168
- Timestamp:
- 10/02/03 00:02:56 (19 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/j/src/org/armedbear/lisp/Primitives.java
r4166 r4168 3 3 * 4 4 * Copyright (C) 2002-2003 Peter Graves 5 * $Id: Primitives.java,v 1.45 8 2003-10-01 23:04:27piso Exp $5 * $Id: Primitives.java,v 1.459 2003-10-02 00:02:56 piso Exp $ 6 6 * 7 7 * This program is free software; you can redistribute it and/or … … 54 54 private static final int EVAL = 20; 55 55 private static final int EVENP = 21; 56 private static final int FMAKUNBOUND = 22; 57 private static final int FOURTH = 23; 58 private static final int FUNCTIONP = 24; 59 private static final int IDENTITY = 25; 60 private static final int KEYWORDP = 26; 61 private static final int LENGTH = 27; 62 private static final int LISTP = 28; 63 private static final int LOWER_CASE_P = 29; 64 private static final int MAKE_SYMBOL = 30; 65 private static final int MAKUNBOUND = 31; 66 private static final int NUMBERP = 32; 67 private static final int ODDP = 33; 68 private static final int PREDECESSOR = 34; 69 private static final int SECOND = 35; 70 private static final int SIMPLE_BIT_VECTOR_P = 36; 71 private static final int SIMPLE_STRING_P = 37; 72 private static final int SIMPLE_VECTOR_P = 38; 73 private static final int SPECIAL_OPERATOR_P = 39; 74 private static final int STRINGP = 40; 75 private static final int SUCCESSOR = 41; 76 private static final int SYMBOL_FUNCTION = 42; 77 private static final int SYMBOL_NAME = 43; 78 private static final int SYMBOL_PACKAGE = 44; 79 private static final int SYMBOL_PLIST = 45; 80 private static final int SYMBOL_VALUE = 46; 81 private static final int THIRD = 47; 82 private static final int UPPER_CASE_P = 48; 83 private static final int VALUES_LIST = 49; 84 private static final int VECTORP = 50; 56 private static final int FOURTH = 22; 57 private static final int FUNCTIONP = 23; 58 private static final int IDENTITY = 24; 59 private static final int KEYWORDP = 25; 60 private static final int LENGTH = 26; 61 private static final int LISTP = 27; 62 private static final int LOWER_CASE_P = 28; 63 private static final int MAKE_SYMBOL = 29; 64 private static final int MAKUNBOUND = 30; 65 private static final int NUMBERP = 31; 66 private static final int ODDP = 32; 67 private static final int PREDECESSOR = 33; 68 private static final int SECOND = 34; 69 private static final int SIMPLE_BIT_VECTOR_P = 35; 70 private static final int SIMPLE_STRING_P = 36; 71 private static final int SIMPLE_VECTOR_P = 37; 72 private static final int SPECIAL_OPERATOR_P = 38; 73 private static final int STRINGP = 39; 74 private static final int SUCCESSOR = 40; 75 private static final int SYMBOL_FUNCTION = 41; 76 private static final int SYMBOL_NAME = 42; 77 private static final int SYMBOL_PACKAGE = 43; 78 private static final int SYMBOL_PLIST = 44; 79 private static final int SYMBOL_VALUE = 45; 80 private static final int THIRD = 46; 81 private static final int UPPER_CASE_P = 47; 82 private static final int VALUES_LIST = 48; 83 private static final int VECTORP = 49; 85 84 86 85 // Primitive2 87 private static final int MEMBER = 5 1;88 private static final int RPLACA = 5 2;89 private static final int RPLACD = 5 3;90 private static final int SET = 5 4;86 private static final int MEMBER = 50; 87 private static final int RPLACA = 51; 88 private static final int RPLACD = 52; 89 private static final int SET = 53; 91 90 92 91 private Primitives() … … 116 115 definePrimitive1("eval", EVAL); 117 116 definePrimitive1("evenp", EVENP); 118 definePrimitive1("fmakunbound", FMAKUNBOUND);119 117 definePrimitive1("fourth", FOURTH); 120 118 definePrimitive1("functionp", FUNCTIONP); … … 248 246 checkSymbol(arg).setSymbolValue(null); 249 247 return arg; 250 case FMAKUNBOUND: // ### fmakunbound251 checkSymbol(arg).setSymbolFunction(null);252 return arg;253 248 case SYMBOL_NAME: // ### symbol-name 254 249 if (arg.typep(Symbol.SYMBOL) != NIL) … … 747 742 } 748 743 throw new ConditionThrowable(new TypeError(arg, "valid function name")); 744 } 745 }; 746 747 // ### fmakunbound 748 private static final Primitive1 FMAKUNBOUND = new Primitive1("fmakunbound") 749 { 750 public LispObject execute(LispObject arg) throws ConditionThrowable 751 { 752 if (arg instanceof Symbol) { 753 ((Symbol)arg).setSymbolFunction(null); 754 } else if (arg instanceof Cons && arg.car() == Symbol.SETF) { 755 remprop(checkSymbol(arg.cadr()), 756 PACKAGE_SYS.intern("SETF-FUNCTION")); 757 } else 758 throw new ConditionThrowable(new TypeError(arg, "valid function name")); 759 return arg; 760 } 761 }; 762 763 // ### remprop 764 private static final Primitive2 REMPROP = new Primitive2("remprop") 765 { 766 public LispObject execute(LispObject first, LispObject second) 767 throws ConditionThrowable 768 { 769 return remprop(checkSymbol(first), second); 749 770 } 750 771 };
Note: See TracChangeset
for help on using the changeset viewer.