編譯原理:第5章 語法分析(Syntax Analysis)-自下而上分析法1_第1頁
編譯原理:第5章 語法分析(Syntax Analysis)-自下而上分析法1_第2頁
編譯原理:第5章 語法分析(Syntax Analysis)-自下而上分析法1_第3頁
編譯原理:第5章 語法分析(Syntax Analysis)-自下而上分析法1_第4頁
編譯原理:第5章 語法分析(Syntax Analysis)-自下而上分析法1_第5頁
已閱讀5頁,還剩61頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、 課 程 內(nèi) 容第 1 章 編 譯 引 論第 2 章 形式語言與自動機基礎第 3 章 詞法分析 (Lexical Analysis)第 4 章 語法分析(Syntax Analysis) 自上而下分析法第 5 章 語法分析(Syntax Analysis) 自下而上分析法第 6 章 語義分析與中間代碼生成第 7 章 運 行 環(huán) 境第 8 章 代碼優(yōu)化(optimization)Ch5 語法分析 5.1 移進歸約分析 自下而上語法分析 從給定的輸入串r開始,不斷尋找子串與文法G中某個產(chǎn)生式P的候選式進行匹配,并用P的左部代替(歸約)之,逐步歸約到S。 關(guān)鍵 : 1) 確定可歸約串 歸約條件; 2

2、) 如何歸約 歸約原則。 5.1 “移近歸約”分析法 5.2 算符優(yōu)先分析法 5.3 LR分析概述 5.4 LR (0)分析 5.5 SLR (1)分析 5.6 LR (1)分析 5.7 LALR (1)分析 5.8 LR分析對二義文法的應用 5.9 LR分析的錯誤處理與恢復 5.10 語法分析器的自動生成與YACC Ch5 語法分析5.1.1 直觀的“移近歸約”分析法 5.1.2 規(guī)范歸約與句柄 Ch5 語法分析 5.2 算符優(yōu)先分析法5.1 “移近歸約”分析法 Ch5 語法分析 5.1 移進歸約分析例5.1 設有文法G1和輸入串a(chǎn)bbcde (1) SaABe (2) AAbc (3) A

3、b (4) Bd step stack r action 初始化 abbcde shift (1) a bbcde shift (2) ab bcde Ab歸約 (3) aA bcde shift (4) aAb cde shift (5) aAbc de AAbc歸約 (6) aA de shift (7) aAd e Bd歸約 (8) aAB e shift (9) aABe SaABe歸約 (10) S 接受(分析成功)Ch5 語法分析 5.1 移進歸約分析 SaABeAAbcAbBd返回Ch5 語法分析 5.1 移進歸約分析 S = aABe = aAde = aAbcde = abb

4、cdea b b c d eAB ASSaABeAAbcAbBd規(guī)范推導:查看5.1.1 直觀的“移近歸約”分析法 5.1.2 規(guī)范歸約與句柄 Ch5 語法分析 5.2 算符優(yōu)先分析法5.1 “移近歸約”分析法 定義5.1 ( 短語 ) 令G是一部文法,S是G的開始符號, 是G的一個句型,若有 S = A且A = ,則是句型相對于A的短語 。 * + 定義5.2 ( 直接短語 ) 令G是一部文法,S是G的開始符號, 是G的一個句型,若有 S = A且A ,則是句型相對于A的直接短語 。*Ch5 語法分析 5.1 移進歸約分析 定義5.3 ( 句柄 ) 一個句型的最左直接短語稱為句柄。 注意:

5、* 直接短語一定是短語; * 句柄一定是直接短語且具有最左性; * 短語是每個子樹的葉結(jié)點; * 句子的句柄是語法樹中最左“子樹”的所 有葉節(jié)點從左到右的排列或在句子的規(guī) 范推導序列中,最后使用的產(chǎn)生式的 右部。Ch5 語法分析 5.1 移進歸約分析例5.2 設有文法G和輸入串r G: SaAcB AP Pab Bd 存在推導 S= aAcB= aPcB 則P是句型aPcB相對于A的短語,也是相對于A的直接短語,也是句型aPcB的句柄。 Sa A c BPCh5 語法分析 5.1 移進歸約分析例5.2 設有文法G和輸入串r G: SaAcB AP Pab Bd存在推導 S= aAcB= aPc

