版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
編譯原理本課程學(xué)習(xí)任務(wù)教學(xué)目的: ①掌握編譯原理的基本知識(shí)。 ②掌握一些典型問(wèn)題的解決辦法。 ③對(duì)程序有進(jìn)一步的認(rèn)識(shí)。學(xué)習(xí)方法: ①了解整體結(jié)構(gòu)。 ②掌握解決具體問(wèn)題的具體辦法。 ③掌握基本概念。編譯技術(shù)集中體現(xiàn)了計(jì)算機(jī)科學(xué)發(fā)展的重要成果與精華。ACM圖靈獎(jiǎng)是授予在計(jì)算機(jī)技術(shù)領(lǐng)域作出突出貢獻(xiàn)的科學(xué)家的最高獎(jiǎng)勵(lì),自1966年設(shè)立以來(lái),程序設(shè)計(jì)語(yǔ)言、編譯理論與方法的方面的得獎(jiǎng)成果約占總數(shù)的1/3。對(duì)于將來(lái)從事編譯系統(tǒng)設(shè)計(jì)工作的學(xué)生來(lái)說(shuō),編譯原理課程將為其打下堅(jiān)實(shí)的能力和知識(shí)基礎(chǔ);對(duì)于從事其它工作的學(xué)生,也能夠提高他們對(duì)計(jì)算機(jī)系統(tǒng)總體的認(rèn)識(shí)。此外,課程介紹的經(jīng)典的語(yǔ)言分析方法和工具,對(duì)于設(shè)計(jì)一些實(shí)用的工具和軟件,如自然語(yǔ)言理解、網(wǎng)絡(luò)信息處理、網(wǎng)絡(luò)協(xié)議的分析與實(shí)現(xiàn)等,都是必備的基礎(chǔ)。因此,編譯原理課程是高等學(xué)校培養(yǎng)計(jì)算機(jī)專業(yè)人才的核心課程。
本課程地位教材教材:《編譯原理》,張素琴等編著,清華大學(xué)出版社參考書目:《編譯程序設(shè)計(jì)原理》,杜淑敏等編著,北京大學(xué)出版社《編譯原理教程》,胡元義等編著,西安電子科技大學(xué)出版社相關(guān)知識(shí):程序設(shè)計(jì)語(yǔ)言、計(jì)算機(jī)組成原理、數(shù)據(jù)結(jié)構(gòu)、匯編語(yǔ)言、離散數(shù)學(xué)、操作系統(tǒng)等。
第1章編譯程序概論教學(xué)要求:本章講解編譯程序、解釋程序的基本概念,概述編譯過(guò)程,介紹編譯程序的邏輯結(jié)構(gòu)和編譯程序的組織形式。要求理解編譯程序、解釋程序和遍的基本概念;掌握編譯過(guò)程各階段的任務(wù)和編譯程序邏輯結(jié)構(gòu)及其各部分的基本功能。教學(xué)重點(diǎn):編譯程序工作的基本過(guò)程及其各階段的基本任務(wù),編譯程序總體框架?;靖拍顧C(jī)器語(yǔ)言:能夠被計(jì)算機(jī)的硬件系統(tǒng)直接執(zhí)行的指令程序。匯編語(yǔ)言:將硬件指令用一些助記符表示。如ADD表示加法操作,SUB表示減法操作等等高級(jí)語(yǔ)言:使用便于理解的自然語(yǔ)言。
語(yǔ)言處理程序解釋程序(器):接受某種語(yǔ)言源程序,然后直接解釋執(zhí)行源程序。編譯程序(器):接受某種語(yǔ)言的源語(yǔ)言程序后,將它改造成另一種邏輯上等價(jià)的目標(biāo)語(yǔ)言程序。需預(yù)處理的源程序預(yù)處理程序源程序編譯程序匯編程序裝配/連接編輯程序目標(biāo)匯編程序可再裝配的機(jī)器代碼絕對(duì)機(jī)器代碼可再裝配目標(biāo)文件高級(jí)語(yǔ)言程序的處理過(guò)程表格管理詞法分析語(yǔ)法分析語(yǔ)義分析中間代碼生成代碼優(yōu)化目標(biāo)代碼生成出錯(cuò)處理源程序目標(biāo)程序編譯的各個(gè)階段詞法分析詞法分析的功能是從左到右讀入源程序的每個(gè)字符,對(duì)構(gòu)成源程序的字符流進(jìn)行掃描和分解,從而識(shí)別出一個(gè)個(gè)單詞(也叫單詞符號(hào)或符號(hào))。依據(jù):語(yǔ)言的構(gòu)詞規(guī)則。單詞:邏輯上緊密相連的一組字符,這些字符具有集體含義。如:標(biāo)識(shí)符、保留字(關(guān)鍵字或基本字)、算符、界符等。語(yǔ)法分析語(yǔ)法分析的功給是將單詞序列分解成各類語(yǔ)法短語(yǔ)(也叫語(yǔ)法單位,句子),確定整個(gè)輸入串是否構(gòu)成一個(gè)語(yǔ)法上正確的程序。依據(jù):語(yǔ)言的語(yǔ)法規(guī)則。語(yǔ)句的表示:標(biāo)識(shí)符:=表達(dá)式是語(yǔ)句。while(表達(dá)式)do語(yǔ)句if(表達(dá)式)then語(yǔ)句else語(yǔ)句都是語(yǔ)句。語(yǔ)義分析的功能是審查源程序有無(wú)語(yǔ)義錯(cuò)誤,為代碼生成階段收集類型信息。語(yǔ)義分析主要能識(shí)別的語(yǔ)義錯(cuò)誤有變量沒(méi)有聲明就使用,變量重復(fù)聲明,運(yùn)算對(duì)象類型是否匹配等等。語(yǔ)義分析中間代碼生成中間代碼:一種結(jié)構(gòu)簡(jiǎn)單、含義明確的記號(hào)系統(tǒng)。原則:容易生成;容易將它翻譯成目標(biāo)代碼。如四元式:(運(yùn)算符,運(yùn)算對(duì)象1,運(yùn)算對(duì)象2,結(jié)果)將源程序生成一種內(nèi)部表示形式,這種內(nèi)部表示形式叫中間代碼。如:源程序
sum:=first+count*10生成的四元式可以是:(inttoreal, 10, -, t1)(*, id3, t1, t2)(+, id2, t2, t3)(:=, t3, -, id1)id1id2id3代碼優(yōu)化(inttoreal, 10, -, t1)(*, id3, t1, t2)(+, id2, t2, t3)(:=, t3, -, id1)(*, id3, 10.0, t2)(+, id2, t2, id1)(*, id3, 10.0, t1)(+, id2, t1, id1)目的:使目標(biāo)代碼運(yùn)行時(shí)間較短,占用空間較小。目標(biāo)代碼生成任務(wù):把中間代碼變換成特定機(jī)器上的絕對(duì)指令代碼或可重定位的指令代碼或匯編指令代碼。特點(diǎn):與硬件系統(tǒng)結(jié)構(gòu)和指令含義有關(guān),涉及到硬件系統(tǒng)功能部件的運(yùn)用、機(jī)器指令的選擇、各種數(shù)據(jù)類型變量的存儲(chǔ)空間分配以及寄存器和后緩寄存器的調(diào)度等。中間代碼:(*, id3, 10.0, t1)(+, id2, t1, id1)源程序:sum:=first+count*10目標(biāo)代碼:MOVF id3, R2MULF 10.0, R2MOVF id2, R1ADDF R1, R2MOV R1, id1符號(hào)表用來(lái)記錄源程序中出現(xiàn)的標(biāo)識(shí)符,并收集每個(gè)標(biāo)識(shí)符的各種屬性信息。符號(hào)表是由若干記錄組成的數(shù)據(jù)結(jié)構(gòu),每個(gè)標(biāo)識(shí)符在表中有一條記錄,每條記錄有多個(gè)域,每個(gè)域記載標(biāo)識(shí)符的一個(gè)屬性。符號(hào)表管理表格管理程序詞法分析程序語(yǔ)法分析程序語(yǔ)義分析程序中間代碼生成程序代碼優(yōu)化程序目標(biāo)代碼生成程序出錯(cuò)處理程序源程序目標(biāo)程序編譯程序的結(jié)構(gòu)有關(guān)名詞:前端(frontend):主要依賴于源語(yǔ)言而與目標(biāo)機(jī)器無(wú)關(guān)的編譯階段。如:詞法分析、語(yǔ)法分析、語(yǔ)義分析、中間代碼生成、部分優(yōu)化工作、與前端有關(guān)的出錯(cuò)處理工作和符號(hào)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 網(wǎng)絡(luò)社交平臺(tái)內(nèi)容管理與優(yōu)化方案
- 綠色農(nóng)業(yè)種植智能化管理與運(yùn)營(yíng)方案
- 電子出版物行業(yè)數(shù)字化閱讀推廣計(jì)劃
- 物流運(yùn)輸業(yè)多式聯(lián)運(yùn)方案設(shè)計(jì)指南
- 智能語(yǔ)音開(kāi)發(fā)與集成合同
- 智能制造生產(chǎn)過(guò)程質(zhì)量檢測(cè)系統(tǒng)合同
- 無(wú)現(xiàn)金支付系統(tǒng)推廣合同
- 制造業(yè)數(shù)字化孿生模型構(gòu)建合同
- 體育行業(yè)智能場(chǎng)館運(yùn)營(yíng)管理方案
- 人工智能輔助市場(chǎng)調(diào)研服務(wù)協(xié)議
- 手術(shù)體位相關(guān)周圍神經(jīng)損傷及預(yù)防課件
- 2024人教版初中英語(yǔ)單詞詞匯表默寫背誦(中考復(fù)習(xí)必背)
- 【精】人民音樂(lè)出版社人音版五年級(jí)上冊(cè)音樂(lè)《外婆的澎湖灣》課件PPT
- 《建筑企業(yè)財(cái)務(wù) 》課件
- 滬科版九年級(jí)物理全一冊(cè)知識(shí)點(diǎn)總結(jié)(滬教版)
- 飛輪儲(chǔ)能在電網(wǎng)調(diào)頻中的工程應(yīng)用
- 家長(zhǎng)會(huì)課件:家庭教育為主題家長(zhǎng)會(huì)課件
- 麻醉藥品和第一類精神藥品使用及殘余液銷毀登記記錄
- 六年級(jí)英語(yǔ)上冊(cè)期中考試質(zhì)量分析
- 臨床微生物學(xué)檢驗(yàn):實(shí)驗(yàn)六 腸道桿菌的檢驗(yàn)(一)
- Invoice商業(yè)發(fā)票模板
評(píng)論
0/150
提交評(píng)論