編譯原理復(fù)習(xí)_第1頁
編譯原理復(fù)習(xí)_第2頁
編譯原理復(fù)習(xí)_第3頁
編譯原理復(fù)習(xí)_第4頁
編譯原理復(fù)習(xí)_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、復(fù)習(xí)Target codeSource codeScannerParserSemantic analyzerSource code optimizerCode generatorTarget code optimizerTokensSyntax TreeAnnotated TreeIntermediate codeTarget codeLiteral tableSymbol tableError handlerAuxiliary components that interact with some phasesCompiling processScanner Regular expressio

2、n + automaton NFA,DFAs Convert NFAs to DFAs.RegularexpressionsNFADFALexicalSpecificationTable-driven Implementation of DFAMinimizParser CFG: production Derivation, leftmost and rightmost parse tree, abstract syntax tree Top-down and bottom-up Predictive lookaheadParser Top-down: LL(1) grammar FirstS

3、et and FollowSet nullable nontermianls Left Factor and Left RecursionLL(1) GrammarA grammar is LL(1) grammar if the following conditions are satisfied:For each production A 1|2|n, for all i and j, 1i, j n, ij , First(i) First(j) = For each nonterminal A such that First(A) contains , First(A) Follow(

4、A) = .Parser Top-down: Recursive-Descent parser and LL(1) parser LL(1) parser LL(1) Parsing TablesInputParsing stack stores the symbols waiting to be matched in parsing$ is used to mark the bottom of the stack$ is used to mark the end of the input stringsThe Construction of Parsing TablesRepeat the

5、following two steps for each nonterminal A and production choice A 1. For each token a in First(), add A to the entry MA,a2. if is in First(), for each element a of Follow(A) (token or $), add A to MA,aLL(1) Parse TablesParser Bottom-up Rightmost derivation traced in reverse(reduction) Right sentent

6、ial form Handle: a string is a substring in right sentenial form that matches the right hand side of a production viable prefixParser LR parser Shift and reduce Parsing table: action and goto State Item LR(0) DFA: Closure Operation and Goto Operation SLR(1) parser Only reduce A if the next token t i

7、s in FOLLOW(A).Schematic Form of LR parserLR Parsing Program$S0Xm-1Sm-1XmSm$anaia1gotoactionStackInputOutputParsing TableS EE T;ET+ET intT (E)T (E)E T;ET+ET intT (E)T int E T ;ET+EET+ESE ETET+EE T;ET+ET intT (E)intT (E)T (E)EE+intTintT(;E T ;)S EE T;E T + ET intT (E)A LR(0) DFAstartSemantic analysis Attribute Grammar SDD Dependency Graphs- Evaluation Order Synthesized and Inherited AttributesAttribute computations for the number 345oval=229val=28*8+5=229base=8base=8val=3*8+4=28base=8val=5base=8val=3base=8val=4base=8val=3base=8based-numnumbasecharnumdigitnumdigitdigit345oCode generationIn

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論