6、B= aabcBSa A c BP a bCh5 語法分析 5.1 移進歸約分析ab是句型aabcB相對于A的短語;相對于P的直接短語;且為最左直接短語即是句型aabcB的句柄。 例5.2 設有文法G和輸入串r G: SaAcB AP Pab Bd r: aabcd 對r存在推導 S= aAcB= aAcd= aPcd = aabcdd是句子aabcd相對于B的短語;相對于B的直接短語;ab是句子aabcd相對于A的短語;相對于P的直接短語;也是句子aabcd的句柄。 Sa A c BPd a bCh5 語法分析 5.1 移進歸約分析Ch5 語法分析 5.1 移進歸約分析例5.3 設有文法G1

7、和輸入字符串a(chǎn)bbcde (1) SaABe (2) AAbc (3) Ab (4) Bd Ch5 語法分析 5.1 移進歸約分析 a b b c d eS = aAB= aAde = aAbcde = abbcdeABS A 5.1 “移近歸約”分析法 5.2 算符優(yōu)先分析法 5.3 LR分析鳥瞰 5.4 LR (0)分析 5.5 SLR (1)分析 5.6 LR (1)分析 5.7 LALR (1)分析 5.8 LR分析對二義文法的應用 5.9 LR分析的錯誤處理與恢復 5.10 語法分析器的自動生成與YACC Ch5 語法分析5.2.1 直觀的算符優(yōu)先分析法 5.2.2 算符優(yōu)先分析與算

8、符優(yōu)先分析器 5.2.3 算符優(yōu)先分析法實現(xiàn)的理論探討5.2.4 優(yōu)先函數(shù)表的構(gòu)造 Ch5 語法分析 5.2 算符優(yōu)先分析法5.2 算符優(yōu)先分析法 Ch5 語法分析 5.2 算符優(yōu)先分析法 5.2.1 直觀的算符優(yōu)先分析法 基本思想 對給定的G按照一定原則求出G的文法符號間的優(yōu)先關(guān)系,按照優(yōu)先關(guān)系確定可歸約子串實施歸約。 例5.4 設有文法G和輸入串a(chǎn)abb (1) S aSb (2) Sab L(G) = anbn | n 1 Ch5 語法分析 5.2 算符優(yōu)先分析法 5.2.1 直觀的算符優(yōu)先分析法 文法G的優(yōu)先關(guān)系 a b # a b # a b 表示的a優(yōu)先關(guān)系低于ba b 表示的a優(yōu)

9、先關(guān)系高于ba b 表示的a優(yōu)先關(guān)系同等于b優(yōu)先關(guān)系分析rstack(1) S aSb (2) Sab step stack r 關(guān)系 action (1) aabb shift (2) a abb shift (3) aa bb shift (4) aab b reduce(2) (5) aS b shift (6) aSb reduce(1) (7) S acc 句子 aabb的算符優(yōu)先分析過程 Ch5 語法分析 5.2 算符優(yōu)先分析法 5.2.1 直觀的算符優(yōu)先分析法 查看(1) S aSb (2) Sab5.2.1 直觀的算符優(yōu)先分析法 5.2.2 算符優(yōu)先分析與算符優(yōu)先分析器 5.2

10、.3 算符優(yōu)先分析法實現(xiàn)的理論探討5.2.4 優(yōu)先函數(shù)表的構(gòu)造 Ch5 語法分析 5.2 算符優(yōu)先分析法 Ch5 語法分析 5.2 算符優(yōu)先分析法 5.2.2 算符優(yōu)先分析與分析器 算符優(yōu)先分析 定義算符(G的VT)之間的優(yōu)先關(guān)系,借助這種關(guān)系尋找“可歸約串”進行歸約(非規(guī)范歸約)。 定義5.4 ( 算符文法 )設有一文法G,如果G中沒有 UVW 的規(guī)則,其中V,W,UN ,則稱文法G 是算符文法(OG)。 Ch5 語法分析 5.2 算符優(yōu)先分析法 5.2.2 算符優(yōu)先分析與分析器 定義5.4的命題: 算符文法的任何句型都不會含有兩個相鄰的非終結(jié)符。 例5.5 設有文法G (1) E EAE

