基于DOM/AST技术的C语言解析器设计
| 摘要 | 第1-5页 |
| Abstract | 第5-9页 |
| 第1章 绪论 | 第9-13页 |
| ·研究背景 | 第9-11页 |
| ·课题来源和研究内容 | 第11页 |
| ·论文结构 | 第11-13页 |
| 第2章 基本概念简介 | 第13-19页 |
| ·解析器 | 第13-14页 |
| ·DOM/AST解析技术 | 第14-15页 |
| ·符号表 | 第15-16页 |
| ·词法分析(Lexer Analyzer) | 第16-18页 |
| ·语法分析(Parser Analyzer) | 第18-19页 |
| 第3章 C语言词法分析器设计 | 第19-36页 |
| ·词法分析器的两种设计思路 | 第20页 |
| ·词法单元、模式和词素 | 第20-21页 |
| ·词法单元的属性 | 第21-22页 |
| ·输入缓冲技术 | 第22-24页 |
| ·缓冲区对 | 第22-23页 |
| ·哨兵标记 | 第23-24页 |
| ·词法单元的识别 | 第24-36页 |
| ·词法单元的识别算法 | 第26-27页 |
| ·如何解决词法错误 | 第27-28页 |
| ·如何跳过空白和注释 | 第28-29页 |
| ·预读 | 第29页 |
| ·常量 | 第29-30页 |
| ·识别关键字和标识符 | 第30-32页 |
| ·一种识别关键字的Aho-Corasick算法 | 第32-36页 |
| 第4章 C语言语法分析器设计 | 第36-75页 |
| ·语法分析器的设计思路 | 第36-37页 |
| ·C语言的文法设计 | 第37-44页 |
| ·文法定义 | 第37-38页 |
| ·文法的二义性 | 第38-39页 |
| ·消除二义性的两种常用技术 | 第39-44页 |
| ·左递归的消除 | 第40-43页 |
| ·提取左公因子 | 第43-44页 |
| ·C语法错误处理及错误恢复策略 | 第44-47页 |
| ·错误处理 | 第44-46页 |
| ·错误恢复策略 | 第46-47页 |
| ·自顶向下的语法分析 | 第47-58页 |
| ·递归下降的语法分析 | 第51-53页 |
| ·预测分析法 | 第53-55页 |
| ·LL(1)语法分析法 | 第55-58页 |
| ·自底向上的语法分析 | 第58-75页 |
| ·移入—归约语法分析技术 | 第59-66页 |
| ·几个概念 | 第59-61页 |
| ·移入—归约语法分析技术 | 第61-64页 |
| ·移入—归约语法分析中的冲突 | 第64-66页 |
| ·LR(0)语法分析技术 | 第66-75页 |
| ·为什么使用LR语法分析器 | 第66-67页 |
| ·项和LR(0)自动机 | 第67-71页 |
| ·LR(0)语法分析算法 | 第71-75页 |
| 第5章 总结 | 第75-77页 |
| 致谢 | 第77-78页 |
| 参考文献 | 第78-81页 |
| 攻读硕士学位期间发表的论文 | 第81页 |