一个诠释编译理论的解释器TINA
摘要 | 第4-5页 |
ABSTRACT | 第5页 |
第一章 绪论 | 第8-12页 |
1.1 概述 | 第8页 |
1.2 编译技术国内外研究现状 | 第8-9页 |
1.3 研究目的与意义 | 第9-10页 |
1.4 面临的问题 | 第10页 |
1.5 本文的主要工作 | 第10-11页 |
1.6 本文的结构安排 | 第11-12页 |
第二章 基本技术及概念 | 第12-22页 |
2.1 编程语言的分类 | 第12-14页 |
2.1.1 编译程序的过程 | 第12-13页 |
2.1.2 与编译器相关的程序 | 第13-14页 |
2.2 解释程序 | 第14-15页 |
2.3 Python脚本解释器概述 | 第15-20页 |
2.3.1 pyc文件 | 第15-17页 |
2.3.2 import指令 | 第17-18页 |
2.3.3 LEGB规则 | 第18页 |
2.3.4 多线程 | 第18页 |
2.3.5 垃圾回收 | 第18-20页 |
2.4 Python的特性与应用 | 第20-21页 |
2.5 本章小结 | 第21-22页 |
第三章 语言定义与语句解析 | 第22-36页 |
3.1 语言的描述工具 | 第22-25页 |
3.1.1 EBNF表示法 | 第22-23页 |
3.1.2 文法表示法 | 第23-24页 |
3.1.3 正规式 | 第24-25页 |
3.2 Tina脚本语言文法的EBNF表示 | 第25-27页 |
3.3 关键字的定义 | 第27-28页 |
3.4 数据类型和运算符的定义 | 第28页 |
3.4.1 数据类型的定义 | 第28页 |
3.4.2 运算符的定义 | 第28页 |
3.5 控制结构的定义 | 第28-29页 |
3.5.1 条件分支结构 | 第28-29页 |
3.5.2 循环结构 | 第29页 |
3.6 语句的解析 | 第29-33页 |
3.6.1 选择语句 | 第29-30页 |
3.6.2 循环语句 | 第30-31页 |
3.6.3 exp-parse()表达式解析函数 | 第31-33页 |
3.6.4 函数解析模块 | 第33页 |
3.6.5 class类的解析 | 第33页 |
3.7 本章小结 | 第33-36页 |
第四章 脚本解释器的设计与实现 | 第36-50页 |
4.1 解释器的执行流程与功能简介 | 第36-39页 |
4.2 词法分析 | 第39-42页 |
4.3 语法分析 | 第42-48页 |
4.4 中间代码生成 | 第48-49页 |
4.5 语法错误处理 | 第49页 |
4.6 本章小结 | 第49-50页 |
第五章 虚拟机设计 | 第50-60页 |
5.1 Python虚拟机设计概述 | 第50-51页 |
5.2 Lua虚拟机设计概述 | 第51-53页 |
5.3 Tina虚拟机设计 | 第53-58页 |
5.4 本章小结 | 第58-60页 |
第六章 总结与展望 | 第60-62页 |
6.1 本文工作总结 | 第60页 |
6.2 未来研究方向 | 第60-62页 |
参考文献 | 第62-66页 |
发表论文和参加科研情况 | 第66-68页 |
致谢 | 第68页 |