11、| (E)| i (2) A + | | * E E+E | E E | E * E | iOG非OG Ch5 語法分析 5.2 算符優(yōu)先分析法 5.2.2 算符優(yōu)先分析與分析器 定義5.5 ( 算符優(yōu)先文法 )設G是一不含P形式規(guī)則的算符文法,則對于任何a,b有: ab,當且僅當文法G中有形如 A ab 或A aBb的規(guī)則: ab,當且僅當文法G中有形如A aB的規(guī) 則,其中B=b 或 B= Cb ; a b,當且僅當文法G中有形如A Bb的規(guī) 則,其中B = a或 B= aC。若文法G中所有終結(jié)符號之間最多只滿足這三者關(guān)系之一,則稱文法G是算符優(yōu)先文法(OPG文法)。+其中:a、bVT;

12、A、B、CVN;“”(VTVN)* Ch5 語法分析 5.2 算符優(yōu)先分析法 5.2.2 算符優(yōu)先分析與分析器 說明 : 1) OPG一定是OG; 2) OPG不含產(chǎn)生式; 3) 定義 5.2的 給出優(yōu)先關(guān)系的 定義。 Ch5 語法分析 5.2 算符優(yōu)先分析法 5.2.2 算符優(yōu)先分析與分析器 例5.6設文法G(P):PaQQbRRa 考察G(P)中的終結(jié)符a、b的優(yōu)先關(guān)系: PaQ Q=bR ab ; a b a b Q bRR=aba ; b與b, a與a不存在優(yōu)先關(guān)系。所以G(P)是算符優(yōu)先 文法。 Ch5 語法分析 5.2 算符優(yōu)先分析法 5.2.2 算符優(yōu)先分析與分析器 例5.7 設

13、文法G :S aSb | ab考察 :S aSb | ab據(jù)定義 a a;據(jù)定義 b b; a b a b G是OPGab;據(jù)定義 Ch5 語法分析 5.2 算符優(yōu)先分析法 5.2.2 算符優(yōu)先分析與分析器 算符優(yōu)先關(guān)系表構(gòu)造從定義出發(fā): 小規(guī)模G基于定義,求解2個集合 定義5.6 給定文法G,G中的 PN ,則: FIRSTVT(P)=aP =a或P =Qa, aT且QN LASTVT(P)aP =a或P=aQ, aT 且QN+ Ch5 語法分析 5.2 算符優(yōu)先分析法 5.2.2 算符優(yōu)先分析與分析器 確定G的VT之間的優(yōu)先關(guān)系的規(guī)則 設有文法G和G的非終結(jié)符P的LASTVT(P) 、 F

14、IRSTVT(P),則有: 若有文法規(guī)則 P ab 或 P aQb ,則有 ab ; 若有文法規(guī)則 Q Pb ,對所有 aLASTVT(P),有 ab ; 若有文法規(guī)則aP,對所有 bFIRSTVT(P) ,有 ab; Ch5 語法分析 5.2 算符優(yōu)先分析法 5.2.2 算符優(yōu)先分析與分析器 只要給出求文法的所有非終結(jié)符的FIRSTVT和LASTVT集合的實現(xiàn)算法,就可以根據(jù)以上規(guī)則自動構(gòu)造文法的優(yōu)先關(guān)系表。 通過布爾數(shù)組計算兩個集合關(guān)系圖法計算兩個集合 算法 Ch5 語法分析 5.2 算符優(yōu)先分析法 5.2.2 算符優(yōu)先分析與分析器 算法5.1 計算FIRSTVT(G) 輸入 : 文法G

15、輸出 : 文法G的FIRSTVT集合方法 :/* 依據(jù)規(guī)則: (1) 若有產(chǎn)生式Pa 或PQa ,則aFIRSTVT(P); (2) 若aFIRSTVT(Q)且有產(chǎn)生式 PQ , 則aFIRSTVT(P); */ 初始化:置數(shù)組FR(P, a)FALSE; 根據(jù)(1)改變數(shù)組,并初始化棧:若有規(guī)則 Pa或 Pa, 則FR(P,a)TURE;并將( P, a)推入棧A中; Ch5 語法分析 5.2 算符優(yōu)先分析法 5.2.2 算符優(yōu)先分析與分析器 根據(jù)(2)修改棧及數(shù)組:將當前棧A的棧頂 項( , a)彈出;對每個形如 P 的規(guī)則 置 FR( P,a) TURE,然后再將其壓入A棧; 重復直至A

