运行 使用 cl-cppre 的 ABCL 代码

Run an ABCL code that uses cl-cppre

关于我之前的问题, 我能够使用 ABCL 从 Java 调用 lisp 代码。 但问题是,现有的 lisp 代码使用 CL-PPCRE 包。 我无法编译代码 'CL-PPCRE not found'。 我尝试了不同的方法来添加那个包, 包含 1) how does one compile a clisp program which uses cl-ppcre? 2)https://groups.google.com/forum/#!topic/cl-ppcre/juSfOhEDa1k

无效! 另一件事是,执行 (compile-file 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 搜索的位置。

我使用 QuickLisp 来添加 cl-ppcre(因为没有其他方法对我有用)。 这是我做的

(load \"~/QuickLisp.lisp\")")
(quicklisp-quickstart:install) 
(load "~/quicklisp/setup.lisp")
(ql:quickload :cl-ppcre)

前两行只是一次性的事情。安装 quickLisp 后,您可以从第 3 行开始。