语义的分析和中间代码生成.ppt

语义的分析和中间代码生成.ppt

本章在编译程序中的地位 内容安排 6.1 概述 6.2 属性文法 6.3 几种常见的中间语言 (*四元式) 6.4 表达式及赋值语句的翻译 6.5 控制语句的翻译 6.6 数组元素的翻译 6.7 过程或函数调用语句的翻译 *6.8 说明语句的翻译 6.1 概 述 6.1.1 语义分析的概念 一个源程序经过词法分析、语法分析之后,表明该源程序在书写上是正确的,并且符合程序语言所规定的语法。但是语法分析并未对程序内部的逻辑含义加以分析,因此编译程序接下来的工作是语义分析,即审查每个语法成分的静态语义。如果静态语义正确,则生成与该语言成分等效的中间代码,或者直接生成目标代码。 直接生成目标代码 直接生成机器语言或汇编语言形式的目标代码的优点是编译时间短且无需中间代码到目标代码的翻译。 生成中间代码 生成中间代码的优点是使编译结构在逻辑上更为简单明确,特别是使目标代码的优化比较容易实现。 语义分析时语义检查的分类: 动态语义检查 需要生成相应的目标代码,它是在运行时进行的; 例如:除零溢出错误。 静态语义检查 在编译时完成的,它涉及以下几个方面: (1) 类型检查

文档评论(0)

1亿VIP精品文档

相关文档