freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

第七章中間代碼生成序71中間語(yǔ)言72說(shuō)明語(yǔ)句73賦值語(yǔ)(編輯修改稿)

2024-11-16 13:09 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 個(gè) statement)。 18 switch語(yǔ)句的目標(biāo)代碼結(jié)構(gòu): 對(duì) expression求值并置于 t的有關(guān)代碼 goto test L1: 有關(guān) statement1的代碼 goto next L2: 有關(guān) statement2的代碼 goto next …………………………………… Ln1: 有關(guān) statement n1的代碼 goto next Ln: 有關(guān) statementn的代碼 goto next 19 (接上頁(yè)) test : if t= value1 goto L1 if t= value2 goto L2 ……………………. if t= valuen1goto Ln1 goto Ln next: expression: 選擇器,將被計(jì)算出一個(gè)值。 valueE1,valueE2,… , value n1: 表達(dá)式可能取的 值。 default: “缺席值”。用來(lái)在 expression的值不等 于任何 value i時(shí)來(lái)匹配 expression。 20 回填 兩遍掃描 : ? 從給定的輸入構(gòu)造出一棵語(yǔ)法樹(shù); ? 對(duì)語(yǔ)法樹(shù)按深度優(yōu)先遍歷,來(lái)進(jìn)行定義中給出的翻譯。 一遍掃描 : ? 先產(chǎn)生暫時(shí)沒(méi)有填寫(xiě)目標(biāo)標(biāo)號(hào)的轉(zhuǎn)移指令。 ? 對(duì)于每一條這樣的指令作適當(dāng)?shù)挠涗洠? ? 一旦目標(biāo)標(biāo)號(hào)被確定下來(lái),再將它“ 回填 ”到相應(yīng)的指令中。 21 使用回填翻譯布爾表達(dá)式 布爾表達(dá)式文法 : ( 1) E→E1 or M E2 ( 2) |E1 and M E2 ( 3) |not E1 ( 4) |(E1) ( 5) |id1 relop id2 ( 6) |true ( 7) |false ( 8) M→ε 插入非終結(jié)符號(hào) M是為了引入一個(gè)語(yǔ)義動(dòng)作,以便在適當(dāng)?shù)臅r(shí)候獲得即將產(chǎn)生的下一個(gè)四元式的索引,或說(shuō)四元式的標(biāo)號(hào) 22 翻譯模式用到如下三個(gè)函數(shù): 1. makelist(i): 創(chuàng)建一個(gè)僅包含 i的新表, i 是四元式數(shù)組的一個(gè)索引(下標(biāo)),或說(shuō) i是四元式代碼序列的一個(gè)標(biāo)號(hào)。 2. merge(p1, p2): 連接由指針 p1和 p2指向 的兩個(gè)表并且返回一個(gè)指向連接后的表的 指針。 3. backpatch( p, i): 把 i作為目標(biāo)標(biāo)號(hào)回 填到 p所指向的表中的每一個(gè)轉(zhuǎn)移指令中 去。 此處的“表”都是為“反填”所拉的鏈 23 圖 使用一遍掃描的布爾表達(dá)式的翻譯模式 E?E1 OR ME2 {backpatch(,)。 :=merge(,)。 := } E?E1 AND ME2 {backpatch(,)。 :=。 :=merge(,)。} 24 E?not E1 { :=。 := } E ?( E ) {:= 。 :=} E ?id1 relop id2 {:= makelist(nextquad)。 := makelist(nextquad+1)。 emit(180。if180。
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1