java - 运行使用 cl-cppre 的 ABCL 代码

标签 java lisp common-lisp abcl cl-ppcre

引用我之前的问题, Executing a lisp function from Java 我能够使用 ABCL 从 Java 调用 lisp 代码。 但问题是,现有的 lisp 代码使用 CL-PPCRE 包。 我无法编译代码,因为它显示“未找到 CL-PPCRE”。 我尝试了不同的方法来添加该包, 包括 1) how does one compile a clisp program which uses cl-ppcre? 2) https://groups.google.com/forum/#!topic/cl-ppcre/juSfOhEDa1k

不起作用! 另一件事是,执行(编译文件 aima.asd)工作得很好,尽管它也需要 cl-pprce

(defpackage #:aima-asd
(:use :cl :asdf))

(in-package :aima-asd)

(defsystem aima
  :name "aima"
  :version "0.1"
  :components ((:file "defpackage")
           (:file "main" :depends-on ("defpackage")))
   :depends-on (:cl-ppcre))

最终的java代码是

interpreter.eval("(load \"aima/asdf.lisp\")");
interpreter.eval("(compile-file \"aima/aima.asd\")");
interpreter.eval("(compile-file \"aima/defpackage.lisp\")");
interpreter.eval("(in-package :aima)");
interpreter.eval("(load \"aima/aima.lisp\")");
interpreter.eval("(aima-load 'all)");

错误信息是

Error loading C:/Users/Administrator.NUIG-1Z7HN12/workspace/aima/probability/domains/edit-nets.lisp at line 376 (offset 16389)
#<THREAD "main" {3A188AF2}>: Debugger invoked on condition of type READER-ERROR
  The package "CL-PPCRE" can't be found.
[1] AIMA(1): 

有人可以帮助我吗?

最佳答案

您需要先加载cl-ppcre才能使用它。您可以使用 (asdf:load-system :aima) 来完成此操作,前提是将 aima 和 cl-ppcre 放入 ASDF 搜索的位置。

关于java - 运行使用 cl-cppre 的 ABCL 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28172357/

相关文章:

lisp - 简单的 LISP 函数不起作用

java - OOP - 贷款类别错误

java - 如何在java中从带参数的字符串动态创建实例?

java - Hibernate : org. hibernate.PropertyAccessException:IllegalArgumentException

java - 使用 JSOUP 删除重复的 elementText 值

tree - lisp中的中序遍历

lisp - Common Lisp 中的 append 如何工作?

functional-programming - 有没有允许句法抽象的非 Lisp 方言?

Common-Lisp:绑定(bind)形式参数,到底传递了什么?

macos - Common Lisp 程序的 OS X 包