语法制导翻译方案SDT
语法制导翻译方案是在产生式右部分中嵌入程序片段(语义动做)的 CFG
![](https://img.haomeiwen.com/i1648962/0e2f715a17a36fb5.png)
![](https://img.haomeiwen.com/i1648962/7f6c0dd795694e6a.png)
S-SDD 转换为 SDT
将一个S-SDD转换为SDT的方法:将每个语义动作都放在产生式的最后
![](https://img.haomeiwen.com/i1648962/32127e541104a0be.png)
S-属性定义的SDT实现
如果一个S-SDD 的基本文法可以使用LR 分析技术
那么它的SDT 可以在LR 语法分析过程中实现
image.png
拓展的LR 语法分析栈
![](https://img.haomeiwen.com/i1648962/56f44ccdb50b3eab.png)
将语义动作中的抽象定义式改写成具体可执行的栈操作
![](https://img.haomeiwen.com/i1648962/0662565ae0d9a3d7.png)
![](https://img.haomeiwen.com/i1648962/b330d79958918db9.png)
![](https://img.haomeiwen.com/i1648962/a99632ebb2f05d00.png)
![](https://img.haomeiwen.com/i1648962/07e63a0dcc092189.png)
![](https://img.haomeiwen.com/i1648962/8dbbe0cf39214c53.png)
![](https://img.haomeiwen.com/i1648962/a9512209c619d8ad.png)
![](https://img.haomeiwen.com/i1648962/f69288c17a724f30.png)
![](https://img.haomeiwen.com/i1648962/34ca6a26afc1daf7.png)
![](https://img.haomeiwen.com/i1648962/b5e40b001fffa9bd.png)
![](https://img.haomeiwen.com/i1648962/83e5960cf3b9cb11.png)
将L-SDD 转换为SDT
![](https://img.haomeiwen.com/i1648962/52bda804faabb1b2.png)
![](https://img.haomeiwen.com/i1648962/6ec25d51c3cb3c95.png)
L-属性定义的SDT 实现
![](https://img.haomeiwen.com/i1648962/75bae840c43b5e79.png)
![](https://img.haomeiwen.com/i1648962/c04e18243eb13756.png)
语法制导翻译方案是在产生式右部分中嵌入程序片段(语义动做)的 CFG
将一个S-SDD转换为SDT的方法:将每个语义动作都放在产生式的最后
如果一个S-SDD 的基本文法可以使用LR 分析技术
那么它的SDT 可以在LR 语法分析过程中实现
image.png
本文标题:第五章第5节 语法制导翻译方案SDT
本文链接:https://www.haomeiwen.com/subject/tupoyhtx.html
网友评论