16、棧為空則結(jié)束。 由數(shù)組FR可直接得到任何非終結(jié)符P的FIRSTVT,即: FIRSTVT(P) aFR(P, a)TRUE求LASTVT算法類似。 Ch5 語法分析 5.2 算符優(yōu)先分析法 5.2.2 算符優(yōu)先分析與分析器 例5.8設文法G( P): P Qa Q bR R a據(jù)FIRSTVT(G)的算法首先初始化數(shù)組FR a bPQR F F F F F F數(shù)組FR初始化 Ch5 語法分析 5.2 算符優(yōu)先分析法 5.2.2 算符優(yōu)先分析與分析器 例5.8設文法G( P): P Qa Q bR R a據(jù)FIRSTVT(G)的算法第步修改該文法的數(shù)組FR及初始化棧: FIRSTVT(P) a,

17、bFIRSTVT(Q) b FIRSTVT(R) a (Q, b) (P, a) (R, a) a bPQR FFFFFF TTTT排空棧并修改數(shù)組:(P,b) Ch5 語法分析 5.2 算符優(yōu)先分析法 5.2.2 算符優(yōu)先分析與分析器 a bPQR F F F F F FLASTVT(P) a LASTVT(Q)a,bLASTVT(R) a TTT求LASTVT:P QaQbRR a (Q, b) (P, a) (R, a)T(Q,a) Ch5 語法分析 5.2 算符優(yōu)先分析法 5.2.2 算符優(yōu)先分析與分析器 算法5.2 構(gòu)造文法G的優(yōu)先關(guān)系表 輸入:文法G的拓廣及G的FIRSTVT(G)

18、、LASTVT(G) 輸出:文法G的優(yōu)先關(guān)系表 方法forG中的每條規(guī)則PX1X2Xn 置相鄰的兩個終結(jié)符Xi和Xi+1(或只隔一個 非終結(jié)符)為“”,即XiXi+1; if XiVT而Xi+1VN 則 for FIRSTVT(Xi+1) 中的每個a置Xia; if XiVN而Xi+1T 則 for LASTVT(Xi)中的每個a置a Xi+1。P aR 且 FIRSTVT(R)P Ra 且 LASTVT(R)加一產(chǎn)生式:S S Ch5 語法分析 5.2 算符優(yōu)先分析法 5.2.2 算符優(yōu)先分析與分析器 例5.8 設文法G( P): P # P # P Qa Q Rb R aFIRSTVT(P

19、) a, bFIRSTVT() a, bFIRSTVT() a LASTVT(P) a LASTVT(Q) b LASTVT(R) a a b # a b# G(P)是OPG Ch5 語法分析 5.2 算符優(yōu)先分析法 5.2.2 算符優(yōu)先分析與分析器 LASTVT(P) a LASTVT(Q)a,bLASTVT(R) a a b # a b # 文法G( P)是非OPGFIRSTVT(P) a,bFIRSTVT() b FIRSTVT() a 例5.8 設文法G( P): P # P # P Qa Q bR R a 5.2.1 直觀的算符優(yōu)先分析法 5.2.2 算符優(yōu)先分析與算符優(yōu)先分析器 5

20、.2.3 算符優(yōu)先分析法實現(xiàn)的理論探討5.2.4 優(yōu)先函數(shù)表的構(gòu)造 Ch5 語法分析 5.2 算符優(yōu)先分析法 Ch5 語法分析 5.2 算符優(yōu)先分析法 5.2.3 算符優(yōu)先分析法理論探討 定義5.7設G是一個算符文法,是句型關(guān)于A的短語且含有至少一個終結(jié)符號,并且除自身外不再含有任何更小的帶終結(jié)符號的短語,則是句型關(guān)于A的素短語。 定義5.8文法G的句型的最左邊的素短語為最左素短語。 Ch5 語法分析 5.2 算符優(yōu)先分析法 5.2.3 算符優(yōu)先分析法理論探討 TEE+TE+TT*FFi句型 T+T*F+i 的分析樹素短語最左素短語例5.9 設文法G() E ETTT T*FFF (E)i考察

21、句型 TT*Fi,給出它的素短語及最左素短語。 是短語 但不是素短語 Ch5 語法分析 5.2 算符優(yōu)先分析法 5.2.3 算符優(yōu)先分析法理論探討 句型 T+i*i+i 的分析樹最左素短語EE+TE+TT*FTFiiFi素短語i*i ? T ? Ch5 語法分析 5.2 算符優(yōu)先分析法 5.2.3 算符優(yōu)先分析法理論探討 定理5.1 一個算符優(yōu)先文法G,它的任何句型N0a0Nn-1anNn的最左素短語是滿足下列條件的最左子串 NjajNiaiNi+1 (其中akVT( 0 k n ),k是可有可無的N ): aj-k aj-k+1 (1 k j ) aj = aj+1 , , ai-1 = a

