基于Hindley-Milner类型系统的函数式语言Leaf的设计实现
摘要 | 第4-5页 |
ABSTRACT | 第5-6页 |
第一章 引言 | 第9-14页 |
1.1 课题背景 | 第9-11页 |
1.1.1 国内外研究现状 | 第9-10页 |
1.1.2 研究意义 | 第10-11页 |
1.2 课题任务 | 第11-13页 |
1.2.1 课题内容 | 第11-12页 |
1.2.2 主要任务 | 第12-13页 |
1.3 论文结构 | 第13-14页 |
第二章 关键技术及基础概念 | 第14-22页 |
2.1 C | 第14-15页 |
2.1.1 C | 第14-15页 |
2.1.2 LIN Q技术 | 第15页 |
2.2 程序语言理论 | 第15-19页 |
2.2.1 形式语言与自动机 | 第15-16页 |
2.2.2 形式语言中的基本概念 | 第16-18页 |
2.2.3 自动机 | 第18-19页 |
2.2.4 λ演算 | 第19页 |
2.3 类型系统理论与类型推断 | 第19-21页 |
2.3.1 类型系统 | 第19-20页 |
2.3.2 类型推导 | 第20-21页 |
2.3.3 动态类型与静态类型 | 第21页 |
2.4 本章小结 | 第21-22页 |
第三章 需求分析 | 第22-35页 |
3.1 词法分析 | 第22-23页 |
3.2 文法分析与设计 | 第23-25页 |
3.2.1 符号约定和文法处理 | 第23-24页 |
3.2.2 语句与表达式类型分析 | 第24-25页 |
3.3 符号表管理 | 第25-26页 |
3.4 语法分析 | 第26-27页 |
3.5 类型系统分析 | 第27-28页 |
3.5.1 类型检查 | 第27页 |
3.5.2 类型推导 | 第27-28页 |
3.5.3 类型转换 | 第28页 |
3.6 中间代码格式及其代码生成分析 | 第28-32页 |
3.6.1 中间代码 | 第28-30页 |
3.6.2 寄存器分配算法 | 第30-32页 |
3.6.3 作用域问题 | 第32页 |
3.7 虚拟机和字节码解释的分析 | 第32-34页 |
3.7.1 字节码虚拟机 | 第32-33页 |
3.7.2 运行时存储管理 | 第33-34页 |
3.8 本章小结 | 第34-35页 |
第四章 系统设计 | 第35-53页 |
4.1 系统架构 | 第35-37页 |
4.1.1 系统架构设计 | 第35页 |
4.1.2 架构分析 | 第35-37页 |
4.2 核心功能模块 | 第37-49页 |
4.2.1 词法分析模块 | 第37-39页 |
4.2.2 语法分析模块 | 第39-43页 |
4.2.3 符号表模块 | 第43-44页 |
4.2.4 语义分析模块 | 第44-46页 |
4.2.5 中间代码生成模块 | 第46-48页 |
4.2.6 字节码解释模块 | 第48-49页 |
4.3 编译优化 | 第49-52页 |
4.3.1 优化方法介绍及其目标 | 第49-50页 |
4.3.2 优化的应用 | 第50-52页 |
4.4 本章小结 | 第52-53页 |
第五章 系统测试 | 第53-61页 |
5.1 系统功能测试及分析 | 第53-56页 |
5.1.1 编译器前端测试 | 第53-55页 |
5.1.2 编译器后端测试 | 第55-56页 |
5.2 测试结果 | 第56-60页 |
5.3 本章小结 | 第60-61页 |
第六章 结束语 | 第61-62页 |
6.1 论文工作总结 | 第61页 |
6.2 问题和展望 | 第61-62页 |
参考文献 | 第62-64页 |
致谢 | 第64页 |