- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[计算机]LL1语法分析
北华航天工业学院
《编译原理》课程实验报告
课程实验题目: LL(1)语法分析实验
作者所在系部: 计算机科学与工程系
作者所在专业: 计算机科学与技术
作者所在班级: xxx
作 者 学 号: xxxxx _
作 者 姓 名 : xxxx
指导教师姓名: xxxx
完 成 时 间 : 2011年4月28日
一、实验目的
理解预测分析表方法的实现原理。
二、实验内容及要求
编写一通用的预测法分析程序,要求有一定的错误处理能力,出错后能够使程序继续运行下去,直到分析过程结束。可通过不同的文法(通过数据表现)进行测试。
给定算术表达式文法,编写程序。
测试数据:
1.算术表达式文法
E→TE’
E’ → +TE’|- TE’|ε
T→FT’
T’ →*FT’ |/ FT’ |%FT’|ε
F→(E) |id|num
2. 作业3.10 文法
三、实验程序设计说明
1.实验方案设计
主要函数之间的调用关系如下图所示:
程序源代码
源代码如下:
#include iostream
#include cstdio
#include stack
using namespace std;
struct Node1
{ char vn;
char vt;
char s[10];
}MAP[20];//存储分析预测表每个位置对应的终结符,非终结符,产生式
int k;
//用R代表E,W代表T,e代表空
char start=E;
int len=8;
char G[10][10]={E-TR,R-+TR,R-e,T-FW,W-*FW,W-e,F-(E),F-i};//存储文法中的产生式
char VN[6]={E,R,T,W,F};//存储非终结符
char VT[6]={i,+,*,(,),#};//存储终结符
char SELECT[10][10]={(,i,+,),#,(,i,*,+,),#,(,i};//存储文法中每个产生式对应的SELECT集
char Right[10][8]={-TR,-+TR,-e,-FW,-*FW,-e,-(E),-i};
//用R代表A,W代表B,e代表空
/*char start=A;
int len=6;
char G[10][10]={A-aR,R-ABl,R-e,B-dW,W-bW,W-e};
char VN[6]={A,R,B,W};
char VT[6]={a,d,b,#,l};
char SELECT[10][10]={a,a,d,#,d,b,l};
char Right[10][6]={-aR,-ABl,-e,-dW,-bW,-e};*/
stack char stak;
bool compare(char *a,char *b)
{ int i,la=strlen(a),j,lb=strlen(b);
for(i=0;ila;i++)
for(j=0;jlb;j++)
{ if(a[i]==b[j])
return 1; }
return 0;}
char *Find(char vn,char vt)
{ int i;
for(i=0;ik;i++)
{ if(MAP[i].vn==vn MAP[i].vt==vt)
return MAP[i].s;}
return error;}
char * Analyse(char * word)
{ char p,action[10],output[10];
int i=1,j,l=strlen(word),k=0,l_act,m;
while(!stak.empty())
stak.pop();
stak.push(#);
stak.push(start);
printf(___________________________________________________________\n);
pr
您可能关注的文档
最近下载
- 烟草考试真题及答案.doc VIP
- 2025年最新人教版八年级(初二)数学上册教学计划及进度表(新课标,新教材).docx
- 外研版高中《英语》(新标准)选择性必修一Unit1 单元整体教学设计附作业设计.docx VIP
- 5.1《论语》十二章 课件(共48张PPT)统编版高中语文选择性必修上册.pptx VIP
- 计算机网络实验报告(8)网络地址转换NAT配置、网络端口地址转换NAPT配置.pdf VIP
- 工程材料及成形技术基础-全套PPT课件.pptx
- 单证员考试试题.pdf VIP
- 地面空压机安装技术措施.docx VIP
- 工程建设法规的案例.ppt VIP
- 农产品食品检验员职业技能竞赛理论考试题库(含答案).docx VIP
文档评论(0)