語法制導定義
語法制導定義是對上下文無關文法的推廣,其中每個文法符號都有一個相關的屬性集。屬性分為倆個子集,分別為該文法符號的綜合屬性和繼承屬性。
節點的綜合屬性值是通過分析樹中其子結點的屬性值計算出來的;而繼承屬性值則是由該節點的兄弟節點及父節點的屬性值來計算的。
在語法制導定義中,每個產生式A->a都有一個形如b:= f(c1,c2,c3,…,ck)的語義規則集合與之相關聯,其中f是函數,并且滿足下面倆種情況之一:
1.b是A的一個綜合屬性,且c1,c2 ,…,ck是該產生式文法符號的屬性。
2.b是產生式右部某個文法符號的一個繼承屬性,且c1,c2 ,…,ck也是該產生式文法符號的屬性。
對這兩個情況都稱為屬性b依賴于屬性c1,c2 ,…,ck。
以下是綜合屬性 3*5+4n和繼承屬性 在每個L節點處都帶有繼承屬性in的分析樹 的注視分析樹。