22、i ai ai+1出現(xiàn)在ai左端和aj右端的文法符號一定屬于該素短語 (含ai和aj),且出現(xiàn)在ai右端和aj左端的一個非終結(jié)符(若有Nj,Ni+1)一定屬于該素短語。 思考題(自己證明) Ch5 語法分析 5.2 算符優(yōu)先分析法 5.2.3 算符優(yōu)先分析法理論探討 例5.9設文法G() E ETT T T*F F F(E)i 分析 + * ( ) i # + *( ) i # Ch5 語法分析 5.2 算符優(yōu)先分析法 5.2.3 算符優(yōu)先分析法理論探討 文法G(E)的句型 TT*Fi 的分析過程 步驟 句 型 關(guān)系 最左素短語 歸約符號 1#T+T*F+i# #+* +i # T*F T 2

23、 #T+T+i# #+ i # T+T E 3 #E+i# #+i # i F(T) 4 #E+F# #+# E+F E 最左的“”“”括起來的為要歸約的短語,即最左素短語。 Ch5 語法分析 5.2 算符優(yōu)先分析法 5.2.3 算符優(yōu)先分析法理論探討 EE+TE+TT*FTFi 句型 T+T*F+i 的分析樹省略了非終結(jié)符到非終結(jié)符的歸約 Ch5 語法分析 5.2 算符優(yōu)先分析法 5.2.3 算符優(yōu)先分析法理論探討 算法5.3 算符優(yōu)先分析器的總控程序。 初始化。將“”壓入棧,棧頂指針p1; 當前輸入符號=a; 比較棧頂項 b(bVT)與a的優(yōu)先級; 若 b a或 b= a轉(zhuǎn) ; 若 b a

24、轉(zhuǎn) ; 否則 error; a入棧( p+)轉(zhuǎn) ; /還沒形成最左素短語,移進 在棧中尋找滿足bn+1 bnbn-1b1a的bn, 即尋找最左素短語的頭; 將 bn bn-1 b1及有關(guān)的非終結(jié)符歸約到(不能 歸約error) , 入棧;若棧中為S與a“”, 則end,否則轉(zhuǎn) ; Ch5 語法分析 5.2 算符優(yōu)先分析法 5.2.3 算符優(yōu)先分析法理論探討 例5.10設有文法G(Z) 和輸入串b (aa)b Z bMb M (La L Ma) 文法G(Z)的優(yōu)先關(guān)系表子集 b a ( ) #b a ( ) # Ch5 語法分析 5.2 算符優(yōu)先分析法 5.2.3 算符優(yōu)先分析法理論探討 步驟符

