中国高校课件下载中心 》 教学资源 》 大学文库

中国科学技术大学:《编译原理与技术》课程教学资源(课件讲稿)第4章 类型检查

文档信息
资源类别:文库
文档格式:PDF
文档页数:111
文件大小:478.2KB
团购合买:点击进入团购
内容简介
–简要介绍语法制导的翻译 – 介绍静态检查中最典型的部分 —— 类型检查 忽略其他的静态检查:控制流检查、唯一性检查、关联名字检查等
刷新页面文档预览

第4章类型检查 语法 中间 分析 语 法 类型 语 法 树 代码 中间 树 生成 表 器 器 器 本章内容 简要介绍语法制导的翻译 介绍静态检查中最典型的部分一类型检查 忽略其他的静态检查:控制流检查、唯一性检查、 关联名字检查等

第4章 类 型 检 查 语法 类型 中间 记号 语法 语 法 语 法 中间 分析 器 类型 检查 器 代码 生成 语 法 树 语 法 树 中间 表示 记号 流 器 器 生成 器 树 本章内容 –简要介绍语法制导的翻译 – 介绍静态检查中最典型的部分 —— 类型检查 忽略其他的静态检查:控制流检查、唯一性检查、 关联名字检查等

4.1语法制导的翻译 4.1.1翻译方案 ·例简单台式计算器的语法制导定义 产生式 语义动作 L->En print (E.val) E→E,+T E.yal E.val Tyal E→T E.val Tyal T→T*F Tval=T .val Eval T→F Tyal Eyal F→(E) Eyal E.val F→digit Eval digit.lexval

4 1. 语法制导的翻译 4.1.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

4.1语法制导的翻译 语法制导的翻译方案的形式 -基础文法 每个文法符号有一组属性 每个文法产生式A→a有一组形式为 b=f(c,c2...,ck) 的语义动作,其中b是A的属性,C,C2,,C是产 生式右部文法符号的属性或A的其他属性,f是函 数 属性可以表示任何东西:串、数值、类型、表引 用,或其他想表示的东西

4 1. 语法制导的翻译 • 语法制导的翻译方案的形式 – 基础文法 – 每个文法符号有一组属性 – 每个文法产生式A  有一组形式为 b = f (c c c ) 1, c2, …, ck ) 的语义动作,其中b 是A 的属性,c1, c2, …, c 1 2 k 是产 生式右部文法符号的属性或 A 的其他属性,f 是函 数 – 属性可以表示任何东西:串、数值、类型、表引 用,或其他想表示的东西

4.1语法制导的翻译 ·例8+5*2n的注释分析树 L E.ya7=18 E.val 8 T.yal 10 T.val 8 T.yal 5 米 F.val 2 F.yal 8 Fval-5 digit.lexval 2 digit.lexval 8 digit.lexval 5

4 1. 语法制导的翻译 • 例 8+5*2 n的注释分析树 L E l 18 n .val = 18 n E.val = 8 + T.val = 10 T.val = 8 T.val = 5 +  F.val = 2 digit.lexval = 2 T.val 8 F.val = 8 T.val 5 F.val 8 F.val = 5 g digit.lexval = 8 digit.lexval = 5

4.1语法制导的翻译 分析树各结点属性的计算可以自下而上地完成 L E.val 18 E.val 8 T.yal 10 T.val 8 T.yal 5 米 F.val 2 F.val 8 F.d=5 digit.lexval 2 digit.lexval 8 digit.lexval 5

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

4.1语法制导的翻译 分析树各结点属性的计算可以自下而上地完成 L E.val 18 E.val 8 T.yal 10 T.val 8 T.yal 5 米 F.val 2 F.yal 8 F.d=5 digit.lexval 2 digit.lexval =8 digit.lexval 5

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

4.1语法制导的翻译 分析树各结点属性的计算可以自下而上地完成 L E.val 18 E.val 8 T.yal 10 T.val 8 T.yal 5 米 F.val 2 F.yal 8 F.d=5 digit.lexval 2 digit.lexval 8 digit.lexval 5

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

4.1语法制导的翻译 分析树各结点属性的计算可以自下而上地完成 L E.val 18 E.val 8 T.yal 10 T.yal 8 T.yal 5 米 F.val 2 F.val 8 Fval-5 digit.lexval 2 digit.lexval 8 digit.lexval 5

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

4.1语法制导的翻译 分析树各结点属性的计算可以自下而上地完成 L E.val 18 E.yal 8 T.yal 10 T.yal 8 T.yal 5 米 F.val 2 F.val 8 digit.lexval 2 digit.lexval 8 digit.lexval 5

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

4.1语法制导的翻译 分析树各结点属性的计算可以自下而上地完成 L E.val 18 E.yal 8 T.yal 10 T.yal 8 T.yal 5 米 F.val 2 F.val 8 digit.lexval 2 digit.lexyal 8 digit.lexyal 5

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

刷新页面下载完整文档
VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
相关文档