第2章PL0编译程序的实现编译原理ppt课件.ppt

第2章PL0编译程序的实现编译原理ppt课件.ppt

ID:59019095

大小:362.00 KB

页数:37页

时间:2020-09-26

第2章PL0编译程序的实现编译原理ppt课件.ppt_第1页
第2章PL0编译程序的实现编译原理ppt课件.ppt_第2页
第2章PL0编译程序的实现编译原理ppt课件.ppt_第3页
第2章PL0编译程序的实现编译原理ppt课件.ppt_第4页
第2章PL0编译程序的实现编译原理ppt课件.ppt_第5页
资源描述:

《第2章PL0编译程序的实现编译原理ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第2章PL/0编译程序的实现2.1PL/0语言描述2.2PL/0编译程序的结构2.3PL/0编译程序的词法分析2.4PL/0编译程序的语法语义分析2.5PL/0编译程序的目标代码结构和代码生成2.6PL/0编译程序的语法错误处理2.7PL/0编译程序的目标代码解释执行时的存储分配2021/9/171何为PL/0语言?PL/0语言:PASCAL语言的子集,功能简单,结构清晰,可读性强,具备了一般高级语言的必备部分。PL/0程序示例:CONSTA=10;VARB,C;PROCEDUREP; VARD;PROCEDUREQ; VAR

2、X; BEGIN READ(X); D:=X; WHILEX#0DOCALLP; END;BEGIN WRITE(D); CALLQ; END;BEGIN CALLP;END.2021/9/172PL/0程序示例CONSTA=10;(*常量说明部分*)VARB,C;(*变量说明部分*)PROCEDUREP;(*过程说明部分*)VARD;(*P的局部变量说明部分*)PROCEDUREQ;(*P的局部过程说明部分*)VARX;BEGIN READ(X);D:=X;WHILEX#0DOCALLP; END;BEGIN WRITE(D

3、); CALLQ; END;BEGIN CALLP; END.Q过程体p过程体主程序体2021/9/173输入圆柱的半径和高,计算一些面积、体积等varr,h,len,a1,a2,volumn;beginread(r);read(h);len:=2*3*r;a1:=3*r*r;a2:=a1+a1+len*h;volumn:=a1*h;write(len);write(a1);write(a2);write(volumn);end.2021/9/174计算最大公约数varm,n,r,q;{计算m和n的最大公约数}procedur

4、egcd;beginwhiler#0dobeginq:=m/n;r:=m-q*n;m:=n;n:=r;endend;beginread(m);read(n);{为了方便,规定m>=n}ifm

5、llrec;end.2021/9/176计算sum=1!+2!+...+n!, n从控制台读入varn,m,fact,sum;{递规计算fact=m!}procedurefactorial;beginifm>0thenbeginfact:=fact*m;m:=m-1;callfactorial;end;end;begin{读入n}read(n);sum:=0;whilen>0dobeginm:=n;fact:=1;callfactorial;sum:=sum+fact;n:=n-1;end;{输出n!}write(sum);e

6、nd.2021/9/177PL/0编译程序pcode解释程序PL/0源程序注:此处的pcode代码专指PL/0的目标代码,与传统pcode有区别pcode代码2021/9/1782.1PL/0语言描述语法描述的目的:用有穷的文法形式,描述(验证)无穷的句子形式。语法描述的常用形式:非形式化描述(不规范)语法描述图:直观、易读。EBNF(扩充的巴科斯-瑙尔范式)NEXT2021/9/179PL/0语言的非形式描述数据类型只有整型标识符的有效长度是10,以字母开始的字母数字串过程无参,可嵌套(最多三层),可递归调用变量的作用域同P

7、ASCAL,常量为全局的,无标语句类型:赋值语句,if...then...,while...do...,read,write,call,复合语句begin...end,说明语句:const...,var...,procedure…13个保留字:if,then,while,do,read,write,call,begin,end,const,var,procedure,odd2021/9/1710PL/0语言的语法描述图(1)终结符VT语法成分中的最小单位,构成语言文法的单词。椭圆或圆圈内的单词表示VT(2)非终结符VN语法成分

8、,在书写程序时并不出现,但可一直追溯成VT表示的形式。矩形内的符号表示VN2021/9/1711程序分程序.内的文字表示语法成分(短语)或内的文字表示单词符号程序.内的文字表示语法成分(短语)语法图2021/9/1712constidentnumber=,;varident,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。