1 21 22 package org.armedbear.lisp; 23 24 public abstract class DispatchMacroFunction extends Function 25 { 26 public DispatchMacroFunction(String name) 27 { 28 super(name); 29 } 30 31 public DispatchMacroFunction(String name, String arglist) 32 { 33 super(name, arglist); 34 } 35 36 public DispatchMacroFunction(String name, Package pkg) 37 { 38 super(name, pkg); 39 } 40 41 public DispatchMacroFunction(String name, Package pkg, boolean exported) 42 { 43 super(name, pkg, exported); 44 } 45 46 public DispatchMacroFunction(String name, Package pkg, boolean exported, 47 String arglist) 48 { 49 super(name, pkg, exported, arglist); 50 } 51 52 public LispObject execute(LispObject first, LispObject second, 53 LispObject third) 54 throws ConditionThrowable 55 { 56 Stream stream = inSynonymOf(first); 57 char c = LispCharacter.getValue(second); 58 int n; 59 if (third == NIL) 60 n = -1; 61 else 62 n = Fixnum.getValue(third); 63 return execute(stream, c, n); 64 } 65 66 public abstract LispObject execute(Stream stream, char c, int n) 67 throws ConditionThrowable; 68 } 69 | Popular Tags |