編譯原理 算符優先分析法

2021-09-22 10:33:22 字數 1394 閱讀 2745

一、算符文法的定義

二、定義任意兩個終結符號之間的優先關係

解釋:

(1)ab兩個可以同時規約,故優先順序相等

(2)將r的推導式代入p的產生式中,最終也會形成如(1)中一樣的p的產生式的形式,但此時需要對b先進行規約,再規約a,故a的優先順序小於b的優先順序

(3)同理可得,b的優先順序小於a的優先順序

三、算符優先文法的定義

算符優先分析法借助優先關係表尋找句型的可歸約串。

步驟一:為每個非終結符 a 計算 firstvt(a) 和 lastvt(a)

(1)firstvt集合

找firstvt的三條規則:如果要找a的firstvt,a的候選式**現:

(2)lastvt集合

找lastvt的三條規則:如果要找a的lastvt,a的候選式**現:

步驟二:逐條掃瞄文法規則

(1)因存在 e → (e)的規則,則有=

(2)尋找終結符在左邊,非終結符在右邊的符號對

(3)尋找非終結符在左邊,終結符在右邊的符號對

步驟三:尋找$與開始符號e的關係

(1)$=$

(2)$$

編譯原理 算符優先分析法詳解

算符優先分析法 operator precedence parse 是仿效四則運算的計算過程而構造的一種語法分析方法。算符優先分析法的關鍵是比較兩個相繼出現的終結符的優先順序而決定應採取的動作。優點 簡單,有效,適合表示式的分析。缺點 只適合於算符優先文法,是乙個不大的文法類。定義 短語 設有文法g...

編譯原理 算符優先分析法詳解

算符優先分析法 operator precedence parse 是仿效四則運算的計算過程而構造的一種語法分析方法。算符優先分析法的關鍵是比較兩個相繼出現的終結符的優先順序而決定應採取的動作。優點 簡單,有效,適合表示式的分析。缺點 只適合於算符優先文法,是乙個不大的文法類。定義 短語 設有文法g...

編譯原理 八 算符優先分析法 分析過程

算符優先分析法 構造演算法優先關係表 算符優先關係主要用於界定右句型的控制代碼 標記控制代碼的左端 出現在控制代碼的內部 標記控制代碼的右端。發現控制代碼的過程 非終結符的處理 因為非終結符不能影響語法分析,所以不需要區分它們,於是只用乙個佔位符來代替它們 演算法的主體思想 用棧儲存已經看到的輸入符...