算符优先算法实验报告

算符优先算法实验报告

ID:30349151

大小:18.46 KB

页数:11页

时间:2018-12-29

算符优先算法实验报告_第1页
算符优先算法实验报告_第2页
算符优先算法实验报告_第3页
算符优先算法实验报告_第4页
算符优先算法实验报告_第5页
资源描述:

《算符优先算法实验报告》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划算符优先算法实验报告  实验三算符优先分析算法的设计与实现  一、实验目的  根据算符优先分析法,对表达式进行语法分析,使其能够判断一个表达式是否正确。通  过算符优先分析方法的实现,加深对自下而上语法分析方法的理解。  二、实验要求  1、输入文法。可以是如下算术表达式的文法:  E→E+T

2、E-T

3、T  T→T*F

4、T/F

5、F  F→

6、i  2、对给定表达式进行分析,输出表达式正确与否的判断。  程序输入/输出示例:  输入:1+2; 

7、 输出:正确  输入:(1+2)/3+4-(5+6/7);  输出:正确  输入:((1-2)/3+4  输出:错误目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划  输入:1+2-3+(*4/5)  输出:错误  三、实验步骤  1、参考数据结构  char*VN=0,*VT=0;//非终结符和终结符数组  charfirstvt[N][N],lastvt[N]

8、[N],table[N][N];  typedefstruct//符号对(P,a)  {  charVn;  charVt;  }VN_VT;  typedefstruct//栈  {  VN_VT*top;  VN_VT*bollow;  intsize;  }stack;  2、根据文法求FIRSTVT集和LASTVT集  给定一个上下文无关文法,根据算法设计一个程序,求文法中每个非终结符的  FirstVT集和LastVT集。  算符描述如下:目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确

9、保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划  /*求FirstVT集的算法*/  PROCEDUREinsert(P,a);  IFnotF[P,a]then  begin  F[P,a]=true;//(P,a)进栈  end;  ProcedureFirstVT;  Begin  for对每个非终结符P和终结符ado  F[P,a]=false  for对每个形如P  Insert(P,a)  whilestack非空  begin  栈顶项出栈,记为(

10、Q,a)  for对每条形如P→Q…的产生式do  insert(P,a)  end;  end.  同理,可构造计算LASTVT的算法。  3、构造算符优先分析表目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划  依据文法和求出的相应FirstVT和LastVT集生成算符优先分析表。  算法描述如下:  for每个形如P->X1X2…Xn的产生式do  fori

11、=1ton-1do  begin  ifXi和Xi+1都是终结符then  Xi=Xi+1  ifiXi+1;  end  4、构造总控程序  算法描述如下:  stackS;  k=1;//符号栈S的使用深度  S[k]=‘#’  REPEATa…或P→Qa…的产生式do  把下一个输入符号读进a中;  IfS[k]?VTthenj=kelsej=k-1;  WhileS[j]>ado  Begin  Repeat  Q=S[j];  ifS[j-1]?VTthenj=j-1elsej=j-2目的-通过该培训员工可对保安行业有初步了解,并感受到安保

12、行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划  untilS[j]  #include  #include  chardata[20][20];//算符优先关系  chars[100];//模拟符号栈s  charlable[20];//文法终结符集  charinput[100];//文法输入符号串  charstring[20][10];//用于输入串的分析  intk;  chara;  intj;  cha

13、rq;  intr;//文法规则个数  intr1;//转化后文法规则个数  charst[10][30];

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

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

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