实验5LL语法分析程序的设计实现分析C语言.doc
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
实验5LL语法分析程序的设计实现分析C语言.doc 在计算机科学中,语法分析是编译器的重要组成部分,对于给定的输入字符串,语法分析程序需要判断该字符串是否符合某种特定的语法规则。本文档主要介绍了LL(1)语法分析程序的设计实现分析的过程。 一、实验目的 通过设计和实现LL(1)语法分析程序,了解自顶向下的语法分析思想。该实验的主要目的是了解LL(1)文法的定义和特点,并掌握LL(1)文法识别程序的设计和实现过程。 二、实验重难点 实验的重难点包括FIRST集合、FOLLOW集合和SELECT集合元素的求解,以及预测分析表的构造。 FIRST集合是指某个非终结符号能够推导出的终结符号集合。FOLLOW集合是指某个非终结符号能够之后出现的终结符号集合。SELECT集合是指某个非终结符号的可选集。预测分析表是根据LL(1)文法的定义和FIRST、FOLLOW、SELECT集合构造的。 三、实验容与要求 实验容包括阅读并理解LL(1)文法判别的程序实现,并参考实验案例完成简单的LL(1)文法判别程序设计。实验要求包括: 1. 阅读并理解实验案例中LL(1)文法判别的程序实现。 2. 参考实验案例,完成简单的LL(1)文法判别程序设计。 四、实验学时 实验学时为4课时。 五、实验设备与环境 实验设备与环境为C语言编译环境。 六、实验案例 实验案例包括: 1. 实验要求:参考教材93页预测分析方法,94页图5.11预测分析程序框图,编写表达式文法的识别程序。要求对输入的LL(1)文法字符串,程序能自动判断所给字符串是否为所给文法的句子,并能给出分析过程。 2. 参考代码。 实验代码包括: * 程序名称:LL(1)语法分析程序 * LL(1)文法定义:E->E+T|T,T->T*F|F,F->(E)|i * 目的:对输入LL(1)文法字符串,本程序能自动判断所给字符串是否为所给文法的句子,并能给出分析过程。 实验代码还包括预测分析表的构造和链表的实现。预测分析表是根据LL(1)文法的定义和FIRST、FOLLOW、SELECT集合构造的。链表是用于存储终结符号的数据结构。 本文档主要介绍了LL(1)语法分析程序的设计实现分析的过程,包括实验目的、实验重难点、实验容与要求、实验学时、实验设备与环境、实验案例等方面的内容。
- 粉丝: 9
- 资源: 20万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于javaweb的网上拍卖系统,采用Spring + SpringMvc+Mysql + Hibernate+ JSP技术
- polygon-mumbai
- Chrome代理 switchyOmega
- GVC-全球价值链参与地位指数,基于ICIO表,(Wang等 2017a)计算方法
- 易语言ADS指纹浏览器管理工具
- 易语言奇易模块5.3.6
- cad定制家具平面图工具-(FG)门板覆盖柜体
- asp.net 原生js代码及HTML实现多文件分片上传功能(自定义上传文件大小、文件上传类型)
- whl@pip install pyaudio ERROR: Failed building wheel for pyaudio
- Constantsfd密钥和权限集合.kt