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

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

文档信息
资源类别:文库
文档格式:PPT
文档页数:8
文件大小:620KB
团购合买:点击进入团购
内容简介
一、 表达式的语义分析 二、语句的语义分析 三、赋值语句的语义分析 四、调用语句的语义分析 五、标号语句的语义分析 六、结构语句的语义分析
刷新页面文档预览

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

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

表达式语句的语义分析 ◆分析重点:检查运算分量的相容性,求出 表示式的类型。 表达式的形式: 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

总结 符号表: 标识符、类型、值的表示: 局部化处理方法: 类型的语义分析 主要工作: 程序的语义分析 声明部分: 工作重点: 表达式、语句部分:分析过程

总结  符号表: 标识符、类型、值的表示: 局部化处理方法:  类型的语义分析: 主要工作:  程序的语义分析: 声明部分: 表达式、语句部分: 工作重点: 分析过程:

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