25、號棧 優(yōu)先關(guān)系 (a) 輸入字符串 動 作 1 b (aa)b 初始化 2 b (aa)b b進棧 3 b ( aa)b ( 進棧 4 b( a )b 用Ma歸約 6 b(M b 用LMa)歸約 9 b(L b 用M(L歸約 10 bM =b b進棧 11 bMb 用ZbMb歸約 12 Z 分析成功,結(jié)束5.2.1 直觀的算符優(yōu)先分析法 5.2.2 算符優(yōu)先分析與算符優(yōu)先分析器 5.2.3 算符優(yōu)先分析法實現(xiàn)的理論探討5.2.4 優(yōu)先函數(shù)表的構(gòu)造 Ch5 語法分析 5.2 算符優(yōu)先分析法 Ch5 語法分析 5.2 算符優(yōu)先分析法 5.2.4 優(yōu)先函數(shù)表的構(gòu)造 為什么引入 優(yōu)先函數(shù)表 對給定文法

26、G,若其終結(jié)符個數(shù)=n,則G的優(yōu)先關(guān)系表的大小 = (n+1)2 ;引入優(yōu)先函數(shù)表,使每個終結(jié)符僅對應兩個優(yōu)先函數(shù)值,即棧內(nèi)和棧外優(yōu)先函數(shù)值,則G的優(yōu)先關(guān)系表的大小 = 2(n+1),且在分析中便于進行終結(jié)符之間的比較。 Ch5 語法分析 5.2 算符優(yōu)先分析法 5.2.4 優(yōu)先函數(shù)表的構(gòu)造 優(yōu)先函數(shù)表 引入兩個優(yōu)先函數(shù)f和g 。其中f,稱為棧內(nèi)優(yōu)先函數(shù),g稱為比較優(yōu)先函數(shù)(棧外優(yōu)先函數(shù))。將每個終結(jié)符號a與兩個優(yōu)先函數(shù)值f(a) 和 g(a) 相對應, f(a),g(a)自然數(shù),其與優(yōu)先關(guān)系的對應關(guān)系: 若 a1 a2,則 f(a1) g(a2); 若 a1 a2,則 f(a1) g(a2)

27、; 若 a1 a2,則 f(a1) g(a2); Ch5 語法分析 5.2 算符優(yōu)先分析法 5.2.4 優(yōu)先函數(shù)表的構(gòu)造 算法5.4 優(yōu)先函數(shù)表的構(gòu)造輸入:文法G的優(yōu)先關(guān)系表輸出:與文法G的優(yōu)先關(guān)系表等價的優(yōu)先函數(shù)表(或 不存在優(yōu)先函數(shù))方法: (1) 對G的每個a(a VT )及“#”,使之對應兩個結(jié)點 fa 和ga; (2) 將所有f和g的集合分為若干組,即若a b,則fa和gb在同一組。 (3) 設在第(2)步中建立的每個組為一個結(jié)點,畫一張能包含所有結(jié)點的有向圖。即對任何a和b (a,b VT或“#”) 若a b ,則從gb畫一有向弧到fa ; 若a b ,則從fa 畫一有向弧到gb

28、。 Ch5 語法分析 5.2 算符優(yōu)先分析法 5.2.4 優(yōu)先函數(shù)表的構(gòu)造 算法5.4 構(gòu)造優(yōu)先函數(shù)表 ( 續(xù) ) (4) 對圖中每個結(jié)點賦一個整數(shù),該整數(shù)是從該結(jié)點出發(fā)沿有向弧能到達的結(jié)點個數(shù)(包括該結(jié)點),即優(yōu)先函數(shù)值 f(a) (或g(a)。 (5) 檢查構(gòu)造的優(yōu)先函數(shù),是否與原優(yōu)先關(guān)系表有矛盾,若無矛盾則構(gòu)造的優(yōu)先函數(shù)表成立,否則優(yōu)先函數(shù)不存在。f# Ch5 語法分析 5.2 算符優(yōu)先分析法 5.2.4 優(yōu)先函數(shù)表的構(gòu)造 例5.11 設有文法G(S) S aSb| ab 試構(gòu)造文法G(S)的優(yōu)先函數(shù)表。 a b #ab# fafbgagbfa,gb(1)(3)(3)g#f#,g#(1)

29、 Ch5 語法分析 5.2 算符優(yōu)先分析法 5.2.4 優(yōu)先函數(shù)表的構(gòu)造 檢查構(gòu)造的優(yōu)先函數(shù): 對aa,f (a)g (a)有13; 對bb,f (b)g (b)有31; 對b#,f (b)g (#)有31 ; 對#a,f (#)g (a)有13;因此,優(yōu)先函數(shù)存在。優(yōu)先關(guān)系表 a b # 1 3 1 3 1 1fg優(yōu)先函數(shù)表 a b #ab# 優(yōu)先函數(shù)表并不一定一定存在。a b a b Ch5 語法分析 5.2 算符優(yōu)先分析法 5.2.4 優(yōu)先函數(shù)表的構(gòu)造 如果假定存在函數(shù)f和g,則應有:f(a)g(a),f(a)g(b)f(b)g(a), f(b)g(b)按此假設 f (a)g (b) f (b)g(a) f (a)= f (a)f (a)矛盾! a b 1 1 1 1fg Ch5 語法分析 5.2 算符優(yōu)先分析法 5.2.4 優(yōu)先函數(shù)表的構(gòu)造 算符優(yōu)先分析器輸入字符串r a1 a2 ai an #總控程序X #分析棧輸出優(yōu)先函數(shù)表總控程序分析棧優(yōu)先函數(shù)表組成 Ch5 語法分析 5.2 算符優(yōu)先分析法 5.2.4 優(yōu)先函數(shù)表的構(gòu)造

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論