Changeset 12740
- Timestamp:
- 06/06/10 22:01:48 (12 years ago)
- Location:
- trunk/abcl/src/org/armedbear/lisp/scripting
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/abcl/src/org/armedbear/lisp/scripting/AbclScriptEngine.java
r12513 r12740 279 279 } 280 280 281 @Override282 281 public <T> T getInterface(Class<T> clasz) { 283 282 try { … … 289 288 290 289 @SuppressWarnings("unchecked") 291 @Override292 290 public <T> T getInterface(Object thiz, Class<T> clasz) { 293 291 Symbol s = findSymbol("jmake-proxy", "JAVA"); … … 296 294 } 297 295 298 @Override299 296 public Object invokeFunction(String name, Object... args) throws ScriptException, NoSuchMethodException { 300 297 Symbol s; … … 321 318 } 322 319 323 @Override324 320 public Object invokeMethod(Object thiz, String name, Object... args) throws ScriptException, NoSuchMethodException { 325 321 throw new UnsupportedOperationException("Common Lisp does not have methods in the Java sense. Use invokeFunction instead."); -
trunk/abcl/src/org/armedbear/lisp/scripting/AbclScriptEngineFactory.java
r12160 r12740 32 32 private static final AbclScriptEngine THE_ONLY_ONE_ENGINE = new AbclScriptEngine(); 33 33 34 @Override 35 public String getEngineName() { 36 return "ABCL Script"; 34 public String getEngineName() { 35 return "ABCL Script"; 36 } 37 38 public String getEngineVersion() { 39 return "0.1"; 40 } 41 42 public List<String> getExtensions() { 43 List<String> extensions = new ArrayList<String>(1); 44 extensions.add("lisp"); 45 return Collections.unmodifiableList(extensions); 46 } 47 48 public String getLanguageName() { 49 return "ANSI Common Lisp"; 50 } 51 52 public String getLanguageVersion() { 53 return "ANSI X3.226:1994"; 54 } 55 56 public static String escape(String raw) { 57 StringBuilder sb = new StringBuilder(); 58 int len = raw.length(); 59 char c; 60 for(int i = 0; i < len; ++i) { 61 c = raw.charAt(i); 62 if(c != '"') { 63 sb.append(c); 64 } else { 65 sb.append("\\\""); 66 } 37 67 } 68 return sb.toString(); 69 } 70 71 public String getMethodCallSyntax(String obj, String method, String... args) { 72 StringBuilder sb = new StringBuilder(); 73 sb.append("(jcall \""); 74 sb.append(method); 75 sb.append("\" "); 76 sb.append(obj); 77 for(String arg : args) { 78 sb.append(" "); 79 sb.append(arg); 80 } 81 sb.append(")"); 82 return sb.toString(); 83 } 84 85 public List<String> getMimeTypes() { 86 return Collections.unmodifiableList(new ArrayList<String>()); 87 } 38 88 39 @Override 40 public String getEngineVersion() { 41 return "0.1"; 89 public List<String> getNames() { 90 List<String> names = new ArrayList<String>(1); 91 names.add("ABCL"); 92 names.add("cl"); 93 names.add("Lisp"); 94 names.add("Common Lisp"); 95 return Collections.unmodifiableList(names); 96 } 97 98 public String getOutputStatement(String str) { 99 return "(cl:print \"" + str + "\")"; 100 } 101 102 public Object getParameter(String key) { 103 // TODO Auto-generated method stub 104 return null; 105 } 106 107 public String getProgram(String... statements) { 108 StringBuilder sb = new StringBuilder(); 109 sb.append("(cl:progn"); 110 for(String stmt : statements) { 111 sb.append("\n\t"); 112 sb.append(stmt); 42 113 } 43 44 @Override 45 public List<String> getExtensions() { 46 List<String> extensions = new ArrayList<String>(1); 47 extensions.add("lisp"); 48 return Collections.unmodifiableList(extensions); 49 } 50 51 @Override 52 public String getLanguageName() { 53 return "ANSI Common Lisp"; 54 } 55 56 @Override 57 public String getLanguageVersion() { 58 return "ANSI X3.226:1994"; 59 } 60 61 public static String escape(String raw) { 62 StringBuilder sb = new StringBuilder(); 63 int len = raw.length(); 64 char c; 65 for(int i = 0; i < len; ++i) { 66 c = raw.charAt(i); 67 if(c != '"') { 68 sb.append(c); 69 } else { 70 sb.append("\\\""); 71 } 72 } 73 return sb.toString(); 74 } 75 76 @Override 77 public String getMethodCallSyntax(String obj, String method, String... args) { 78 StringBuilder sb = new StringBuilder(); 79 sb.append("(jcall \""); 80 sb.append(method); 81 sb.append("\" "); 82 sb.append(obj); 83 for(String arg : args) { 84 sb.append(" "); 85 sb.append(arg); 86 } 87 sb.append(")"); 88 return sb.toString(); 89 } 90 91 @Override 92 public List<String> getMimeTypes() { 93 return Collections.unmodifiableList(new ArrayList<String>()); 94 } 95 96 @Override 97 public List<String> getNames() { 98 List<String> names = new ArrayList<String>(1); 99 names.add("ABCL"); 100 names.add("cl"); 101 names.add("Lisp"); 102 names.add("Common Lisp"); 103 return Collections.unmodifiableList(names); 104 } 105 106 @Override 107 public String getOutputStatement(String str) { 108 return "(cl:print \"" + str + "\")"; 109 } 110 111 @Override 112 public Object getParameter(String key) { 113 // TODO Auto-generated method stub 114 return null; 115 } 116 117 @Override 118 public String getProgram(String... statements) { 119 StringBuilder sb = new StringBuilder(); 120 sb.append("(cl:progn"); 121 for(String stmt : statements) { 122 sb.append("\n\t"); 123 sb.append(stmt); 124 } 125 sb.append(")"); 126 return sb.toString(); 127 } 128 129 @Override 130 public ScriptEngine getScriptEngine() { 131 return THE_ONLY_ONE_ENGINE; 132 } 114 sb.append(")"); 115 return sb.toString(); 116 } 117 118 public ScriptEngine getScriptEngine() { 119 return THE_ONLY_ONE_ENGINE; 120 } 133 121 134 122 }
Note: See TracChangeset
for help on using the changeset viewer.