吉林大学:《编译原理》课程教学资源(PPT课件讲稿)执行体的语义分析

执行体的语义分 析 ◆表达式的语义分析 ◆语句的语义分析 赋值语句的语义分析 调用语句的语义分析 标号语句的语义分析 结构语句的语义分析
执行体的语义分析 表达式的语义分析 语句的语义分析 赋值语句的语义分析 调用语句的语义分析 标号语句的语义分析 结构语句的语义分析

表达式语句的语义分析 ◆分析重点:检查运算分量的相容性,求出 表示式的类型。 表达式的形式: E→c|V|f(∈E1,,En) IE op e,I E rop E2 ◆分析过程
表达式语句的语义分析 分析重点:检查运算分量的相容性,求出 表示式的类型。 表达式的形式: E → C | V | f(E1,…,En) | E1 op E2 | E1 rop E2 分析过程

变量的语义分析 令变量的种类: V→ id var id[E] I Varid. id varid个 分析原理: 查符号表,是否有声明? varkind? Var(id) 返回id. typePtr
变量的语义分析 ❖ 变量的种类: V → id| Varid[E]| Varid.id| Varid ❖ 分析原理: id: 查符号表,是否有声明? varKind? 返回id.typePtr Var(id)

☆ Varid[E]: Var (Var id) array Type type(e)? IndexType 返回E| emType ☆ Var id.id: Var(Var id) recordType? id是否在域名表中? 返回 id. typePtr Varid↑ Var(Var id) fileT?返回 Comp Type pointY?返回 TypeName. Typeptr
❖ Varid[E]: Var(Varid); arrayType ? type(E)? IndexType 返回ElemType. ❖ Varid.id: Var(Varid); recordType? id是否在域名表中? 返回id.typePtr ❖ Varid : Var(Varid); fileTy? 返回CompType pointTy? 返回TypeName.TypePtr

赋值和过程调用语句的语义分析 Var id: = E 查符号表;是否有声明? mankind 检查Type(E)? Varid. typer ◇卩(日1e 查符号表;是否有声明? routkind? ParamT Para: Formkind e.Kind ParamT Para; FormType e; Type n? Length( Param)
赋值和过程调用语句的语义分析 ❖ Varid:= E: 查符号表;是否有声明? varKind ? 检查Type(E)? Varid.tyPtr ❖ p(e1…en): 查符号表;是否有声明? routKind? Param.Parai.Formkind ? ei.Kind Param.Parai.FormType ? ei.Type n?Length(Param)

结构语句的语义分析 分析重点:对标号语句的局部化的处理 分析过程:进入结构语句时建立本层LDE和 LUSE表,结束时删除本层LDE和LUSE表。 ◆问题:结构语句结束符对应多个结构语句 结束。 解决办法:对结构化语句重新定义,使得 每个结构化语句都自带结束符
结构语句的语义分析 问题:结构语句结束符对应多个结构语句 结束。 解决办法:对结构化语句重新定义,使得 每个结构化语句都自带结束符。 分析重点:对标号语句的局部化的处理 分析过程:进入结构语句时建立本层LDEF和 LUSE表,结束时删除本层LDEF和LUSE表

修改后的结构语句 Statement=F Expr Then Statement Fl Statement=)F Expr Then Statement ELSE Statement FI Statement=)WHILE Expr Do Statement OD Statement-)for Do Statement OD Statement-begin Statemenlist END
修改后的结构语句 Statement→IF Expr THEN Statement FI Statement→IF Expr THEN Statement ELSE Statement FI Statement→WHILE Expr DO Statement OD Statement→FOR ... DO Statement OD Statement→BEGIN StatemenList END

