面向程序理解的转换系统研究
| 摘要 | 第1-6页 |
| ABSTRACT | 第6-10页 |
| 第一章 前言 | 第10-14页 |
| ·研究背景 | 第10页 |
| ·研究现状 | 第10-13页 |
| ·RationalRose工具 | 第11页 |
| ·MORALE/ISVis工具 | 第11页 |
| ·August-II工具 | 第11页 |
| ·MicrosoftVisio2002工具 | 第11-12页 |
| ·Sniff+工具 | 第12页 |
| ·JBPAS工具 | 第12-13页 |
| ·论文的内容与结构 | 第13-14页 |
| 第二章 程序理解述评 | 第14-29页 |
| ·软件逆向工程的定义及相关概念 | 第14-16页 |
| ·程序理解的重要性与定义 | 第16页 |
| ·程序理解的任务 | 第16-17页 |
| ·程序理解的方法 | 第17-18页 |
| ·程序设计决策 | 第18-20页 |
| ·设计决策的分类 | 第18-19页 |
| ·假想设计决策与实际设计决策 | 第19-20页 |
| ·解析程序设计决策 | 第20-28页 |
| ·解析设计决策的过程 | 第20页 |
| ·解析高层设计决策 | 第20-22页 |
| ·软件结构的典型形式 | 第22-23页 |
| ·程序各模块之间的耦合 | 第23-26页 |
| ·解析低层设计决策 | 第26页 |
| ·模块内部的内聚强度 | 第26-28页 |
| ·小结 | 第28-29页 |
| 第三章 转换系统及其架构 | 第29-35页 |
| ·转换系统概述 | 第29页 |
| ·转换系统的组成 | 第29页 |
| ·软件开发的转换模型 | 第29-30页 |
| ·转换的种类 | 第30-31页 |
| ·编译器转换 | 第30页 |
| ·源到源的转换 | 第30-31页 |
| ·转换系统的应用—重写规则 | 第31-32页 |
| ·面向程序理解的转换系统架构 | 第32-35页 |
| ·逆向分析器 | 第33页 |
| ·语义库 | 第33-34页 |
| ·关联描述 | 第34-35页 |
| 第四章 系统实现原理 | 第35-48页 |
| ·面向程序理解的转换系统系开发概述 | 第35页 |
| ·词法分析器的设计及实现 | 第35-38页 |
| ·词法分析原理 | 第35-36页 |
| ·词法分析 | 第36-37页 |
| ·词法分析实现 | 第37-38页 |
| ·LL(1)预测分析 | 第38-42页 |
| ·FIRST()集及其实现 | 第38-39页 |
| ·FOLLOW()集极其实现 | 第39-40页 |
| ·预测分析表M[A,a]的构造 | 第40-42页 |
| ·分析器总控程序的设计 | 第42-43页 |
| ·分析器总控程序算法 | 第42页 |
| ·分析器总控程序的实现 | 第42-43页 |
| ·语义库分析 | 第43-45页 |
| ·关联描述 | 第45-48页 |
| 第五章 应用原理与实例 | 第48-54页 |
| ·应用概述 | 第48页 |
| ·嵌套与并列 | 第48-50页 |
| ·数据结构 | 第48-49页 |
| ·实现方法 | 第49页 |
| ·嵌套关系算法 | 第49页 |
| ·并列关系算法 | 第49-50页 |
| ·嵌套和并列关系算法的实现 | 第50页 |
| ·测试实例 | 第50-54页 |
| 总结与进一步工作 | 第54-55页 |
| 参考文献 | 第55-58页 |
| 致谢 | 第58-59页 |
| 附录A:攻读硕士学位期间发表文章 | 第59-60页 |
| 附录B:源代码清单 | 第60-70页 |