- 1、本文档共52页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
佛山科学技术学院
实 验 报 告
课程名称 编译原理
实验项目 编译器的代码生成
专业班级 计算机1班 姓 名 学 号
指导教师 黄营 成 绩 日 期 2014/6/7
一、实验目的;
掌握PL语言编译器的中间代码生成的程序分析与实现方法,并能对错误进行分析与处理
二、实验内容;
为了使我们的编译程序保持适当简单的水平,不致陷入与本课程无关的实际机器的特有性质的考虑中去,我们假想有台适合PL程序运行的计算机,我们称之为PL处理机。PL处理机顺序解释生成的目标代码。
三、实验原理;
PL处理机的指令集根据PL语言的要求而设计,它包括以下的指令:
(1)LIT /* 将常数置于栈顶 */
(2)LOD /* 将变量值置于栈顶 */
(3)STO /* 将栈顶的值赋与某变量 */
(4)CAL /* 用于过程调用的指令 */
(5)INT /* 在数据栈中分配存贮空间 */
(6)JMP, JPC /* 用于if, while语句的条件或无条件控制转移指令 */
(7)OPR /* 一组算术或逻辑运算指令 */
上述指令的格式由三部分组成:
F
L
A
其中,f, l, a的含义见下表:
F
L
a
INT
———
常 量
LIT
———
常 量
LOD
层次差
数据地址
STO
层次差
数据地址
CAL
层次差
程序地址
JMP
———
程序地址
JPC
———
程序地址
OPR
———
运算类别
表1 PL 处理机指令
四、实验步骤;
PL的编译程序为每一条PL源程序的可执行语句生成后缀式目标代码。另一方面,发现错误,并给出合适的诊断信息且继续编译下去从而发现更多的错误,对于编译程序而言是完全必要的。结合关键字规则、镇定规则,采用策略:先用一些明显的关键符号给它赋初值,然后随着分析子目标的层次深入,逐步补充别的合法符号。
程序代码
PL0.h:
/*PL/0 编译系统C版本头文件 pl0.h*/
/*typedef enum{
false,
true,
}bool;*/
# define norw 20 /*关键字个数*/
# define txmax 100 /*名字表容量*/
# define nmax 14 /*number的最大位数*/
# define al 10 /*符号的最大长度*/
# define amax 2047 /*地址上界*/
# define levmax 3 /*最大允许过程嵌套声明层数[0,lexmax]*/
# define cxmax 200 /*最多的虚拟机代码数*/
/*符号*/
enum symbol{
nul, ident, number, plus, minus,
times, slash, oddsym, eql, neq,
lss, leq, gtr, geq, lparen,
rparen, comma, semicolon, period, becomes,
beginsym,endsym, ifsym, thensym, whilesym,
writesym,readsym, dosym, callsym, constsym,
varsym, procsym, elsesym, forsym, tosym,
downtosym,returnsym,pluseql, minuseql,plusplus,
minusminus,repeatsym,dowhilesym,
};
#define symnum 43
/*-------------*/
enum object{
c
您可能关注的文档
- 比赛级英制杆端关节轴承的使用..doc
- 笔记本电脑维修知识大全..docx
- 笔记本电脑整机优化方案..doc
- 笔记-化工仪表及自动化教材(廖燕明主讲)1-17(50)..docx
- 闭路电视监控教学模拟系统实训指导书..docx
- 闭路电视监控系统介绍..doc
- 闭路电视系统工程施工组织设计方案..doc
- 闭路监控系统方案书..doc
- 闭路监控系统设计方案1..doc
- 闭路视频监控方案..doc
- (通用)关于2024年度党员干部民主生活会召开情况的报告.docx
- 2025年党委党组理论学习中心组学习计划+政府办公室2025年党组理论学习中心组专题学习计划.docx
- 纪委监委理论学习中心组2025年专题学习计划+2025年市委办公室理论学习中心组专题学习计划.docx
- 3篇 2025年《政府工作报告》心得体会.doc
- 党组书记在党委理论学习中心组学习研讨会上的发言材料+人大办公室机关关于2025年党组理论学习中心组专题学习计划.docx
- 2025年党支部组织生活会谈心谈话记录+党支部书记和组织委员组织生活会前谈心谈话记录.docx
- 2025年二季度党课讲稿(以中央精神为指引推动2025年工作开好局起好步;强化廉洁教育,筑牢拒腐防变思想防线;开局即决战,起步即冲刺).docx
- 2025年二季度廉政专题、纪检专题党课讲稿(大力纠治“微腐败”和不正之风推动基层风气;深化全面从严治党,净化党内政治生态).docx
- 学习2025年《关于加强新时代中小学体育教师队伍建设若干举措的通知》心得体会研讨发言.docx
- 2025年专题组织生活会个人检视剖析情况报告(检视学习贯彻党的创新理论情况:检视党性修养提高情况:检视联系服务群众情况:检视发挥先锋模范作用情况).doc
文档评论(0)