算符优先分析方法

算符优先分析方法

ID:6711614

大小:35.50 KB

页数:8页

时间:2018-01-23

算符优先分析方法_第1页
算符优先分析方法_第2页
算符优先分析方法_第3页
算符优先分析方法_第4页
算符优先分析方法_第5页
资源描述:

《算符优先分析方法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验三:自底向上分析:算符优先分析方法一、实验原理:算符优先分析算法二、实验内容:1、了解语法分析的其中一种自底向上分析算符优先分析;2、学会构造算符优先矩阵;3、上机实现算符优先分析器的工作流程。三、实验要求:要求能对下列文法所产生的符号串进行语法分析:①EàE+T

2、E-T

3、T②TàT*F

4、T/F

5、F③Fà(E)

6、num

7、id对输入的符号在分析完之后,如果正确就报告,有误就停止。四、实验步骤:1、求出该文法所有非终结符的leadvt以及lastvt表;2、根据所求出的表,再构造相应的算符优先矩阵;3、根据参考程序(见课本P137程序4-5),实现算符优先分析器的工作流程。五、程序设

8、计指导:1、本次实验要完成的程序功能为:用程序实现算符优先分析器的工作流程,根据不断地查找指定文法得出的算符优先矩阵,最终判断输入串是否符合该文法的语法要求;1、首先,在本次实验的预习报告中要先完成实验原理部分以及实验步骤中的前面两条;2、程序中用到的关键函数的说明:lIsHigherThan():用来返回两个终结符之间是否有大于关系;lIsLowerThan():用来返回两个终结符之间是否有小于关系;lIsEqualTo():用来返回两个终结符之间是否有等于关系;lReduce():把满足当前应被规约的最左子串条件的字符串进行规约;lparser():根据算符优先分析算法设计的分析

9、函数。六、实验代码://priority.cpp:定义控制台应用程序的入口点。////#include"stdafx.h"#include#include#include#include#defineSUCCESS1#defineERROR0#defineMAXINPUT300#defineMAXSTACK100charstack[MAXSTACK],a[MAXINPUT];structrelations{charrow;//行charcolum;//列charrel;//大小关系}table[70]={{'

10、+','+','>'},//1{'+','-','>'},//2{'+',')','>'},//3{'+','#','>'},//4{'-','+','>'},//5{'-','-','>'},//6{'-',')','>'},//7{'-','#','>'},//8{'*','+','>'},//9{'*','-','>'},//10{'*',')','>'},//11{'*','#','>'},//12{'*','*','>'},//13{'*','/','>'},//14{'/','+','>'},//15{'/','-','>'},//16{'/',')','>'},//17

11、{'/','#','>'},//18{'/','*','>'},//19{'/','/','>'},//20{')','+','>'},//21{')','-','>'},//22{')',')','>'},//23{')','#','>'},//24{')','*','>'},//25{')','/','>'},//26{'n','+','>'},//27{'n','-','>'},//28{'n',')','>'},//29{'n','#','>'},//30{'n','*','>'},//31{'n','/','>'},//32{'i','+','>'},//33{'i','-

12、','>'},//34{'i',')','>'},//35{'i','#','>'},//36{'i','*','>'},//37{'i','/','>'},//38{'+','*','<'},//39{'+','/','<'},//40{'+','(','<'},//41{'+','n','<'},//42{'+','i','<'},//43{'-','*','<'},//44{'-','/','<'},//45{'-','(','<'},//46{'-','n','<'},//47{'-','i','<'},//48{'*','(','<'},//49{'*','n','<'},

13、//50{'*','i','<'},//51{'/','(','<'},//52{'/','n','<'},//53{'/','i','<'},//54{'(','+','<'},//55{'(','-','<'},//56{'(','*','<'},//57{'(','/','<'},//58{'(','(','<'},//59{'(',')','='},//60{'(','n','<'},//61{'(','i','<'},//62{'#','+','

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。