Lisp:atom和string
我正在开发一个简单的Lisp解释器。现在我正试图为它编写一个解析器。我已经读到在Lisp中只有三种类型的块:Lisp:atom和string,lisp,tokenize,Lisp,Tokenize,我正在开发一个简单的Lisp解释器。现在我正试图为它编写一个解析器。我已经读到在Lisp中只有三种类型的块:atom,list,string。另外,我注意到string块可以嵌套到列表中,如: (格式t“某些字符串块…~%” string类型的构建块是否可以被视为atom块?首先,您选择作为“参考”的页面质量非常可疑。如果用“非常规”(委婉地说)的方式格式化Lisp代码,最明显的视觉危险信号就是 第二个,在Lisp中有非常具体的含义。当他们使用这个词的时候,他们的意思显然是 第三个,Lisp中的
atom
,list
,string
。另外,我注意到string
块可以嵌套到列表中,如:
(格式t“某些字符串块…~%”
string
类型的构建块是否可以被视为atom
块?首先,您选择作为“参考”的页面质量非常可疑。如果用“非常规”(委婉地说)的方式格式化Lisp代码,最明显的视觉危险信号就是
第二个,在Lisp中有非常具体的含义。当他们使用这个词的时候,他们的意思显然是
第三个,Lisp中的类型是类型的子类型:
因此,你所问问题的答案是:是的,每根弦都是一个原子
你应该问的问题的答案是:参考,而不是一些可疑的网站
PS。有几种常见的Lisp实现(例如。,
, ),
你可能想先看看他们是如何做事的。对不起,一个离题的问题。(terpri)
函数做什么?@kuznetsovregey==>在Lisp中,任何不是cons单元格的数据类型都是一个原子。如果您正在制作一个简单的基本Lisp,那么您可能会对它感兴趣
(atom "foo")
==> t