Lisp:atom和string

Lisp:atom和string,lisp,tokenize,Lisp,Tokenize,我正在开发一个简单的Lisp解释器。现在我正试图为它编写一个解析器。我已经读到在Lisp中只有三种类型的块:atom,list,string。另外,我注意到string块可以嵌套到列表中,如: (格式t“某些字符串块…~%” string类型的构建块是否可以被视为atom块?首先,您选择作为“参考”的页面质量非常可疑。如果用“非常规”(委婉地说)的方式格式化Lisp代码,最明显的视觉危险信号就是 第二个,在Lisp中有非常具体的含义。当他们使用这个词的时候,他们的意思显然是 第三个,Lisp中的

我正在开发一个简单的Lisp解释器。现在我正试图为它编写一个解析器。我已经读到在Lisp中只有三种类型的块:
atom
list
string
。另外,我注意到
string
块可以嵌套到
列表中,如:

(格式t“某些字符串块…~%”


string
类型的构建块是否可以被视为
atom
块?

首先,您选择作为“参考”的页面质量非常可疑。如果用“非常规”(委婉地说)的方式格式化Lisp代码,最明显的视觉危险信号就是

第二个,在Lisp中有非常具体的含义。当他们使用这个词的时候,他们的意思显然是

第三个,Lisp中的类型是类型的子类型:

因此,你所问问题的答案是:是的,每根弦都是一个原子

你应该问的问题的答案是:参考,而不是一些可疑的网站

PS。有几种常见的Lisp实现(例如。, , ),
你可能想先看看他们是如何做事的。

对不起,一个离题的问题。
(terpri)
函数做什么?@kuznetsovregey==>在Lisp中,任何不是cons单元格的数据类型都是一个原子。如果您正在制作一个简单的基本Lisp,那么您可能会对它感兴趣
(atom "foo")
==> t