




已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验一题目:词法分析目的:通过该实验使学生掌握描述词法的文法,同时能够进行词法分析。要求:对输入的字符串进行词法分析,形成词法分析产生的符号表。内容:给定描述词法的文法为:文法一:整型数值型数据+|-数字数字* 数字0|1|2|3|4|5|6|7|8|9文法二:算符+|-|*|/利用以上二个文法对从键盘输入的字符串进行词法分析,对符合这两个文法的字符串建立单词符号表;对不符合这两个文法的字符串给出错误信息。编程序实现该功能,并上机调试。使用的数据结构:1一个字符数组s,用来接受从键盘输入的字符串。 2定义一个结构体,利用该结构体定义一个数组stable,用来存放字符串中字符的属性(类型class和值value)。3.定义一个整型数组ei,大小与字符数组相同,记录对应字符是否是错误字符。算法描述:从键盘输入的字符串送s其他两个数组初始化,i=0S没有结束当前字符送chCh为+、-、*、/数字其他Stablei.class=o, Stablei.value=ch,i=i+1拼数Stablei.class=n, Stablei.value=拼数得的数,i=i+1在ei数组中记录出错信息有错是否输出记录在ei数组中出错信息输出Stable数组中信息实验二题目;语法分析(一)目的:通过该实验使学生掌握描述语法的文法和并能利用自顶向下的分析方法对表达式进行语法分析要求:在实验一的基础上,对符号表中的单词采用自顶向下的分析方法进行语法分析,对不符合给定的文法的字符串,给出错误信息。内容:给定描述语法的文法为:EE+T|E-T|TTT*F|T/F|FFFP|PPi注:i为实验一中分析得到的整型数值型数据,+、-、*和/为实验一文法二所描述的算符。使用的数据结构:1定义一个结构体,利用该结构体定义一个数组stable,用来存放字符串中字符的属性(类型class和值value)。(与实验一同用)2.定义一个整型数组eft,大小与stable数组相同,记录对应单词是否是错误。3定义一个三维字符数组:用来存放分析表。a1ai#输入流LL(1)驱动程序:(1)栈为空情况的处理(2)XVT情况的处理(3)X VN情况的处理x#栈分析表构造LL(1)驱动程序的算法:1)分析开始时 标志符号#和文法开始符号S压人符号栈;输入流指针指向第一个输入符号,初始格局为(#S,ala2an#) 2)设在分析的某一步,符号栈及剩余的输入流处于如下的格局 (#XlX2Xm-1Xm,aiai+1an#)可视栈顶符号Xm的不同情况,分别作如下动作:(1)若Xm VN,则以Xm 及ai组成的符号对(Xm ,ai )查分析表T。 设T( Xm ,ai )为一产生式,假设是Xm -UVW,将Xm 从分析栈中退出,将UVW压人栈中, 得到新的格局: (#XlX2Xm-1 WVU ,aiai+1an# ) 若T(Xm ,ai ) =Error,则调用出错处理程序进行处理。(2)若Xm = ai #,则表明栈顶符号已经与当前扫描的输入符号得到匹配,此时应将Xm (即ai )从栈中退出,并将输入流指针向前移动一个位置。(3)若Xm = ai =# ,则表明输入串已经完全得到匹配,此时即可宣告分析成功而结束分析。(4)其它情形,转错误处理程序。实验三题目;语法分析(二)目的:通过该实验使学生掌握描述语法的文法和并能利用自底向上的分析方法对表达式进行语法分析要求:在实验一的基础上,对符号表中的单词采用自底向上的分析方法进行语法分析,对不符合给定的文法的字符串,给出错误信息。内容:给定描述语法的文法为:EE+T|E-T|TTT*F|T/F|FFFP|PPi注:i为实验一中分析得到的整型数值型数据,+、-、*和/为实验一文法二所描述的算符。使用的数据结构:1定义一个结构体,利用该结构体定义一个数组stable,用来存放字符串中字符的属性(类型class和值value)。(与实验一同用)2.定义一个整型数组eft,大小与stable数组相同,记录对应单词是否是错误。3定义一个二维字符数组:用来存算符优先关系表。4定义一个字符数组:作为符号栈。算法描述:(1)首先根据已知文法构造相应的优先关系矩阵。(2)设立符号栈S,将输入符号串“X1 Xi Xi+1 Xj Xn”从左向右依次压入符号栈S中,同时检查相邻符号Xj与Xj+1的优先关系,一旦发现Xj Xj+1时停止压栈,进入下一步。(3)栈顶当前符号Xj ,从Xj 开始往前(左)找第一个使Xi-1 Xi的 Xi用Xi Xi+1 Xj去查产生式的右部,并用相应的左部符号代替句柄Xi Xi+1 Xj (归约) 。(4)重复上述过程,直至输入符结束。如果归约出文法的开始符号则成功。否则失败。实验四题目;语义分析目的:通过该实验使学生掌握语义分析方法要求:在实验二的基础上,对符合给定的文法的字符串(算术表达式),给出结果。内容:在实验二的基础上,对符合给定的文法的字符串(算术表达式),给出结果。编程序实现并对程序进行测试。使用的数据结构:1定义一个结构体,利用该结构体定义一个数组stable,用来存放字符串中字符的属性(类型class和值value)。(与实验一同用)2.定义一个浮点数组total,存放计算的结果。Stablei+1.value与Stablei+3.value进行Stablei+2.class运算,结果存入Stablei+1.value中从i+4到结束的所有元素前移两个位置Total与Stablei.value进行Stablei.class运算,结果存入Total中total =0,i=0;S
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度土地经营权买卖合同打印模板
- 2025版房地产合作开发项目消防安全协议
- 岩石力学课件-侧压力
- 2025版清洁服务行业员工培训合同下载
- 岩溶作用影响因素
- 洗浴中心折扣活动执行规章
- 山市课件教学课件
- 信贷公司合同管理办法
- 大金空调知识培训课件
- 村务岗考试试题及答案
- GB/T 9871-2008硫化橡胶或热塑性橡胶老化性能的测定拉伸应力松弛试验
- GB/T 26480-2011阀门的检验和试验
- GB/T 19861-2005丙烯酸系阴离子交换树脂强碱基团、弱碱基团和弱酸基团交换容量测定方法
- GB/T 11085-1989散装液态石油产品损耗
- GB 30000.3-2013化学品分类和标签规范第3部分:易燃气体
- 《材料力学》说课-课件
- (完整版)沪教牛津版小学一至六年级英语单词汇总(最新)
- JJF 1587-2016 数字多用表校准规范-(高清现行)
- 完整课件-西方经济学下册(第二版)
- 机械制图教学通用课件(全套)
- 天星择日的基本原理
评论
0/150
提交评论