【正文】
addtype (, ) L? id addtype (, ) D real T , id3 L L L id2 id1 , .type = real .in = real .in = real .in = real 繼承屬性 綜合屬性 終結符 只有綜合屬性 語義規(guī)則 ? 屬性計算 ? 類型說明 ? 符號表操作 ? 代碼生成 ? …… 補充例 1 為文法 S ? ( L ) | a L ? L , S | S 寫一個語義規(guī)則,輸出括號的對數(shù)。 產(chǎn) 生 式 D ? TL T? int T? real L? L1, id L? id 表 帶繼承屬性 語 義 規(guī) 則 := T. type := integer T. type := real := 。 ☆ 表 一個簡單臺式計算器的屬性文法 8+5*2n L ? E n print () E ? E1 + T := E1 .val + E ? T := T ? T1 * F := * T ? F := F? (E) := F ? digit := digit L E n T E T F digit T + * F F digit .lexval = 8 .val = 8 帶注釋的語法樹 (結點帶有語義信息 ) .val = 8 .val = 8 .val = 18 .lexval = 5 .val = 5 .val = 5 .val = 10 .lexval = 2 .val = 2 繼承屬性 ? 在語法樹中,一個結點的 繼承屬性 由此結點的父結點 和/或 兄弟結點 的某些屬性確定。 注意 ? 終結符 只有綜合屬性,它們由詞法分析器提供 ? 非終結符 既可有綜合屬性也可有繼承屬性 例 : 產(chǎn)生式 A→ BC有規(guī)則 := + 1 := + 繼承屬性 綜合屬性 A