电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

中间代码生成VIP免费

中间代码生成_第1页
1/33
中间代码生成_第2页
2/33
中间代码生成_第3页
3/33
计算机科学与工程学院 课程设计报告 题目全称:常用边缘算法的实现 学生学号: 2506203010 姓名:王 嘉 指导老师: 职称: 指导老师评语: 签字: 课程设计成绩: 设计过程表现 设计报告质量 总分 编译器中间代码生成的研究与实现 作者: 王嘉 学号:2506203010 指导老师:吴洪 摘要: 在编译器的翻译流水线中,中间代码生成是处于核心地位的关键步骤。它的实现基于语法分析器的框架,并为目标机器代码的实现提供依据。虽然在理论上没有中间代码生成器的编译器也可以工作,但这将会带来编译器的高复杂度,低稳定性和难移植性。现代编译理论不仅要求中间代码的生成,还要求基于中间代码的优化。本文研究并实现了一个轻量级类 C 语言的中间代码生成器,并就中间代码生成的原理进行了细致的阐述。 关键字:中间代码生成、语法制导翻译、翻译模式、语法树、三地址码 一、 目的及意义 在编译器的分析综合模型中,前端将源程序翻译成一种中间表示,后端根据这个中间表示生成目标代码。目标语言的细节要尽可能限制在后端。尽管源程序可以直接翻译成目标语言,但使用与机器无关的中间形式具有以下优点: 1.重置目标比较容易:不同机器上的编译器可以在已有前端的基础上附近一个适合这 台新机器的后端来生成。 2.可以在中间表示上应用与机器无关的代码优化器。 本文介绍如何使用语法制导方法,基于一种轻量级的类C 语言FineC 的词法分析器和语法分析器,一遍地将源程序翻译成中间形式的编程语言结构,如声明、赋值及控制流语句。为简单起见,我们假定源程序已经经过一遍扫描,生成了相应的词法记号流和符号表、词素表结构。基于FineC 语法标准的语法分析器框架也已经能够正常工作。我们的任务就是补充这个框架,使其在语法分析的过程中生成相应的中间代码,并将必要的变量和函数声明存放在一个符号表链中。 二、 目标语言词法和语法标准: 这里定义一个编程语言称作FineC(“ fine”指代轻量、精妙)。它是一种适合编译器设计方案的语言。本质上是C 语言的一个限制了数据类型、算术操作、控制结构和处理效率的轻量子集。 1. FineC 语言的词法描述: [1]语言的关键字: else if return while int void 所有的关键字都是保留字,并且必须是小写 [2]下面是专用符号: + - * / < <= > >= == != = ; , { } ( ) /* */ RELOP = {< <= > >= == !=} ADDOP = {+ -} MULOP = {*...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

中间代码生成

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部