实验二--语法分析(算符优先)_第1页
实验二--语法分析(算符优先)_第2页
实验二--语法分析(算符优先)_第3页
实验二--语法分析(算符优先)_第4页
实验二--语法分析(算符优先)_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

实验2语法分析运算符优先分析器一.实验要求选择最具代表性的解析方法,例如运算符优先级、递归子程序或LR分析选择所有常用程序语言中使用的语法结构,例如赋值语句,特别是用于分析表达式的赋值语句,并要与选择的语法分析方法很好地匹配。实习时间是6小时二.实验内容和要求(1)根据指定的语法,首先获取FirstVt和LastVt集合,然后构建运算符优先关系表(请求运算符优先关系表输出到屏幕或输出到文件)。(2)根据算法和优先级关系表,分析给定表达式是否是该语法标识的正确算术表达式(需要减少输出过程)(3)给定的表达语法如下:G(E): E#E#EE T | TTT*F |FF(E)|i(4)分析的句子是:(I i)*i和i)*i三、实验主要代码# define MAX 100Char * SR/输入字符串char SYMAX;/接近或法令后剩馀的字符串char SMAX;/堆叠char grammer1030;/保存输入的语法规则char chanshengshi2010;察费庄园10;/储存非终止元Char中杰15;/保存终结器int numf=0;/非终止符数int num=0;/终止符数int M=0;/转换后的结果数char Relation66;/保存优先级关系int first vt36;/firstvt保存集int last vt36;/lastvt保存集在Int type(char s)/终结器字符串中查找字符a。如果a返回下标,则返回-1Int len=strlen(中继);int TP=-1;for(int I=0);李智)cout 语法不是运算符hair!=Agrammerij=Zif(grammerIJ1=a grammerIJ1=z)cout 语法不是运算符hair!Z|grammerijgrammerij!=|)if (type (grammer I j) 0)章节Jienum=grammerIj;/导入终结器符号张纸num=#;张纸num 1= 0;x=1;for(I=0);I;Else chan shengshixy=grammerIj;y;chanshengshixy= 0;x;y=0;chan shenge00=Fei zhangjie0;/将开始符号保存在生成数组的第一行,以优先考虑关系构建chanshengshi01=-;chanshengshi02=;chanshengshi03=#;chan shenge04=Fei zhongjie0;chanshengshi05=#;chanshengshi06= 0;m=x;“Cout”转换后创建的表达式如下所示=0) first vtR1x=1;Else if(y=0)first vtR1y=1;for(I=M);I=1;I-)int y=type(chanshengshiI3);If(y0) intm=type _ Fei(chan shengeI0);in tm1=type _ Fei(chan shengshiI3);If(m)!=m1) for(int t=0);T=0) last vtR1x=1;Else if(y=0)last vtR1y=1;for(I=M);I=1;I-)int y=type(chanshengshiI3);If(y0) intm=type _ Fei(chan shengeI0);in tm1=type _ Fei(chan shengshiI3);If(m)!=m1) for(int t=0);T=0)(y=0) Relationxy=;If(v=(j-2)x=0f=0y0) Relationxf=;If(x=0y0) for(int h=0);H=0) for(int g=0);g;char complete (char a,charb)/优先级关系比较;如果没有返回$,则返回优先级关系char ret=$;Int x=type(a),y=type(b);if(x=0y=0)ret=Relationxy;Return retVoid deep sley ()/将其馀字符串向前移动一个位置int i,j;I=strlen(SY);for(j=0);JnumP输入“Cout”生成表达式:“gramerI; transproduct(numP);frist v

温馨提示

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

评论

0/150

提交评论