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

正文內(nèi)容

[工學(xué)]編譯原理第1章(參考版)

2024-10-18 12:01本頁(yè)面
  

【正文】 為了便于編譯器的處理 , 操作性語(yǔ)句中使用的每個(gè)操作對(duì)象 , 均應(yīng)在使用前聲明 , 即符合 先聲明后引用 的原則 。 ( 實(shí)現(xiàn) ) (2)是聲明性語(yǔ)句 , 而 (3)至 (5)是操作性語(yǔ)句 。 ( 接口 ) (2)至 (5)是過(guò)程體 , 它是一個(gè)語(yǔ)句序列 。 (4) if x100 then x := 0 (5) end。 {過(guò)程頭 } (2) var x : integer。 ③ 比較你所使用過(guò)的一些語(yǔ)言的編譯程序:他們的編譯速度,出錯(cuò)信息的可讀性,有無(wú)優(yōu)化選擇等等。 本章小結(jié) 思考題 ① 為什么需要編譯程序? ② 用源程序片段 if (a=b+1) {b = a * a 。 ,但編譯技術(shù)會(huì)應(yīng)用在很多領(lǐng)域。 59 ,將高級(jí)語(yǔ)言的程序翻譯成低級(jí)語(yǔ)言的程序。 隨著并行技術(shù)和并行語(yǔ)言的發(fā)展,處理并行語(yǔ)言的并行編譯技術(shù),將串行程序轉(zhuǎn)換成并行程序的自動(dòng)并行編譯技術(shù)也正在深入研究之中。自展的主要特征是用被編譯的語(yǔ)言來(lái)書寫該語(yǔ)言自身的編譯程序。 目前很多自動(dòng)生成工具已廣泛使用,如詞法分析程序的生成系統(tǒng) LEX,語(yǔ)法分析程序的生成系統(tǒng) YACC等。隨著編譯技術(shù)的發(fā)展和社會(huì)對(duì)編譯程序需求的不斷增長(zhǎng), 20世紀(jì) 50年代末有人開(kāi)始研究編譯程序的自動(dòng)生成工具,提出并研制編譯程序的編譯程序。用現(xiàn)在的標(biāo)準(zhǔn)來(lái)衡量,當(dāng)時(shí)的編譯程序能完成的工作十分初步,如只允許簡(jiǎn)單的單目運(yùn)算,數(shù)據(jù)元素的命名方式有很多限制。 … lab1: … 編譯程序的組織 語(yǔ)法分析 程序 語(yǔ)義分析及 代碼生成程序 詞法分析 程序 整理目標(biāo)程序 源程序 目標(biāo)程序 停機(jī) 開(kāi)始 56 編譯器的編寫 1.直接使用匯編語(yǔ)言和程序設(shè)計(jì)語(yǔ)言; 2.利用編譯器編寫工具:詞 /語(yǔ)法、語(yǔ)法制導(dǎo)翻譯、代碼生成、數(shù)據(jù)流分析等; 3.基于編譯器基礎(chǔ)架構(gòu)的編譯器構(gòu)造系統(tǒng)(開(kāi)放式編譯器,如 GCC、 SUIF等)。 b:integer): integer。 早期編譯器的一遍定義為從外存讀入內(nèi)存再寫到外存; 2.確定掃描遍數(shù)的因素: (a) 軟、硬件條件,如內(nèi)存太小,或全局優(yōu)化 (b) 語(yǔ)言結(jié)構(gòu),如規(guī)定標(biāo)識(shí)符的先聲明后引用 … x := f(a, b, c)。 7 符號(hào)表管理 :合理組織符號(hào) , 便于各階段查找 、 填寫等; 8 出錯(cuò)處理 :錯(cuò)誤的種類-詞法錯(cuò)、語(yǔ)法錯(cuò)、靜態(tài)語(yǔ)義錯(cuò)、動(dòng)態(tài)語(yǔ)義錯(cuò)。 52 各階段工作的歸納 1 詞法分析 :識(shí)別單詞 , 至少分以下幾大類:關(guān)鍵字 ( 保留字 ) 、 標(biāo)識(shí)符 、 字面量 、 特殊符號(hào); 2 語(yǔ)法分析 :得到語(yǔ)言結(jié)構(gòu)并以樹(shù)的形式表示; 3 語(yǔ)義分析 :考察結(jié)構(gòu)正確的句子是否語(yǔ)義合法 , 可修改樹(shù)結(jié)構(gòu); 4 中間代碼生成 (可選):生成一種既接近目標(biāo)語(yǔ)言,又與具體機(jī)器無(wú)關(guān)的表示,便于優(yōu)化與代碼生成; 5 中間代碼優(yōu)化 (可選):局部?jī)?yōu)化、循環(huán)優(yōu)化、全局優(yōu)化等;優(yōu)化實(shí)際上是一個(gè)等價(jià)變換,變換前后的指令序列完成同樣的功能,但是,在占用的空間上和程序執(zhí)行的時(shí)間上都更省、更有效。 id1 := id2+id3*60。 x := y + z * 60。 x := y + z * 60。 出錯(cuò)處理程序的任務(wù)包括檢查錯(cuò)誤、報(bào)告出錯(cuò)信息、排錯(cuò)、恢復(fù)編譯工作。符號(hào)表中 記錄源程序中使用的名字和收集到的每個(gè)名字的各種屬性信息 ,諸如類型、作用域、分配存儲(chǔ)信息。有些最簡(jiǎn)單的編譯程序只有詞法分析,語(yǔ)法分析;語(yǔ)義分析和目標(biāo)代碼生成,如第2章介紹的 PL/0語(yǔ)言編譯程序。 前面說(shuō)過(guò),上述編譯過(guò)程的階段劃分是一種典型的處理模式,事實(shí)上并非所有的編譯程序都包括這樣幾個(gè)階段。這是編譯的最后階段,它的工作與硬件系統(tǒng)結(jié)構(gòu)和指令含義有關(guān),這個(gè)階段的工作很復(fù)雜,涉及到硬件系統(tǒng)功能部件的運(yùn)用、機(jī)器指令的選擇、各種數(shù)據(jù)類型變量的存儲(chǔ)空間分配以及寄存器和后緩寄存器的調(diào)度等。如 : (1) (inttoreal 10 t1) (2) (* id3 t1 t2) (3) (+ id2 t2 t3) (4) ( := t3 t4) 可變換為 (1) (* id3 t1) (2) (+ id2 t1 id1) 代碼優(yōu)化工作會(huì)降低編譯程序的編譯速度,因此編譯優(yōu)化階段常常作為可選擇階段,編譯程序具有控制機(jī)制以允許用戶在編譯速度和目標(biāo)代碼的質(zhì)量間進(jìn)行權(quán)衡。 c = b * c。 (1) (inttoreal 10 t1 ) (2) (* id3 t1 t2 ) (3) (+ id2 t2 t3 ) (4) ( := t3 t4) 四元式 (運(yùn)算符,運(yùn)算對(duì)象 1,運(yùn)算對(duì)象 2,結(jié)果 ) 常寫成賦值語(yǔ)句的形式 (結(jié)果 =運(yùn)算對(duì)象 1 運(yùn)算符 運(yùn)算對(duì)象 2) 如 c語(yǔ)言的源程序 a = b * c + b * d 的四元式序列為 (1) t1 = b * c (2) t2 = b * d (3) t3 = t1 + t2 (4) a = t3 翻譯分支,循環(huán)和函數(shù)調(diào)用等語(yǔ)句時(shí),四元
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1