当前位置:高等教育资讯网  >  中国高校课件下载中心  >  大学文库  >  浏览文档

《编译原理》课程教学资源(PPT课件讲稿)第五章 语法制导的翻译 5.1 语法制导的定义 5.2 S属性定义的自下而上计算

资源类别:文库,文档格式:PPT,文档页数:50,文件大小:1.46MB,团购合买
点击下载完整版文档(PPT)

第五章语法制导的翻峄 今本章内容 1、介绍语义描述的一种形式方法:语法制导的翻 译,它包括两种具体形式 ⑩语法制导的定义 ⑩翻译方案 2、介绍语法制导翻译的实现方法

第五章 语法制导的翻译 ❖ 本章内容 1、介绍语义描述的一种形式方法:语法制导的翻 译,它包括两种具体形式 语法制导的定义 翻译方案 2、介绍语法制导翻译的实现方法

5.1语法制导的定义 今例简单计算器的语法制导定义 产生式 语义规则 L→En rint(e. val) E→E1+T E.val=El. val+ Tval E→T E.val= tval T→T1*F Tval= tval s Eval T→F Tval= eval F→(E) Eval= e. val F→ digit Eval e digit lexval

5.1 语法制导的定义 ❖ 例 简单计算器的语法制导定义 产 生 式 语 义 规 则 L → E n print (E.val) E → E1 + T E.val = E1 .val + T.val E → T E.val = T.val T → T1  F T.val = T1 .val  F.val T → F T.val = F.val F→ (E) F.val = E.val F → digit F.val = digit.lexval

5.1语法制导的定义 511语法制导定义的形式 今基础文法 每个文法符号有一组属性 每个文法产生式A→a有 一组形式为b=f(c1,C23…,Ck)的语义规则,其中 b和c1C2;…,Ck是该产生式文法符号的属性, f是函数 综合属性:如果b是A的属性,C1,C2,…,Ck是产 生式右部文法符号的属性或A的其它属性 继承属性:如果b是右部某文法符号X的属性

5.1 语法制导的定义 5.1.1 语法制导定义的形式 ❖ 基础文法 ❖ 每个文法符号有一组属性 ❖ 每个文法产生式A → 有 一组形式为b=f(c1 , c2 , …, ck )的语义规则,其中 b和c1 , c2 , …, ck 是该产生式文法符号的属性, f 是函数 ❖ 综合属性:如果b是A的属性,c1 , c2 , …, ck 是产 生式右部文法符号的属性或A的其它属性 ❖ 继承属性:如果b是右部某文法符号X的属性

5.1语法制导的定义 5.1.2综合属性 S属性定义:仅使用综合属性的语法制导定义 产生式 语义规则 L→En print(E. val) E→E1+T E.val=e, val+ val E→T E.val= tval T→T*F Tval= T.val s eval T→F Tval= Eval F→(E) Eval= e val F→ digit Eval e digit lexval

5.1 语法制导的定义 5.1.2 综合属性 S属性定义:仅使用综合属性的语法制导定义 产 生 式 语 义 规 则 L → E n print (E.val) E → E1 + T E.val = E1 .val + T.val E → T E.val = T.val T → T1  F T.val = T1 .val  F.val T → F T.val = F.val F→ (E) F.val = E.val F → digit F.val = digit.lexval

5.1语法制导的定义 注释分析树:结点的属性值都标注出来的分析树 8+5*2n的注释分析树 E.val= 18 E.val= 8 Tval= 10 T.val= 8 Tval= 5 F val= 2 F.val= 8 Fval= 5 digit. lexval=2 digit. lexval=8 digit.lexval= 5

5.1 语法制导的定义 注释分析树:结点的属性值都标注出来的分析树 8+5*2 n的注释分析树 digit.lexval = 2 L E.val = 18 n E.val = 8 T.val = 10 T.val = 8 F.val = 8 digit.lexval = 8 T.val = 5 +  F.val = 5 F.val = 2 digit.lexval = 5

5.1语法制导的定义 分析树各结点属性的计算可以自下而上地完成 L E.val= 18 E.val= 8 Tval= 10 T.val= 8 Tval= 5 F val= 2 F.val= 8 Fval= 5 digit. lexval=2 digit. lexval=8 digit.lexval= 5

5.1 语法制导的定义 分析树各结点属性的计算可以自下而上地完成 digit.lexval = 2 L E.val = 18 n E.val = 8 T.val = 10 T.val = 8 F.val = 8 digit.lexval = 8 T.val = 5 +  F.val = 5 F.val = 2 digit.lexval = 5

5.1语法制导的定义 分析树各结点属性的计算可以自下而上地完成 L E.val= 18 E.val= 8 Tval= 10 T.val= 8 Tval= 5 F val= 2 F.val= 8 Fval= 5 digit. lexval=2 digit. lexval=8 digit. lexval= 5

5.1 语法制导的定义 分析树各结点属性的计算可以自下而上地完成 digit.lexval = 2 L E.val = 18 n E.val = 8 T.val = 10 T.val = 8 F.val = 8 digit.lexval = 8 T.val = 5 +  F.val = 5 F.val = 2 digit.lexval = 5

5.1语法制导的定义 分析树各结点属性的计算可以自下而上地完成 L E.val= 18 E.val= 8 Tval= 10 T.val= 8 Tval= 5 F val= 2 F.val= 8 Fval= 5 digit. lexval=2 digit. lexval=8 digit. lexval= 5

5.1 语法制导的定义 分析树各结点属性的计算可以自下而上地完成 digit.lexval = 2 L E.val = 18 n E.val = 8 T.val = 10 T.val = 8 F.val = 8 digit.lexval = 8 T.val = 5 +  F.val = 5 F.val = 2 digit.lexval = 5

5.1语法制导的定义 分析树各结点属性的计算可以自下而上地完成 L E.val= 18 E.val= 8 Tval= 10 Tval= 8 Tval= 5 F val= 2 F.val= 8 Fval= 5 digit. lexval=2 digit. lexval=8 digit. lexval= 5

5.1 语法制导的定义 分析树各结点属性的计算可以自下而上地完成 digit.lexval = 2 L E.val = 18 n E.val = 8 T.val = 10 T.val = 8 F.val = 8 digit.lexval = 8 T.val = 5 +  F.val = 5 F.val = 2 digit.lexval = 5

5.1语法制导的定义 分析树各结点属性的计算可以自下而上地完成 L E.val= 18 E.val= 8 Tval= 10 Tval= 8 Tval= 5 F val= 2 F.val= 8 Fval= 5 digit. lexval=2 digit. lexval=8 digit. lexval= 5

5.1 语法制导的定义 分析树各结点属性的计算可以自下而上地完成 digit.lexval = 2 L E.val = 18 n E.val = 8 T.val = 10 T.val = 8 F.val = 8 digit.lexval = 8 T.val = 5 +  F.val = 5 F.val = 2 digit.lexval = 5

点击下载完整版文档(PPT)VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
共50页,可试读17页,点击继续阅读 ↓↓
相关文档

关于我们|帮助中心|下载说明|相关软件|意见反馈|联系我们

Copyright © 2008-现在 cucdc.com 高等教育资讯网 版权所有