S-属性文法的自下而上计算
[!tip] S-属性文法 ![[属性文法#^4e6ede]]
- 综合属性可以在分析输入符号串的同时由自下而上的分析器来计算
- 在分析器中,可以保存与栈中文法符号有关的综合属性值
- 每当进行归约时,新的属性值则由栈中正在归约的产生式右边符号的属性值来计算
[!hint] 因此,在分析栈中,我们需要使用一个附加的域来存放综合属性值 假设语义规则\(A.a := f(X.x, Y.y, Z.z)\)是对应于产生式\(A\rightarrow XYZ\):
- 每当进行归约时,新的属性值则由栈中正在归约的产生式右边符号的属性值来计算