1 / 40
文档名称:

编译原理课程设计报告-编译程序构造.doc

格式:doc   页数:40
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

编译原理课程设计报告-编译程序构造.doc

上传人:3346389411 2013/11/15 文件大小:0 KB

下载得到文件列表

编译原理课程设计报告-编译程序构造.doc

文档介绍

文档介绍:精品
北华航天工业学院
《编译原理》课程设计
课程设计题目: 编译程序构造
作者所在系部: 计算机科学与工程系
作者所在专业: 计算机科学与技术
作者所在班级:
作者学号:
作者姓名:
指导教师姓名:
完成时间: 2011年6月11日
课程设计任务书
课题名称
《编译原理》课程设计
完成时间

指导教师
职称
副教授
学生姓名
班级

总体设计要求
总体设计要求:
课程设计内容共给定1个题目,每个学生按照课程设计要求,在规定的两周时间内独立完成。
题目:
编译程序构造
涉及内容:
词法分析、语法分析、语义分析生成中间代码
工作内容及时间进度安排
第一周、周1:设计动员,布置课程设计任务,查阅资料,制定方案,进行程序方案设计。
第一周、周2-周5:编写和调试程序
第二周、周1-周3:编写和调试程序
第二周、周4:整理,撰写设计报告。
第二周、周5:验收,提交设计报告,评定成绩。
毕业设计成果
1、课程设计报告书一份
2、源程序清单一份
3、成果使用说明书一份
内容摘要
本次课程设计涉及词法分析、自下而上语法分析程序的实现:SLR(1)分析器的实现以及生成中间代码。通过词法分析识别单词和运算符,根据LR分析算法构造SLR(1)分析程序,并完成语法分析动作,语法分析调用词法分析,然后查找用SLR(1)构造的ACTION表和GOTO表进行移进或归约,归约时根据不同的产生式进行不同的语义分析,最终输出分析过程,并形成符号表、二元式、四元式文件。
本次程序将本次课程所学的词法分析,语法分析和语义分析结合起来,使我们进一步理解正则表达式,自动机以及语法分析方法。同时加深掌握语法制导翻译和中间代码生成,在语法分析的同时进行语义加工并产生出中间代码的方法。
关键词:算数表达式和赋值语句,词法分析,语法分析,语义分析,SLR(1)
目录
内容摘要 3
目录 4
第1章绪论 5
、课程设计目的 5
、课程设计意义 5
、课程设计要求 5
、课程设计内容 5
、题目 5
、内容 5
、具体要求 6
、程序设计提示 6
、测试数据 6
、程序扩展要求 7
、课程设计地点与环境 7
第2章程序设计内容 8
、设计方案介绍 8
、模块划分及模块调用关系 8
、程序流程图 8
、SlR(1)分析表 9
第3章程序详细设计与实现 11
、词法分析 11
、语法分析 12
、语义分析 15
、程序实现结果图 15
第4章总结 18
参考文献 19
附录 20
第1章绪论
、课程设计目的
《编译原理》课程设计是编译原理课程必不可少的一个环节,通过课程设计,加深对编译原理的教学内容的了解,以及实现编译原理各部分知识的融合。进而提高学生分析问题、解决问题,从而运用所学知识解决实际问题的能力。
、课程设计意义
计算机语言之所以能由单一的机器语言发展到现今的数千种高级语言,就是因为有了编译技术,编译技术是计算机科学中发展最迅速,最成熟的技术,它集中了计算机发展的成果与精华,它具有很强的理论性和实践性,本次课设将理论应用到实践,增强学生学习的热情。
、课程设计要求
,复习与查阅有关资料
,课设报告要求文字和图工整、思路清楚、正确。
。凡用户输入时,给出足够的提示信息使用户感到方便使用。
:程序中应有适当的注释,变量命名应符合实际含义,程序结构清晰,易于阅读和理解。
、课程设计内容
、题目
编译程序构造
、内容
涉及词法分析、自下而上语法分析程序的实现:SLR(1)分析器的实现以及生成中间代码。
、具体要求
根据LR分析算法构造SLR(1)分析程序,并完成语法分析动作(当需要一个单词时,调用词法分析程序获取),同时完成语义分析生成四元式输出。要求程序具有通用性,改变文法时只需改变程序的数据初值,无需改变程序主体;
要求完成一条说明语句、一条算数表达式和赋值语句的翻译,生成中间代码。
变量说明语句的文法及相应的语义子程序:.att表示数据类型属性,fill函数表示将单词id及其类别属性填写符号表。
(0)S→D; {acc}
(1)D→int id { fill(id,int);=int; }
(2)D→float id {fill(id,float);