【编译原理笔记09】语法制导翻译:语法制导翻译方案,在非递归的预测分析过程中进行翻译 |
您所在的位置:网站首页 › 下列翻译 › 【编译原理笔记09】语法制导翻译:语法制导翻译方案,在非递归的预测分析过程中进行翻译 |
本次笔记内容: 5-5 语法制导翻译方案 5-6 在非递归的预测分析过程中进行翻译 本节课幻灯片,见于我的 GitHub 仓库:第9讲 语法制导翻译_2 文章目录 语法制导翻译方案 语法制导翻译方案 SDT 将S-SDD转换为SDT S-属性定义的SDT 实现 扩展的LR语法分析栈 将语义动作中的抽象定义式改写成具体可执行的栈操作 例:在自底向上语法分析栈中实现桌面计算器 将L-SDD转换为SDT L-属性定义的SDT 实现 在非递归的预测分析过程中进行翻译 扩展语法分析栈 分析栈中的每一个记录都对应着一段执行代码 语法制导翻译方案 语法制导翻译方案 SDT语法制导翻译方案 (SDT) 是在产生式右部中嵌入了程序片段(称为语义动作)的CFG。
SDT可以看作是SDD的具体实施方案。 本节主要关注如何使用SDT来实现两类重要的SDD,因为在这两种情况下,SDT可在语法分析过程中实现: 基本文法可以使用LR分析技术,且SDD是S属性的 基本文法可以使用LL分析技术,且SDD是L属性的 将S-SDD转换为SDT将一个S-SDD转换为SDT的方法:将每个语义动作都放在产生式的最后。 如果一个S-SDD的基本文法可以使用LR分析技术,那么它的SDT可以在LR语法分析过程中实现。
归约后,X、Y、Z出栈,A入栈。 例:在自底向上语法分析栈中实现桌面计算器
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |