基于静态分析的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页 |