总结 符号表: 标识符、类型、值的表示: 局部化处理方法: 类型的语义分析 主要工作: 程序的语义分析 声明部分: 工作重点: 表达式、语句部分:分析过程
总结 符号表: 标识符、类型、值的表示: 局部化处理方法: 类型的语义分析: 主要工作: 程序的语义分析: 声明部分: 表达式、语句部分: 工作重点: 分析过程:
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 吉林大学:《编译原理》课程教学资源(PPT课件讲稿)程序的语义分析.ppt
- 吉林大学:《编译原理》课程教学资源(PPT课件讲稿)类型表达式.ppt
- 吉林大学:《编译原理》课程教学资源(PPT课件讲稿)符号表.ppt
- 吉林大学:《编译原理》课程教学资源(PPT课件讲稿)语义分析.ppt
- 吉林大学:《编译原理》课程教学资源(PPT课件讲稿)简单优先分析方法.ppt
- 吉林大学:《编译原理》课程教学资源(PPT课件讲稿)LALR(1)方法.ppt
- 吉林大学:《编译原理》课程教学资源(PPT课件讲稿)LR(1)分析方法.ppt
- 吉林大学:《编译原理》课程教学资源(PPT课件讲稿)LR(0)分析方法的不足.ppt
- 吉林大学:《编译原理》课程教学资源(PPT课件讲稿)LL分析方法—自顶向下分析.ppt
- 吉林大学:《编译原理》课程教学资源(PPT课件讲稿)自顶向下分析——递归下降法.ppt
- 吉林大学:《编译原理》课程教学资源(PPT课件讲稿)文法例1.ppt
- 吉林大学:《编译原理》课程教学资源(PPT课件讲稿)第四章 文法与语法分析.ppt
- 吉林大学:《编译原理》课程教学资源(PPT课件讲稿)有限自动机(Finite Automata).ppt
- 吉林大学:《编译原理》课程教学资源(PPT课件讲稿)正则表达式.ppt
- 吉林大学:《编译原理》课程教学资源(PPT课件讲稿)第三章 有限自动机和词法分析器.ppt
- 吉林大学:《编译原理》课程教学资源(PPT课件讲稿)第十章 目标代码生成.ppt
- 吉林大学:《编译原理》课程教学资源(PPT课件讲稿)第九章 中间代码优化.ppt
- 吉林大学:《编译原理》课程教学资源(PPT课件讲稿)第七章 动作文法和属性文法.ppt
- 吉林大学:《编译原理》课程教学资源(PPT课件讲稿)第六章 运行时的存储空间.ppt
- 吉林大学:《编译原理》课程教学资源(PPT课件讲稿)第二章 一个微小的编译器.ppt
- 吉林大学:《编译原理》课程教学资源(PPT课件讲稿)第八章 中间代码生成.ppt
- 吉林大学:《编译原理》课程教学资源(PPT课件讲稿)原子语句的中间代码.ppt
- 吉林大学:《编译原理》课程教学资源(PPT课件讲稿)原子语句的中间代码.ppt
- 吉林大学:《编译原理》课程教学资源(PPT课件讲稿)自底向上分析-LR分析概述.ppt
- 吉林大学:《编译原理》课程教学资源(PPT课件讲稿)派生定理.ppt
- 吉林大学:《编译原理》课程教学资源(PPT课件讲稿)LR(0)分析.ppt
- 吉林大学:《编译原理》课程教学资源(PPT课件讲稿)总结.ppt
- 合肥工业大学:《Solidworks3d造型》课程教学课件(PPT讲稿)第1章 基础知识(主讲:胡延平).ppt
- 合肥工业大学:《Solidworks3d造型》课程教学课件(PPT讲稿)第2章 三维实体建模方法.ppt
- 合肥工业大学:《Solidworks3d造型》课程教学课件(PPT讲稿)第三章 草图绘制.ppt
- 合肥工业大学:《Solidworks3d造型》课程教学课件(PPT讲稿)第4章 零件建模的草绘特征.ppt
- 合肥工业大学:《Solidworks3d造型》课程教学课件(PPT讲稿)第5章 放置特征.ppt
- 合肥工业大学:《Solidworks3d造型》课程教学课件(PPT讲稿)第7章 特征复制.ppt
- 合肥工业大学:《Solidworks3d造型》课程教学课件(PPT讲稿)第10章 零件工程图.ppt
- 合肥工业大学:《Solidworks3d造型》课程教学课件(PPT讲稿)第9章 零件装配.ppt
- 合肥工业大学:《Solidworks3d造型》课程教学课件(PPT讲稿)复习提纲.ppt
- 《单片机应用技术实践指导资料》PDF电子书.doc
- 《单片机应用技术实践指导资料》实训指导书.doc
- 《计算机系统结构》课程教学资源(PPT课件讲稿)第一章 概论.ppt
- 《计算机系统结构》课程教学资源(PPT课件讲稿)第二章 存储系统.ppt