- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
编译原理课程设计报告
课题名称: C-词法扫描器及语法分析器实现
提交文档学生姓名: 刘佳玉
提交文档学生学号: 2012141461134
同组成员名单: 无
指导教师姓名: 张兵
指导教师评阅成绩:
指导教师评阅意见:
提交报告时间:2015年6月10日
目录
TOC \o 1-5 \h \z \o Current Document 编译原理课程设计报告 1
\o Current Document 1、 课程设计目标 2
\o Current Document 2、 分析与设计 2
\o Current Document 1册结构 2
\o Current Document 2衢F流程 3
\o Current Document 2.3词法分析 3
\o Current Document 231代码结构分析 3
\o Current Document 2.3.2token定义和类型 4
\o Current Document 2.3.3DNF 分析 4
\o Current Document 2.4语法分析 5
\o Current Document 2.4.1代码结构分析 5
\o Current Document 2.4.2节点定义和类型 5
\o Current Document 2.4.3递归下降语法分析 6
\o Current Document 3、 测试结果 11
\o Current Document 1流程 11
2 (11 15
4、 ,总结 15
4.1收获 15
\o Current Document 2特色 15
\o Current Document 3不足 16
\o Current Document 5、 程序代码实现 16
\o Current Document 1递归下降源代码 16
\o Current Document 2C-文法 67
1、 课程设计目标
学生在学习《编译原理》课稈过程屮,结合各章节的构造编译程序的基本理论,要求用(3或(3卄语言描 述及上机调试,实现一个C-Minus小编译程序(包括词法分析,语法分析等重要子程序),使学生将理论与 实际应用结合起来,受到软件设计等开发过程的全面训练,从而提高学生软件开发的能力。
要求:实现scanner和parser功能
2、 分析与设计
2.1虧结构
语法分析采用递归下降方法的程序结构:
本程序采用面向对象的思想编写,使用C语言实现,程序分为两部分:词法分析(scan)和语法分析(paise), 分别将两个处理阶段写在两个函数?,分别是scan()和paise(),两个函数分别完成词法分析和语法分析的任 务。scan()a数主要的工作是检查注释是否合法、词法分析获取tokeno paise()函数的主要工作是根据scan() 词法分析Z后的token进行语法分析,生成语法树,最后并输出语法树。
2. 2的流程
递归下降方法的程/了;流程图读入数据(理序)hh卜?4?V…;…卜:…卜?+c ■ h M
递归下降方法的程/了;流程图
读入数据
(理序)
h
h
卜?4?V…;…卜
:…卜?+
c ■
h
M
输出出错位
K
?
2.3词法分析
2.3.1代码结构分析
词法分析阶段的代码写在一个函数中——scan()o main函数读取程序数据,将其存储在一个二维数组中, 调用函数zhushieiroit),确定程序是否存在注释错误,注释的错误主要是注释的符号不匹配。如果不存在注释 错误,贝I」调用scan()函数进行词法分析,否则报错。词法分析是对输入的数据一个字符一个字符的分析,将 所分析出来的token存储在_个vector数组中,方便后面语法分析时调用。词法分析没有什么错误限制,基 本不会报错。所以在分析的同时,就会将所分析出的token输出
2.3.2token定义和类型
token 体定义如下:
stiuct token//token 结构体
{
Tokentype tokentypey/token 类型
char tokenstringf 1100]y/token 串
int lineno;//token 行号
};
token
〃定义的 Token 的类型(29 种),分别对应于 else、if、int return void、while
//+、* I、s =^ ^〉二、=、
/////!二、=、;、,、(、)、[、]、{、}、num、id、错误、结束
typedcf enum
{
elsee= 1 ,ifKintt,retumn,voidd,whilee,xiaoyudengyu,dayudengyu9de
您可能关注的文档
- 般涉调哨遍教案.doc
- 背地理的方法高中地理其实并不难.docx
- 背诵登记表教学课件.docx
- 背越式跳高 助跑与起跳结合技术.docx
- 被荐学生事迹材料范文高中.docx
- 苯分子共振能的测定.docx
- 笔算乘法教案张娟妮.docx
- 编译原理设计报告.docx
- 编制初中数学导学案实践和思索.docx
- 表达是花,生活是土教案.docx
- 2025及未来5年中国都梁滴丸市场数据分析及竞争策略研究报告.docx
- 2025及未来5年中国高精度自动点胶机市场数据分析及竞争策略研究报告.docx
- 2025及未来5年中国跑步机橡胶脚垫市场数据分析及竞争策略研究报告.docx
- 2025及未来5年中国防干烧不粘涂层豪华型电饭锅市场数据分析及竞争策略研究报告.docx
- 2025及未来5年中国ABS专用刹车油市场数据分析及竞争策略研究报告.docx
- 2025及未来5年中国棕刚玉研磨石市场数据分析及竞争策略研究报告.docx
- 2025及未来5年中国红枣山楂袋泡茶市场数据分析及竞争策略研究报告.docx
- 2025及未来5年中国软磁测量装置市场数据分析及竞争策略研究报告.docx
- 2025及未来5年中国蒸发器管件市场数据分析及竞争策略研究报告.docx
- 2025及未来5年中国不锈钢拆装式面盆架市场数据分析及竞争策略研究报告.docx
最近下载
- 2025年6月全国大学英语CET四级真题和答案解析(全三套).pdf
- 医院污水处理方案.docx VIP
- 2020NFPA 855固定式储能系统安装标准.pdf VIP
- 大学生社会实践-流动的急救课堂智慧树知到期末考试答案2024年.docx VIP
- 精品度假酒店设计.pptx
- 2024-2025学年人教版小学六年级数学下册第三单元《圆柱的表面积和体积的计算》专项试卷及答案.docx VIP
- BB-T 0053-2023模内标签-标准图集.docx VIP
- 纪检监察笔录培训课件.pptx VIP
- 股份公司董事会向经理层授权管理办法附董事会授权事项清单.docx VIP
- 高温操作寿命HTOL及早期失效EFR计算公式.xls VIP
原创力文档


文档评论(0)