我不确定我是否正确,但我很确定我正在寻找一个可以放入我的C++程序的LISP解释器.
我想象的理想情况是一个函数或者其他东西,我可以传递包含LISP代码的字符串,文件或文件名,然后在其他部分使用LISP代码的输出.
换句话说(print (eval (read)))
,我想read
成为我所输入的内容,以及我可以从打印中解析的字符串.
如果您对Common Lisp感兴趣,那就是ECL.
来自FAQ:
2.1这种"嵌入"的东西是什么意思?
ECL是Common-Lisp语言的完整实现.但是,由于它的实现方式,实现可以用作您自己的应用程序的可扩展性语言,就像Guile适用于Scheme语言一样.通过一组相当简单的函数,您可以解析,编译和执行Common-Lisp表单,并使用外部函数接口(FFI),您可以向Common-Lisp添加适合您的特定于域的语言的新函数.
和:
2.2如何将ECL嵌入我的应用程序?
您必须使用ECL库,它名为libecl.so,libecl.dyld或ecl.dll,具体取决于您的操作系统(Unix,Mac OSX或Windows).程序ecl-config将分别使用ecl-config --cflags或ecl-config --ldflags为您提供必须传递给C/C++编译器和链接器的标志.关于您的程序,除了链接到ECL库之外,您还必须调用正确的初始化例程cl_boot(),以便ECL设置适当的内部结构.调用此例程后,您将能够运行lisp代码并创建或操作lisp数据
.
归档时间: |
|
查看次数: |
3910 次 |
最近记录: |