| 摘要 | 第1-4页 |
| Abstract | 第4-7页 |
| 第1章 绪论 | 第7-12页 |
| ·课题来源、研究背景和意义 | 第7-9页 |
| ·国内外研究现状 | 第9-10页 |
| ·本文的主要研究内容和章节安排 | 第10-12页 |
| 第2章 GCC 文本抽象语法树 | 第12-21页 |
| ·GCC 及其工作流程 | 第12页 |
| ·文本抽象语法树的结构特性 | 第12-20页 |
| ·GCC 语法分析输出—抽象语法树 | 第12-13页 |
| ·文本抽象语法树中的结点 | 第13-16页 |
| ·重要字段说明 | 第16-18页 |
| ·文本抽象语法树的结构特性 | 第18-19页 |
| ·文本抽象语法树解析的含义 | 第19页 |
| ·抽象语法树相关定义及补充 | 第19-20页 |
| ·本章小结 | 第20-21页 |
| 第3章 GCC 文本抽象语法树的解析及控制依赖子图的生成 | 第21-45页 |
| ·基于GCC 的C 程序自动评分模型 | 第21-23页 |
| ·GCC 文本抽象语法树中冗余信息消除算法 | 第23-27页 |
| ·消除冗余的原因 | 第23页 |
| ·算法的基本思想 | 第23-24页 |
| ·算法的详细描述 | 第24-25页 |
| ·算法的复杂度分析 | 第25页 |
| ·实验分析 | 第25-27页 |
| ·邻接表形式的抽象语法树的建立算法及实现 | 第27-30页 |
| ·编号映射 | 第27页 |
| ·消除字段冗余 | 第27-28页 |
| ·存储结构设计 | 第28页 |
| ·算法的基本思想与详细描述 | 第28-29页 |
| ·算法的复杂度分析 | 第29页 |
| ·实验分析 | 第29-30页 |
| ·程序的中间表示——系统依赖图 | 第30-31页 |
| ·控制依赖子图的生成算法及实现 | 第31-36页 |
| ·算法的基本思想 | 第31-32页 |
| ·算法的详细描述 | 第32-33页 |
| ·算法复杂性分析 | 第33页 |
| ·实验分析 | 第33-35页 |
| ·完成对整个程序控制依赖子图的构建 | 第35-36页 |
| ·系统依赖图的构建算法及实现 | 第36-44页 |
| ·建立系统依赖图的一般步骤 | 第36-37页 |
| ·求到达-定值信息 | 第37-38页 |
| ·REF 集合和DEF 集合 | 第38-39页 |
| ·求GEN 集合和KILL 集合 | 第39-40页 |
| ·求IN 集合和OUT 集合 | 第40-42页 |
| ·建立数据流边 | 第42-43页 |
| ·实验分析 | 第43-44页 |
| ·本章小结 | 第44-45页 |
| 第4章 系统测试与分析 | 第45-53页 |
| ·新旧系统的连接 | 第45-47页 |
| ·实验数据 | 第47-48页 |
| ·对新前端进行测试 | 第48-52页 |
| ·本章小结 | 第52-53页 |
| 结论 | 第53-54页 |
| 参考文献 | 第54-57页 |
| 攻读学位期间发表的学术论文 | 第57-59页 |
| 致谢 | 第59页 |