《编译原理》课程教学大纲
《編譯原理》課程教學(xué)大綱
課程編號:773033
課程名稱(中/英文):編譯原理 / Compiler Principle
課程類型: 模塊課
總 學(xué) 時(shí):5學(xué)時(shí)/周 講課學(xué)時(shí):4學(xué)時(shí)/周 實(shí)驗(yàn)學(xué)時(shí):1學(xué)時(shí)/周
學(xué) 分:4學(xué)分
適用對象: 軟件開發(fā)各專業(yè)方向
先修課程:程序設(shè)計(jì)、計(jì)算機(jī)組成原理、數(shù)據(jù)結(jié)構(gòu)、操作系統(tǒng)
后續(xù)課程:人工智能、數(shù)據(jù)挖掘
開課單位:軟件與應(yīng)用科技學(xué)院
一、課程性質(zhì)和教學(xué)目標(biāo)
《編譯原理》課程是計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)的一門重要專業(yè)課。本課程系統(tǒng)講述程序設(shè)計(jì)語言的編譯程序的概念、構(gòu)造、以及實(shí)現(xiàn)的主要算法和技術(shù)。通過本課程的學(xué)習(xí),使學(xué)生掌握編譯程序的前三個(gè)邏輯階段:在詞法分析中,深入理解正規(guī)表達(dá)式與有限自動機(jī)的理論和不確定的有限自動機(jī)轉(zhuǎn)化為確定有限自動機(jī)的方法;在語法分析中,理解上下文無關(guān)方法的概念,掌握自上而下分析和自下而上分析的方法,深入理解消除左遞歸、消除回溯、提取左因子的方法和LL(1)分析法;在語義分析和中間代碼生成中,掌握屬性文法和語法制導(dǎo)翻譯的基本思想、中間代碼的格式和語句翻譯的方法。了解編譯程序的后兩個(gè)階段:優(yōu)化和目標(biāo)代碼生成。除此之外,還需對符號表管理以及運(yùn)行時(shí)存儲空間組織的管理方法加以了解。為今后從事編譯及其他有關(guān)軟件的研究和開發(fā)工作打下較為堅(jiān)實(shí)的基礎(chǔ)。
二、教學(xué)基本要求
通過本課程的學(xué)習(xí),應(yīng)使學(xué)生達(dá)到以下基本要求:
1、正確理解什么是編譯程序,掌握編譯程序工作的基本過程及其各階段的基本任務(wù),熟悉編譯程序總體框架,了解編譯程序的生成過程和構(gòu)造工具。
2、熟悉并掌握上下文無關(guān)文法基本概念,包括:文法的定義、編寫、句型、句子、語言、語法樹、二義性等,理解三種參數(shù)傳遞方式:傳值、傳地址、傳名的含義。
3、熟悉并掌握詞法分析器功能及形式、詞法分析器設(shè)計(jì)的原理、狀態(tài)轉(zhuǎn)換圖的原理及使用方法。
4、熟悉并掌握自上而下分析的基本思想、遞歸下降分析的基本方法、消除左遞歸和回溯的方法、構(gòu)造遞歸下降子程序的方法,預(yù)測分析程序的基本原理和預(yù)測分析表的構(gòu)造方法、LL(1)方法。
5、熟悉并掌握自下而上語法分析的基本思想以及歸約、短語、句柄、分析樹等概念,掌握算符優(yōu)先分析基本方法,算符優(yōu)先表和和算符優(yōu)先函數(shù)構(gòu)造技術(shù)。
6、熟悉并掌握語法制導(dǎo)翻譯基本原理、基于屬性文法的處理方法、自上而下分析制導(dǎo)翻譯基本思想和實(shí)現(xiàn)方法。
7、掌握常見的幾種中間語言:四元式、三元式、逆波蘭表示,掌握各種語句到四元式的翻譯方法,包括簡單算術(shù)表達(dá)式,布爾表達(dá)式,控制語句,數(shù)組引用,過程調(diào)用等。
8、理解符號表的作用及符號表組織和使用方法,了解名字的作用范圍,了解符號表中一般應(yīng)包含的內(nèi)容。
三、教學(xué)內(nèi)容及要求
第1章 引論
教學(xué)目的:理解并掌握編譯程序的各個(gè)邏輯階段及各階段的意義、遍的概念。
第2章 高級語言及其語言描述
1.程序語言的定義
2.高級語言的分類
3.語句與控制結(jié)構(gòu)
4.上下文無關(guān)文法
5.語法分析樹與二義性
教學(xué)目的:理解并掌握符號串和符號串集合的相關(guān)概念以及相關(guān)運(yùn)算、上下文無關(guān)文法、推導(dǎo)與歸約、語法分析樹、二義性、形式語言鳥瞰,即四種類型的文法。
第3章 詞法分析
1.詞法分析器的要求
2.詞法分析器的設(shè)計(jì)
3.正規(guī)表達(dá)式
4.有限自動機(jī)
5.詞法分析器的自動產(chǎn)生
教學(xué)目的:理解并掌握詞法分析器的相關(guān)概念、狀態(tài)轉(zhuǎn)換圖、NFA、DFA、NFA與DFA的轉(zhuǎn)換、DFA的化簡、正規(guī)式與正規(guī)集。
第4章 語法分析—自上而下分析
1.語法分析器的功能
2.自上而下分析面臨的問題
3.LL(1)分析法
4.遞歸下降分析程序構(gòu)造
5.預(yù)測分析程序
6.LL(1)分析中的錯(cuò)誤處理
教學(xué)目的:理解并掌握語法分析器的相關(guān)概念、自上而下分析面臨的問題、左遞歸的消除、公共左因子的提取、first集和follow集、LL(1)文法的條件以及LL(1)分析表的構(gòu)造及預(yù)測分析過程。
第5章 語法分析—自下而上分析
1.自下而上分析基本問題
2.算符優(yōu)先分析
3.語法分析器的自動產(chǎn)生工具
教學(xué)目的:理解并掌握算符優(yōu)先分析算法、LR分析步驟、掌握LR(0)分析表、SLR分析表、規(guī)范LR分析表、LALR分析表的畫法。
第6章 屬性文法和語法制導(dǎo)翻譯
1.屬性文法
2.基于屬性文法的處理方法
3.S-屬性文法的自下而上計(jì)算
4.L-屬性文法和自頂而下翻譯
5.自上而下計(jì)算
教學(xué)目的:理解并掌握綜合屬性、繼承屬性、S-屬性文法、L-屬性文法、語法制導(dǎo)定義、翻譯模式。
第7章 語義分析和中間代碼生成
1.中間語言
2.說明語句
3.賦值語句的翻譯
4.Bool表達(dá)式的翻譯
5.控制語句的翻譯
6.過程調(diào)用的處理
7.類型檢查
教學(xué)目的:理解并掌握中間語言的表示形式、布爾表達(dá)式和控制語句的翻譯。
第8章 符號表
1.符號表的組織與作用
2.整理與查找
3.名字的作用與范圍
4.符號表的內(nèi)容
教學(xué)目的:理解并掌握符號表的組織與作用。
四、課程建設(shè)與改革
編譯原理的教學(xué)內(nèi)容涉及大量的理論知識,這些知識比較抽象且邏輯復(fù)雜,如形式語言理論、正規(guī)式、有限自動機(jī)理論、上下文無關(guān)文法、自下而上分析、自上而下分析,屬性文法和語法制導(dǎo)翻譯等。大量的概念、算法和符號很容易使學(xué)生對學(xué)習(xí)產(chǎn)生恐懼心理,而且大量的理論知識與有限的教學(xué)時(shí)間之間的沖突,使得教師很難將所有內(nèi)容都詳細(xì)展開、深入講解。最終導(dǎo)致學(xué)生在學(xué)完整門課程之后,只在表面了解,而不知道各知識點(diǎn)在編譯器中究竟有什么作用。
為了解決上述問題,在課堂教學(xué)中,教師針對學(xué)生情況優(yōu)化和調(diào)整教學(xué)內(nèi)容,避免教師唱“獨(dú)角戲”,強(qiáng)調(diào)學(xué)生的參與性。以“問題”為中心,以“學(xué)習(xí)”為目標(biāo),堅(jiān)持授人以漁的原則,引導(dǎo)學(xué)生、啟發(fā)學(xué)生,調(diào)整教師和學(xué)生在教學(xué)活動中的角色,在維持教師主導(dǎo)地位的同時(shí),強(qiáng)調(diào)學(xué)生的主體地位。根據(jù)編譯原理的特點(diǎn),可以使用兩種教學(xué)模式。一是在教師的組織下,學(xué)生通過問題進(jìn)行學(xué)習(xí),再通過學(xué)習(xí)來解決問題。二是使學(xué)生模擬科學(xué)家從事科研過程的方式,教師不直接參與其中,只在必要時(shí)給予學(xué)生一定的指導(dǎo)。
五、各教學(xué)環(huán)節(jié)學(xué)時(shí)分配
講課 習(xí)題課 討論課 實(shí)驗(yàn) 其他 合計(jì)
第一章 引論 4 0 0 0 0 4
第二章 高級語言及其語言描述 8 0 0 2 0 10
第三章 詞法分析 12 2 0 2 0 16
第四章 語法分析—自上而上分析 10 0 0 4 0 14
第五章 語法分析—自下而上分析 16 0 0 4 0 20
第六章 屬性方法和語法制導(dǎo)翻譯 4 2 0 4 0 10
第七章 語義分析和中間代碼生成 2 0 0 0 0 2
第八章 符號表 1 3 0 0 0 4
合計(jì) 57 7 0 16 0 80
六、考核及成績評定方式
七、教材和參考書目 (黑體,小4號字)
教 材:《程序設(shè)計(jì)語言編譯原理 (第3版)》,陳火旺、劉春林編著,國防工業(yè)出版社,2007年。
參考書目:
(1)陳意云、張昱,編譯原理(第3版),高等教育出版社, 2014
(2)陳意云、張昱,編譯原理習(xí)題精選與解析(第3版),高等教育出版社,2014
(3)Alfred V.Aho,編譯原理,機(jī)械工業(yè)出版社,2009
(4)Alfred V.Aho, Ravi Sethi, Jeffrey D.Ullman, 編譯原理 技術(shù)與工具(英文版), 人民郵電出版社 ,2002
(5)Louden, K.C, 編譯原理及實(shí)踐(英文版), 中信出版社 ,2004
大綱制訂人:
大綱審定人:
制訂日期:
總結(jié)
以上是生活随笔為你收集整理的《编译原理》课程教学大纲的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微软程序员利用测试账户套现千万美元,或面
- 下一篇: 《编译原理》实验教学大纲