- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
武汉轻工大学
编译原理实验报告
姓名朱春桃
院〔系〕数学与计算机学院
班级软件工程1203
学号1205110605
指导教师李禹生
2014年11月10日
一、实验目的
完成自顶向下语法分析算法的程序设计。
二、实验内容
设计、调试并测试自顶向下语法分析算法程序。
三、设计思路
根据课堂讲授的自顶向下语法分析方法,可以根据递归下降子程序方法设计语法分析程序,也可以根据LL〔1〕算法设计语法分析程序,针对文法:
G[E]
E→E+T|T
T→T*F|F
F→(E)|i
〔1〕由于文法G[E]不满足LL〔1〕文法条件,需要进行必要的等价文法变换。变换后的等价文法为:
H[E]
E→TA
A→+TA|ε
T→FB
B→*FB|ε
F→(E)|i
〔2〕等价文法H[E]不含左递归,可以证明文法H[E]满足LL〔1〕文法条件
〔3〕根据递归下降子程序方法设计语法分析程序
①递归程序清单
②调试过程说明
③测试语句设计
④测试结果列表
⑤测试结论分析
〔4〕根据LL〔1〕算法设计语法分析程序
①预测分析表
②预测分析程序清单
③调试过程说明
④测试语句设计
⑤测试结果列表
⑥测试结论分析
程序清单
/*
E-TA,
A-+TA|ε,
T-FB,
B-*FB|ε,
F-i|(E).
*/
#includestdio.h
voidE(charstr[80],inti,interror);
voidA(charstr[80],inti,interror);
voidT(charstr[80],inti,interror);
voidB(charstr[80],inti,interror);
voidF(charstr[80],inti,interror);
voidmain()
{
inti=0,j=0,error=0;
charstr[80];
printf(请输入字符串〔#为结束字符〕:);
while((str[j]=getchar())!=#)
j++;
str[j]=#;
E(str,i,error);
if(error)
printf(error\n);
else
printf(right\n);
}
voidE(charstr[80],inti,interror)
{
printf(E-TA\n);
T(str,i,error);
A(str,i,error);
}
voidA(charstr[80],inti,interror)
{
if(str[i]==+)
{
printf(A-+TA|ε\n);
i++;
T(str,i,error);
A(str,i,error);
}
elseif(str[i]==#||str[i]==)){}
else
error++;
}
voidT(charstr[80],inti,interror)
{
printf(T-FB\n);
F(str,i,error);
B(str,i,error);
}
voidB(charstr[80],inti,interror)
{
if(str[i]==*)
{
printf(B-*FB|ε\n);
i++;
F(str,i,error);
B(str,i,error);
}
}
voidF(charstr[80],inti,interror)
{
if(str[i]==()
{
printf(F-i|(E)\n);
i++;
E(str,i,error);
if(str[i]==))
{
i++;
}
else
error++;
}
else
{
if(str[i]==i)
{
printf(F-i|(E)\n);
i++;
}
else
error++;
}
}
测试结果
实验总结
实验在老师提前给出的算法指导下,完成自顶向下语法分析的程序实际上是不困难的。但是老师的目的应该不在程序,而是让我们通过此次实验对课堂的理论知识有个深层次的理解。所以通过本次实验,我对自顶向下的语法分析过程有了更深的了解,结合课堂知识打下了学习其他语法分析方法的根底。
您可能关注的文档
- 老旧小区室外道路改造工程施工方案.doc
- 北师大版二年级下册统计课件.ppt
- 自考《外国法制史》历年真题选择题总汇(答案).doc
- 化学反应速率复习课件1.ppt
- 艾米儿童手机产品规划书-3.doc
- 匀速直线运动和变速直线运动.ppt
- 自考00882学前教育心理学.doc
- 苏科版七年级数学下册《二元一次方程组》测试卷及答案.doc
- 自信与宽容宋滟泽.doc
- 维保项目投标文件.doc
- 2025年卫生资格(中初级)-康复医学治疗技术(师)考试近5年真题集锦(频考类试题)带答案.docx
- 2025年卫生资格(中初级)-微生物检验技术(士)考试近5年真题荟萃附答案.docx
- 2025年卫生资格(中初级)-微生物检验技术(师)考试近5年真题荟萃附答案.docx
- 2025年卫生资格(中初级)-心理治疗(主管技师)考试近5年真题荟萃附答案.docx
- 2024年河北旅游职业学院单招职业适应性测试题库及答案解析.pdf
- 2025年许昌陶瓷职业学院单招职业适应性测试题库有答案.docx
- 2025年许昌陶瓷职业学院单招职业适应性测试题库附答案.docx
- 2025年卫生资格(中初级)-心理治疗(师)考试近5年真题荟萃附答案.docx
- 2025年卫生资格(中初级)-初级护师考试近5年真题荟萃附答案.docx
- 智慧广场 课件 青岛版(六三制)数学四年级下册.pptx
最近下载
- 热力管网直埋管道施工方案.doc
- 苏教版六年级下册科学第三单元《自然资源》单元试卷及答案.pdf VIP
- 2025年苏教版六年级科学下册第二单元《生物和栖息地》单元试卷(含答案).pdf VIP
- 小学科学苏教版六年级下册期末测试题A(附参考答案)(2022新版).pdf VIP
- 萌宠学 见面课试题及答案.docx VIP
- 苏教版六年级科学下册单元测试卷及答案(全册).pdf VIP
- 新苏教版六年级上册科学全册知识点总结.doc
- 全国自考《学前儿童游戏指导》全真模拟题(八).doc VIP
- 认知战研究的多学科视角分析.pptx VIP
- 全国自考《学前儿童游戏指导》全真模拟题(七).doc VIP
文档评论(0)