总汇编语言_预测分析报告法c++

总汇编语言_预测分析报告法c++

ID:34812409

大小:93.00 KB

页数:11页

时间:2019-03-11

总汇编语言_预测分析报告法c++_第1页
总汇编语言_预测分析报告法c++_第2页
总汇编语言_预测分析报告法c++_第3页
总汇编语言_预测分析报告法c++_第4页
总汇编语言_预测分析报告法c++_第5页
资源描述:

《总汇编语言_预测分析报告法c++》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、实用标准实验二预测分析法一、实验目的(实验日期:2011.5.26)根据某一LL(1)文法编制调试预测分析程序,以便对任意输入的符号串进行分析。本次实验的目的主要是加深对预测分析法的理解。二、实验要求本次实验的LL(1)文法为表达式文法:E→E+T

2、TT→T*F

3、FF→i

4、(E)编写识别表达式文法的合法句子的预测分析程序,对输入的任意符号串,给出分析过程及分析结果。分析过程要求输出步骤、分析栈、剩余输入串和所用产生式。如果该符号串不是表达式文法的合法句子,要给出尽量详细的错误提示。三、实验过程1、准备(1)阅读课本有

5、关章节;(2)初步编制好程序;(3)准备多组测试数据。2、上机调试3、思路将表达式预测分析表存到一个数组中,参照教材图5.11预测分析程序的框图编写分析程序。4、为了能设计好程序,注意以下事情:(1)模块设计:将程序分成合理的多个模块(函数),每个模块做具体的同一事情。(2)写出(画出)设计方案:模块关系简图、流程图、全局变量、函数接口等。(3)编程时注意编程风格:空行的使用、注释的使用、缩进的使用等。#include#include文档实用标准usingnamespacestd;

6、constintNUM=20;//初始化的栈的大小//非终结符数组集charVar[5]={'E','R','T','M','F'};//终结符数组集charTer[6]={'i','+','*','(',')','#'};//"R"表示“E'”,"M"表示“T'”,"@"表示“空”stringpred[5][6]={{"TR","","","TR","",""},{"","+TR","","","@","@"},{"FM","","","FM","",""},{"","@","*FM","","@","@"},{"

7、i","","","(E)","",""}};typedefstruct{char*top;char*base;intstacksize;文档实用标准intnum;}Stack;//栈结构体voidinit(Stack*ss){//初始化栈ss->base=(char*)malloc(NUM*sizeof(char));if(!ss->base)exit(1);ss->top=ss->base;ss->stacksize=NUM;ss->num=0;}voidpush(Stack*ss,charc){//入栈操作if

8、(ss->top-ss->base>=ss->stacksize)exit(1);*(ss->top)=c;ss->top++;ss->num++;}voidpop(Stack*ss){//出栈操作文档实用标准if(ss->top==ss->base)exit(1);ss->top--;ss->num--;}chargetTop(Stack*ss){//取得栈顶元素if(ss->top==ss->base)exit(1);return*(ss->top-1);}intisT(charc){//判断是否为终结符inti

9、=0;intret=0;for(i=0;i<6;i++){if(Ter[i]==c){ret=1;break;}}returnret;文档实用标准}stringisInPred(charv,chart){//查找预测分析表,并返回产生式右部inti,j;for(i=0;i<5;i++){if(Var[i]==v)break;}for(j=0;j<6;j++){if(Ter[j]==t)break;}if(pred[i][j]!=""){returnpred[i][j];}elsereturn"";文档实用标准}voi

10、ddisplayStack(Stack*stack){//输出分析站的内容stringstr;inti=0;Stackss=*stack;while(ss.num!=0){str+=getTop(&ss);pop(&ss);}for(i=str.length()-1;i>=0;i--){cout<

11、ount=0;interror=0;cout<<"步骤"<<'t'<<"栈"<<'t'<<"输入缓冲区"<<'t'<<"所用的产生式"<

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

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

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