第6章语法制导翻译和中间代码生成精品.ppt

第六章 语法制导翻译和中间代码生成 学习目标: 掌握: 常见语法成分的中间代码形式; 常见语法成分的属性文法或翻译方法 理解: 属性文法、语法制导翻译方法 主要内容 属性文法和语法制导翻译: 属性文法 语法制导翻译基本思想 中间代码的表示形式(逆波兰式、四元式、三元式、间接三元式、树结构等等) 简单算术表达式和赋值语句的翻译 布尔表达式到四元式的翻译 控制结构翻译成四元式 语义分析基础 语义分析的内容 主要是类型相容检查,有以下几种: 各种条件表达式的类型是不是boolean型? 运算符的分量类型是否相容? 赋值语句的左右部的类型是否相容? 形参和实参的类型是否相容? 下标表达式的类型是否为所允许的类型? 函数说明中的函数类型和返回值的类型是否一致? 语义分析基础-语义分析的内容(续) 其它语义检查: V[E]中的V是不是变量,而且是数组类型? V.i中的V是不是变量,而且是记录类型?i是不是该记录的域名? x+f(…)中的f是不是函数名?形参个数和实参个数是否一致? 每个使用性标识符是否都有声明?有无标识符的重复声明? 语义分析基础 在语义分析同时产生中间代码,在这种模式下,语义分析的主要功能如下: 语义审查 在扫描声明部分时构造标识符的符号表 在扫描语句部分时产生中间代码 中间代码:独立于机器,复杂性介于源语言和机器语言之间,十分接近目标机器指令的一种表示形式。 对于

文档评论(0)

1亿VIP精品文档

相关文档