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

正文內(nèi)容

pl0-編譯程序講解(存儲(chǔ)版)

  

【正文】 n(opr,0,16)。 tx0=tx。實(shí)際上目標(biāo)代碼的順序是內(nèi)層過(guò)程的在前邊,主程序的目標(biāo)代碼在最后。 //生成 過(guò)程 入口指令 類(lèi) p- code解釋器 ?目標(biāo)代碼存放在數(shù)組 CODE中( 程序地址寄存器 p) ?解釋程序定義一個(gè)一維整型數(shù)組 S作為 運(yùn)行棧 ?棧頂寄存器 (指針) t, 基址寄存器 (指針) b, 指令寄存器 i(當(dāng)前正在解釋的目標(biāo)指令) 目標(biāo)代碼的解釋執(zhí)行 幾條 特殊指令 在 code中的 位置 和 功能 ?INT 0 A 在 過(guò)程 目標(biāo)程序的 入口處 , 開(kāi)辟 A個(gè)單元的數(shù)據(jù)段。 s[3]=0。 填寫(xiě) 返回地址 b=t+1。 ?符號(hào)表中,包括名字、種類(lèi)、類(lèi)型、層次、相對(duì)地址、存儲(chǔ)類(lèi)別等名字的屬性信息,以及動(dòng)態(tài)數(shù)組的內(nèi)情向量、記錄結(jié)構(gòu)型的成員信息、函數(shù)及過(guò)程的形參等結(jié)構(gòu)信息。 var i: integer。 function partition (y,z: integer): integer。 begin if n0 //遞歸總是有條件的 begin cal move(n1, from, to, buf)。 end. 作業(yè)( P30): 5 A B C 給出上面兩個(gè)盤(pán)子已經(jīng)移到 B上,而 A上只剩一個(gè)盤(pán)子時(shí)數(shù)據(jù)棧的狀態(tài)。 ac 。 cal move(3, a, b, c)。 var step。 procedure quicksort (m, n:integer)。 x: integer。 } 167。 填寫(xiě) 靜態(tài)鏈 s[t+2]=b。 主程序的 SL, DL, RA賦初值 s[1]:=0。 //過(guò)程 占的空間 填寫(xiě)在 table中 cx0=cx。dx)。 code[cx1].a:=cx If c then s int main() { ...... if(1==block(0, 0, nxtlev)) { ...} ...... interpret()。 代碼生成 代碼生成是由過(guò)程 GEN完成。 begin 入口: test(facbegsys,fsys,24)。 ?后 跟 符 號(hào)集合 fsys作為參數(shù): int test(bool* s1, bool* s2, int n)。 語(yǔ)句 i dent c all be gin i f wh il e re ad wri te . 。 case procedur: /* 名字為過(guò)程 */ error(21)。 if (i == 0) error(11)。 若無(wú)定義則錯(cuò) 。 break。 } else {error(4)。tx, lev, amp。 var d。 } table[txmax]。 /* 缺少右括號(hào) */ } } return 0。 factordo(nxtlev, ptx, lev)。 遞歸下降語(yǔ)法分析過(guò)程隱含著對(duì)對(duì)語(yǔ)法樹(shù)的前序遍歷 〈 表達(dá)式 〉 ∷= [+|]〈 項(xiàng) 〉 {( +|) 〈 項(xiàng) 〉 } int expression(bool* fsys, int* ptx, int lev) {if(sym==plus || sym==minus) {getsymdo。 int num。 ?出 錯(cuò)源 程 序 中是 否 有 錯(cuò) 誤 ?調(diào) 用 解 釋 過(guò) 程 i n t e r p r e t解 釋 執(zhí) 行 目 標(biāo) 程 序打 印 錯(cuò) 誤結(jié) 束NYYNPL/0編譯程序語(yǔ)法、語(yǔ)義分析的核心 PL/0編譯程序詞法分析的實(shí)現(xiàn) 詞法分析函數(shù) getsym()所識(shí)別的單詞: ?保留字或關(guān)鍵字:如: BEGIN、 END、 IF、 THEN等 ?運(yùn)算符 : 如: +、 、 *、 /、: =、 、 =、 =等 ?標(biāo)識(shí)符 : 用戶(hù)定義的變量名、常數(shù)名、過(guò)程名 ?常數(shù) : 如: 2 100等整數(shù) ?界符 : 如: ‘ ,’、 ‘ .’ 、 ‘ 。 write(2*c)。 r4: … B 的局部變量 RA DL SL … C 的局部變量 RA DL SL … B 的局部變量 RA DL SL … A 的局部變量 RA DL SL … 主程序變量區(qū) 0 0 0 T B B 的臨時(shí)單元 b 2 =1 20 b 1 =5 0 R A : r 1 DL : 115 SL : 106 R A : r 2 DL : 110 SL : 110 b 2 =2 5 b 1 =2 0 R A : r 3 DL : 106 SL : 106 a 1 =1 5 R A : r 4 DL : 100 SL : 100 m 3 =1 18 m 2 =4 72 m 1 =3 35 R A : 0 D L : 0 T B S L : 0 100 三、 PL/0機(jī)的指令系統(tǒng) f: 功能碼 l: 層次差 (標(biāo)識(shí)符 引用層 減去 定義層 ) a: 根據(jù)不同的指令有所區(qū)別 f l a 指令格式: 所有運(yùn)算對(duì)棧頂?shù)膬蓚€(gè)或一個(gè)元素進(jìn)行,并用運(yùn)算結(jié)果代替原來(lái)的運(yùn)算對(duì)象。 var a1。 。 fact := 1。 begin if m 0 then begin fact := fact * m。 IF X0 DO CALL P。 ?PL/0語(yǔ)言: PASCAL語(yǔ)言的 子集,用于教學(xué) ?PL/0程序示例 ?PL/0的 語(yǔ)法描述圖 ?PL/0語(yǔ)言 的 EBNF表示 PL/0語(yǔ)言是 PASCAL語(yǔ)言的 子集 ?過(guò)程可 嵌套定義,內(nèi)層 可引用包圍它的外層定義的 標(biāo)識(shí)符 ,可遞歸調(diào)用 ?數(shù)據(jù)類(lèi)型 ,只有整型 ?數(shù)據(jù)結(jié)構(gòu) ,只有簡(jiǎn)變和常數(shù) ?標(biāo)識(shí)符的有效長(zhǎng)度是 10 ?語(yǔ)句種類(lèi): begin/end、 if、 while、賦值、 read/write、 call、 const、 var、 procedure ?過(guò)程無(wú)參,最多可 嵌套 三層 ?13個(gè)保留字: if、 then、 while、 do、 read、 write、 call、begin、 end、 const、 var、 procedure、 odd ?+、 、 *、 /、 =、 、 、 =、 、 =、 (、 ) PL/0程序示例 CONST A=10。第二章 PL/0編譯程序的實(shí)現(xiàn) 本章以 PL/0編譯程序 為實(shí)例 , 使大家對(duì)編譯程序的實(shí)現(xiàn)建立起 整體概念 ,對(duì)編譯程序的構(gòu)造得到一些感性認(rèn)識(shí)和初步了解。 1 PL/0語(yǔ)言 PL/0功能簡(jiǎn)單、結(jié)構(gòu)清晰、可讀性強(qiáng),而又具備了一般高級(jí)語(yǔ)言的必備部分,因而其編譯程序能充分體現(xiàn)一個(gè)高級(jí)語(yǔ)言編譯程序的基本技術(shù)和步驟。 D:=X。 { 遞規(guī)計(jì)算 fact = m! } procedure factorial。 while n 0 do begin m := n。 var ident , 。 Procedure A。 r3: … … 主程序 Call A。 while b0 do begin call p。 . 39。 char id[]。 BEGIN READ(A) END. 程序 分程序 . 變量說(shuō)明部分 語(yǔ)句 VAR 標(biāo)識(shí)符 ; 復(fù)合語(yǔ)句 A BEGIN 語(yǔ)句 END 讀語(yǔ)句 READ ( 標(biāo)識(shí)符 )
點(diǎn)擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1