Sexpression

夜深了,还在继续修炼自己的lisp。

S-expression实际上就是symbolic expression的缩写。

可以是一个atom 或者一个括号组成的list, 比如(x y), x 和 y也可以是S-expresssion

一般用二叉树来实现S-expression, 比如,下面的来自wiki中的例子:http://en.wikipedia.org/wiki/S-expression

Tree data structure representing the s-expression for (* 2 (+ 3 4))

 

一般而言,list会以nil结尾. 比如:

(x y z)

等价于

(x . (y . (z . NIL)))

而nil 其实就是特殊的空list, 等价于 '()

 

我现在还不知道newlisp是如何实现的,以上只是一般的知识。

 

原文地址:https://www.cnblogs.com/xinyuyuanm/p/2999228.html