Lisp加载错误:调度宏中的未定义字符

时间:2015-04-22 17:20:41

标签: lisp common-lisp ccl reader-macro

我认为我的生日是尝试解决我的Lisp问题的好时机。

我收到某人的Lisp程序来进行实验。它在OS X环境中运行良好。但是,我不能让它在Windows 7或Ubuntu上运行。该程序使用Act-R 6.2来运行模型。当我尝试加载.lisp文件时,收到以下错误:

:Reader error on #<BASIC-FILE-CHARACTER-INPUT-STREAM ("*path*"/28 UTF-8)#xCFAD1AE, near position 1048, within "smile* (#initWithCo":
Undefined character #\/ in a #\# dispatch macro.
While executing: CCL:SIGNAL-READER-ERROR, in process listener(1) 

Windows 7和Ubuntu的错误完全相同。如果需要,这是控制台输出:

http://i.stack.imgur.com/dFXVm.png

似乎load-turing-application.lisp加载了多个其他文件,其中一个是turing-application-v1.lisp,其中行(setf *smile* (#/initWithContentsOfFile: (#/alloc ns:ns-image)(ccl::%make-nsstring "smiley.jpg"))) 似乎是罪魁祸首。我怀疑它与#/ - 符号有关。

任何想法都会受到赞赏。

1 个答案:

答案 0 :(得分:2)

这在评论中得到了解答,但是#/是一种仅在OS X上可用的CCL语法。此代码不适用于Linux或Windows。