声明
摘要
第一章 绪论
1.1 研究背景及意义
1.2 国内外研究现状及分析
1.2.1 国内外研究现状
1.2.2 有待进一步解决的问题
1.3 本文的主要工作
1.4 本文的组织结构
第二章 相关理论知识及技术
2.1 编译相关理论知识
2.1.1 词法分析
2.1.2 语法分析
2.1.3 语义分析
2.2 分析器自动生成工具ANTLR简介
2.3 ANTLR的语法结构
2.4 本章小结
第三章 构造控制流图的关键技术及解决方案
3.1 控制流图的概念及分析基本流程
3.1.1 控制流图的概念
3.1.2 控制流分析的基本流程
3.2 C语言文法的设计
3.2.1 文法的选取
3.2.2 ANTLR抽象语法树
3.3 控制流图的具体表示形式
3.3.1 简单语句的控制流图
3.3.2 if语句的控制流图
3.3.3 switch语句的控制流图
3.3.4 while语句的控制流图
3.3.5 do_while语句的控制流图
3.3.6 for语句的控制流图
3.3.7 break语句的控制流图
3.3.8 continue语句的控制流图
3.4 控制流图的可视化
3.5 本章小结
第四章 控制流图生成算法的设计与实现
4.1 控制流图相应数据结构的设计
4.1.1 控制流图结点的设计
4.1.2 其他相关数据结构的设计
4.2 控制流图生成算法的设计
4.2.1 简单语句结点处理算法
4.2.2 if语句结点处理算法
4.2.3 switch语句结点处理算法
4.2.4 while语句结点处理算法
4.2.5 do_while语句结点处理算法
4.2.6 for语句结点处理算法
4.2.7 break语句结点处理算法
4.2.8 continue语句结点处理算法
4.2.9 label语句结点处理算法
4.3 本章小结
第五章 控制流图可视化实验系统的设计与实现
5.1 设计思路
5.2 开发环境与技术
5.2.1 ANTLR开发环境
5.2.2 控制流图的可视化
5.3 系统界面
5.4 本章小结
第六章 控制流图的实际应用及实验分析
6.1 系统测试及应用
6.1.1 if语句测试
6.1.2 switch语句测试
6.1.3 while语句测试
6.1.4 do_while语句测试
6.1.5 for语句测试
6.1.6 包含多种语句的综合测试
6.2 本章小结
第七章 结束语
7.1 工作总结
7.2 不足之处与下一步的工作
参考文献
附录1 ANSI_C文法
附录2 GraphViz类
致谢
攻读学位期间发表的论文