首页> 中文学位 >编译原理辅助教学软件系统
【6h】

编译原理辅助教学软件系统

代理获取

目录

文摘

英文文摘

声明

第一章 绪论

1.1引言

1.2本课题研究的目的和意义

1.3编译系统及编译过程概述

1.3.1编译程序的阶段

1.3.2编译程序的分组与分遍

1.4本系统的设计思想

1.4.1中间步骤的存贮

1.4.2程序清晰可读,方便以后扩充

1.5本系统的主要内容

1.5.1整体设计

1.5.2系统的类设计

1.5.3系统的输出设计

1.5.4软件配置

第二章 编译原理基础知识

2.1产生式文法的化简和改造

2.1.1文法的有关概念

2.1.2文法类的设计

2.1.3文法的化简与改造

2.1.4无用符号和无用产生式的删除算法

2.1.5ε产生式的消除

2.1.6单产生式的消除

2.2自动机演示及确定化

2.2.1自动机的基本概念

2.2.2自动机的图形化表示

2.2.3非确定自动机的确定化

2.2.4 DFA的最小化

第三章 词法分析

3.1有关词法分析器的基本概念

3.1.1词法分析器的任务

3.1.2单词的分类与识别

3.1.3单词的机内表示

3.2词法分析器的设计

3.3词法分析器的功能实现

第四章 语法分析

4.1语法分析的基本概念

4.1.1自顶向下分析

4.1.2自底向上分析

4.1.3首符号集合、后继符号集合与选择集合的引入

4.1.4首符号集合、后继符号集合与选择集合的定义

4.1.3与文法Select集合有关的算法

4.2 LL(1)分析

4.2.1 LL(1)分析过程

4.2.2 LL(1)分析表的构造

4.2.3 LL(1)控制程序的构造

4.2.4LL(1)分析法的实现

4.3简单优先分析

4.3.1简单优先分析过程

4.3.2简单优先矩阵的构造

4.3.3简单优先控制程序的构造

4.3.4简单优先分析法的实现

4.4算符优先分析

4.4.1算符文法的优先关系与算符优先文法

4.4.2算符优先矩阵的构造

4.4.3算符优先文法控制程序的构造

4.5 LR分析法简介

4.5.1LR分析概述

4.5.2LR分析器工作过程

4.6LR(0)分析法

4.6.1构造识别规范句型的DFA

4.6.2构造LR(0)分析表

4.6.3构造LR(0)控制程序

4.6.4LR0分析法的实现

4.7SLR(1)分析

4.7.1SLR(1)的冲突解决方法

4.7.2SLR(1)分析表和分析器的构造

4.7.3 SLR(1)分析的实现

4.8 LR(1)分析

4.8.1 LR(1)分析法的引入

4.8.2 LR(1)项目集族的构造

4.8.3从文法的LR(1)项目集族C构造LR(1)分析表

4.8.4 LR(1)分析法的实现

第五章 符号表的组织和管理

5.1符号表的作用和地位

5.2符号表的体系结构

5.2.1符号表的功能

5.2.2符号表的一种体系结构

5.2.3标识符的信息字

5.2.4类型表(TYPEL)

5.2.5数组信息表(AINFL)

5.2.6记录信息表(RINFL)

5.2.7指针信息表(PINFL)

5.2.8过函信息表

5.3符号表的一个示例

5.3.1用于生成符号表的源程序

5.3.2生成的符号表演示图形

5.3.3多维数组的生成顺序

第六章 语法制导翻译及中间代码生成

6.1引言

6.2四元式中间语言简介

6.3语句翻译[1][5]

6.3.1算术表达式的翻译

6.3.2布尔表达式的翻译

6.3.3简单赋值语句的翻译

6.3.4while循环语句的翻译

6.3.5if条件语句翻译

6.3.6复合语句翻译

6.3.7说明文法的翻译

6.4一个编译器前端的实例

6.4.1示例语言的文法定义

6.4.2词法分析器的设计

6.4.3语法及语义分析器的设计

第七章 代码优化与目标代码生成

7.1代码优化简介

7.2局部优化

7.2.1基本块

7.2.2划分基本块的办法

7.2.3基本块的DAG表示

7.3循环优化

7.3.1代码外提

7.3.2强度削弱

7.4目标代码生成

第八章 结论

参考文献

致 谢

展开▼

摘要

编译原理是现代计算机系统的重要组成部分.在计算机科学的课程中,编译原理占有非常重要的位置.它是每个计算机专业的学生必修的一门课程.但是,编译原理较其它计算机专业课程而言,显得过于枯燥、抽象和难于理解.所以,该课题研究的目的就在于希望利用目前先进的可视化系统集成开发环境,开发出一套编译原理课程辅助教学软件系统,并将该系统运用到教学实践中去.其意义在于使学生对编译原理这门课程的内容有一个更加直观的认识,加深学生对编译原理这门课程的理解,唤起学生的学习兴趣,从而提高教学质量.这也是适应二十一世纪教学改革的需要.而且此次开发用到的技术和概念也可以应用到一般软件设计与开发中去.该系统是在Visual C++6.0环境下开发的编译原理辅助教学软件系统.它主要分为两大部分,第一部分是编译原理教学的课程演示系统.主要实现了文法基础知识演示、自动机状态图表示、自动机的确定化和最小化、自顶向下语法分析LL1分析方法、自底向上语法分析简单优先分析方法、算符优先分析方法、LR0分析方法、SLR1分析方法、LR1分析方法.实现了自动构造LR0、SLR1、LR1分析表.第二部分为编译器系统结构.主要实现对给定的类Pascal源程序进行编译,并显示词法分析结果、符号表、中间代码生成结果等信息.该系统中的各个部分都经过大量的实例反复测试,实验表明,各部分正确无误,效果良好.

著录项

相似文献

  • 中文文献
  • 外文文献
  • 专利
代理获取

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号