📅  最后修改于: 2020-11-03 07:06:08             🧑  作者: Mango
LISP表达式称为符号表达式或s表达式。 s表达式由三个有效对象,原子,列表和字符串。
任何s表达式都是有效程序。
LISP程序可以在解释器上运行,也可以作为已编译的代码运行。
解释器以重复循环的形式检查源代码,该循环也称为“读取-评估-打印”循环(REPL)。它读取程序代码,对其进行评估,然后打印该程序返回的值。
让我们编写一个s表达式来查找三个数字7、9和11的和。为此,我们可以在解释器提示符下键入。
(+ 7 9 11)
LISP返回结果-
27
如果要运行与已编译代码相同的程序,请创建一个名为myprog.lisp的LISP源代码文件,然后在其中键入以下代码。
(write (+ 7 9 11))
当您单击执行按钮或键入Ctrl + E时,LISP立即执行它,返回的结果是-
27
您可能已经注意到LISP使用前缀表示法。
在上面的程序中,+符号用作数字求和过程的函数名称。
在前缀表示法中,运算符写在其操作数之前。例如,表达式
a * ( b + c ) / d
将被写为-
(/ (* a (+ b c) ) d)
让我们再举一个例子,让我们编写代码,将60 o F的华氏温度转换为摄氏度-
该转换的数学表达式为-
(60 * 9 / 5) + 32
创建一个名为main.lisp的源代码文件,然后在其中键入以下代码。
(write(+ (* (/ 9 5) 60) 32))
当您单击执行按钮或键入Ctrl + E时,LISP立即执行它,返回的结果是-
140
对LISP程序的评估包括两个部分-
阅读器程序将程序文本转换为Lisp对象
由评估程序根据这些对象实现语言的语义
评估过程采取以下步骤-
读者转换字符的字符串对象LISP或s表达式。
评估程序定义从s表达式构建的Lisp表单的语法。第二层评估定义了一种语法,该语法确定哪些s表达式是LISP形式。
该评估工作为采取有效的LISP形式作为参数和返回值的函数。这就是为什么将LISP表达式放在括号中的原因,因为我们将整个表达式/表单作为参数发送给评估者。
学习一种新的编程语言并不是真正的腾飞,除非您学习如何用这种语言向全世界问好,对!
因此,请创建一个名为main.lisp的新源代码文件,然后在其中键入以下代码。
(write-line "Hello World")
(write-line "I am at 'Tutorials Point'! Learning LISP")
当您单击执行按钮或键入Ctrl + E时,LISP立即执行它,返回的结果是-
Hello World
I am at 'Tutorials Point'! Learning LISP