文章目录
部分概念
语义翻译
语义分析的结果通常用中间代码来表示,于是语义分析与中间代码生成这两个步骤合称语义翻译。
语法制导翻译
可以在语法分析的同时进行语义翻译,这一技术称为语法制导翻译。
注:语法制导翻译使用CFG(上下文无关文法)来引导对语言的翻译,是一种面向文法的翻译技术。
语法制导翻译的基本思想
- 如何表示语义信息?
- 为CFG中的文法符号设置语义属性,用来表示语法成分对应的语义信息。
- 例如对于一个变量,它的语义属性可以有变量的值,变量的类型等等。
- 如何计算语义属性?
- 文法符号的语义属性值使用与文法符号所在产生式(即语法规则)相关联的语义规则来计算的。
- 对于给定的输入串
x
,构建x
的语法分析树,病利用与产生式(语法规则)相关联的语义规则来计算分析树中个节点对应的语义属性值。
语法制导翻译的相关概念
将语义规则同语法规则(产生式)联系起来要涉及两个概念。