第六章
属性和属性文法
类比于面向对象编程:
类比面向对象编程
记号 = 类
单词 = 对象
属性 = 成员属性
这章节讨论的就是语义分析中,属性的作用
属性
语言结构的任意特性
属性文法
给文法中的符号后附上属性值,加上一个注释,下图则为一个属性文法
注释🌳
把属性值添加到🌳中
红色的部分为注释,绿色为归约顺序(本人看图理解,不一定准确)
相关依赖图
由等号的右侧指向左侧
一个记号有多个属性
可以用一个邻接矩阵表示。
合成属性和继承属性
合成属性
一个属性由多个属性所组成,例
num1.val = num2.val + digit.val
一个属性文法都是合成属性,则称为 S 属性文法
继承属性
不是合成属性则是继承属性
符号构造表
杂凑表(哈希表):用于增删改查