- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
. .
目录
TOC \o 1-3 \h \z \u 1. 绪论 1
1.1概述 1
1.2设计目的 1
1.3设计题目及要求 1
2.背景知识 2
2.1语法制导翻译方法 2
2.2属性文法 2
2.3几种常见的中间语言 3
2.4四元式的简介 3
3.设计过程 4
3.1设计思路 4
3.2实现 5
4.上机调试运行 5
4.1代码调试界面及结果 6
4.2执行及结果 6
5.注意事项 7
6.总结 8
参考文献 9
附录 10
绪论
1.1概述
“编译原理”是一门研究设计和构造编译程序原理课程.是计算机各专业的一门重要的专业课。编译原理这门课程蕴含着计算机学科中解决问题的思路和解决问题的方法.对应用软件和系统软件的设计与开发有一定的启发和指导作用。“编译原理”是一门实践性很强的课程.要掌握这门课程中的思想.就必须要把所学到的知识应用于实践当中。而课程设计是将理论与实践相互联系的一种重要方式。
1.2设计目的
课程设计是对学生的一种全面综合素质训练.是与课堂听讲、自学和练习相辅相成的必不可少的一个教学环节。通常.设计题中的问题比平时的练习题要复杂很多.但也更接近实际。编译原理这门课程安排的课程设计的目的是旨在要求学生进一步巩固课堂上所学的理论知识.深化理解和灵活掌握教学内容.选择合适的数据逻辑结构解决问题.然后编制算法和程序完成设计要求.从而进一步培养学生独立思考问题、分析问题、解决实际问题的能力。
1.3设计题目及要求
基于这个学期所学习的内容以及自己所掌握到的知识.本次我所要设计的题目是赋值语句的四元式生成。
要求:
(1)设计语法制导生成赋值语句的四元式的算法;
(2)编写代码并上机调试运行通过;
(3)输入一赋值语句;
(4)输出相应的表达式的四元式;
2.背景知识
2.1语法制导翻译方法
语法制导翻译的方法就是为每个产生式配上一个翻译子程序(称语义动作或语义子程序).并在语法分析的同时执行这些子程序。语义动作是为产生式赋予具体意义的手段.它一方面指出了一个产生式所产生的符号串的意义.另一方面又按照这种意义规定了生成某种中间代码应做哪些基本动作。在语法分析的过程中.当一个产生式获得匹配(对于自顶向下分析)或用于规约(对于自底向上分析)时.此产生式相应的语义子程序就进入工作.完成既定的翻译任务。语法制导翻译分为自底向上语法制导翻译和自顶向下语法制导翻译。
2.2属性文法
属性文法是编译技术中用来说明程序语言语义的工具.也是当前实际应用中比较流行的一种语义描述方法。属性是指与文法符号的类型和值等有关的一些信息.在编译中用属性描述处理对象的特征。属性文法是一种适用于定义语义的特殊文法.即在语言的文法中增加了属性的文法.它将文法符号的语义以“属性”的形式附加到各个文法的符号上.再根据产生式所包含的含义.给出每个文法符号属性的求值规则.从而形成一种带有语义属性的上下文无关文法.即属性文法。属性文法也是一种翻译文法.属性有助于更详细的指定文法中的代码生成动作。
2.3几种常见的中间语言
(1)抽象语法树
(2)逆波兰表示法
(3)三地址代码
在编译程序中.三地址代码语言的具体实现通常有三种表示方法:
四元式、三元式和间接三元式。
2.4四元式的简介
四元式是具有四个域的记录(即结构体)结构.这四个域为:
(op.arg1.arg2.result)
其中.op为运算符.arg1、arg2及result为指针.他们可指向有关名字在符号表中的登记项或一临时变量(也可空缺)。常用的三地址语句与相应的四元式对应如下:
X=y op z 对应(op.y,z,x)
X=-y 对应(uminus.y,_,x)
X=y 对应(=.y,_,x)
Par x1 对应(par.x1,_,_)
Call p 对应(call._,_,p)
Goto L 对应(j._,_,L)
If x rop y goto L 对应(jrop.x,y,L)
注意规则:
如果op是一个算术或逻辑运算符.则result总是一个新引进的临时变量.它用来存放运算结果。四元式出现的顺序与表达式计值的顺序是一致的.四元式之间的联系是通过临时变量实现的。四元式由于其表示更接近程序设计的习惯而成为一种普遍采用的中间代码形式。
3.设计
您可能关注的文档
最近下载
- 《高血压患者的居家护理》课件.ppt VIP
- 第4课 观察洋葱表皮细胞(教学设计)教科版六年级科学上册.pdf VIP
- 年产10万吨铝电解车间设计毕业(设计)论文.doc VIP
- 新统编版七年级历史上册全册课件(2024年秋新教材).pptx
- 7.1《短歌行》课件(共21张PPT) 2025-2026学年统编版高中语文必修上册.pptx VIP
- 新房屋装修预算明细表.pdf VIP
- 四年级上册信息技术第一单元第3课《会讲故事的数据》第2课时 川教版2024 教案.docx VIP
- 同济启明星软件:深基坑支挡结构分析计算软件(FRWS v7.1)用户手册.doc VIP
- 放射物理与防护 放射治疗剂量学 放射治疗剂量学.ppt VIP
- 2025年广西专业技术人员继续教育公需科目(一)答案.pdf
文档评论(0)