基于NodeJS函数接口描述的正则引擎的设计和实现
| 摘要 | 第5-6页 |
| Abstract | 第6页 |
| 缩略词 | 第7-10页 |
| 第一章 绪论 | 第10-14页 |
| 1.1 研究背景 | 第10-11页 |
| 1.2 国内外研究现状 | 第11-12页 |
| 1.3 论文研究内容及意义 | 第12-13页 |
| 1.4 论文组织结构 | 第13-14页 |
| 第二章 相关技术介绍 | 第14-24页 |
| 2.1 NodeJS平台 | 第14-16页 |
| 2.1.1 NodeJS平台简介 | 第14-15页 |
| 2.1.2 NodeJS平台的特点 | 第15-16页 |
| 2.2 正则表达式 | 第16-18页 |
| 2.3 正则引擎相关技术 | 第18-23页 |
| 2.3.1 有限状态自动机 | 第18页 |
| 2.3.2 正则引擎NFA技术 | 第18-20页 |
| 2.3.3 正则引擎DFA技术 | 第20-22页 |
| 2.3.4 NFA与DFA对比 | 第22-23页 |
| 2.4 本章小结 | 第23-24页 |
| 第三章 系统需求分析与概要设计 | 第24-28页 |
| 3.1 系统需求分析 | 第24-25页 |
| 3.2 系统概要设计 | 第25-26页 |
| 3.3 本章小结 | 第26-28页 |
| 第四章 NodeJS部分设计和实现 | 第28-42页 |
| 4.1 正则表达式函数接口的设计和实现 | 第28-30页 |
| 4.1.1 设计和实现生成对象 | 第28-29页 |
| 4.1.2 设计和实现函数接口 | 第29-30页 |
| 4.1.3 非法输入处理 | 第30页 |
| 4.2 NodeJS扩展的基本概念 | 第30-32页 |
| 4.2.1 扩展编写流程 | 第30-31页 |
| 4.2.2 扩展加载流程 | 第31页 |
| 4.2.3 基本对象 | 第31页 |
| 4.2.4 基本封装 | 第31-32页 |
| 4.2.5 接口转换层 | 第32页 |
| 4.3 NodeJS扩展的设计和实现 | 第32-41页 |
| 4.3.1 模块对象的封装 | 第32-34页 |
| 4.3.2 模块对象的构造 | 第34-36页 |
| 4.3.3 主要接口的实现 | 第36-40页 |
| 4.3.4 扩展构建与打包 | 第40-41页 |
| 4.4 本章小结 | 第41-42页 |
| 第五章 正则引擎部分设计和实现 | 第42-56页 |
| 5.1 设计背景 | 第42-43页 |
| 5.2 NFA Parser模块设计和实现 | 第43-48页 |
| 5.2.1 非法字符检测 | 第45页 |
| 5.2.2 串联操作的处理 | 第45-46页 |
| 5.2.3 可选操作的处理 | 第46-47页 |
| 5.2.4 重复操作的处理 | 第47-48页 |
| 5.3 NFA转换DFA模块设计和实现 | 第48-53页 |
| 5.3.1 转换算法的运行方式 | 第48-50页 |
| 5.3.2 转换实现细节 | 第50-52页 |
| 5.3.3 DFA优化 | 第52-53页 |
| 5.4 匹配接口模块设计和实现 | 第53-55页 |
| 5.5 本章小结 | 第55-56页 |
| 第六章 系统测试 | 第56-62页 |
| 6.1 系统功能测试 | 第56-57页 |
| 6.2 系统性能测试 | 第57-60页 |
| 6.3 本章小结 | 第60-62页 |
| 第七章 总结与展望 | 第62-64页 |
| 7.1 总结 | 第62页 |
| 7.2 展望 | 第62-64页 |
| 致谢 | 第64-66页 |
| 参考文献 | 第66-68页 |
| 作者简介 | 第68页 |