編譯原理 教學(xué)大綱_第1頁
編譯原理 教學(xué)大綱_第2頁
編譯原理 教學(xué)大綱_第3頁
編譯原理 教學(xué)大綱_第4頁
編譯原理 教學(xué)大綱_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

第頁編譯原理一、課程說明課程編號:090208Z10課程名稱:編譯原理/PrinciplesofCompilers課程類別:專業(yè)教育課程學(xué)時/學(xué)分:48/3先修課程:計算機程序設(shè)計基礎(chǔ)(C語言),數(shù)據(jù)結(jié)構(gòu),離散數(shù)學(xué)適用專業(yè):計算機科學(xué)與技術(shù)、信息安全、物聯(lián)網(wǎng)工程教材、教學(xué)參考書:1.陳火旺.程序設(shè)計語言編譯原理,北京:國防工業(yè)出版社,2012年2.AlfredVA,RaviS,UlmanJD.Compilers:PrinciplesTechniques,andTools,Addison-WesleyPublishingCompany,2014年3.KennethC.Louden.ComplierConstructionPrinciplesandPractice,PWSPublishingCompany,20124.張素琴.編譯原理(第2版),北京:清華大學(xué)出版社,2012年5.呂映芝.編譯原理,北京:清華大學(xué)出版社,2010年二、課程設(shè)置的目的意義編譯原理是計算機科學(xué)與技術(shù)專業(yè)的重要專業(yè)課之一,是每個優(yōu)秀的計算機專業(yè)人員必修的一門課程。以研究程序設(shè)計語言編譯構(gòu)造的基本原理和基本實現(xiàn)方法為主要目標(biāo),其研究對象是程序設(shè)計語言的編譯器。通過本課程學(xué)習(xí),使學(xué)生掌握編譯方法的基本理論和設(shè)計思想,加深對程序設(shè)計語言的理解,培養(yǎng)學(xué)生的抽象思維、邏輯推導(dǎo)和概括能力,并將本課程討論的概念和技術(shù)應(yīng)用于其他軟件設(shè)計中,可以迅速地掌握新的語言工具。為從事計算機應(yīng)用軟件開發(fā)和系統(tǒng)軟件開發(fā)奠定基礎(chǔ)。三、課程的基本要求知識:編譯的基本概念,上下文無關(guān)文法,語法分析樹及二義性;詞法分析器的設(shè)計,正規(guī)表達(dá)式與有限自動機,LL(1)預(yù)測分析程序的基本原理和預(yù)測分析表構(gòu)造方法,算符優(yōu)先分析方法,LR分析器;S-屬性文法的自下而上計算,L-屬性文法和自頂向下翻譯,各種語句到四元式的翻譯方法,包括說明語句,賦值語句,布爾表達(dá)式,控制語句,數(shù)組引用,過程調(diào)用等;靜態(tài)存儲分配和動態(tài)存儲分配基本思想,棧式動態(tài)分配中活動紀(jì)錄和Display表作用,組織,內(nèi)容及使用;代碼優(yōu)化的概念,用DAG表示進行局部優(yōu)化的方法;代碼的生成過程的基本問題,待用信息,寄存器描述和地址描述等概念,簡單代碼生成算法,寄存器分配策略等知識。從而掌握編譯方法的基本理論和設(shè)計思想,以及構(gòu)造的編譯程序基本方法。能力:掌握編譯的基本方法和技術(shù),將編譯的知識用于應(yīng)用軟件和系統(tǒng)軟件;用正規(guī)表達(dá)式與有限自動機理論,培養(yǎng)詞法分析器設(shè)計的能力;掌握語法分析理念,針對具體語言提出有效的語法分析解決方案,提高語法分析器設(shè)計的能力;利用屬性文法,學(xué)會計算機程序設(shè)計語言基本語句的翻譯;掌握代碼優(yōu)化和代碼生成的概念,在針對具體代碼給出代碼優(yōu)化和代碼生成方法和技術(shù);在編譯技術(shù)知識的討論中培養(yǎng)創(chuàng)新意識,提高分析、發(fā)現(xiàn)、研究和解決問題的能力;素質(zhì):建立編譯技術(shù)的觀念,通過課程中的分析討論辯論培養(yǎng)分析溝通交流素質(zhì),建立編譯技術(shù)的思維模式,提升理解應(yīng)用軟件設(shè)計和系統(tǒng)軟件設(shè)計的基本素質(zhì)。通過課外導(dǎo)學(xué)的模式,提升自主學(xué)習(xí)和終身學(xué)習(xí)的意識,形成不斷學(xué)習(xí)和適應(yīng)發(fā)展素質(zhì)。四、教學(xué)內(nèi)容、重點難點及教學(xué)設(shè)計章節(jié)教學(xué)內(nèi)容總學(xué)時學(xué)時分配教學(xué)重點教學(xué)難點教學(xué)方案設(shè)計(含教學(xué)方法、教學(xué)手段)講課(含研討)實踐第1章引論什么叫編譯程序、高級語言程序的執(zhí)行方式、編譯程序的分類、編譯過程概述、編譯程序的結(jié)構(gòu)、編譯程序的生成220編譯過程概述、編譯程序的結(jié)構(gòu)、編譯程序的生成編譯程序的結(jié)構(gòu)、編譯程序的生成用編譯程序發(fā)展過程講解編譯程序的重要意義,結(jié)合編譯程序的現(xiàn)狀講解編譯程序當(dāng)前研究內(nèi)容和發(fā)展方向。第2章高級語言及其語法描述程序語言的語法描述、上下文無關(guān)文法定義、推導(dǎo)的定義、文法的句型、句子的定義、文法的等價性、語法分析樹與二義性、形式語言概述440上下文無關(guān)文法定義、文法的等價性、語法分析樹與二義性上下文無關(guān)文法定義、文法的等價性、語法分析樹與二義性教學(xué)思路:由程序語言的語法的特性引入形式語言概念;用形式語言的上下文無關(guān)文法說明程序語言的語法;用對比的方法突出程序語言的語法的特性。教學(xué)模式:課前導(dǎo)學(xué)(前修課知識歸納與思考題);2學(xué)時課程講授;1學(xué)時典型結(jié)構(gòu)分析;1學(xué)時專題討論。第3章詞法分析詞法分析器功能、超前搜索、狀態(tài)轉(zhuǎn)換圖、正規(guī)表達(dá)式與正規(guī)集、非確定有限自動機、確定有限自動機、正規(guī)表達(dá)式轉(zhuǎn)換為確定有限自動機、確定有限自動機轉(zhuǎn)換為3型文法440狀態(tài)轉(zhuǎn)換圖、正規(guī)表達(dá)式轉(zhuǎn)換為確定有限自動機、確定有限自動機轉(zhuǎn)換為3型文法狀態(tài)轉(zhuǎn)換圖、正規(guī)表達(dá)式轉(zhuǎn)換為確定有限自動機、確定有限自動機轉(zhuǎn)換為3型文法。教學(xué)思路:由詞法分析器功能引入詞法分析器方法和技術(shù);用程序語言的詞法特性說明正規(guī)表達(dá)式、有限自動機和3型文法之間相互轉(zhuǎn)換方法;用對比的方法突出當(dāng)前程序語言的詞法分析特點。教學(xué)模式:課前導(dǎo)學(xué)(前修課知識歸納與思考題);2學(xué)時課程講授;1學(xué)時典型結(jié)構(gòu)分析;1學(xué)時專題討論。第4章語法分析——自上而下分析自上而下分析面臨的問題、消除左遞歸、消除回溯,提左因子、LL(1)分析條件、預(yù)測分析表構(gòu)造、預(yù)測分析過程、遞歸下降分析862消除左遞歸、消除回溯,提左因子、預(yù)測分析表構(gòu)造、預(yù)測分析過程消除左遞歸、消除回溯,提左因子、預(yù)測分析表構(gòu)造、預(yù)測分析過程教學(xué)思路:由自上而下分析面臨的問題引入自上而下分析方法和技術(shù);用消除左遞歸、消除回溯說明LL(1)分析方法;用對比的方法突出預(yù)測分析過程。教學(xué)模式:課前導(dǎo)學(xué)(前修課知識歸納與思考題);4學(xué)時課程講授;1學(xué)時典型結(jié)構(gòu)分析;1學(xué)時專題討論;2學(xué)時大型作業(yè)展示。第5章語法分析——自下而上分析自下而上分析基本問題、移進-歸約分析、規(guī)范歸約、算符優(yōu)先分析、LR(0)分析、SLR(1)分析、LR(1)分析、LALR(1)分析1064自下而上分析基本問題、規(guī)范歸約、算符優(yōu)先分析、LR分析規(guī)范歸約、算符優(yōu)先分析、LR分析教學(xué)思路:由自下而上分析基本問題引入自下而上分析方法和技術(shù);用可歸約串說明自下而上語法分析理論;用對比的方法突出LR分析方法特點。教學(xué)模式:課前導(dǎo)學(xué)(前修課知識歸納與思考題);6學(xué)時課程講授;1學(xué)時典型結(jié)構(gòu)分析;1學(xué)時專題討論;2學(xué)時大型作業(yè)展示。第6章屬性文法和語法制導(dǎo)翻譯綜合屬性、繼承屬性、語義規(guī)則、S-屬性文法、基于屬性文法的處理方法、語法制導(dǎo)翻譯法、依賴圖、S-屬性文法的自下而上計算、L-屬性文法和自頂向下翻譯44基于屬性文法的處理方法、語法制導(dǎo)翻譯法、S-屬性文法的自下而上計算、L-屬性文法和自頂向下翻譯基于屬性文法的處理方法、語法制導(dǎo)翻譯法、S-屬性文法的自下而上計算、L-屬性文法和自頂向下翻譯教學(xué)思路:由文法屬性引入綜合屬性和繼承屬性概念;用屬性文法的處理方法說明法制導(dǎo)翻譯法;用對比的方法突出S-屬性文法的自下而上計算和L-屬性文法和自頂向下翻譯的特點。教學(xué)模式:課前導(dǎo)學(xué)(前修課知識歸納與思考題);2學(xué)時課程講授;1學(xué)時典型結(jié)構(gòu)分析;1學(xué)時專題討論。第7章語義分析和中間代碼產(chǎn)生靜態(tài)語義檢查、中間語言、說明語句翻譯、簡單算術(shù)表達(dá)式翻譯、賦值語言句翻譯、數(shù)組元素的引用翻譯、布爾表達(dá)式的數(shù)值表示法、條件控制的布爾式的翻譯、if-then語句翻譯、if-then-else語句翻譯、while-do語句翻譯66簡單算術(shù)表達(dá)式翻譯、賦值語言句翻譯、數(shù)組元素的引用翻譯、條件控制的布爾式的翻譯、if語句翻譯、while語句翻譯。數(shù)組元素的引用翻譯、條件控制的布爾式的翻譯、if語句翻譯、while語句翻譯。教學(xué)思路:由中間語言引入語句翻譯方法;用布爾表達(dá)式的表示法說明條件控制的布爾式的翻譯法;用對比的方法突出f-then語句翻譯、if-then-else語句翻譯、while-do語句翻譯的方法。教學(xué)模式:課前導(dǎo)學(xué)(前修課知識歸納與思考題);4學(xué)時課程講授;1學(xué)時專題討論;1學(xué)時大型作業(yè)展示。第8章符號表符號表的組織與作用、符號表的結(jié)構(gòu)、整理與查找、名字的作用范圍、FORTRAN語言的符號表組織、PASCAL語言的符號表組織220符號表的結(jié)構(gòu)、整理與查找、FORTRAN語言的符號表組織、PASCAL語言的符號表組織FORTRAN語言的符號表組織、PASCAL語言的符號表組織教學(xué)思路:由符號表的組織與作用引入符號表的結(jié)構(gòu)和整理與查找方法;用FORTRAN語言的符號表組織和PASCAL語言的符號表組織說明符號表組織方法;用對比的方法突出FORTRAN語言的符號表組織和PASCAL語言的符號表組織特點。教學(xué)模式:課前導(dǎo)學(xué)(前修課知識歸納與思考題);1學(xué)時課程講授;1學(xué)時典型結(jié)構(gòu)分析。第9章運行時存儲空間組織過程的活動、參數(shù)傳遞、運行時存儲器的劃分、活動記錄、靜態(tài)分配策略、棧式動態(tài)分配策略、嵌套層次顯示表220參數(shù)傳遞、運行時存儲器的劃分、靜態(tài)分配策略、棧式動態(tài)分配策略和嵌套層次顯示表參數(shù)傳遞、靜態(tài)分配策略、棧式動態(tài)分配策略和嵌套層次顯示表教學(xué)思路:由過程的活動引入運行時存儲空間組織概念;用參數(shù)傳遞說明理論;用對比的方法突出靜態(tài)分配策略和棧式動態(tài)分配策略特點。教學(xué)模式:課前導(dǎo)學(xué)(前修課知識歸納與思考題);1學(xué)時課程講授;1學(xué)時專題討論。第10章代碼優(yōu)化代碼進行等價變換必須遵循的原則、代碼優(yōu)化方法、基本塊定義、劃分基本塊算法、基本塊內(nèi)優(yōu)化方法、基本塊的DAG表示及應(yīng)用440代碼化化技術(shù),基本塊劃分、基本塊內(nèi)優(yōu)化方法、基本塊的DAG表示及應(yīng)用代碼化化技術(shù),基本塊劃分、基本塊內(nèi)優(yōu)化方法、基本塊的DAG表示及應(yīng)用教學(xué)思路:由代碼進行等價變換必須遵循的原則引入代碼優(yōu)化方法;用基本塊概念說明基本塊內(nèi)優(yōu)化方法;用對比的方法突出基本塊的DAG表示及應(yīng)用。教學(xué)模式:課前導(dǎo)學(xué)(前修課知識歸納與思考題);2學(xué)時課程講授;1學(xué)時典型結(jié)構(gòu)分析;1學(xué)時專題討論。第11章目標(biāo)代碼生成目標(biāo)代碼形式、代碼生成要考慮的主要問題、目標(biāo)機器模型、待用信息、寄存器描述和地址描述、DAG的目標(biāo)代碼22待用信息、寄存器描述和地址描述、DAG的目標(biāo)代碼待用信息、寄存器描述和地址描述、DAG的目標(biāo)代碼教學(xué)思路:由目標(biāo)代碼形式、代碼生成要考慮的主要問題引入目標(biāo)代碼生成方法;用目標(biāo)機器模型說明待用信息和寄存器描述和地址描述;用對比的方法突出DAG的目標(biāo)代碼特點。教學(xué)模式:課前導(dǎo)學(xué)(前修課知識歸納與思考題);1學(xué)時課程講授;1學(xué)時專題討論。注:實踐包括實驗、上機等五、實踐教學(xué)內(nèi)容和基本要求實驗名稱實驗內(nèi)容學(xué)時基本要求構(gòu)造LL(1)分析器設(shè)計對于給定的文法構(gòu)造first集和follow集,構(gòu)造分析表。采用C++或Java編程實現(xiàn)LL(1)分析器。要求對于給定文法的句子通過分析器進行正確的分析。對于錯誤的句子,分析器指出錯誤的地方。2掌握LL(1)分析器設(shè)計構(gòu)造LR分析器設(shè)計對于給定的文法構(gòu)造LR分析表,采用C++或Java編程實現(xiàn)LR分析器。要求對于給定文法的句子通過分析器進行正確的分析。對于錯誤的句子,分析器指出錯誤的地方。4掌握LR分析器設(shè)計六、考核方式及成績評定教學(xué)過程中采取講授

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論