C/C++代码审查辅助工具的设计与实现
| 摘要 | 第5-6页 |
| ABSTRACT | 第6页 |
| 缩略语对照表 | 第10-13页 |
| 第一章 绪论 | 第13-17页 |
| 1.1 选题缘由和意义 | 第13-14页 |
| 1.2 国内外现状分析 | 第14页 |
| 1.3 论文工作内容 | 第14-15页 |
| 1.4 论文组织结构 | 第15-17页 |
| 第二章 相关技术概述 | 第17-21页 |
| 2.1 解析器 | 第17-18页 |
| 2.2 可视化技术 | 第18-19页 |
| 2.3 Eclipse RCP技术 | 第19-20页 |
| 2.4 本章小结 | 第20-21页 |
| 第三章 C/C++代码审查辅助工具的需求分析 | 第21-27页 |
| 3.1 代码审查过程 | 第21-22页 |
| 3.2 C/C++代码审查辅助工具的需求建模 | 第22-25页 |
| 3.3 本章小结 | 第25-27页 |
| 第四章 C/C++代码审查辅助工具的设计与实现 | 第27-67页 |
| 4.1 C/C++代码审查辅助工具应用架构 | 第27-28页 |
| 4.2 词法分析器 | 第28-37页 |
| 4.2.1 记号、单词和模式 | 第29-30页 |
| 4.2.2 正规式和记号识别 | 第30-31页 |
| 4.2.3 数字常量 | 第31-34页 |
| 4.2.4 关键字和标示符的识别 | 第34页 |
| 4.2.5 用于存储保留字的数据结构和算法 | 第34-36页 |
| 4.2.6 如何跳过空白和注释 | 第36页 |
| 4.2.7 预读 | 第36-37页 |
| 4.3 语法分析器 | 第37-50页 |
| 4.3.1 自顶向下分析方法 | 第37-38页 |
| 4.3.2 文法定义 | 第38页 |
| 4.3.3 文法设计 | 第38-39页 |
| 4.3.4 元素声明和定义的文法设计 | 第39-42页 |
| 4.3.5 结构体和类的文法设计 | 第42-43页 |
| 4.3.6 语句的文法设计 | 第43-45页 |
| 4.3.7 表达式的文法设计 | 第45-47页 |
| 4.3.8 递归下降子程序设计 | 第47-50页 |
| 4.4 代码管理 | 第50-55页 |
| 4.4.1 内存分配 | 第50-52页 |
| 4.4.2 索引器 | 第52-55页 |
| 4.5 代码阅读 | 第55-66页 |
| 4.5.1 持久化存储 | 第56-58页 |
| 4.5.2 数据库设计 | 第58-61页 |
| 4.5.3 项目导航、文件导航和代码导航 | 第61页 |
| 4.5.4 代码浏览 | 第61页 |
| 4.5.5 调用关系图 | 第61-63页 |
| 4.5.6 审查记录单及其子功能 | 第63-64页 |
| 4.5.7 问题单功能及其子功能 | 第64-65页 |
| 4.5.8 外部工具 | 第65-66页 |
| 4.5.9 版本迁移 | 第66页 |
| 4.6 本章小结 | 第66-67页 |
| 第五章 C/C++代码审查辅助工具的测试及分析 | 第67-75页 |
| 5.1 系统运行环境 | 第67页 |
| 5.2 测试用例及过程 | 第67-72页 |
| 5.3 测试结果分析 | 第72页 |
| 5.4 本章小结 | 第72-75页 |
| 第六章 结论和展望 | 第75-77页 |
| 6.1 研究结论 | 第75页 |
| 6.2 研究展望 | 第75-77页 |
| 参考文献 | 第77-79页 |
| 致谢 | 第79-81页 |
| 作者简介 | 第81页 |