如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
北华航天工业学院《编译原理》课程实验报告编译原理》课程实验题目:LL(1)语法分析实验课程实验题目作者所在系部:计算机科学与工程系作者所在系部作者所在专业:作者所在专业:计算机科学与技术作者所在班级:作者所在班级作者学号:作者姓名:指导教师姓名:指导教师姓名完成时间:xxxxxxxxxxxxxxxx2011年4月28日_一、实验目的理解预测分析表方法的实现原理。二、实验内容及要求编写一通用的预测法分析程序,要求有一定的错误处理能力,出错后能够使程序继续运行下去,直到分析过程结束。可通过不同的文法(通过数据表现)进行测试。给定算术表达式文法,编写程序。测试数据:1.算术表达式文法E→TE’E’→+TE’|-TE’|εT→FT’T’→*FT’|/FT’|%FT’|εF→(E)|id|num2.作业3.10文法三、实验程序设计说明1.实验方案设计.主要函数之间的调用关系如下图所示:2.程序源代码.源代码如下:#include<iostream>#include<cstdio>#include<stack>usingnamespacestd;structNode1charvn;charvt;chars[10];}MAP[20];//存储分析预测表每个位置对应的终结符,非终结符,产生式intk;//用R代表E',W代表T',e代表空charstart='E';intlen=8;charG[10][10]={"E->TR","R->+TR","R->e","T->FW","W->*FW","W->e","F->(E)","F->i"};//存储文法中的产生式charVN[6]={'E','R','T','W','F'};//存储非终结符charVT[6]={'i','+','*','(',')','#'};//存储终结符charSELECT[10][10]={"(,i","+","),#","(,i","*","+,),#","(","i"};//存储文法中每个产生式对应的SELECT集charRight[10][8]={"->TR","->+TR","->e","->FW","->*FW","->e","->(E)","->i"};//用R代表A',W代表B',e代表空/*charstart='A';intlen=6;charG[10][10]={"A->aR","R->ABl","R->e","B->dW","W->bW","W->e"};charVN[6]={'A','R','B','W'};charVT[6]={'a','d','b','#','l'};charSELECT[10][10]={"a","a","d,#","d","b","l"};charRight[10][6]={"->aR","->ABl","->e","->dW","->bW","->e"};*/stack<char>stak;boolcompare(char*a,char*b){inti,la=strl