论文部分内容阅读
LISP,即列表处理器(List Processor),是1960年提出的一种编程语言,同时基于LISP语言书写时该语言代码的特殊性将其语法命名为:符号表达式(S-Expression)。由于LISP语言简单优雅的设计,LISP语言解释器的设计成为一种每个程序员都有能力尝试的挑战。LISP语言没有复杂的形式化语法,并且LISP解释器的每一个部分都可以向程序员开放。此外,LISP语言中代码和数据结构的统一性、读取期,编译期和运行期的分离,这两个特点让LISP语言的扩展能力无以伦比,可以达到理论上能想象的任何程度。因此开发一个LISP解释器对于学习和理解LISP语言、函数式变成语言、计算机的程序以及设计构造都是有很大的益处的。论文立足于敏捷编程理论,应用了Scrum方式对LISP解释器进行快速迭代的开发,主要使用JavaScript语言在SublimeText编辑器上设计并实现了一个可以在Chrome浏览器的V8引擎上运行完好的LISP解释器,主要实现了LISP解释器最基本的解释以及计算等功能。LISP解释器可以读取用户在网页代码输入框中输入的LISP代码,然后对输入的代码进行解释和运算,最后输出结果在网页上面。因为JavaScript可以很方便地实现跨平台应用,所以使用JavaScript语言开发LISP解释器能够省去开发环境或者生产环境改变时需要的改动。最后通过功能测试和自动化测试进行LISP解释器的功能验证,测试表明该基于JavaScript语言的LISP解释器功能性完整,可以作为商业应用的基础。本文第一章绪论介绍解释器的开发意义和背景外,第二章介绍了开发解释器选用的技术以及基于Scrum敏捷思想搭建了开发过程所需要的DevOps环境,第三章介绍了解释器的具体需求,第四章介绍了解释器的具体设计以及具体实现,第五章对解释器进行测试并对不足之处进行阐述,最后对本文进行总结。