編譯原理概念整理(共3頁)_第1頁
編譯原理概念整理(共3頁)_第2頁
編譯原理概念整理(共3頁)_第3頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、精選優質文檔-傾情為你奉上翻譯程序:能夠把某種語言轉換成另一種語言,而后者與前者在邏輯上是等價的。編譯過程:詞法、語法、語義分析與中間代碼、優化、目標代碼生成詞法分析:輸入源程序,對構成源程序的字符串進行掃描和分解,識別出一個個單詞。語法分析:在詞法分析的基礎上,根據語言的語法規則,把單詞符號串分解成各類語法單位。語義分析與中間代碼產生:對語義分析所識別出的各類語法范疇,分析其含義并進行初步翻譯(產生中間代碼);優化:優化的任務在于對前段產生的中間代碼進行加工變換,以期在最后階段能產生出更為高效(省時間和空間)的目標代碼。目標代碼生成:把中間代碼(或經優化處理之后)變換成特定存儲器上的低級語言

2、代碼。編譯程序結構:表格管理、出錯處理編譯前端:由與源語言有關但與目標語言無關的那些部分組成,包括詞法分析、語義分析、語義分析與中間代碼產生。后端:編譯程序中與目標語言有關那些部分,優化與目標代碼生成。后端不依賴于源語言而僅僅依賴于中間語言。詞法規則是指單詞符號的形成規則。語言的語法規則規定了如何從單詞符號形成更大的結構(語法單位)。所謂一個語言的語義是指這樣的一組規則,使用它可以定義一個程序的意義,這些規則稱為語義規則。文法是描述語言的語法結構的形式規則上下文無關文法:是這樣一種文法,它所定義的語法范疇是完全獨立于這種范疇可能出現的環境。上下文無關文法組成:一組終結符號一組非終結符號,一個開

3、始符號以及一組產生式。開始符號:是一個特殊的非終結符號,它代表所定義的語言中我們最終感興趣的語法范疇,這個語法范疇通常稱為“句子”產生式:是定義語法范疇的一種書寫規則。二義性:如果一個文法存在某個句子對應兩棵不同的語法樹,則稱這個文法是二義的。關鍵字、標識符、常數、運算符、界符含有左遞歸的文法將使自上而下的分析過程陷入無限循環。LL(1)分析條件:當一個文法不含左遞歸,并且滿足每個非終結符的所有候選首符集兩兩不相交的條件LL(1)的含義:第一個L表示從左到右掃描輸入串,第二個L表示最左推導,1表示分析時每一步只需向前查看一個符號自上而下分析的問題:文法含有左遞歸時,分析過程會陷入無限循環回溯浪

4、費分析時間某一非終結符用某一候選式匹配成功時,可能是暫時的分析不成功時,難以找到出錯位置自下而上分析的問題:怎樣判斷棧頂的符號串的可歸約性,以及如何歸約。一個句型的最左直接短語稱為該句型的句柄。在形式語言中最右推導常被稱為規范推導,由規范推導所得的句型稱為規范句型,如果文法無二義的,那么規范推導(最右推導)的逆過程必是規范歸約(最左歸約)屬性分為兩類:綜合屬性,繼承屬性,綜合屬性用于“自下而上”傳遞信息,繼承屬性用于“自上而下”傳遞信息。在上下文無關文法的基礎上,為每個文法符號(終結符或非終結符)配備若干相關的“值”(稱為屬性)語義規則:文法每個產生式都配備了一組屬性的計算規則。語法制導翻譯:

5、由源程序的語法結構所驅動的處理辦法。輸入串-語法樹-依賴圖-語義規則計算次序靜態檢查和中間代碼產生的地位:-語法分析器-靜態檢查器-中間代碼產生器-優化器-屬性文法:對于文法的每個產生式都配備了一組屬性的計算規則,在上下文無關文法的基礎上,為每個符號都配備了若干相關屬性。中間語言形式:后綴式,三地址代碼(包括三元式,四元式、間接三元式),DAG圖表示后綴式表示法(逆法蘭表示法):把運算量(操作數)寫在前面,把算符寫在后面(后綴)四元式:(OP Arg1 Arg2 Result)三元式:(OP Arg1 Arg2)EE1 or M E2: backpatch(E1.F,M.quad);E.T=m

