編譯原理第六章 屬性文法和語法制導翻譯

2021-08-20 17:50:35 字數 954 閱讀 3778

1、知識點圖

重點記憶:

1.屬性文法

1.1屬性文法

是在上下文無關文法的基礎上為每個文法符號(終結符或非終結符)配備若干個相關          的「值」(稱為屬性,代表與文法符號相關的資訊,和變數一樣,可以進行計算和傳               遞)。

1.2屬性分類

1.2.1綜合屬性

用於「自下而上」傳遞資訊

在語法樹中,乙個結點的綜合屬性的值,由其子結點的屬性值確定

s—屬性文法:僅僅使用綜合屬性的屬性文法

1.2.2繼承屬性

用於「自上而下」傳遞資訊。

在語法樹中,乙個結點的繼承屬性由此結點的父結點和/或兄弟結點的某些屬性                     確定

1.3語義規則

屬性計算的過程即是語義處理的過程

抽象語法樹

從語法樹中去掉對翻譯不必要的資訊,而獲得更有效的源程式中間表示。

這種經變換後的語法樹稱之為抽象語法樹

s-屬性文法的自下而上計算

s—屬性文法,它只含有綜合屬性。

綜合屬性可以在分析符號串的同時由自上而下的分析器來構造

分析器可以儲存與棧中文法符號有關的綜合屬性值

每當進行歸約時,新的屬性值就由棧中正在歸約的產生式右邊符號的屬性值來計算

可以通過擴充分析器中的棧來存放這些綜合屬性值

s-屬性文法的翻譯器通常可借助於lr分析器實現

2、驗證使用(習題處理):

3、課堂感受:

這章主要講了屬性文法和翻譯,與屬性文法的概念性東西相比,翻譯過程很是繁瑣,需要仔細的一步步來。

編譯原理第六章 屬性文法和語法制導翻譯

第六章主要講了屬性文法 語義規則 基於屬性文法的處理 s屬性的自下而上計算 l 屬性文法的自頂向下翻譯等內容。一些基本的概念 屬性文法 是在上下文無關文法的基礎上為每個文法符號 終結符或非終結符 配備若干個相關的 值 稱為屬性 屬性 代表與文法符號相關的資訊,和變數一樣,可以進行計算和傳遞。綜合屬性...

編譯原理第六章 屬性文法和語法制導翻譯

一 內容小結 本章主要介紹語法分析及翻譯的問題,其處理方法主要是屬性文法和語法制導翻譯方法。重點內容有 1.屬性文法 2.基於屬性文法的處理方法 3.s 屬性文法的自上而下計算 4.l 屬性文法和自下而上的翻譯。1.屬性文法 是在上下文無關文法的基礎上為每個文法符號 終結符或非終結符 配備若干個相關...

編譯原理第六章 屬性文法和語法制導翻譯

屬性文法 2 屬性 代表與文法符號相關的資訊,和變數一樣,可以進行計算和傳遞。3 屬性的分類 4 語義規則 對於文法的每乙個產生式配備一組屬性的計算規則,則稱為語義規則。這裡f是乙個函式,而且 或者 1 b是a的乙個綜合屬性並且c1,c2,ck是產生式右邊文法符號的屬性 或者 2 b是產生式右邊某個...