没有合适的资源?快使用搜索试试~ 我知道了~
首页编译原理课程设计简单优先文法判定和分析器的构造
这是我做的编译原理简单优先文法判定和分析器的构造。 包括第一章 概述 3 1.1 项目背景 3 1.2 设计目的 3 1.3 实验环境与开发工具 3 1.4 C++语言 4 第二章 需求分析 5 2.1 问题陈述 5 2.1.1 简单优先文法 5 2.1.2 简单优先文法的定义 6 2.1.3 简单优先文法的算法 6 2.1.4 简单优先分析法的操作步骤 6 2.2 需要完成的功能 7 2.2.1 判定输入的文法是否是简单优先文法 7 2.2.2 构造文法的简单优先关系矩阵 7 2.3 分析器的构造 7 第三章 逻辑设计 9 3.1系统的组织与基本工作流程 9 3.2 总体结构逻辑结构图 9 第思章 软件功能设计 11 4.1 软件功能分析 11 4.1.1 判定文法是否为简单优先文法 11 4.1.2 查找分析文法优先关系相等 12 4.1.3 查找分析文法中小于的关系 14 4.1.4 查找分析文法中大于的关系 15 4.1.5 构造文法的简单优先关系矩阵 16 第五章 界面设计 18 5.1用户输入文法界面 19 5.2优先矩阵的初始状态 20 5.3 文法中等于关系 21 5.4 小于关系 22 5.5 大于关系 23 5.6 优先关系矩阵 25 小结 27 参考文献 28 附录 29
资源详情
资源评论
资源推荐
安徽工程大学机电学院编译原理课程设计
目录
第一章 概述..............................................................................................................................................3
1.4 C++语言.....................................................................................................................................4
第二章 需求分析......................................................................................................................................5
2.1 问题陈述.....................................................................................................................................5
2.1.1 简单优先文法..................................................................................................................5
2.1.2 简单优先文法的定义......................................................................................................6
2.1.3 简单优先文法的算法......................................................................................................6
2.1.4 简单优先分析法的操作步骤..........................................................................................6
2.2 需要完成的功能.........................................................................................................................7
2.2.1 判定输入的文法是否是简单优先文法..........................................................................7
2.2.2 构造文法的简单优先关系矩阵......................................................................................7
2.3 分析器的构造.............................................................................................................................8
第三章 逻辑设计......................................................................................................................................9
3.1 系统的组织与基本工作流程.....................................................................................................9
3.2 总体结构逻辑结构图...............................................................................................................10
第思章 软件功能设计............................................................................................................................11
4.1 软件功能分析...........................................................................................................................11
4.1.1 判定文法是否为简单优先文法....................................................................................11
4.1.2 查找分析文法优先关系相等........................................................................................12
4.1.3 查找分析文法中小于的关系........................................................................................14
4.1.4 查找分析文法中大于的关系........................................................................................15
4.1.5 构造文法的简单优先关系矩阵....................................................................................17
第五章 界面设计....................................................................................................................................19
5.1 用户输入文法界面...................................................................................................................20
..........................................................................................................................................................20
5.2 优先矩阵的初始状态...............................................................................................................21
5.3 文法中等于关系.......................................................................................................................22
5.4 小于关系...................................................................................................................................23
5.5 大于关系...................................................................................................................................24
5.6 优先关系矩阵...........................................................................................................................26
1
安徽工程大学机电学院编译原理课程设计
小结..........................................................................................................................................................28
参考文献..................................................................................................................................................29
2
安徽工程大学机电学院编译原理课程设计
第一章 概述
1.1 项目背景:
《编译原理》是国内外各高等院校计算机科学技术类专业,特别是计算机软件专业的一门重要
专业课程。该课程系统地介绍编译程序的结构、工作流程及编译程序各组成部分的设计原理和
实现技术。由于该课程理论性和实践性都比较强,内容较为抽象复杂,涉及到大量的软件设计
算法,因此,一直是一门比较难学的课程。为了更好地理解和掌握编译技术的基本概念、基本
原理和实现方法,实践环节非常重要,只有通过上机进行程序设计,才能对比较抽象的教学内
容产生具体的感性认识,增强综合分析问题、解决问题的能力,并对提高软件设计水平大有益
处。
1.2 设计目的:
课程设计是学生学完本课程基础知识后的最后一个实践性教学环节。作为一项专业综合能力
训练,是本课程学习情况的总结与提高,是培养独立思考和科学工作方法,实现由学习向应用
过渡的重要环节。 本次课程设计的主要目的如下:
1、通过本次课程设计,全面系统的了解编译原理程序构造的一般原理和基本方法,尤其是对
简单优先分析方法的认识和理解;
2、提高对编译程序工作基本过程及各个阶段基本任务的分析技能;
3、加强对编译程序的生成过程、构造工具及编译程序总流程框图的理解,巩固所学的课本知
识。
4、掌握简单优先文法分析是如何根据语法规则逐一分析词法分析所得到的单词,检查语法错
误,即掌握语法分析过程;
5、掌握简单优先文法分析器的设计与调试;
6、掌握运用程序方法实现简单优先文法分析的方法;
7、锻炼并增强程序设计的能力,提高自己的编程水平。
1.3 实验环境与开发工具:
本门课程设计“简单优先文法判定及分析器的构造”的实验是以计算机为基础的,其开发环境主
3
安徽工程大学机电学院编译原理课程设计
要在两个方面,即硬件环境和软件环境。硬件环境是指你是用什么类型的服务器,内存硬盘的
限制等等。软件环境就是软件运行的环境,例如你的操作系统是什么,你要运行的程序需要什
么其他的软件支持什么的。我在试验过程中,所用计算机的软件设备和硬件指标分别如下:
一、硬件环境:
处理器 AMD 5200+ 2.70GHz
内存(RAM) 2G
硬盘 320G
显示器 AOC L1.831W
256M 显卡
二、软件环境:
Windows 2000/XP OS
Microsoft Visual C++6.0
1.4 C++语言
C++类中包含私有、公有和保护成员
C++类中可定义三种不同访问控制权限的成员。一种是私有(Private)成员,只有在类中说明
的函数才能访问该类的私有成员,而在该类外的函数不可以访问私有成员;另一种是公有
(Public)成员,类外面也可访问公有成员,成为该类的接口;还有一种是保护(Protected)成员,
这种成员只有该类的派生类可以访问,其余的在这个类外不
能访问。
1.5 Microsoft Visual C++
ClassWizard(类向导)是 Visual C++提供的强大的类处理工具。其中的 Message Map(消息
映射)选项卡可以让我们添加或删除要处理的 Windows 消息处理器;Member Variable(成员变量)
选项卡为应用程序中的类创建成员变量,并和控件联系在一起;Class Info(类信息)选项卡显
示了应用程序中所包含类的一般信息,包括定义的头文件和源文件类名,以及与之相关联的基
类。并且 Add Class 按钮提供了在工程中创建新类的方法。
4
安徽工程大学机电学院编译原理课程设计
1、
第二章 需求分析
2.1 问题陈述
2.1.1 简单优先文法
简单优先分析法是按照文法符号(终结符和非终结符)的优先关系确定句柄的,即它按一
定的文法的基本思想,对一个文法按一定的原则求出该文法所有符号(包括终结符和非终结
符)之间的优先关系按照这种关系确定规约过程中的句柄,它的规约过程实际上是规范规约。
简单优先分析法准确、规范,但分析效率很低,实际使用价值不大。
在文法的符号之间建立一种(实际是三种)优先关系 RÍV´V,在分析的过程中,利用优先关
系的比较,来确定前句型的句柄;
在找到句柄后按相应的产生式归约之,并将归约出的 VN 符号压入栈,再进行新的比较,…,直到出
错或分析成功.
设 G 是已化简的文法,s,tÎV,若 G 中存在规范句型 a=…st…, 则 s,t 与 a 的句柄之间的关系必有下
述情况之一
(1) A (2) (3)
ST…..
………..ST…………. ST ..
在图 1 中 S 在句柄中而 T 不在。图 2 中 ST 都不在句柄中。图 3 中 T 在句柄中而 S 不在。对于
5
剩余33页未读,继续阅读
wangshang12
- 粉丝: 3
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- 2023年中国辣条食品行业创新及消费需求洞察报告.pptx
- 2023年半导体行业20强品牌.pptx
- 2023年全球电力行业评论.pptx
- 2023年全球网络安全现状-劳动力资源和网络运营的全球发展新态势.pptx
- 毕业设计-基于单片机的液体密度检测系统设计.doc
- 家用清扫机器人设计.doc
- 基于VB+数据库SQL的教师信息管理系统设计与实现 计算机专业设计范文模板参考资料.pdf
- 官塘驿林场林防火(资源监管)“空天地人”四位一体监测系统方案.doc
- 基于专利语义表征的技术预见方法及其应用.docx
- 浅谈电子商务的现状及发展趋势学习总结.doc
- 基于单片机的智能仓库温湿度控制系统 (2).pdf
- 基于SSM框架知识产权管理系统 (2).pdf
- 9年终工作总结新年计划PPT模板.pptx
- Hytera海能达CH04L01 说明书.pdf
- 数据中心运维操作标准及流程.pdf
- 报告模板 -成本分析与报告培训之三.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论3