




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、編譯系統原編譯系統原 理理電氣與信息學院 王 艷5.1 5.1 規范推導、規范句型和規范規約規范推導、規范句型和規范規約5.2 FIRST5.2 FIRST集合和集合和FOLLOWFOLLOW集合集合5.3 5.3 遞歸下降分析遞歸下降分析5.4 LL(1)5.4 LL(1)分析方法分析方法5.5 SLR(1)5.5 SLR(1)分析器分析器5.6 LR(1)5.6 LR(1)分析器分析器5.7 LALR(1)5.7 LALR(1)分析器分析器第五章第五章 語法分析語法分析- -自底向上分析自底向上分析5.1 5.1 規范推導、規范句型和規范歸約規范推導、規范句型和規范歸約自底向上分析:自底向
2、上分析:從輸入符號串開始,反復查找當前句型從輸入符號串開始,反復查找當前句型的句柄,并使用規則,將找到的句柄歸約成相應的非終的句柄,并使用規則,將找到的句柄歸約成相應的非終結符,直到規約到開始符號。結符,直到規約到開始符號。基本方法:基本方法:從句子出發,反復利用產生式做歸約從句子出發,反復利用產生式做歸約 (用產生式的左部替代右部),逐步構造語法分(用產生式的左部替代右部),逐步構造語法分析樹,最后得到文法的開始符號析樹,最后得到文法的開始符號. .核心:核心:尋找句型與句柄的匹配尋找句型與句柄的匹配5.1 5.1 規范推導、規范句型和規范歸約規范推導、規范句型和規范歸約例例5-1. S a
3、 A c B e5-1. S a A c B e A A b A A bb b B d B d 分析分析“abbcdeabbcde”是否為該文法的句子是否為該文法的句子abbcde aAbcde aAcde aAcBe Sabbcde aAbcde aAcde aAcBe S規范推導:最右推導,得到的句型為規范句型規范推導:最右推導,得到的句型為規范句型規范歸約:最左歸約,規范推導的逆過程。即在分析的規范歸約:最左歸約,規范推導的逆過程。即在分析的每一步,將當前句型的句柄歸約成相應的非終結符。每一步,將當前句型的句柄歸約成相應的非終結符。a b b c d ea b b c d eAABSA
4、bA bA A bA A bB dB dS a A c B eS a A c B e5.1 5.1 規范推導、規范句型和規范歸約規范推導、規范句型和規范歸約5.1 5.1 規范推導、規范句型和規范歸約規范推導、規范句型和規范歸約a ab bbcdeabcdeaAbAbcdeaAccdeaAcd deeaAcBeaAcBe S S句柄:最左直接短語句柄:最左直接短語5.2 5.2 自底向上分析方法的一般過程自底向上分析方法的一般過程自底向上分析也稱移進歸約法自底向上分析也稱移進歸約法bcde #Aa#移進歸約移進歸約控制程序控制程序產生式序列產生式序列棧內容棧內容 + 輸入緩沖區內容輸入緩沖區內
5、容 # 句型句型 #棧棧輸入緩沖區輸入緩沖區分析表分析表5.2 5.2 自底向上分析方法的一般過程自底向上分析方法的一般過程步驟步驟 符號棧符號棧 輸入符號串輸入符號串 動作動作145678910111232#a#ab#aA#aAb#aA#aAc#aAcd#aAcB#aAcBe#S#Sabbcde#bbcde#bcde#bcde#cde#cde#de#e#e#左界符進棧進棧進棧用Ab歸約進棧用AAb歸約進棧進棧用Bd歸約進棧用SaAcBe歸約接受5.2 5.2 自底向上分析方法的一般過程自底向上分析方法的一般過程如何尋找句柄是關鍵問題:算符優先方法和如何尋找句柄是關鍵問題:算符優先方法和LRL
6、R分析法分析法5.3 LR5.3 LR分析法分析法LRLR分析方法對文法適應性強;分析能力強;對源程序中分析方法對文法適應性強;分析能力強;對源程序中的錯誤診斷靈敏;但方法復雜,的錯誤診斷靈敏;但方法復雜,k k值越大,分析方法越值越大,分析方法越復雜。復雜。LRLR(0 0)分析是其中最簡單的,但分析能力弱,)分析是其中最簡單的,但分析能力弱,實用性差。實用性差。LRLR(k k)分析方法:)分析方法:L L:從左到右掃描所給定的輸入串:從左到右掃描所給定的輸入串R R:以相反的方向構造該輸入串的最右推導:以相反的方向構造該輸入串的最右推導k k:做出分析決定需要向前看的輸入符號的個數:做出
7、分析決定需要向前看的輸入符號的個數5.3 LR5.3 LR分析法分析法5.3.1 LR5.3.1 LR分析器的邏輯結構分析器的邏輯結構a1 ai an #總控程序總控程序動作表動作表action轉移表轉移表goto產生式序列產生式序列狀態符號棧狀態符號棧輸入緩沖區輸入緩沖區分析表分析表SmSm-1S1S0XmXm-1X1#5.3 LR5.3 LR分析法分析法5.3.2 LR5.3.2 LR分析表的構成分析表的構成(1 1)移近()移近(S Sn n):):將輸入符號移近符號棧,將狀態將輸入符號移近符號棧,將狀態n n移近狀態棧,輸入指針指向下一個輸入符號。移近狀態棧,輸入指針指向下一個輸入符號
8、。(2 2)歸約()歸約(R R):):用產生式左側的非終結符替換棧頂的句柄。用產生式左側的非終結符替換棧頂的句柄。(3 3)接受()接受(A A):):輸入符號達到右界符輸入符號達到右界符# #時,且符號棧只有文法的開始符號,則分析成功結束。時,且符號棧只有文法的開始符號,則分析成功結束。(4 4)報錯()報錯(E E):):在狀態棧頂狀態,輸入符號為不應該遇到的符號時,則報錯。在狀態棧頂狀態,輸入符號為不應該遇到的符號時,則報錯。5.3 LR5.3 LR分析法分析法5.3.2 LR5.3.2 LR分析表的構成分析表的構成文法文法G G:(0 0)S SA A(1 1)A A(A A)(2
9、2)A Aa a5.3 LR5.3 LR分析法分析法5.3.35.3.3LRLR分分析析過過程程5.3 LR5.3 LR分析法分析法5.3.3 LR5.3.3 LR分析過程分析過程文法文法G G:(0 0)S SA A(1 1)A A(A A)(2 2)A Aa a利用分析表分析利用分析表分析符號串符號串“(a a)”步驟步驟狀態棧狀態棧 符號棧符號棧 輸入符號串輸入符號串ACTIONGOTO10#(a)#S2202#(a)#S33023#(a)#R244024#(A)#S550245#(A)#R11601#A#ACCEPT5.3 LR5.3 LR分析法分析法5.3.3 LR5.3.3 LR分
10、析過程分析過程5.4 LR(0)5.4 LR(0)分析器分析器拓廣文法:使文法只有一個以識別符號作為左部的產生拓廣文法:使文法只有一個以識別符號作為左部的產生式,從而構造出來的分析器有唯一的接受狀態。式,從而構造出來的分析器有唯一的接受狀態。例例5-3.5-3.對文法對文法G G:E ET|E+T|E-TT|E+T|E-T,T Ti|(E)i|(E)進行拓廣進行拓廣(0 0)S SE E(1 1)E E T|E+T|E-TT|E+T|E-T(2 2) T Ti|(E)i|(E)5.4 LR(0)5.4 LR(0)分析器分析器5.4.1 5.4.1 活前綴和可歸活前綴活前綴和可歸活前綴 設設 是
11、一個規范句型,其中是一個規范句型,其中 表示句柄,表示句柄, ,如果如果 ,那么稱符號串,那么稱符號串 是句型是句型 的活前綴,其中的活前綴,其中 含有完整句柄含有完整句柄 ,稱為可歸,稱為可歸活前綴。活前綴。對規范句型來說,活前綴可有多個,可歸活前綴只有一個對規范句型來說,活前綴可有多個,可歸活前綴只有一個t*tVtruuu.21)1 (.21riuuurtruuu.21例例5-45-4:有文法:有文法G G:E E T|E+T|E-TT|E+T|E-T, T Ti|(E)i|(E)找出規范句型找出規范句型E+(i-i)E+(i-i)的活前綴和可歸活前綴的活前綴和可歸活前綴5.4 LR(0)
12、5.4 LR(0)分析器分析器5.4.1 5.4.1 活前綴和可歸活前綴活前綴和可歸活前綴活前綴:活前綴:E E,E+E+,E+(E+(,E+(iE+(i可歸活前綴:可歸活前綴: E+(i E+(iE+ETE()-ETiTiiE(5.4 LR(0)5.4 LR(0)分析器分析器5.4.2 LR(0)5.4.2 LR(0)項目項目 對某個文法對某個文法G G來說,如果來說,如果 為為G G的一條規則,的一條規則,那么對規則右部加上一個圓點那么對規則右部加上一個圓點“”,就成為一個項,就成為一個項目。形式為目。形式為 。21A21A例如:例如:S SE E:S SEE, S SEEE EE-TE-
13、T:E EE-TE-T,E EE-TE-T,E EE-TE-T,E EE-TE-T5.4 LR(0)5.4 LR(0)分析器分析器5.4.2 LR(0)5.4.2 LR(0)項目項目 項目中點后面的符號稱為該項目的后繼符號。根項目中點后面的符號稱為該項目的后繼符號。根據項目點的位置和后繼符號,把項目分成以下幾種:據項目點的位置和后繼符號,把項目分成以下幾種:(1)(1)移近項目:后繼符號為終結符號,移近項目:后繼符號為終結符號, E EE-TE-T(2)(2)待約項目:后繼符號為非終結符,待約項目:后繼符號為非終結符, E EE-TE-T(3)(3)歸約項目:后繼符號為空,歸約項目:后繼符號為
14、空, E EE-T E-T (4)(4)接受項目:文法的開始符號接受項目:文法的開始符號S S的歸約項目,的歸約項目, S SEE5.4 LR(0)5.4 LR(0)分析器分析器5.4.3 5.4.3 構造項目活前綴的有窮自動機構造項目活前綴的有窮自動機1 1、項目集的閉包運算、項目集的閉包運算 設設I I為一項目集,為一項目集,I I的閉包運算的閉包運算CLOSURE(I)CLOSURE(I)定義如下:定義如下:(1)I(1)I中的每一個項目都屬于中的每一個項目都屬于CLOSURE(I)CLOSURE(I);(2)(2)如項目如項目 屬于屬于CLOSURE(I)CLOSURE(I),且,且X
15、 X為非終結符為非終結符號,則將形式為號,則將形式為 的項目添加到的項目添加到CLOSURE(I)CLOSURE(I)中;中;(3)(3)重復重復(1)(2) (1)(2) ,直到,直到CLOSURE(I)CLOSURE(I)封閉為止。封閉為止。21XAX5.4 LR(0)5.4 LR(0)分析器分析器5.4.3 5.4.3 構造項目活前綴的有窮自動機構造項目活前綴的有窮自動機1 1、項目集的閉包運算、項目集的閉包運算解:解:CLOSURE(I)=CLOSURE(I)=EEE CLOSURE(I)= CLOSURE(I)=EEEEEE+T,EE+T,ETT CLOSURE(I)= CLOSUR
16、E(I)=EEEEEE+T,EE+T,ETT T TTT* *F,TF,TFF CLOSURE(I)= CLOSURE(I)=EEEEEE+T,EE+T,ETT T TTT* *F,TF,TFFFF(E), F(E), Fii 例例5-6 5-6 有文法有文法EE,EE,EE+T, EE+T, ET, TT, TT T* *F,TF,TF, FF, F(E), (E), F Fi,i,設項目集設項目集I=I=EEE,求,求CLOSURE(I)CLOSURE(I)5.4 LR(0)5.4 LR(0)分析器分析器5.4.3 5.4.3 構造項目活前綴的有窮自動機構造項目活前綴的有窮自動機2 2、項
17、目集之間的轉換函數、項目集之間的轉換函數GOGO項目的狀態轉換:項目的狀態轉換:XA XA讀X操作 設設I I是一個項目集,是一個項目集,X X是任意一個文法符號,則項目是任意一個文法符號,則項目集之間的轉換用集之間的轉換用GOI,X GOI,X 函數表示,定義為:函數表示,定義為: GOI,X=CLOSURE(J) GOI,X=CLOSURE(J)其中,其中,J=J=任何形如任何形如 的項目的項目| I XAXA5.4 LR(0)5.4 LR(0)分析器分析器5.4.3 5.4.3 構造項目活前綴的有窮自動機構造項目活前綴的有窮自動機2 2、項目集之間的轉換函數、項目集之間的轉換函數GOGO
18、解:解:J=EJ=EE+TE+T CLOSURE(J)=E CLOSURE(J)=EE+T TE+T TTT* *F,TF,TFF F F(E), F(E), Fii 例例5-7 5-7 有項目集有項目集I=I=EE,EE,EE+TE+T求求GOI,+GOI,+5.4 LR(0)5.4 LR(0)分析器分析器5.4.3 5.4.3 構造項目活前綴的有窮自動機構造項目活前綴的有窮自動機3 3、舉例說明識別活前綴的有窮自動機的構造方法、舉例說明識別活前綴的有窮自動機的構造方法(1)(1)從文法的開始符號開始。將從文法的開始符號開始。將S SA A作為有窮自動機的作為有窮自動機的開始狀態開始狀態0
19、0,C C0 0=S=SAA。 S SAA稱為基本項目。稱為基本項目。 (0)S(0)SA A(1)A(1)A(A)(A)(2)A(2)Aa a(2)(2)對項目集中的各成員進行閉包運算,形成新的初始對項目集中的各成員進行閉包運算,形成新的初始狀態狀態C C0 0=S=SA,AA,A(A),A(A),Aa a 。 (3)(3)構造構造C C0 0的后繼項目集,分別針對的后繼項目集,分別針對A A( (a a進進行構造,如下表所示。行構造,如下表所示。 5.4 LR(0)5.4 LR(0)分析器分析器5.4.3 5.4.3 構造項目活前綴的有窮自動機構造項目活前綴的有窮自動機3 3、舉例說明識別
20、活前綴的有窮自動機的構造方法、舉例說明識別活前綴的有窮自動機的構造方法(0)S(0)SA A(1)A(1)A(A)(A)(2)A(2)Aa a(3)(3)構造構造C C0 0的后繼項目集的后繼項目集 輸入符號輸入符號項目集項目集狀態狀態轉換函數轉換函數AS SAAC1GO0,A=1(A A (A) (A)A A(A)(A)A AaaC2GO0,)=2aA AaaC3GO0,a=3C C0 0=S=SA,AA,A(A),A(A),Aa a 5.4 LR(0)5.4 LR(0)分析器分析器5.4.3 5.4.3 構造項目活前綴的有窮自動機構造項目活前綴的有窮自動機3 3、舉例說明識別活前綴的有窮自
21、動機的構造方法、舉例說明識別活前綴的有窮自動機的構造方法(0)S(0)SA A(1)A(1)A(A)(A)(2)A(2)Aa a(4)(4)構造其它狀態的后繼項目集,直到沒有新項目集產構造其它狀態的后繼項目集,直到沒有新項目集產生為止。生為止。 輸入符號輸入符號項目集項目集狀態狀態轉換函數轉換函數AS S(A)(A)C4GO2,A=4(A A (A) (A)A A(A)(A)A AaaC2GO2,)=2aA AaaC3GO2,a=3輸入符號輸入符號項目集項目集狀態狀態轉換函數轉換函數)S S(A)(A)C5GO4,)=55.4 LR(0)5.4 LR(0)分析器分析器5.4.3 5.4.3 構
22、造項目活前綴的有窮自動機構造項目活前綴的有窮自動機5.4 LR(0)5.4 LR(0)分析器分析器5.4.3 5.4.3 構造項目活前綴的有窮自動機構造項目活前綴的有窮自動機C=C0,C1,Cn,C0為初始狀態,C稱為LR(0)項目集的規范族。5.4 LR(0)5.4 LR(0)分析器分析器5.4.4 LR(0)5.4.4 LR(0)分析表的構造分析表的構造假設已經構造出假設已經構造出LR(0)LR(0)的項目集規范族:的項目集規范族:C=CC=C0 0,C,C1 1,C,Cn n,其中其中C Ci i為項目集的名字,對應狀態為為項目集的名字,對應狀態為i i,假設,假設S S. .是文法是文
23、法開始符號所在的規則,令包含項目開始符號所在的規則,令包含項目S S. .的項目集的項目集C Ck k對應對應的狀態的狀態k k為開始狀態。為開始狀態。(1)若項目若項目 ,且,且GOCi i,a=Cj j,其中,其中a為終結符為終結符號,置號,置ACTIONi,a=“把狀態把狀態j和符號和符號a移近棧移近棧”,記,記Sj j;(2)若項目若項目 ,則對于任何輸入符號,則對于任何輸入符號a,a為終結符為終結符或或#,置,置ACTIONi,a=“用產生式用產生式A 進行歸約進行歸約”,記為,記為Rj j;iCaAiCA5.4 LR(0)5.4 LR(0)分析器分析器5.4.4 LR(0)5.4.
24、4 LR(0)分析表的構造分析表的構造(3)(3)若項目若項目S S.Ci i,置,置ACTIONi,#=“ACTIONi,#=“接受接受”,記為,記為“ACCEPTACCEPT”。(4)(4)若若GOi,A=Cj,AGOi,A=Cj,A為非終結符,則置為非終結符,則置GOTOi,A=jGOTOi,A=j。(5)(5)分析表中凡不能用分析表中凡不能用(1) (1) (4)(4)填入信息的單元為空或均填入信息的單元為空或均置為置為ERRORERROR,表示有錯。,表示有錯。5.4 LR(0)5.4 LR(0)分析器分析器5.4.4 LR(0)5.4.4 LR(0)分析表的構造分析表的構造(0)S
25、(0)SA A(1)A(1)A(A)(A)(2)A(2)Aa aS2S31ACCEPTS2S34R2R2R2R2R1R1R1R1S55.4 LR(0)5.4 LR(0)分析器分析器5.4.5 LR(0)5.4.5 LR(0)分析器的工作過程分析器的工作過程(1)(1)若若ACTIONS,a=Sj,aACTIONS,a=Sj,a為終結符,則把為終結符,則把a a移入符號棧,移入符號棧,j j入狀態棧;入狀態棧;(2)(2)若若ACTIONS,a=Rj,aACTIONS,a=Rj,a為終結符或為終結符或# #,則用第,則用第j j個產生式歸約,個產生式歸約,k k為第為第j j個產生式右部符號串長
26、度,將符號棧、狀態棧頂的個產生式右部符號串長度,將符號棧、狀態棧頂的k k個元素出棧,將產個元素出棧,將產生式左部符號入符號棧;生式左部符號入符號棧;(3)(3)若若ACTIONS,a=“ACCEPT”ACTIONS,a=“ACCEPT”,a a為為# #,則為接受,表示分析成功。,則為接受,表示分析成功。(4)(4)若若GOTOS,A=j,AGOTOS,A=j,A為非終結符號并且符號棧的棧頂,表示前一個動為非終結符號并且符號棧的棧頂,表示前一個動作是歸約,作是歸約,A A是歸約后移入符號棧的非終結符,則將狀態是歸約后移入符號棧的非終結符,則將狀態j j移入狀態棧;移入狀態棧;(5)(5)若若
27、ACTIONS,a=ACTIONS,a=空白,則轉入錯誤處理。空白,則轉入錯誤處理。5.4 LR(0)5.4 LR(0)分析器分析器5.4.5 LR(0)5.4.5 LR(0)分析器的工作過程分析器的工作過程例例5-95-9:分析輸入符號串:分析輸入符號串(a)(a)步驟步驟狀態棧狀態棧符號棧符號棧輸入符號串輸入符號串ACTIONGOTO1234567890020220223022402245024024501#(#(#(a#(A#(A)#(A#(A)#A(a)#(a)#a)#)#)#)#)#S2S2S3R2S5R1S5R1ACCEPT4415.4 LR(0)5.4 LR(0)分析器分析器5.
28、4.6 LR(0)5.4.6 LR(0)文法文法一個項目集包含不同類型的項目,但必須滿足下面兩個條件:一個項目集包含不同類型的項目,但必須滿足下面兩個條件:(1)(1)不能有移進項目和歸約項目并存不能有移進項目和歸約項目并存移進移進- -歸約沖突歸約沖突(2)(2)不能有多個歸約項目并存不能有多個歸約項目并存 歸約歸約- -歸約沖突歸約沖突 如果一個文法的項目集規范族不存在具有如果一個文法的項目集規范族不存在具有“移進移進- -歸約沖突歸約沖突”或或“歸約歸約- -歸約沖突歸約沖突”的項目集,那么該文法為的項目集,那么該文法為LR(0)LR(0)文法。文法。5.5 SLR(1)5.5 SLR(
29、1)分析器分析器練習:練習:求該文法的項目集規范族及轉換函數求該文法的項目集規范族及轉換函數(0)S(0)SE E(1)E(1)EE+TE+T(2)E(2)ET T(3)T(3)TT T* *F F(4)T(4)TF F(5)F(5)F(E)(E)(6)F(6)Fi i狀態狀態項目集項目集轉換函數轉換函數2ET.TT.*FR2GO2,*=7存在移進存在移進- -歸約沖突,不是歸約沖突,不是LR(0)LR(0)文法文法5.5 SLR(1)5.5 SLR(1)分析器分析器(0)S(0)SE E(1)E(1)EE+TE+T(2)E(2)ET T(3)T(3)TT T* *F F(4)T(4)TF F
30、(5)F(5)F(E)(E)(6)F(6)Fi i5.5 SLR(1)5.5 SLR(1)分析器分析器5.5.1 SLR5.5.1 SLR解決方法的思想解決方法的思想項目集項目集 存在移進存在移進- -歸約沖突和歸約歸約沖突和歸約- -歸約沖突歸約沖突.,CrBbA若若FOLLOW(B)FOLLOW(B)、FOLLOW(A)FOLLOW(A)和和b b互不相交,當狀態為互不相交,當狀態為S Si i,輸,輸入符號為入符號為a(aa(a為終結符或為終結符或#)#)時,利用下列方法可解決沖突:時,利用下列方法可解決沖突:(1)(1)若若a=ba=b,則移進,則移進a a;(2)(2)若若aFOLL
31、OW(B)aFOLLOW(B),則用產生式,則用產生式 歸約;歸約;(3)(3)若若aFOLLOW(C)aFOLLOW(C),則用產生式,則用產生式 歸約;歸約;(4)(4)其它報錯。其它報錯。 rB.C通過向前查看一個輸入符號來協助解決沖突,該文法就是通過向前查看一個輸入符號來協助解決沖突,該文法就是SLR(1)SLR(1)文法。文法。5.5 SLR(1)5.5 SLR(1)分析器分析器5.5.2 SLR(1)5.5.2 SLR(1)分析表的構造分析表的構造假設假設G項目集規范族:項目集規范族:C=C0,C1,Cn,其中其中Ci為項目集的為項目集的名字,對應狀態為名字,對應狀態為i,令包含項
32、目,令包含項目S.s的項目集的項目集Ck對應的對應的狀態狀態k為開始狀態。為開始狀態。(1)若項目若項目 ,且,且GOCi i,a=Cj j,其中,其中a為終結符為終結符號,置號,置ACTIONi,a=“把狀態把狀態j和符號和符號a移近棧移近棧”,記,記Sj j;(2)若項目若項目 ,則對則對a FOLLOW(A),a為終結符為終結符或或#,置,置ACTIONi,a=“用產生式用產生式A 進行歸約進行歸約”,記為,記為Rj j;iCaAiCA(3)若項目若項目Ss.Ci,置,置ACTIONi,#=“接受接受”,記為,記為“ACCEPT”。(4)(4)若若GOi,A=Cj,AGOi,A=Cj,A
33、為非終結符,則置為非終結符,則置GOTOi,A=jGOTOi,A=j。(5)(5)分析表中凡不能用分析表中凡不能用(1) (1) (4)(4)填入信息的單元為空或均填入信息的單元為空或均置為置為ERRORERROR,表示有錯。,表示有錯。5.5 SLR(1)5.5 SLR(1)分析器分析器5.5.2 SLR(1)5.5.2 SLR(1)分析表的構造分析表的構造5.5 SLR(1)5.5 SLR(1)分析器分析器5.5.2 SLR(1)5.5.2 SLR(1)分析表的構造分析表的構造5.5 SLR(1)5.5 SLR(1)分析器分析器5.5.2 SLR(1)5.5.2 SLR(1)分析表的構造分
34、析表的構造例例5-105-10:分析表達式:分析表達式“i i* *(i+i)(i+i)”步驟步驟狀態棧狀態棧符號棧符號棧輸入符號串輸入符號串ACTIONGOTO12345678900503020270274027450274302742#i#F#T#T*#T*(#T*(i#T*(F#T*(Ti*(i+i)#*(i+i)# *(i+i)#*(i+i)#(i+i)#i+i)#+i)#S5R6R4S7S4S5R5R4328+i)#+i)#R2325.5 SLR(1)5.5 SLR(1)分析器分析器5.5.2 SLR(1)5.5.2 SLR(1)分析表的構造分析表的構造例例5-105-10:分析表達式:分析表達式“i i* *(i+i)(i+i)”步驟步驟狀態棧狀態棧符號棧符號棧輸入符號串輸入符號串ACTIONGOTO101112131415161718027480274860274865027486302748590274802748110271002#T*(E+#T*(E+i#T*(E+F#T*(E+T#T*(E#T*(E)#T*F#T#E+i)#i)# )#)#)#)#S6S5R6R4R1S11R5R3931#R21021901#T*(E#ACCEPT8 把能用把能用SLR(1)SLR(
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年天津市家居裝修施工合同模板
- 借款合同樣本手寫管用
- 二零二五豪華精裝房裝修合同
- 二零二五土地租賃協議合同模板-@-1
- 二零二五版個人借款三方擔保合同
- 2025年電子脈沖治療儀項目發展計劃
- 有關孩子共同撫養的離婚協議二零二五年
- 依托資源招商合同范例
- 與公司簽訂保密協議二零二五年
- 殘疾人用工協議二零二五年
- 生豬屠宰獸醫衛生檢驗人員理論考試題庫及答案
- 2023年廣東省中學生生物學聯賽試題解析(word)及答案(掃描版)
- 110kV盤古變電站土建的施工方案設計
- 高中信息技術 粵教版 必修1《運用選擇結構描述問題求解過程》教學設計
- 每周安全安全檢查記錄表
- 《這是我的家》-完整版PPT
- 浙美版六年級下冊美術全冊教案
- 《云南省食品安全地方標準 天麻》編制說明
- 基于語音信號去噪處理的FIR低通濾波器設計要點
- G414(五) 預應力鋼筋混凝土工字形屋面梁
- 木箱制作作業指導書
評論
0/150
提交評論