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

正文內(nèi)容

[工學(xué)]編譯原理第1章-預(yù)覽頁(yè)

 

【正文】 PLD) 3 PL的 基本要素 、 工作原理 、 語(yǔ)言翻譯 的基本方法; PL進(jìn)行程序設(shè)計(jì) , 即自學(xué)計(jì)算機(jī)語(yǔ)言的能力; 語(yǔ)言翻譯的基本技能 。 :好記性不如爛筆頭,通過(guò)動(dòng)手加深理解和記憶。 知道 編譯技術(shù)可用于哪類軟件的設(shè)計(jì)和開(kāi)發(fā) 。 學(xué)習(xí)指南 編譯程序是現(xiàn)代 計(jì)算機(jī)系統(tǒng)的基本組成部分之一 。 ? 程序設(shè)計(jì)語(yǔ)言分 低級(jí)語(yǔ)言 和 高級(jí)語(yǔ)言 兩類 ? 低級(jí)語(yǔ)言 :機(jī)器語(yǔ)言、匯編語(yǔ)言等;其特點(diǎn)對(duì)計(jì)算機(jī)的依賴性強(qiáng)、直觀性差、編寫程序的工作量大,對(duì)程序設(shè)計(jì)人員要求較高。 ? 在執(zhí)行時(shí),一般應(yīng)有一些輔助子程序配合。 2 按范型劃分的程序設(shè)計(jì)語(yǔ)言 13 3 其他面向特定應(yīng)用領(lǐng)域的語(yǔ)言 a. 互連網(wǎng)應(yīng)用 : HTML、 XML b. 計(jì)算機(jī)輔助設(shè)計(jì) : MATLAB c. 集成電路設(shè)計(jì) : VHDL、 Verilog d. 虛擬現(xiàn)實(shí) : VRML …… 問(wèn)題: 如何將形形色色的語(yǔ)言翻譯成可以在計(jì)算機(jī)上運(yùn)行的 0、 1串 ?? 14 語(yǔ)言之間的翻譯 高級(jí) 匯編 機(jī)器 L1 L2 A1 A2 M1 M2 編譯器 1 編譯器 1 匯編器 1 編譯器 2 編譯器 2 交叉匯編器 匯編器 2 反匯編 反編譯 轉(zhuǎn)換器 從功能上看,一個(gè)編譯程序就是一個(gè) 語(yǔ)言翻譯程序 。 編譯程序 目標(biāo)程序 如果從計(jì)算機(jī)系統(tǒng)的角度看,什么是編譯程序呢?我們說(shuō)編譯程序是一種軟件,是 系統(tǒng)軟件 。 軟件 :計(jì)算機(jī)系統(tǒng)中的程序及其文檔 系統(tǒng)軟件 :居于計(jì)算機(jī)系統(tǒng)中最靠近硬件的一層,其他軟件一般都通過(guò)系統(tǒng)軟件發(fā)揮作用。它主要包括需求定義語(yǔ)言,功能性語(yǔ)言,設(shè)計(jì)性語(yǔ)言,程序設(shè)計(jì)語(yǔ)言以及文檔語(yǔ)言。w r i t e ( “x = ”, x ) 。 大多數(shù) PL采用此種方法翻譯; 2. 解釋器: 工作效率低 , 即時(shí)間慢 、 空間費(fèi);交互性與動(dòng)態(tài)特性好 、 可移植性好 。 過(guò)程頭+過(guò)程體=過(guò)程定義 編譯器的工作原理與基本組成 通用程序設(shè)計(jì)語(yǔ)言的主要成份 4. 編譯器對(duì)兩類語(yǔ)句的翻譯: 聲明:生成相應(yīng)的環(huán)境 , 一般是配置存儲(chǔ)空間 。 例如某源程序片斷如下: begin var sum, first, count: real。 a = a + 2。一般這種語(yǔ)法短語(yǔ),也稱語(yǔ)法單位可表示成語(yǔ)法樹(shù),比如上述程序段中的單詞序列: id1∶=id2+id3*10 經(jīng)語(yǔ)法分析得知其是 PASCAL語(yǔ)言的 “ 賦值語(yǔ)句 ” ,表示成如下頁(yè)圖所示的語(yǔ)法樹(shù) id1∶=id2+id3*10 id1∶=id2+id3*10 語(yǔ)法分析所依據(jù)的是語(yǔ)言的語(yǔ)法規(guī)則,即描述程序結(jié)構(gòu)的規(guī)則。 (3) 若表達(dá)式 1和表達(dá)式 2都是表達(dá)式,那么:表達(dá)式 1+表達(dá)式 2以及表達(dá)式 1 * 表達(dá)式 2都是表達(dá)式。但詞法分析的任務(wù)僅對(duì)源程序進(jìn)行線性掃描即可完成,比如識(shí)別標(biāo)識(shí)符,因?yàn)闃?biāo)識(shí)符的結(jié)構(gòu)是字母打頭的字母和數(shù)字串,這只要順序掃描輸入流,遇到既不是字母又不是數(shù)字字符時(shí),將前面所發(fā)現(xiàn)的所有字母和數(shù)字組合在一起而構(gòu)成單詞標(biāo)識(shí)符。比如使用了沒(méi)有聲明的變量;或者給一個(gè)過(guò)程名賦值;或者調(diào)用函數(shù)時(shí)參數(shù)類型不合適或者參加運(yùn)算的兩個(gè)變量類型不匹配等等。 一般,語(yǔ)義分析的工作還包括類型審查,類型提升以及為代碼生成階段收集類型信息 . 比如審查每個(gè)算符是否實(shí)施于具有語(yǔ)言規(guī)范允許的運(yùn)算對(duì)象,當(dāng)不符合語(yǔ)言規(guī)范時(shí),編譯程序應(yīng)報(bào)告錯(cuò)誤。語(yǔ)義分析階段進(jìn)行類型審查之后,將 整型量提升為實(shí)型量 。 如源程序 sum ∶ = first+count*10可生成四元式序列,如下所示,其中 ti(i=1,2,3)是編譯程序生成的臨時(shí)名字,用于存放運(yùn)算結(jié)果的。 翻譯成的四元式 : t1 = a b if t1 goto l t2 = a – c a = t2 l : t3 = b * c c = t3 代碼優(yōu)化 代碼優(yōu)化階段的任務(wù)是對(duì)前階段產(chǎn)生的中間代碼進(jìn)行變換或進(jìn)行改造,目的是使生成的目標(biāo)代碼更為高效,即省時(shí)間和省空間。 (1) (2) (3) (4) (5) MOVF MOLF MOVF ADDF MOV id3 id2 R1 R1 R2 R2 R1 R2 id1 例如,使用兩個(gè)寄存器 (R1和 R2),圖 如下某匯編代碼。 編譯程序的另外兩個(gè)重要的工作是 表格管理和出錯(cuò)處理最重要的一種表格是 符號(hào)表 。 49 例 7 Pascal源程序語(yǔ)句如下: var x, y, z : real。 詞法分析(記號(hào)流) var id1, id2, id3 : real。 6 目標(biāo)代碼生成 :不同形式的目標(biāo)代碼-匯編 、 可重定位 、 內(nèi)存形式( LoadandGo) 。 … function f(a:integer。 編譯技術(shù)的發(fā)展和應(yīng)用 據(jù)說(shuō)第一個(gè)編譯程序的出現(xiàn)是在 20世紀(jì) 50年代早期,很難講出確切的時(shí)間,因?yàn)楫?dāng)初大量的實(shí)驗(yàn)和實(shí)現(xiàn)工作是由不同的小組獨(dú)立完成的,多數(shù)早期的編譯工作是將算術(shù)公式翻譯成機(jī)器代碼。它的功能是以任一語(yǔ)言的詞法規(guī)則、語(yǔ)法規(guī)則和語(yǔ)義解釋出發(fā),自動(dòng)產(chǎn)生該語(yǔ)言的編譯程序。1971年, PASCAL的編譯程序用自展技術(shù)生成后,其影響就越來(lái)越大。 階段的工作。 … }… 為例,考慮編譯過(guò)程中它可能的不同表示形式來(lái)理解編譯各階段的工作。 {過(guò)程體 ( 開(kāi)始 ) } (3) begin x := y。 語(yǔ)句序列中既包括聲明性語(yǔ)句也包括操作性語(yǔ)句 。
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1