概念
语法制导翻译方案SDT是在产生式右部嵌入了程序片段(称为语义动作)的CFG
例如:
![image](http://note.youdao.com/yws/res/11657/ED52637EAEAA4E2AA39C9FAED3E6B0BE)
SDT可以看做是SDD的具体实施方案。
在两种情况下,SDT可以在语法分析过程中实现:
- 基本文法可以使用LR分析技术,且SDD为S属性
- 基本文法可以使用LL分析技术,且SDD为L属性
将S-SDD转换为SDT
将一个S-SDD转换为SDT的方法就是将每个语义动作都放在产生式的最后。
例如:
![image](http://note.youdao.com/yws/res/11667/633AB20487464746B2A0F5B9A13FA3D0)
S-SDD的SDT实现
如果一个S-SDD的基本文法可以使用LR分析技术,那么它的SDT可以在LR语法分析过程中实现。
![image](http://note.youdao.com/yws/res/11683/23EE29DCAD7B415F8D1DB3B1C4BB514B)
![image](http://note.youdao.com/yws/res/11685/EDADFD9A9692404EA9A1CD4EF4995F16)