pan*_*rey 4 c lisp parsing interpreter common-lisp
我正在用 C 实现一个 lisp 解释器,我已经实现了一些原语,如 cons 、 car 、 cdr 、 eq 、基本算术东西。
就在我开始实现 Define 和 lambda 之前,我突然想到我需要实现一个环境。我不确定我是否可以在 lisp 本身中实现它。
我的目的是实现最少量的 lisp,以便我可以编写该语言本身的扩展。我不确定最低限度是多少,实施 FFI 是否符合最低限度要求?
您问题的答案取决于您赋予单词 \xe2\x80\x9cminimal\xe2\x80\x9d 的含义。
\n\n鉴于你的问题,并假设你不想让实现与 Common Lisp 和 Schema 的当今精细实现竞争,我的假设是,使用 \xe2\x80\x9cminimal\xe2\x80\x9d 你打算:图灵Complete,能够表达任何可以用通用编程语言表达的计算。
\n\n有了这个假设,您需要实现其他三件事:
\n\ncond)lambda)labels一种定义递归 lambda 表达式 (或defun)的方法然后,您的口译员应该能够评估表格。这应该足以拥有与初始LISP等效的语言,允许用该语言表达任何可计算函数。
\n