資源描述:
《編譯原理教學(xué)大綱2005》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、編譯原理課程教學(xué)大綱(2005版)課程編碼:07153008課程性質(zhì):學(xué)科基礎(chǔ)必修課學(xué)時(shí):64學(xué)分:4開課單位:計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院授課對象:計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)本科生先修課程:高級程序設(shè)計(jì)語言、數(shù)據(jù)結(jié)構(gòu)、離散數(shù)學(xué)、匯編語言教材:劉磊《編譯原理及實(shí)現(xiàn)技術(shù)》機(jī)械工業(yè)出版社2005參考書:1)陳火旺等《程序設(shè)計(jì)語言編譯原理》國防工業(yè)出版社20012)呂映芝,張素琴,蔣維杜《編譯原理》清華大學(xué)出版社19983)AlfredV.Aho,Ravi,Sethi,JeffreyD.Ullman.Compilers:Principles,Te
2、chniques,andTool.AddisonWesley,1985.4)CharlesN.Fischer,RichardJ.LeBlanc.CraftingaCompilerwithC.PearsonEducation,1991.一、教學(xué)目的編譯原理課程是計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)學(xué)生的專業(yè)骨干課之一。通過學(xué)習(xí)這門課程,使學(xué)生掌握編譯程序的基本原理、方法和實(shí)現(xiàn)技術(shù),使學(xué)生更好的理解程序語言的內(nèi)部機(jī)制,培養(yǎng)學(xué)生初步掌握設(shè)計(jì)大型系統(tǒng)軟件的方法、技術(shù)以及設(shè)計(jì)大型軟件的能力。二、教學(xué)基本要求1)正確理解什么是編譯程序;了解編譯程序工作的
3、基本過程及其各階段的基本任務(wù);熟悉編譯程序總框;了解編譯程序的生成過程和構(gòu)造工具。2)正確理解上下文無關(guān)文法基本概念,包括:文法的定義、編寫、句型、句子、語言、語法樹、二義性等;能進(jìn)行各種文法等價(jià)變換;熟練掌握NFA、DFA、正則表達(dá)式和正則文法之間的等價(jià)關(guān)系,能夠進(jìn)行相互轉(zhuǎn)換,掌握DFA的最小化算法。3)理解詞法分析器功能及形式;熟練掌握詞法分析器設(shè)計(jì)的原理,掌握運(yùn)用狀態(tài)轉(zhuǎn)換圖進(jìn)行詞法分析器設(shè)計(jì)。4)正確理解自上而下分析的基本思想;熟練掌握遞歸下降分析基本方法:消除左遞歸和公共前綴,消除回溯,構(gòu)造遞歸下降子程序;掌握LL(1
4、)分析程序的基本原理和LL(1)分析表構(gòu)造;理解LL(1)方法的定義。5)正確理解自下而上語法分析的基本思想,以及歸約、短語、句柄、分析樹等概念;掌握簡單優(yōu)先分析基本方法:簡單優(yōu)先關(guān)系矩陣;LR類語法分析的基本思想及其分析表的構(gòu)造,掌握LR類語法分析的基本過程。6)理解符號表的作用及符號表組織和使用方法,了解名字的作用范圍,了解符號表中一般應(yīng)包含的內(nèi)容。7)正確理解語法制導(dǎo)翻譯基本原理;熟悉常見的幾種中間語言:四元式、三元式、逆波蘭表示;掌握各種語句到四元式的翻譯方法,包括:簡單算術(shù)表達(dá)式,布爾表達(dá)式,控制語句,數(shù)組引用,過程
5、調(diào)用等。了解自上而下分析制導(dǎo)翻譯基本思想和實(shí)現(xiàn)方法。8)正確理解代碼優(yōu)化的定義和各種可能的優(yōu)化概念;掌握基于基本塊的局部優(yōu)化方法。9)正確理解目標(biāo)程序運(yùn)行進(jìn)存儲空間的使用和組織管理方式;理解靜態(tài)分配和動態(tài)存儲分配基本思想;掌握棧式存儲分配的處理方式;掌握棧式動態(tài)分配中活動記錄和DISPLAY表作用、組織、內(nèi)容及使用;了解嵌套過程語言程序運(yùn)行時(shí)整個(gè)運(yùn)行棧的內(nèi)容的組織。10)正確理解代碼生成過程的基本問題,理解臨時(shí)變量、寄存器描述和地址模式等概念;掌握簡單代碼生成算法。三、教學(xué)內(nèi)容及學(xué)時(shí)分配第一章編譯引論(2學(xué)時(shí))主要內(nèi)容:編譯程
6、序,編譯過程概述,編譯程序的結(jié)構(gòu),編譯程序生成,學(xué)習(xí)構(gòu)造編譯程序。重點(diǎn):編譯程序工作的基本過程及其各階段的基本任務(wù),編譯程序框架。1.1程序設(shè)計(jì)語言和編譯程序1.2.1編譯程序構(gòu)成1.2.2遍1.2.3編譯程序的前端和后端1.3編譯程序和程序設(shè)計(jì)環(huán)境1.4編譯程序的實(shí)現(xiàn)第二章形式語言與有限自動機(jī)(10學(xué)時(shí))主要內(nèi)容:上下文無關(guān)文法,文法等價(jià)變換,語法樹與文法二義性,正規(guī)表達(dá)式與有限自動機(jī)。重點(diǎn):上下文無關(guān)文法,正則表達(dá)式與有限自動機(jī)。2.1語言和文法2.1.1基本概念2.1.2文法分類2.1.3推導(dǎo)和歸約2.1.4語法樹與文法
7、二義性2.1.5文法等價(jià)變換2.2有限自動機(jī)(FA)2.2.1確定有限自動機(jī)(DFA)2.2.2非確定有限自動機(jī)(NFA)2.2.3DFA與NFA的等價(jià)2.2.4DFA的化簡2.3正則表達(dá)式第三章詞法分析(4學(xué)時(shí))主要內(nèi)容:詞法分析器任務(wù),詞法分析器設(shè)計(jì),詞法分析器自動生成。重點(diǎn):詞法分析器的任務(wù)與設(shè)計(jì),狀態(tài)轉(zhuǎn)換圖。3.1詞法分析介紹3.1.1詞法分析程序的功能3.1.2詞法分析程序的接口3.2詞法分析程序的設(shè)計(jì)3.2.1單詞分類3.2.2單詞的內(nèi)部表示3.2.3單詞的形式描述3.2.4自動機(jī)的實(shí)現(xiàn)3.3詞法分析程序的實(shí)現(xiàn)3.
8、3.1實(shí)現(xiàn)詞法分析程序應(yīng)注意的問題3.3.2標(biāo)識符表和常量表3.3.3單詞結(jié)構(gòu)3.3.4實(shí)現(xiàn)算法3.4詞法分析程序自動生成3.4.1LEX簡介3.4.2LEX工作原理3.4.3LEX源文件結(jié)構(gòu)3.4.4LEX系統(tǒng)中的正則式3.4.5LEX的使用方式3.4.6應(yīng)用實(shí)例第四章語法