- 29
- 0
- 约8.06千字
- 约 19页
- 2021-10-14 发布于山东
- 举报
广东工业大学编译原理实验报告计划
广东工业大学编译原理实验报告计划
PAGE / NUMPAGES
广东工业大学编译原理实验报告计划
.
实验报告
课程名称 ____ 编译原理 __________
题目名称 _ PL/0 编译程序的改正扩大 _
学生学院 计算机学院 __
专业班级 _______ ________
学 号
学生姓名 ______ ________
指导教师 ____ _________ __
20 年 月 日
.
.
一、课内实验要求
对 PL/0 作以下改正扩大:
增添单词:保存字 ELSE,FOR,TO,DOWNTO ,RETURN
运算符 *= ,/= ,++ ,-- ,,||,!
改正单词:不等号 # 改为
增添条件语句的 ELSE子句,要求:写出有关文法,语法图,语义规则。
二、实验环境与工具
计算机及操作系统: PC 机, Windows2000 , WindowsXP
程序设计语言: C
教课型编译程序: PL/0
设计方案
概括:源、目口号言,实现工具 (平台 ),运转平台
源语言: PASCAL
目口号言:设想栈式计算机的汇编语言,可称为类 PCODE 指令代码
实现工具: Visual C++ 6.0
运转平台: Windows 7
三、 设计方案
1.构造设计说明
( 1) PL/0 语言编译器
PL/0 语言可当作是 PASCAL 语言的子集,它的编译程序是一个编译解说履行系统。 PL/0 的目标程序为设想栈式计算机的汇编语言,与详细计算机没关。
PL/0 源程序
.
表
目标代码生成程序
出
格
目标代码生成程序
错
.
2) PL/0 编译程序的语法剖析过程 BLOCK 是整个编译过程的核心。这里依据编译程序的整体流程图,来弄清 BLOCK 过程在整个编译程序中的作用。总流程图以下列图所示:
启动
程序
置初值
调用 getsym 取单词 分程序
调用 block 过程
语句
能否为源程序 犯错
条件
源程序能否有
打印错误
表达式
项
调用解说过程 interpret
解说履行目标履行目标
因子
结束 PL/0 语法调用关系图
.
.
PL/0 的编译程序采纳一趟扫描方式,以语法剖析程序为核心,词法剖析程序和代码生
成程序都作为一个独立的过程, 当语法剖析需要读单词时就用词法剖析程序, 而当语法剖析正确需生成相应的目标代码时, 则调用代码生成程序。别的, 用表格管理程序成立变量,常
量和过程表记符的说明与引用之间的信息联系。 用犯错办理程序对词法和语法剖析碰到的错误给出在源程序中犯错的地点和错误性质。
( 3)各功能模块描绘
过程或函数名 简要功能说明
pl0 主程序
error 犯错办理,打印犯错地点和错误编码
getsym 词法剖析,读取一个单词
getch 遗漏空格,读取一个字符
gen 生成目标代码,并送入目标程序区
test 测试目前单词符号能否合法
block 分程序剖析办理过程
enter 登录名字表
position( 函数 ) 查找表记符在名字表中的地点
constdeclaration 常量定义办理
vardeclaration 变量说明办理
listode 列出目标代码清单
statement 语句办理
expression 表达式办理
term 项办理
factor 因子办理
.
.
condition 条件办理
interpret 对目标代码的解说履行程序
base(函数 ) 经过静态链求出数据区的基地点
2、主要成分描绘
符号表
○
为了构成一条指令,编译程序一定知道其操作码及其参数(数或地点) 。这
些值是由编译程序自己联系到相应表记符上去的。 这类联系是在办理常数、 变量
和过程说明达成的。 为此,表记符表应包含每一表记符所联系的属性; 假如表记
符被说明为常数, 其属性值为常数值; 假如表记符被说明成变量, 其属性就是由
层次和修正量(偏移量)构成的地点;假如表记符被说明为过程,其属性就是过
程的进口地点及层次。 常数的值由程序正文供给, 编译的任务就是确立寄存该值
的地点。我们选择次序分派变量和代码的方法; 每碰到一个变量说明, 就将数据
单元的下标加一(PL/0 机中,每个变量占一个存贮单元) 。开始编译一个过程时,
要对数据单元的下标 dx 赋初值,表示新开拓一个数据区。 dx 的初值为 3,因为
每个数据区包含三个内部变量 RA, DL 和 SL。
运转时储存组织和管理
○
关于源程序的每一个过程(包含主程序) ,在被调用时,第一在数据段中开
辟三个空间,寄存静态链 SL、动向链 DL 和返回地点 RA。静态链记录了定义该
过程的直接外过程 (或主程序) 运转时最新数据段的基地点。 动向链记录调用该
过程前正在运转的过程
您可能关注的文档
- 广东中考词语运用及.docx
- 广东中考语文模拟试卷.docx
- 广东中考语文词语运用专项训练及解析.docx
- 广东中职学前教育专业调研报告计划.docx
- 广东公务员乡镇面试试题真题解析.docx
- 广东农村信用社招聘笔试真题选.docx
- 广东初中教育毕业生升学体育考试项目规则及评分标准.docx
- 广东初级网络安全系统管理系统员考试简答题汇总情况.doc
- 广东医院绿化养护方案.docx
- 广东学年高中学业水平测试数学试题.docx
- 2026年及未来5年内中国液体氩气行业投资前景及策略咨询研究报告.docx
- 2026年及未来5年内中国黄铜合页行业投资前景及策略咨询研究报告.docx
- 2026年及未来5年内中国竹工艺家具行业投资前景及策略咨询研究报告.docx
- 2025年中国微机数显自动分析仪市场调查研究报告.docx
- 2026年及未来5年内中国微尘白色粉笔行业投资前景及策略咨询研究报告.docx
- 2025年中国微电脑型压胶机市场调查研究报告.docx
- 2026年及未来5年内中国数字化等功游泳训练测试系统行业投资前景及策略咨询研究报告.docx
- 2025年中国圆形花瓶市场调查研究报告.docx
- 2026年及未来5年内中国植物纤维静淀过滤器行业投资前景及策略咨询研究报告.docx
- 2025年中国超音波手套机市场调查研究报告.docx
最近下载
- 四川省2025年中考数学真题试卷十五套附答案.pdf VIP
- 《数据库原理与应用》课程标准.pdf VIP
- 本科论文毕设-基于JAVA酒店管理系统毕业设计论文.doc VIP
- 2025年德州职业技术学院单招笔试数学试题库含答案解析.docx VIP
- 氟化物微纳复合玻璃与透明陶瓷:设计原理、制备工艺与性能研究.docx VIP
- 2025海上风电系统智能运维的数字孪生技术(英文).pdf VIP
- 2025年德州职业技术学院单招《数学》真题(重点)附答案详解.docx VIP
- 牵引供电变电所-分区所-AT所.pdf VIP
- 投标产品质量、供货、售后服务、残次品退换承诺方案.docx VIP
- 子宫肌瘤的诊治中国专家共识解读.docx VIP
原创力文档

文档评论(0)