本次笔记内容:
5-7 在递归预测过程中进行翻译
5-8 L属性定义的自底向上翻译
本节课幻灯片,见于我的 GitHub 仓库:第10讲 语法制导翻译_3
在递归的预测分析过程中进行翻译
如上,先来考虑SDT的非终结符 T’ ,上图右侧为 T’ 对应的扩展后的函数,其中:
黑色字体
部分,表示原有的语法分析器中 T' 对应的过程
;- 蓝色的就是扩展之后的部分。
为每个非终结符A构造一个函数
,A的每个继承属性
对应该函数的一个形参
,函数的返回值
是A的综合属性
值。
对出现在A产生式右部中的每个文法符号的每个属性
都设置一个局部变量
。
对于每个动作,将其代码复制到语法分析器,并把对属性的引用改为对相应变量的引用。