6、erge(E1.T,E2.T)E.F=E2.FEE1 and M E2: backpatch(E1.T,M.quad)E.T=E2.TE.F=merge(E1.F,E2.F)最左規約=規范規約:A最右推導=規范推導:B短語:每棵子樹對應一個短語直接短語:只有兩層的子樹對應的短語句柄:最左直接短語ETEProcedure EBeginT;EEndE+TE|Procedure EIf sym=+ then Begin Advance T;EEndF(E)|iProcedure FIf sym=i then advanceElse if sym=( thenBeginAdvance EIf sym=

7、) then advanceElse errorEndElse error翻譯程序:能夠把某種語言轉換成另一種語言,而后者與前者在邏輯上是等價的。編譯過程:詞法、語法、語義分析與中間代碼、優化、目標代碼生成詞法分析:輸入源程序,對構成源程序的字符串進行掃描和分解,識別出一個個單詞。語法分析:在詞法分析的基礎上,根據語言的語法規則,把單詞符號串分解成各類語法單位。語義分析與中間代碼產生:對語義分析所識別出的各類語法范疇,分析其含義并進行初步翻譯(產生中間代碼);優化:優化的任務在于對前段產生的中間代碼進行加工變換,以期在最后階段能產生出更為高效(省時間和空間)的目標代碼。目標代碼生成:把中間代碼

8、(或經優化處理之后)變換成特定存儲器上的低級語言代碼。編譯程序結構:表格管理、出錯處理編譯前端:由與源語言有關但與目標語言無關的那些部分組成,包括詞法分析、語義分析、語義分析與中間代碼產生。后端:編譯程序中與目標語言有關那些部分,優化與目標代碼生成。后端不依賴于源語言而僅僅依賴于中間語言。詞法規則是指單詞符號的形成規則。語言的語法規則規定了如何從單詞符號形成更大的結構(語法單位)。所謂一個語言的語義是指這樣的一組規則,使用它可以定義一個程序的意義,這些規則稱為語義規則。文法是描述語言的語法結構的形式規則上下文無關文法:是這樣一種文法,它所定義的語法范疇是完全獨立于這種范疇可能出現的環境。上下文

9、無關文法組成:一組終結符號一組非終結符號,一個開始符號以及一組產生式。開始符號:是一個特殊的非終結符號,它代表所定義的語言中我們最終感興趣的語法范疇,這個語法范疇通常稱為“句子”產生式:是定義語法范疇的一種書寫規則。二義性:如果一個文法存在某個句子對應兩棵不同的語法樹,則稱這個文法是二義的。關鍵字、標識符、常數、運算符、界符含有左遞歸的文法將使自上而下的分析過程陷入無限循環。LL(1)分析條件:當一個文法不含左遞歸,并且滿足每個非終結符的所有候選首符集兩兩不相交的條件LL(1)的含義:第一個L表示從左到右掃描輸入串,第二個L表示最左推導,1表示分析時每一步只需向前查看一個符號自上而下分析的問題

10、:文法含有左遞歸時,分析過程會陷入無限循環回溯浪費分析時間某一非終結符用某一候選式匹配成功時,可能是暫時的分析不成功時,難以找到出錯位置自下而上分析的問題:怎樣判斷棧頂的符號串的可歸約性,以及如何歸約。一個句型的最左直接短語稱為該句型的句柄。在形式語言中最右推導常被稱為規范推導,由規范推導所得的句型稱為規范句型,如果文法無二義的,那么規范推導(最右推導)的逆過程必是規范歸約(最左歸約)屬性分為兩類:綜合屬性,繼承屬性,綜合屬性用于“自下而上”傳遞信息,繼承屬性用于“自上而下”傳遞信息。在上下文無關文法的基礎上,為每個文法符號(終結符或非終結符)配備若干相關的“值”(稱為屬性)語義規則:文法每個

11、產生式都配備了一組屬性的計算規則。語法制導翻譯:由源程序的語法結構所驅動的處理辦法。輸入串-語法樹-依賴圖-語義規則計算次序靜態檢查和中間代碼產生的地位:-語法分析器-靜態檢查器-中間代碼產生器-優化器-屬性文法:對于文法的每個產生式都配備了一組屬性的計算規則,在上下文無關文法的基礎上,為每個符號都配備了若干相關屬性。中間語言形式:后綴式,三地址代碼(包括三元式,四元式、間接三元式),DAG圖表示后綴式表示法(逆法蘭表示法):把運算量(操作數)寫在前面,把算符寫在后面(后綴)四元式:(OP Arg1 Arg2 Result)三元式:(OP Arg1 Arg2)EE1 or M E2: backpatch(E1.F,M.quad);E.T=merge(E1.T,E2.T)E.F=E2.FEE1 and M E2: backpatch(E1.T,M.quad)E.T=E2.TE.F=merge(E1.F,E2.F)最左規約=規范規約:A最右推導=規范推導:B短語:每棵子樹對應一個短語直接短語:只有兩層的子樹對應的短語句柄:最左直接短語ETEProcedure E

溫馨提示

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

評論

0/150

提交評論