0

我在“Lisp 之国”一书中读到,作者提到syntax expression。这是否意味着能够将语法表达为一种数据形式?这和S-expression(符号表达式)一样吗?

4

1 回答 1

2

符号表达式是从 Lisp 已知的被序列化的数据。它使用符号、字符串、数字、列表等。( expression列表以*的形式编写)

《 Land of Lisp》的作者谈到了语法表达式Lisp 语法表达式。似乎这是他发明(发现?)的东西。;-) 他可能指的是 Lisp 语法中的一个表达式,其中类似于(walk right)这样的表达式,列表的第一个元素是动词。

在 Common Lisp 中,编程语言的有效表达式称为Lisp 形式。所以一个 s-expression 可以表达各种数据,但并不是所有的 s-expression 都是有效的 Lisp 程序。例如(defun),它不是一个有效的 Common Lisp 程序,因为它缺少函数名和参数列表 - 加上可选的声明、文档和实现主体:(defun foo ()).

于 2012-03-04T14:46:49.887 回答