什么是语法表达?

时间:2012-03-04 13:46:23

标签: lisp s-expression land-of-lisp

我在“Lisp的土地”一书中读到,作者提到了syntax expression。这是否意味着将语法表达为数据形式的能力?这与S-expression(符号表达式)相同吗?

1 个答案:

答案 0 :(得分:2)

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

Land of Lisp 的作者讨论语法表达式 Lisp语法表达式。这似乎是他发明的东西(被发现?)。 ;-)他可能意味着Lisp语法中的表达式,其中像(walk right)这样的表达式是列表的第一个元素是动词。

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