- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
.
《编译原理》课程
实验报告
题目 用递归下降法进行表达式分析
专业
班级
学号
姓名
一 . 实验题目
用递归下降法进行语法分析的方法
二 . 实验日期
三 . 实验环境(操作系统,开发语言)
专业资料
.
操作系统是 Windows
开发语言是 C 语言
四. 实验内容(实验要求)
词法分析程序和语法分析程序已经提供。 此语法分析程序能够实现: 正确的
输入可以给出结果。例:输入表达式串为: (13+4 )*3 则应给出结果为 51 。
要求:
(1)读懂源代码,理解内容写入实验报告(语法分析及语法分析程序和词法分
析程序的接口)
(2 )把语法分析中使用的 yyval ,用 yytext 实现。
(3 )在语法分析程序用加入出错处理(尽量完整,包括出错的位置,出错的原
因,错误的重定位)
五 . 实验步骤
1. 生成 lex.yy.c 文件:
将已给的 mylexer.l 文件打开,先理解,然后再在 DOS 环境下用 flex 运行
此文件,这时会生成一个 lex.yy.c 文件。
2. 创建工程:
打开 C-Free 5.0( 注:用 C-Free 4.0 会出错 ),在菜单栏中的 “工程(project )”
菜单下选择 “新建”;在新建工程中选择 “控制台程序”,添加工程名字为 “myleb ”
专业资料
.
和保存位置后点“确定” ;第 1 步选择“空的程序”点“下一步” ;第 2 步再点
“下一步”;最后点击“完成” 。
3. 在创建的工程中添加文件:
在 Source files 文件夹中添加之前生成的 lex.yy.c 文件和 syn.c 文件,然后
找到 parser.h 文件,将其添加到新建工程中的 Header files 文件夹中,这时就
能将三个文件组成一个类似于 .exe 文件类型的文件,最后运行。如图:
4. 理解并修改 syn.c 文件:
首先,将 num = yyval.intval 修改成 num = atoi(yytext) ;将 num =
yyval.fval 修改成 num = atof(yytext) 。可以这样修改的原因:在 .l 文件中所写
的规则中,有 {DIGIT}+ { yyval.intval = atoi(yytext);return INTEGER; } 和
{DIGIT}+.{DIGIT}* {yyval.fval = atof(yytext); return DOUBLE; } 这两句代
码,其中 yyval.intval = atoi(yytext) 和 yyval.fval = atof(yytext) 就说明两者可
以相互替代。
然后,反复修改 F()函数 (可将printf() 带入其中调试),修改“case LPAREN :”
和“default: ”中的部分,使这段代码即可检测出缺少‘ (’又可检测出缺少‘)’
以及“) (”(右括号在前)或是括号中没有数字的情况。
最后,综合理解 double E();double F();void S();double T(); 四个函数以
专业资料
您可能关注的文档
最近下载
- 地球生命力报告2020:扭转生物多样性丧失的曲线~摘要.pdf VIP
- 村和社区两委换届培训.pptx VIP
- 【校本教材】初中音乐校本教材.docx VIP
- DB11T 555-2015 民用建筑节能现场检验标准.pdf VIP
- NADCA北美压-铸协会技术标准.pdf
- ISO 3506-2-2020 紧固件 耐腐蚀不锈钢紧固件的机械性能 第2部分:具有规定组别和性能等级的螺母(中文).pdf
- 糖尿病足溃疡中医外治法专家共识.pdf VIP
- 四象限法则培训.pptx
- 增删诸脉指法主病29脉.doc VIP
- 自考《马克思主义基本原理概论》复习资料及自考《中国现代文学史》复习资料大全.doc VIP
文档评论(0)