- 1、本文档共113页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ch2-2 PL0编译程序的实现课件
第2章 PL/0编译程序; 1. PL/0编译程序的结构;;PL/0语言; PL/0程序示例; 输入圆柱的半径和高,计算一些面积、体积等;计算最大公约数 ;pl/0程序--递规调用 ;计算 sum = 1! + 2 ! + ... + n!, n从控制台读入 ; ;const;PL/0语言的EBNF表示;; PL/0语言是PASCAL语言的子集; 目标代码类p-code;指
令
功
能
表;
const a=10;var b,c;procedure p; begin c:=b+a; end;begin read(b); while b#0 do begin call p; write(2*c); read(b); endend.; PL/0编译程序的结构;PL/0编译程序的总体设计;第2章 PL/0编译程序; 2 PL/0编译程序的分析工作 (词法,语法和语义) 2.1PL/0编译程序词法分析的实现;;;;;使用状态转换图实现词法分析程序的设计方法;献捧苍绍捍喜耽盗模渍幢硼狐晃的负燥鼠已骚偿烫诉轩酉彼汪期扁嫂函皿ch2-2 PL0编译程序的实现课件ch2-2 PL0编译程序的实现课件; 2.2 PL/0编译程序语法分析; ;const;ident; 自顶向下的语法分析;递归子程序法-语法分析程序由一组递归过程组成;例:表达式的语法分析程序(递归子程序);因子的语法图;;〈表达式〉∷=[+|-]〈项〉{(+|-)〈项〉}pascal;〈项〉∷=〈因子〉{(*|/)〈因子〉} pascal;〈因子〉∷=〈标识符〉|〈无符号整数〉|‘(’〈表达式〉‘)’;〈表达式〉∷=[+|-]〈项〉{(+|-)〈项〉} in C;〈项〉∷=〈因子〉{(*|/)〈因子〉};〈因子〉∷=〈标识符〉|〈无符号整数〉|‘(’〈表达式〉‘)’; ; 程序 pl0;编译系统总体流程图;2.3 PL/0编译程序语义分析的设计与实现;〈因子〉∷=〈标识符〉|〈无符号整数〉|‘(’〈表达式〉‘)’;登录符号表ch9说明部分的分析与处理;符号表结构(见教材p455);符号表结构;;;变量定义语句的处理(C);变量说明处理(C);变量定义语句的处理;变量说明处理;过程ENTER的实现;过程ENTER的实现(C);过程ENTER的实现(C);过程ENTER的实现;过程ENTER的实现;过程ENTER的实现;过程体的处理;过程体的处理;过程体的处理;过程体的处理-变量引用的处理;赋值语句的处理(C);赋值语句的处理;第2章 PL/0编译程序; 编译程序的错误处理; ;开始符号集合与后跟符号集合;;;READ语句的分析??理(C);READ语句的语法语义分析处理;READ语句的语法语义分析处理;READ语句的语法语义分析处理;TEST; 因子的处理过程; 因子的处理过程;;第2章 PL/0编译程序;代码生成;代码结构变换, 地址返填; 类p-code代码解释器的实现; 目标代码类p-code;类p-code解释器的结构;
const a=10;var b,c;procedure p; begin c:=b+a; end;begin read(b); while b#0 do begin call p; write(2*c); read(b); endend.;目标代码解释执行时数据栈的布局(运行栈的存储分配);; 目标代码的解释执行 运行栈S;目标代码的解释执行;目标代码的解释执行; ;下标指针cx,tx和变量dx的作用;Table表的下标指针tx补充说明:; PL/0编译程序的实现; PL/0编译程序的实现; PL/0编译程序的实现; PL/0编译程序的实现;; PL/0编译程序的实现; PL/0编译程序的实现;interpret; 目标代码的解释执行; 目标代码的解释执行; 目标代码的解释执行; 目标代码的解释执行; 目标代码的解释执行; 运行时数据栈S的变化状态;;
文档评论(0)