- 0
- 0
- 约1.13千字
- 约 89页
- 2020-11-19 发布于福建
- 举报
第2章PL/0编译程序
21PL/语言和类pode的描述
22PL0编译程序的结构
23PLA0编译程序的语法语义分析
24PL0编译程序的错误处理
25类 pcode代码解释器
本章目的:以PL/0为实例,学习编译程序实现的
基本步骤和相关技术
PL/0编译程序
PL语言程序一PL/0编译程序一类 pcode代码
源语言(PL/0
PL/O
类
pcode
日标语言(类 pcode)
C/pascal
实现语言(C/ pasca)
PL/0编译系统的结构框架
PL0源程序
PL/0编译程序
类 pcode代码
类 pcode解释程序
输入
输出
PL/0语言
9PL/0程序示例
8PL/0的语法描述图
8PL/0语言文法的EBN表示
8PL/0语言: PASCAL语言的子集
CONST A=10;(*常量说明部分*
VARB,C;(*变量说明部分*
PROCEDURE P;(*过程说明部分*
PL/0程序
VAR D
示例
PROCEDURE Q
VAR X.
BEGIN
READ (X)
D: =X
WHILE X#0D0}Q的过程体
CALL P
END
BEGIN
WRITE (D)
CALL Q
P的过程体
END
BEGIN
CALL P
主程序体
END
PL/0语言是 PASCAL语言的子集
同PAS0AL
作用域规则(内层可引用包围它的外层定义的
标识符),过程可嵌套定义,可递归调用
子集
8数据类型,只有整型
8数据结构,只有简变和常数
8数字最多为14位
标识符的有效长度是10
语句种类
3过程最多可嵌套三层
程序—分程序
匚内的文字表示非终结符
或○内的文字或符号表示终结符
分程序--( const( ident)+(=
number
var
ident
procedure
ient(分程序
语句
PL/0语言文法的EN表示
EBNF引入的符号(元符号)
用左右尖括号括起来的语法成分为非终结符
=(→)“定义为’∷=(→)的左部由右部定义
或
}表示花括号内的语法成分可重复任意次或限
定次数
[]表示方括号内的语法成分为任选项
()表示圆括号内的成分优先
例:用EBNF描述PL/0的定义
程序∷=分程序
分程序∷=[常量说明部分[变量说明
部分为[过程说明部分]语句
常量说明部分∷= CONST常量定义〉
,常量定义
常量定义∷=标识符〉=无符号整数〉
您可能关注的文档
- 广州地铁发展情况PPT制作邱晓琴PPT的资料收集.ppt
- 广州四英上复习建议.ppt
- 广州博控产品的应用.ppt
- 广州到湖南长沙物流货运公司分解.ppt
- 广州到蚌埠物流专线直达天天发车.ppt
- 广州到宁乡专线 广州到宁乡物流公司直达.ppt
- 广州报刊亭多元推介的资料.ppt
- 广州市轨道交通四号线简介的资料.ppt
- 广州市教育局教研室 邱才训 我这样认识课改.ppt
- 广州市外来务工人员调查报告总结赛.ppt
- 人教版八年级上册历史精品教学课件 第六单元 中华民族的抗日战争 第17课 七七事变与全民族抗战 (6).ppt
- 人教版八年级上册历史精品教学课件 期末专题复习 专题二 中国人民近代化的探索 (2).ppt
- 人教版八年级上册历史精品教学课件 第二单元 近代化的早期探索与民族危机的加剧 第5课 甲午中日战争与列强瓜分中国狂潮 (2).ppt
- 人教版八年级上册历史精品教学课件 第七单元 人民解放战争 大概念引领下的大单元复习 (4).ppt
- 人教版八年级上册历史精品教学课件 第七单元 人民解放战争 第21课 人民解放战争的胜利 (2).ppt
- 人教版八年级上册历史精品教学课件 第三单元 资产阶级民主革命与中华民国的建立 第10课 中华民国的创建 (2).ppt
- 人教版八年级上册历史精品教学课件 第四单元 新民主主义革命的开始 第12课 新文化运动 (3).ppt
- 第四组塑料低温脆化温度测试详解演示文稿.ppt
- 第消费者行为演示文稿.ppt
- 第一部分用搜索方法求解问题演示文稿.ppt
原创力文档

文档评论(0)