中文摘要 | 第3-4页 |
英文摘要 | 第4页 |
第1章 绪论 | 第7-13页 |
1.1 课题背景 | 第7-10页 |
1.2 ASN.1语言及其特点 | 第10-11页 |
1.3 本文结构 | 第11-13页 |
第2章 编译理论基础和ANTLR简介 | 第13-21页 |
2.1 编译程序和翻译程序 | 第13-14页 |
2.2 编译程序的基本结构 | 第14-15页 |
2.3 编译程序的主要数据结构 | 第15-16页 |
2.4 ANTLR概述 | 第16-21页 |
2.4.1 ANTLR的元语言(Meta Language) | 第17-18页 |
2.4.2 用ANTLR生成词法分析器 | 第18-19页 |
2.4.3 用ANTLR生成语法分析器 | 第19-20页 |
2.4.4 用ANTLR进行差错处理 | 第20-21页 |
第3章 ASN.1的词法和语法分析 | 第21-39页 |
3.1 词法和语法分析概述 | 第21-23页 |
3.2 用ANTLR进行词法和语法分析的方法 | 第23-25页 |
3.3 ASN.1的词法分析 | 第25-27页 |
3.3.1 正规表达式 | 第25-26页 |
3.3.2 二义性、分隔符及向前看(lookahead)问题 | 第26-27页 |
3.4 ASN.1的文法设计 | 第27-33页 |
3.4.1 消除文法的二义性 | 第27-29页 |
3.4.2 消除文法的左递归 | 第29-30页 |
3.4.3 消除公共前缀 | 第30-31页 |
3.4.4 预测性分析 | 第31-33页 |
3.5 差错处理 | 第33-39页 |
第4章 ASN.1的语义处理 | 第39-59页 |
4.1 语义处理的任务 | 第39-40页 |
4.2 类型引用(TYPEREFERENCE)的合法性检查 | 第40-43页 |
4.3 标识符使用合法性检查和长度限制处理 | 第43-44页 |
4.4 值与类型匹配检查 | 第44页 |
4.5 核心语义数据结构的建立 | 第44-58页 |
4.5.1 概述 | 第44-45页 |
4.5.2 基本类型的定义 | 第45-47页 |
4.5.3 核心数据结构的定义 | 第47-56页 |
4.5.4 建立核心语义数据结构 | 第56-58页 |
4.6 差错处理 | 第58-59页 |
第5章 ASN.1的C代码生成 | 第59-72页 |
5.1 基本算法和思想 | 第59页 |
5.2 ASN.1到C的记法映射 | 第59-69页 |
5.2.1 固有类型(Built-in Type) | 第60-64页 |
5.2.2 构造类型(Constructs Type) | 第64-67页 |
5.2.3 值的映射 | 第67-68页 |
5.2.4 类型定义和值定义的映射 | 第68页 |
5.2.5 映射规则的实现 | 第68-69页 |
5.3 代码生成的算法思想及类实现 | 第69-72页 |
结论 | 第72-73页 |
参考文献 | 第73-75页 |
致谢 | 第75-76页 |
附录 抽象语法记法—(ASN.1)规范 | 第76-82页 |