语法分析器构造_第1页
语法分析器构造_第2页
语法分析器构造_第3页
语法分析器构造_第4页
语法分析器构造_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、编译原理实验报告实验题目:语法分析器构造指导教师姓名:班级:学号:实验成绩:实验题目语法分析器构造实验题目借助于词法分析程序提供的分析结果,编写一个算符优先语法分析程序,程序能进行语法结构分析和错误检查并产生相应的归约信息。同时实验目的给出出错信息和错误类型,从而加深对语法分析的理解。实验目的和要求main函数:设计思想与框架算术表达式函数:出栈:pop(charch)根据算付优先分析表设置读入优先次序:rank(charch1,charch2)判断是否为终结符:isVT(charch)算符优先分析函数:analysis。算符优先分析算法算法采用一个符号栈的数据结构,既用它存放终结符,也用它存

2、放非终结符。设K为符号栈使用深度,其参考算法如下:K:=l;StackK:=#;Repeat把下个输入符号读进a中;IfStackK$VTthenj:=Kelsej:=K-1;whileStackj优先级比a高doBeginRepeatQ:=Stackj;IfStackj-l$VTthenj:=j-1elsej:=j-2UntilStackj比Q优先级低;把Stackj+lStackK归约为某个N;记录归约产生式序号;K:=j+1;StackK:=NendofwhileIfStackj比a优先级低ORStackj与a优先级相同thenBeginK:=K+1;StackK:=aendelseER

3、ROR查表打印出错信息Untila二#源程序及注释#include#include#include#include#defineN100charstackN,stringsN,oldstringsN;inttop=T;intk=0;表示项.F表示因子.i表示变量或常数.n);printf(优先表n)printf(+*/()i#n);printf(+n);printf(-n);printf(*n);printf(/n);printf(=e2e2n);printf(ie2e2n);printf(#e3E+TtE-THT-jKFfT/FFF-XE?IiE表嗨严碌因子皿量或就iIIk-SO4.L.Tr

4、V.T符00kttitttakttNff-羽兰严壬eh丄f勺I二:匸=丁弍兀能卜亠口兰产;去.2y-;:2*龄燃输入串;“加皆三战耐片三巧心:荷永壬输人串动柞iii.脚UN*HN*CH+HN*CH+iiNCN-i-NHNCH实验结果E-E+TtE-THT-jKFfT/FFF-XE?IiE表嗨严碌因子皿量或就iIIk-SO4.L.TrV.T符00kttitttakttNff-羽兰严壬eh丄f勺I二:匸=丁弍兀能卜亠口兰产;去.2y-;:2*龄燃输入串;“加皆三战耐片三巧心:荷永壬输人串动柞iii.脚UN*HN*CH+HN*CH+iiNCN-i-NHNCHHIM榊m*Cl+iB#11i#H41:|一-.:|厂寻一-44r才.JAy打;-匕匚tzrTTr套狰窑.m-?中盂rnrrcrrn115IfNU=II移逝書琴申黒归约产生式涉骡号为已V111314嗇只昇:#符耳栈忧先关系当前分析符剩余输入串动作-#:达或3的归约产生式步骤号知3執:吐说三P:-鱼悴価2杆H一厂芒实验心得这次实验让我更进一步弄清楚了算符优先文法的概念,弄懂了从找出终结符fiRStVT集合、LastVT集合,到构造算符优先

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论