摘要 | 第3-4页 |
abstract | 第4-5页 |
1 绪论 | 第9-16页 |
1.1 研究背景 | 第9页 |
1.2 LISP的历史背景 | 第9-10页 |
1.3 LISP的发展历程和现状 | 第10-14页 |
1.3.1 LISP的方言 | 第10-11页 |
1.3.2 LISP的现状 | 第11-14页 |
1.4 研究课题的意义 | 第14-15页 |
1.5 论文结构及研究内容 | 第15-16页 |
2 解释器设计实现技术介绍 | 第16-24页 |
2.1 LISP语言介绍 | 第16-18页 |
2.1.1 LISP语言的特点 | 第16页 |
2.1.2 LISP的数据类型 | 第16页 |
2.1.3 LISP的语句结构 | 第16-17页 |
2.1.4 LISP语言的关键字 | 第17-18页 |
2.2 JAVASCRIPT语言 | 第18页 |
2.3 SCRUM敏捷开发介绍 | 第18-20页 |
2.3.1 Scrum角色 | 第18-19页 |
2.3.2 Scrum的开发流程 | 第19页 |
2.3.3 Scrum实现的关键 | 第19-20页 |
2.4 DEVOPS介绍 | 第20-23页 |
2.4.1 DevOps解决的痛点 | 第21页 |
2.4.2 DevOps对应用程序发布的影响 | 第21-22页 |
2.4.3 DevOps环境搭建 | 第22-23页 |
2.5 本章小结 | 第23-24页 |
3 LISP解释器的需求分析 | 第24-29页 |
3.1 LISP解释器的功能概述 | 第24-25页 |
3.2 解析器的工作机制 | 第25页 |
3.3 LISP解释器的功能模块说明 | 第25-28页 |
3.3.1 读取期 | 第25-27页 |
3.3.2 编译期 | 第27页 |
3.3.3 运行期 | 第27-28页 |
3.4 本章小结 | 第28-29页 |
4 LISP解释器的具体实现 | 第29-44页 |
4.1 LISP解释器读取期的实现(读取-求值-输出) | 第29-33页 |
4.2 LISP解释器编译期的实现 | 第33-35页 |
4.2.1 语法分析 | 第33-34页 |
4.2.2 语法分析的具体实现代码 | 第34-35页 |
4.3 LISP解释器运行期的实现 | 第35-41页 |
4.3.1 计算 | 第35-37页 |
4.3.2 运行中的错误处理 | 第37-39页 |
4.3.3 表达式S-expression | 第39-41页 |
4.4 开发环境 | 第41-42页 |
4.4.1 代码编辑器 | 第41-42页 |
4.4.2 运行环境 | 第42页 |
4.5 本章小结 | 第42-44页 |
5 LISP解释器的测试 | 第44-64页 |
5.1 程序测试介绍 | 第44-45页 |
5.1.1 单元测试 | 第44-45页 |
5.1.2 集成测试 | 第45页 |
5.2 LISP解释器的自动化测试实现 | 第45-51页 |
5.2.1 自动化测试介绍 | 第45-46页 |
5.2.2 CI自动化测试平台设计 | 第46页 |
5.2.3 测试平台子模块设计 | 第46-47页 |
5.2.4 自动化测试平台的搭建 | 第47-50页 |
5.2.5 持续集成 | 第50-51页 |
5.3 使用BDD方式进行测试 | 第51-55页 |
5.3.1 BDD简介 | 第51-52页 |
5.3.2 使用Cucumber实现 Java Script 的自动化测试 | 第52-55页 |
5.4 LISP解释器的功能性测试 | 第55-62页 |
5.4.1 LISP的交互页面的显示 | 第55-56页 |
5.4.2 LISP的计算测试 | 第56-58页 |
5.4.3 LISP的赋值测试 | 第58-61页 |
5.4.4 LISP的lambda表达式测试 | 第61页 |
5.4.5 LISP的异常处理测试 | 第61-62页 |
5.5 本章小结 | 第62-64页 |
6 系统结果分析 | 第64-66页 |
6.1 系统结果 | 第64页 |
6.2 LISP解释器的不足之处 | 第64-65页 |
6.3 本章小结 | 第65-66页 |
7 总结与展望 | 第66-68页 |
7.1 论文总结 | 第66-67页 |
7.2 工作展望 | 第67-68页 |
参考文献 | 第68-71页 |
致谢 | 第71-72页 |