《程序设计语言与编译》课程PPT教学课件(高职)第二十一讲 一类说明语句的翻译

例1:a:=Xb,c]+d的翻译 kA[l: 10, 1: 20L W=4, CONSPART-X V place=a Voffset=null V1: -X[b e V1: =X[E1 El place=b V1:=Elist1 Elist 1. array=X Elistl. place=l Elist 1. dim=1
例1: a:=X[b,c]+d的翻译 设A[1:10,1:20], W=4, CONSPART=X0 a V1 V.place=a V.offset=null V1:=X[b V1:=X[E1 E1.place=b V1:=Elist1 Elist1.array=X Elist1.place=b Elist1.dim=1

V1: -Elistl, c V1: =Elist1, E2 E2 place=c VI=Elist2 Elist2, array=X ,b,20t1) Elist2. place=tI (+,tl,c,t1 Elist2 dim=2 V1: Elist2 V1: =V2 V2. place= Xo (*tl,4,t2) V2. offset=t2 V1:=E3 E3. place=t3 (=[],ⅹl[t2],,t3) V1 =E3+d V1:=E3+E4 E4. place=d V1:=E5 E5. place=t4 (+t3,d,t4) A
V1:=Elist1,c V1:=Elist1,E2 E2.place=c V1:=Elist2 Elist2.array=X (*,b,20,t1) Elist2.place=t1 (+,t1,c,t1) Elist2.dim=2 V1:=Elist2] V1:=V2 V2.place= X0 (*,t1,4,t2) V2.offset=t2 V1:=E3 E3.place=t3 (=[], X0 [t2],_,t3) V1:=E3+d V1:=E3+E4 E4.place=d V1:=E5 E5.place=t4 (+,t3,d,t4) A (:=,t3,_,a)

例2:X[+2+1:-m+n的翻译 设A10NRx [E1 El place=i ⅹ[E1+2 ⅹ[E1+E2 E2. place=2 XE3 E3. place=tI (+,1,2,t1) Elist 1 Elistl. array=X Elist l place=tI Elist l dim=1 Elist 1, i Elist le4 E4. place=j Elistl.E4+1
例2: X[i+2,j+1]:=m+n的翻译 设A[1:10,1:20], W=4, CONSPART=X0 X[i X[E1 E1.place=i X[E1+2 X[E1+E2 E2.place=2 X[E3 E3.place=t1 (+,i,2,t1) Elist1 Elist1.array=X Elist1.place=t1 Elist1.dim=1 Elist1,j Elist1,E4 E4.place=j Elist1,E4+1

ElistlE4+e5 E5. place= Elistle6 E6 place=t2(+j, 1, t2 Elist2 Elist2. array=x(*,t1, 20, 3) Elist2. place=t3 (+t3,t2,t3) Elist2, dim=2 Elist2 1. place=Xo (*t3,4,t4) Offset=t4 V1:=m VI: E7 E7 placem V1:=E7+n V1:=E7+E8 E8. place=n V1:=E9 E9 place==t5 n.t5 (+,m,nt5) A 15,-+4|x)
Elist1,E4+E5 E5.place=1 Elist1,E6 E6.place=t2 (+,j,1,t2) Elist2 Elist2.array=X (*,t1,20,t3) Elist2.place=t3 (+,t3,t2,t3) Elist2.dim=2 Elist2] V1 V1.place= X0 (*,t3,4,t4) V1.offset=t4 V1:=m V1:=E7 E7.place=m V1:=E7+n V1:=E7+E8 E8.place=n V1:=E9 E9.place=t5 (+,m,n,t5) A ([]=,t5,_,t4[X0 ])

四.一类说明语句的翻译 1.文法 P→D D→D1212 D,: T T→ real integer array[num]ofT1|↑T1 可见非终结符P产生一系列:形式的说明 语句
四. 一类说明语句的翻译 1. 文法 P→D D→D1 ;D2│i:T T→real│integer│array[num] of T1│↑T1 可见,非终结符P产生一系列i:T形式的说明 语句

2.主要工作 不产生可执行指令仅负责填表将被说明 对象的类型及相对存储位置记入各自的 符号表中
2. 主要工作 不产生可执行指令,仅负责填表,将被说明 对象的类型及相对存储位置记入各自的 符号表中

3.语义变量及过程 (1) Offset:相对位移量初值为0,是一个 全局变量 (2) T type:数据类型 (3) Twidth:数据宽度 (4) Denter语义过程将变量名及其类型 和相对存储位置记入符号表中
3. 语义变量及过程 (1)offset:相对位移量,初值为0,是一个 全局变量 (2)T.type:数据类型 (3)T.width:数据宽度 (4)enter:语义过程,将变量名及其类型 和相对存储位置记入符号表中

4.翻译方案 对一个程序来说,ose的初值为0,针对 这个赋初值的语义动作,引进了标记非 终结符M及空字产生式M→的归约 P→MD M→8{ offset:=0} D→D1D2 D1:T enter(iname, T type, offset) offset: =offset+T width j
4. 翻译方案 对一个程序来说,offset的初值为0,针对 这个赋初值的语义动作,引进了标记非 终结符M及空字产生式M→ε的归约。 P→M D M→ε {offset:=0} D→D1 ;D2 D→i:T { enter(i.name,T.type,offset); offset:=offset+T.width }

T-integer Ttype: integer; Twidth: =4 Treal Ttype: real; Twidth: =8 T→ arraylnum]ofT1 T type: array(num. val,T1 type) T width -num. val *T. width j T→→个 T type: =pointer(T, type); T width: =4)
T→integer { T.type:=integer; T.width:=4 } T→real { T.type:=real; T.width:=8 } T→array[num] of T1 { T.type:=array(num.val,T1 .type); T.width:=num.val*T1 .width } T→↑T1 { T.type:=pointer(T1 .type); T.width:=4 }

5.补充说明 (1)说明语句可能为如下形式 D-integer namelist real namelist namelist-namelist,ii 先改写为D→ D,i integer i l real i
5. 补充说明 (1)说明语句可能为如下形式 D→integer namelist│real namelist namelist→namelist,i│i 先改写为D→D,i│integer i│real i
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《程序设计语言与编译》课程PPT教学课件(高职)第二十五讲 循环优化.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第二十四讲 代码优化.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第二十三讲 控制语句也可采用改写文法的方法.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第二十七讲 栈式分配.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第二十六讲 运行时存储空间管理.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第二十讲 含数组元素的赋值语句的翻译.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第二十二讲 一类控制语句的翻译.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第二讲 强制式语言.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第八讲 控制结构.ppt
- 重庆大学材料学院:《计算机在材料工程中的应用》第一章 计算机应用的数学基础(汤爱涛).ppt
- 重庆大学材料学院:《计算机在材料工程中的应用》第五章 材料数据库与专家系统 (汤爱涛).ppt
- 重庆大学材料学院:《计算机在材料工程中的应用》第四章 计算机辅助材料的测试与分析(汤爱涛).ppt
- 重庆大学材料学院:《计算机在材料工程中的应用》第三章 相图的计算机分析与计算(汤爱涛).ppt
- 重庆大学材料学院:《计算机在材料工程中的应用》第二章 材料科学中的数值模拟与计算(汤爱涛).ppt
- 《photoshop》讲义(电子课件).doc
- 《计算机图形学》课程教学资源:第2章 实面积图形的生成(赵立强).ppt
- 《Matlab入门教程》教学资源:学习参考资料.doc
- 《计算机网络技术教程》第9章 各种n7网络工作站的连接.ppt
- 《计算机网络技术教程》第8章 NT网络中的TCP/IP管理.ppt
- 《计算机网络技术教程》第7章 构建Windows NT网络.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第九讲 SIMULA 67协同程序.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第六讲 类型检查.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第七讲 抽象数据类型.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第三讲 程序单元.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第十八讲 SLR分析表的构造.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第十二讲 编译概述.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第十讲 程序设计语言和编译程序.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第十九讲 代码生成和代码优化.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第十六讲 优先关系表的构造.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第十七讲 LR分析法.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第十三讲 自顶向下语法分析.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第十四讲 预测分析程序.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第十五讲 自底向上语法分析.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第十一讲 自动机.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第四讲 用户定义类型.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第五讲 组合类型.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第一讲 绪论(主编:王晓斌).ppt
- 宜宾职业技术学院:《实用组网技术》课程教学资源_期末一.doc
- 宜宾职业技术学院:《实用组网技术》课程教学资源_实践考试方案.doc
- 宜宾职业技术学院:《实用组网技术》课程教学资源_期末二.doc