从Murphi到Ocaml语言的编译器及其在模型检测中的应用
致谢 | 第5-6页 |
摘要 | 第6-7页 |
ABSTRACT | 第7-8页 |
1 引言 | 第11-15页 |
1.1 研究背景及研究现状 | 第11-12页 |
1.2 本文的主要工作 | 第12-13页 |
1.3 论文的组织结构 | 第13-15页 |
2 背景知识 | 第15-26页 |
2.1 模型检测 | 第15页 |
2.2 模型检测语言Murphi和nuSMV | 第15-18页 |
2.2.1 Murphi语言 | 第15-17页 |
2.2.2 nuSMV语言 | 第17-18页 |
2.3 Ocaml语言简介 | 第18-19页 |
2.4 编译器原理及工具 | 第19-24页 |
2.4.1 实现一个编译器的基本过程 | 第19-21页 |
2.4.2 Lex简介 | 第21-23页 |
2.4.3 Yacc简介 | 第23-24页 |
2.5 本章小结 | 第24-26页 |
3 编译器前端实现 | 第26-44页 |
3.1 Murphi词法分析及Lex构造 | 第26-31页 |
3.1.1 词法分析器构造 | 第27-29页 |
3.1.2 符号表定义 | 第29-31页 |
3.2 Murphi语法分析及Yacc构造 | 第31-43页 |
3.2.1 Yacc.y文件格式定义 | 第32-34页 |
3.2.2 抽象语法树定义与构造 | 第34-43页 |
3.3 本章小结 | 第43-44页 |
4 编译器后端实现 | 第44-60页 |
4.1 Ocaml语义模型定义 | 第44-48页 |
4.2 具体转换函数 | 第48-55页 |
4.3 实验 | 第55-58页 |
4.4 本章小结 | 第58-60页 |
5 编译器在模型检测中的应用 | 第60-67页 |
5.1 Murphi与nuSMV的建模能力 | 第60-61页 |
5.2 nuSMV转换器实现 | 第61-64页 |
5.3 转换结果 | 第64-66页 |
5.4 本章小结 | 第66-67页 |
6 结论 | 第67-69页 |
6.1 总结 | 第67-68页 |
6.2 工作展望 | 第68-69页 |
参考文献 | 第69-72页 |
附录A 编译器后端转换函数 | 第72-74页 |
附录B nuSMV转换函数 | 第74-77页 |
作者简历 | 第77-79页 |
学位论文数据集 | 第79页 |