基于静态分析的C程序控制流图构造方法研究
| 中文摘要 | 第1-5页 |
| ABSTRACT | 第5-10页 |
| 第一章 绪论 | 第10-14页 |
| ·研究背景及意义 | 第10页 |
| ·国内外研究现状及分析 | 第10-12页 |
| ·国内外研究现状 | 第10-12页 |
| ·有待进一步解决的问题 | 第12页 |
| ·本文的主要工作 | 第12-13页 |
| ·本文的组织结构 | 第13-14页 |
| 第二章 相关理论知识及技术 | 第14-21页 |
| ·编译相关理论知识 | 第14-16页 |
| ·词法分析 | 第14页 |
| ·语法分析 | 第14-15页 |
| ·语义分析 | 第15-16页 |
| ·分析器自动生成工具 ANTLR 简介 | 第16-17页 |
| ·ANTLR 的语法结构 | 第17-20页 |
| ·本章小结 | 第20-21页 |
| 第三章 构造控制流图的关键技术及解决方案 | 第21-34页 |
| ·控制流图的概念及分析基本流程 | 第21-22页 |
| ·控制流图的概念 | 第21页 |
| ·控制流分析的基本流程 | 第21-22页 |
| ·C 语言文法的设计 | 第22-26页 |
| ·文法的选取 | 第22-24页 |
| ·ANTLR 抽象语法树 | 第24-26页 |
| ·控制流图的具体表示形式 | 第26-31页 |
| ·简单语句的控制流图 | 第27页 |
| ·if 语句的控制流图 | 第27页 |
| ·switch 语句的控制流图 | 第27-28页 |
| ·while 语句的控制流图 | 第28页 |
| ·do_while 语句的控制流图 | 第28-29页 |
| ·for 语句的控制流图 | 第29-30页 |
| ·break 语句的控制流图 | 第30页 |
| ·continue 语句的控制流图 | 第30-31页 |
| ·控制流图的可视化 | 第31-32页 |
| ·本章小结 | 第32-34页 |
| 第四章 控制流图生成算法的设计与实现 | 第34-41页 |
| ·控制流图相应数据结构的设计 | 第34-36页 |
| ·控制流图结点的设计 | 第34-35页 |
| ·其他相关数据结构的设计 | 第35-36页 |
| ·控制流图生成算法的设计 | 第36-40页 |
| ·简单语句结点处理算法 | 第36-37页 |
| ·if 语句结点处理算法 | 第37页 |
| ·switch 语句结点处理算法 | 第37-38页 |
| ·while 语句结点处理算法 | 第38页 |
| ·do_while 语句结点处理算法 | 第38页 |
| ·for 语句结点处理算法 | 第38-39页 |
| ·break 语句结点处理算法 | 第39页 |
| ·continue 语句结点处理算法 | 第39-40页 |
| ·label 语句结点处理算法 | 第40页 |
| ·本章小结 | 第40-41页 |
| 第五章 控制流图可视化实验系统的设计与实现 | 第41-47页 |
| ·设计思路 | 第41页 |
| ·开发环境与技术 | 第41-45页 |
| ·ANTLR 开发环境 | 第41-43页 |
| ·控制流图的可视化 | 第43-45页 |
| ·系统界面 | 第45-46页 |
| ·本章小结 | 第46-47页 |
| 第六章 控制流图的实际应用及实验分析 | 第47-53页 |
| ·系统测试及应用 | 第47-52页 |
| ·if 语句测试 | 第47-49页 |
| ·switch 语句测试 | 第49-50页 |
| ·while 语句测试 | 第50页 |
| ·do_while 语句测试 | 第50-51页 |
| ·for 语句测试 | 第51-52页 |
| ·包含多种语句的综合测试 | 第52页 |
| ·本章小结 | 第52-53页 |
| 第七章 结束语 | 第53-55页 |
| ·工作总结 | 第53页 |
| ·不足之处与下一步的工作 | 第53-55页 |
| 参考文献 | 第55-58页 |
| 附录 1 ANSI_C 文法 | 第58-66页 |
| 附录 2 GraphViz 类 | 第66-70页 |
| 致谢 | 第70-71页 |
| 攻读学位期间发表的论文 | 第71页 |