版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
01.編譯程序的工作過程一般可以劃分為詞法分析,語法分析,語義分析,之間代碼生成,代碼優(yōu)化等幾個基本階段,同時還會伴有表格處理和出錯處理.1-02.若源程序是用高級語言編寫的,目標程序是機器語言程序或匯編程序,則其翻譯程序稱為編譯程序.1-03.編譯方式與解釋方式的根本區(qū)別在于是否生成目標代碼.1-04.翻譯程序是這樣一種程序,它能夠?qū)⒂眉渍Z言書寫的程序轉(zhuǎn)換成與其等價的用乙語言書寫的程序.1-05.對編譯程序而言,輸入數(shù)據(jù)是源程序,輸出結(jié)果是目標程序.1-06.如果編譯程序生成的目標程序是機器代碼程序,則源程序的執(zhí)行分為兩大階段:編譯階段和運行階段.如果編譯程序生成的目標程序是匯編語言程序,則源程序的執(zhí)行分為三個階段:編譯階段,匯編階段和運行階段.1-07.若源程序是用高級語言編寫的,目標程序是機器語言程序或匯編程序,則其翻譯程序稱為編譯程序。1-08.一個典型的編譯程序中,不僅包括詞法分析、語法分析、中間代碼生成、代碼優(yōu)化、目標代碼生成等五個部分,還應(yīng)包括表格處理和出錯處理。其中,詞法分析器用于識別單詞。1-09.編譯方式與解釋方式的根本區(qū)別為是否生成目標代碼。01.所謂最右推導(dǎo)是指:任何一步a?p都是對a中最右非終結(jié)符進行替換的。2-02.一個上下文無關(guān)文法所含四個組成部分是一組終結(jié)符號、一組非終結(jié)符號、一個開始符號、一組產(chǎn)生式。2-03.產(chǎn)生式是用于定義語法成分的一種書寫規(guī)則。2-04.設(shè)G[S]是給定文法,則由文法G所定義的語言L(G)可描述為:L(G)={x|Sx,xwVT*}o2-05.設(shè)G是一個給定的文法,S是文法的開始符號,如果Sx(其中xwV*),則稱x是文法的一個句型。06.設(shè)G是一個給定的文法,S是文法的開始符號,如果Sx(其中xeVT*),則稱x是文法的一個句子。01.掃描器的任務(wù)是從源程序中識別出一個個單詞符號。01.語法分析最常用的兩類方法是自上而下和自下而上分析法。02.語法分析的任務(wù)是識別給定的終極符串是否為給定文法的句子。03.遞歸下降法不允許任一非終極符是直接左遞歸的。04.自頂向下的語法分析方法的關(guān)鍵是如何選擇候選式的問題。4-05.遞歸下降分析法是自頂向上分析方法。06.自頂向下的語法分析方法的基本思想是:從文法的開始符號開始,根據(jù)給定的輸入串并按照文法的產(chǎn)生式一步一步的向下進行直接推導(dǎo),試圖推導(dǎo)出文法的句子,使之與給定的輸入串匹配。01.自底向上的語法分析方法的基本思想是:從給定的終極符串開始,根據(jù)文法的規(guī)則一步一步的向上進行直接歸約,試圖歸約到文法的開始符號。02.自底向上的語法分析方法的基本思想是:從輸入串入手,利用文法的產(chǎn)生式一步一步地向上進行直接歸約,力求歸約到文法的開始符號。03.簡單優(yōu)先方法每次歸約當前句型的句柄,算符優(yōu)先方法每次歸約當前句型的最左素短語,二者都是不斷移進輸入符號,直到符號棧頂出現(xiàn)可歸約串的尾,再向前找到可歸約串的頭,然后歸約。04.在LR(0)分析法的名稱中丄的含義是自左向右的掃描輸入串,R的含義是最左歸約,0的含義是向貌似句柄的符號串后查看0個輸入符號。5-05.在SLR(1)分析法的名稱中,S的含義是簡單的。01.所謂屬性文法是一個屬性文法是一個三元組:A二(G,V,F),—個上下文無關(guān)文法G;一個屬性的有窮集V和關(guān)于屬性的斷言或謂詞的有窮集F。每個斷言與文法的某產(chǎn)生式相聯(lián)。02.綜合屬性是用于“自下而上”傳遞信息。03.繼承屬性是用于“自上而下”傳遞信息。04.終結(jié)符只有綜合屬性,它們由詞法分析器提供。01.在使用高級語言編程時,首先可通過編譯程序發(fā)現(xiàn)源程序的全部A錯誤和B部分錯誤.a.語法b.語義c.語用d.運行01.符號表中的信息欄中登記了每個名字的屬性和特征等有關(guān)信息,如類型、種屬、所占單元大小、地址等等。02.一個過程相應(yīng)的DISPLAY表的內(nèi)容為現(xiàn)行活動記錄地址和所有外層最新活動記錄的地址。01.一個過程相應(yīng)的DISPLAY表的內(nèi)容為現(xiàn)行活動記錄地址和所有外層最新活動記錄的地址。02.常用的兩種動態(tài)存貯分配辦法是棧式動態(tài)分配和堆式動態(tài)分配。03.常用的參數(shù)傳遞方式有傳地址,傳值和傳名。01.局部優(yōu)化是局限于一個基本塊范圍內(nèi)的一種優(yōu)化。02.代碼優(yōu)化的主要目標是如何提高目標程序的運行速度和如何減少目標程序運行時所需的空間。概述部分:■編譯程序的開發(fā)常常采用自編譯、交叉編譯、_自整和移植等技術(shù)實現(xiàn)。■解釋程序和編譯程序的區(qū)別在于主否生成目標程3.如果編譯程序生成的目標程序是匯編語言程序,則源程序的執(zhí)行分為3個階段:編譯階段、匯編階段和運行階段?!鼍幾g程序工作過程中,第一階段輸入是源程序,最后階段的輸出為—目標5■編譯過程通??煞譃?個階段詞法分析階段、語法分析階段、語義分析和中間代碼生成階段、優(yōu)化階段和目標代碼生成階段。6■如果編譯階段生成的目標程序是某特定計算機系統(tǒng)的機器代碼程序,則源程序的執(zhí)行分為兩大階段:編譯階段和運行階段。7■對編譯程序而言,輸入數(shù)據(jù)是 源程序,輸出結(jié)果是 目標程序。8■貫穿于編譯程始終的工作有 符號表處理 和出錯處理。詞法分析部分:■詞法分析的工作是將源程序中的—字符串_變換成」單詞符號基的過程,所遵循的是語言的』詞規(guī)丄。■若兩個正規(guī)式所表示的丿規(guī)L相同,則認為二者是等價的?!鋈魞蓚€正規(guī)式所表示的正規(guī)集相同,則認為二者是」^的。.正規(guī)式R1和R2等價是指 。■詞法分析器的輸入是源程序字符串,輸出結(jié)構(gòu)是二元式丄單詞種別,單詞自身的值)。詞法分析所遵循的是語言的構(gòu)詞規(guī)則?!龃_定的有限自動機是一個五元組,包會的五個元分別是:狀態(tài)集合、字母表、初態(tài)、終態(tài)集、狀態(tài)轉(zhuǎn)換函數(shù)集合?!鲇邢拮詣訖C是更一般化的狀態(tài)轉(zhuǎn)換圖,它分為空定的有限自動機DFL和非確定的有限自動機NFA兩種。.NFA和DFA的區(qū)別主要有兩點:其一是NFA可以有若干個初始狀態(tài),而DFA僅有一個初始狀態(tài);其二是NFA的狀態(tài)轉(zhuǎn)換函數(shù)f不是單值函數(shù),而是一個多值函數(shù)。語法分析部分:(基本概念、LL(1)LR(0)SLR(1)遞歸下降子程序)■語法分析的方法通常分為兩類:自上而下分析方法和自下而上分析方法_。2■文法中的終結(jié)符集和非終結(jié)符集的交集是—空整?!鲆粋€句型的最左直接短語稱為該句型的—句柄 。4■規(guī)范歸約是最右推導(dǎo)的逆過程。.自下而上語法分析中分析器的動作有_移^_、—約、__接受一、—報錯。.自上而下語法分析中分析器的動作有—匹配終結(jié)符_、__展開非終結(jié)符_、__分析成功、報錯__。7■常用的自上而下語法分析方法有遞歸下降子程序方法和預(yù)測分析表方法(LL(1)方法).常用的自下而上語法分析方法有算符優(yōu)先分析法和LR分析法?!鲆粋€LL(1)分析器由 一張LL(1)分析表(預(yù)測分析表)、 一個先進后出分析棧和一個 控制程序(表驅(qū)動程序)組成。■一個LR分析器由分析棧、分析表和總控程序三個部分組成。.LR(O)分析法的名字中,“L”表示自左至右分析輸入串,“R”表示采用最右推導(dǎo)的逆過程即最左歸約?!?”表示向右查看0個字符。.LL(1)分析法中,第一個L的含義是從左到右掃描輸入串;第二個L的含義是分析過程中采用最左推導(dǎo);1”的含義是只需向右查看一個符號就可以決定如何推導(dǎo)。.LR(1)文法的含義是:L表明 自左至右掃描輸入串__,R表明—采用最右推導(dǎo)的逆過程(最左歸約)方法進行分析__。■一個上下文無關(guān)文法是LL(1)文法的充分必要條件是:對每一個非終結(jié)符A的任何兩個不同產(chǎn)生式A-a|B,有下面的條件成立:(1)FIRST(a)nFIRST(B)=0 ;(2)假若e,則有FIRST(a)nFOLLOW(A)=0 。.對于LL(1)文法中的任何產(chǎn)生式A-a|B,則需要滿足__First(_a)nFirst(B)=0 、_若_8=>*&則一First(_a)n__Follow(A)=_e_。16丄R分析器的核心部分是一張分析表,該表包括動作(ACTION)表和狀態(tài)轉(zhuǎn)換(GOTO)表等兩個子表?!鲫P(guān)于非終結(jié)符A的直接左遞歸產(chǎn)生式:A-Aa|B,其中a、B是任意的符號串且B不以A開頭則可以將A的產(chǎn)生式改寫為右遞歸的形式為:-A^A^A'-aA'|E。
■在消除回溯,提取公共左因子時,關(guān)于A的產(chǎn)生式A-6P1|隔1…朗1Pi+1|…I?,可以改寫為:AT&A'IBi+1」…IBj,A―內(nèi)I…血。*■設(shè)G[S]是一文法,如果符號串x是從識別符號推導(dǎo)出來的,即有S二x,*則稱x是文法G[S]的—句型—,若x僅由終結(jié)符號組成,即S=x,xGV;,則稱x為文法6目]的__句子。20.已知文法G[S]:S-eT|RT T-DR|eR"R|e D-a|bd求FIRST侶)={e,d,a,b,E} ;FOLLOW(D)=_{d,# 。語義處理部分:1.文法符號的屬性有兩種,一種稱為繼承屬性,另一種稱為綜合屬性。■編譯過程中,常見的中間語言形式有逆波蘭表示法、抽象語法樹、三元式、四元式?!稣Z法制導(dǎo)翻譯的方法就是為每個產(chǎn)生式配上一個—翻譯子程序(語義動作或語義子程序),并在語法分析的同時執(zhí)行它們。5■詞法分析器的輸入是源程序字符串,輸出結(jié)構(gòu)是二元式(單詞種別,單詞自身的值)。7■四元式之間的聯(lián)系是通過臨時變量實現(xiàn)的。8.在屬性文法中,終結(jié)符只有 綜合屬性。*目前器常I出的語言語義的描述形式是__*目前器常I出的語言語義的描述形式是__屬性文法,并使用__語法制翻譯法分析器翻譯1語法/lz完成對語法成分的翻譯。的總體結(jié)構(gòu)圖,簡述各部分的主要功能。的總體框圖如下所示:(1) 詞法分析器,又稱掃描器,它接受輸入的源程序,對源程序進行詞法分析,識別出一個個單詞符號,其輸出結(jié)果是二元式(單詞種別,單詞自身的值)流。(2) 語法分析器,對單詞符號串進行語法分析(根據(jù)語法規(guī)則進行推導(dǎo)或歸約),識別出程序中的各類語法單位,最終判斷輸入串是否構(gòu)成語法上正確的句子。(3) 語義分析及中間代碼生成器,按照語義規(guī)則對語法分析器歸約出(或推導(dǎo)出)的語法單位進行語義分析并把它們翻譯成一定形式的中間代碼。編譯程序可以根據(jù)不同的需要選擇不同的中間代碼形式,有的編譯程序甚至沒有中間代碼形式,而直接生成目標代碼。(4)優(yōu)化器對中間代碼進行優(yōu)化處理。一般最初生成的中間代碼執(zhí)行效率都比較低,因此要做中間代碼的優(yōu)化,其過程實際上是對中間代碼進行等價替換,使程序在執(zhí)行時能更快,并占用更小的空間。(5)目標代碼生成器,把中間代碼翻譯成目標程序。中間代碼一般是一種與機器無關(guān)的表示形式,只有把它再翻譯成與機器硬件直接相關(guān)的機器能識別的語言,即目標程序,才能在機器上運行。(6)表格管理模塊保持一系列的表格,登記源程序的各類信息和編譯各階段的進展狀況。編譯程序各個階段所產(chǎn)生的中間結(jié)果都記錄在表格中,所需要的信息也大多從表格中獲取,整個編譯過程都在不斷和表格打交道。(7)出錯處理程序?qū)Τ霈F(xiàn)在源程序中的錯誤進行處理。如果源程序有錯誤,編譯程序應(yīng)設(shè)法發(fā)現(xiàn)錯誤,把有關(guān)錯誤信息報告給用戶。編譯程序的各個階段都有可能發(fā)現(xiàn)錯誤,出錯處理程序要對發(fā)現(xiàn)的錯誤進行處理、記錄,并反映給用戶。概述部分:■編譯程序的開發(fā)常常采用自編譯、交叉編譯、和移植等技術(shù)實現(xiàn)?!鼋忉尦绦蚝途幾g程序的區(qū)別在于是否生成目標程序。3■如果編譯程序生成的目標程序是匯編語言程序,則源程序的執(zhí)行分為3個階段:編譯階段、匯編階段和運行階段?!鼍幾g程序工作過程中,第一階段輸入是丄程序,最后階段的輸出為5■編譯過程通??煞譃?個階段詞法分析階段、語法分析階段、語義分析和中間代碼生成階段、優(yōu)化階段和目標代碼生成階段。6■如果編譯階段生成的目標程序是某特定計算機系統(tǒng)的機器代碼程序,則源程序的執(zhí)行分為兩大階段:編譯階段和運行階段。7■對編譯程序而言,輸入數(shù)據(jù)是 源程序,輸出結(jié)果是目標程序。8■貫穿于編譯程始終的工作有 符號表處理 和出錯處理。詞法分析部分:■詞法分析的工作是將源程序中的_字符串_變換成」單詞符號整的過程,所遵循的是語言的構(gòu)詞規(guī)則。■若兩個正規(guī)式所表示的衛(wèi)規(guī)世相同,則認為二者是等價的。■若兩個正規(guī)式所表示的正規(guī)集相同,則認為二者是丄亙的。.正規(guī)式R1和R2等價是指 。■詞法分析器的輸入是源程序字符串,輸出結(jié)構(gòu)是二元式(單詞種別,單詞自身的值)。詞法分析所遵循的是語言的構(gòu)詞規(guī)則?!龃_定的有限自動機是一個五元組,包含的五個元分別是:狀態(tài)集合、字母表、初態(tài)、終態(tài)集、狀態(tài)轉(zhuǎn)換函數(shù)集合?!鲇邢拮詣訖C是更一般化的狀態(tài)轉(zhuǎn)換圖,它分為確定的有限自動機DFA和非確定的有限自動機NFA兩種。.NFA和DFA的區(qū)別主要有兩點:其一是NFA可以有若干個初始狀態(tài),而DFA僅有一個初始狀態(tài);其二是NFA的狀態(tài)轉(zhuǎn)換函數(shù)f不是單值函數(shù),而是一個多值函數(shù)。語法分析部分:(基本概念、LL(1)LR(0)SLR(1)遞歸下降子程序).語法分析的方法通常分為兩類:自上而下分析方法和自下而上分析方法。2■文法中的終結(jié)符集和非終結(jié)符集的交集是—空整?!鲆粋€句型的最左直接短語稱為該句型的—句柄 。4■規(guī)范歸約是最右推導(dǎo)的逆過程。.自下而上語法分析中分析器的動作有_移^_、—約、__接受一、—報錯。.自上而下語法分析中分析器的動作有—匹配終結(jié)符_、__展開非終結(jié)符_、_分析成功、報錯_。7■常用的自上而下語法分析方法有遞歸下降子程序方法和預(yù)測分析表方法(LL(1)方法)■常用的自下而上語法分析方法有算符優(yōu)先分析法和LR分析法?!鲆粋€LL(1)分析器由 一張LL(1)分析表(預(yù)測分析表)、一個先進后出分析棧 和一個控制程序(表驅(qū)動程序)組成。10.一個LR分析器由分析棧、分析表和總控程序三個部分組成?!鯨R(O)分析法的名字中,“L”表示自左至右分析輸入串,“R”表示采用最右推導(dǎo)的逆過程即最左歸約。“0”表示向右査看0個字符。.LL(1)分析法中,第一個L的含義是從左到右掃描輸入串;第二個L的含義是分析過程中采用最左推導(dǎo);1”的含義是只需向右查看一個符號就可以決定如何推導(dǎo)。.LR(1)文法的含義是:L表明自左至右掃描輸入串__,R表明—采用最右推導(dǎo)的逆過程(最左歸約)方法進行分析__。■一個上下文無關(guān)文法是LL(1)文法的充分必要條件是:對每一個非終結(jié)符A的任何兩個不同產(chǎn)生式A-a|B,有下面的條件成立:(1)FIRST(a)nFIRST(B)=0 ;(2)假若e,則有FIRST(a)nFOLLOW(A)=0o.對于LL(1)文法中的任何產(chǎn)生式A-a|B,則需要滿足__First(_a)nFirst(B)=0 、若8=>■在消除回溯,提取公共左因子時,關(guān)于A的產(chǎn)生式A-63■在消除回溯,提取公共左因子時,關(guān)于A的產(chǎn)生式A-631|邨21…IglPi+1I…IBj,可以改寫為:At&A'I汕I…IBj,A'-hI…IBio*■設(shè)G[S]是一文法,如果符號串x是從識別符號推導(dǎo)出來的,即有S二x,則稱x是文法G[S]的―句型__,若x僅由終結(jié)符號組成,即S=x,xGV;,則稱x為文法6宙]的_句子o20.已知文法G[S]:S-eTIRT T-DRIeR-dRIe D-aIbd求FIRST侶)={e,d,a,b,e} ;FOLLOW(D)=_{d,#}o語義處理部分:■文法符號的屬性有兩種,一種稱為繼承屬性,另一種稱為綜合屬性o■編譯過程中,常見的中間語言形式有逆波蘭表示法、抽象語法樹、三處總體結(jié)構(gòu)圖,簡述各部分的主要功能。Q總體框圖如下所示:(1)詞法分析器,又稱掃描器,它接受輸入的源程序,對源程序進行詞法分析,識別出一個個單詞符號,其輸出結(jié)果是二元式(單詞種別,單詞自身的值)流。(2)語法分析器,對單詞符號串進行語法分析(根據(jù)語法規(guī)則進行推導(dǎo)或歸約),識別出程序中的各類語法單位,最終判斷輸入串是否構(gòu)成語法上正確的句子。(3)語義分析及中間代碼生成器,按照語義規(guī)則對語法分析器歸約出(或推導(dǎo)出)的語法單位進行語義分析并把它們翻譯成一定形式的中間代碼。編譯程序可以根據(jù)不同的需要選擇不同的中間代碼形式,有的編譯程序甚至沒有中間代碼形式,而直接生成目標代碼。(4)優(yōu)化器對中間代碼進
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 止水鋼板施工工藝文檔
- 瀝青瓦工程技術(shù)交底
- 人力資源員工工作總結(jié)
- 降排水專項施工方案
- 重癥監(jiān)護室實習(xí)生出科考試試題含答案
- 2025年礦山廢水處理試題及答案
- 科研人員求職面試技巧總結(jié)
- 建設(shè)工程施工合同糾紛要素式起訴狀模板附法律風(fēng)險提示
- 2026 年離婚協(xié)議書標準權(quán)威版
- 東北特鋼員工年終總結(jié)(3篇)
- 2025年醫(yī)院社區(qū)衛(wèi)生服務(wù)中心工作總結(jié)及2026年工作計劃
- 2025-2026學(xué)年北師大版七年級生物上冊知識點清單
- 委托作品協(xié)議書
- 食品加工廠乳制品設(shè)備安裝方案
- 2025至2030中國芳綸纖維行業(yè)發(fā)展分析及市場發(fā)展趨勢分析與未來投資戰(zhàn)略咨詢研究報告
- 尾牙宴活動策劃方案(3篇)
- 魯教版(2024)五四制英語七年級上冊全冊綜合復(fù)習(xí)默寫 (含答案)
- 生蠔課件教學(xué)課件
- 組塔架線安全培訓(xùn)
- 化療神經(jīng)毒性反應(yīng)護理
- 2025年度運營數(shù)據(jù)支及決策對工作總結(jié)
評論
0/150
提交評論