我下载语义网络处理器项目: http://digital.cs.usu.edu/~vkulyukin/vkweb/software/snp/snp.html
并跟着它读了我, 通过使用CLISP解释器我将目录更改为文件夹, 并执行以下操作:
[3]> (load "snp-loader.lisp")
;; Loading file snp-loader.lisp ...
;; Loaded file snp-loader.lisp
T
[4]> (in-package "USER")
<PACKAGE COMMON-LISP-USER>
[5]> (snp-load-everything)
**- MAKE-PATHNAME: Illegal :DIRECTORY argument "D:\\snp-stable\\"**
The following restarts are available:
ABORT :R1 Abort main loop
任何人都可以告诉我错误或如何解决它以使项目运行?
答案 0 :(得分:4)
在 snp-loader.lisp 中,您需要致电directory-namestring
而不是pathname-directory
:
(defparameter parm-snp-load-dir
(pathname-directory *load-truename*))
但是,在为expectations-on-token
定义方法时,稍后会出现另一个问题。在 c-snp-with-vars.lisp 中,文档字符串格式错误,从而触发错误。加入两个字符串:
(defmethod expectations-on-token ((this-snp c-snp-with-vars) (tok t))
"Overloaded expectations-on-token to process variables and tests.
Get all expectations waiting for the token tok."
`(,@(find-static-expectations this-snp tok)
,@(find-dynamic-expectations this-snp tok)))
重新加载 snp-loader.lisp 文件,然后重试(snp-load-everything)
。它应该正确加载。
编辑。我联系了原作者;最新版本的代码现在托管在GitHub上https://github.com/VKEDCO/AI/tree/master/NL/SNP 。