第五章语法制导翻译哈工大王宏志.pptVIP

  • 4
  • 0
  • 约2.13万字
  • 约 99页
  • 2017-06-20 发布于北京
  • 举报
语法制导翻译 ??为什么进行词法和语法分析 ??用A→α进行归约表达的是什么意思 看:operand+term E→E1+T E1的值+T的值的结果作为E的值——即:取来E1的值和T的值做加法运算,结果作为E的值 E.val=E1.val+T.val 第五章 语法制导翻译 翻译的任务 首先是语义分析和正确性检查,若正确,则翻译成中间代码或目标代码。 基本思想 根据翻译的需要设置文法符号的属性,以描述语法结构的语义。 例如,一个变量的属性有类型,层次,存储地址等。表达式的属性有类型,值等。 属性值的计算和产生式相联系。随着语法分析的进行,执行属性值的计算,完成语义分析和翻译的任务。 5.1 语法制导翻译概述 语法制导翻译的概念描述 在进行语法分析的同时,完成相应的语义处理 E→E1 + E2 E.val:=E1.val+E2.val 语法结构具有规定的语义 问题:如何根据被识别出的语法成分进行语义处理? 1. 语义分析的任务 语义检查 例:类型、运算、维数、越界 语义处理 例:变量的存储分配 例:表达式的求值 例:语句的翻译(中间代码的生成) 总目标:生成等价的中间代码 2. 代码结构 计算学科:对信息(数据表示)描述和变换算法的系统研究 变换:源、目标以及源与目标的对应关系 语句的代码结构 语句分类: 说明语句——符号表的查填 可执行语句——指令代码 3. 典型处理方法 对应

文档评论(0)

1亿VIP精品文档

相关文档