语法制导翻译概述
什么是语法制导翻译
![](https://i-blog.csdnimg.cn/blog_migrate/6dd741dd34dd9a3f1d2c99bdc9f11279.png)
- 语法制导翻译使用CFG(上下文无关文法)来引导对语言的翻译,是一种面向文法的翻译技术
语法制导翻译的基本思想
-
如何表示语义信息?
- 为CFG中的文法符号设置语义属性,用来表示语法成分对应的语义信息
-
如何计算语义属性?
- 文法符号的语义属性值是用与文法符号所在产生式(语法规则)相关联的语义规则来计算的
- 对于给定的输入串x ,构建x的语法分析树,并利用与产生式(语法规则)相关联的语义规则来计算分析树中各结点对应的语义属性值
两个概念
- 将语义规则同语法规则(产生式)联系起来要涉及两个概念
- 语法制导定义(Syntax-Directed Definitions, SDD)
- 语法制导翻译方案 (Syntax-Directed Translation Scheme , SDT )