編譯原理(中國人民解放軍國防科技大學建設的慕課)

編譯原理(中國人民解放軍國防科技大學建設的慕課)

本詞條是多義詞,共17個義項
更多義項 ▼ 收起列表 ▲

編譯原理課程是中國人民解放軍國防科技大學建設的慕課、國家精品課程國家級精品資源共享課國家精品線上開放課程、國家級一流本科課程。該課程於2018年10月08日首次在中國大學MOOC開課,授課教師為王挺、唐晉韜、黃春、李莎莎、劉春林、周會平。據2021年8月中國大學MOOC官網顯示,該課程已運行7學期。

編譯原理課程共二十五章,包括語義分析和中間代碼生成、編譯程式的結構、運行時存儲空間組織、屬性文法和語法制導翻譯、符號表、高級程式設計語言、目標代碼生成等內容。

基本介紹

  • 中文名:編譯原理
  • 類別:慕課、國家精品課程、國家級精品資源共享課、國家精品線上開放課程、國家級一流本科課程
  • 授課平台:中國大學MOOC
  • 開課時間:2018年10月08日(首次)
  • 授課教師:王挺、唐晉韜、黃春、李莎莎、劉春林、周會平
  • 建設院校:中國人民解放軍國防科技大學
課程性質,課程定位,適應專業,課程簡介,課程大綱,開課信息,教學目標,學習預備,預備知識,學習資料,考核標準,所獲榮譽,教師簡介,

課程性質

課程定位

編譯原理課程是計算機科學與技術專業的必修課程,通過對高級語言及其語法描述、詞法分析、語法分析、屬性文法和語法制導翻譯、語義分析和中間代碼產生等內容的學習,使學習者掌握分析、設計、實現和維護編譯系統的能力,了解程式語言和程式執行過程,提高對計算機系統的總體認識。

適應專業

編譯原理課程適合計算機科學與技術等計算機專業學習。

課程簡介

編譯原理課程共二十五章,第一章介紹編譯程式的結構、編譯程式的生成等知識點;第二章講述高級程式設計語言的一般性等內容;第三章介紹語法樹與二義性等知識點;第四章至第六章講述詞法分析器的設計、詞法規則形式化、正規式與有限自動機的等價性等內容;第七章至第九章介紹FIRST和FOLLOW集合構造、構造遞歸下降分析器、預測分析表構造等知識點;第十章至第十三章講述算符優先分析算法、句柄和規範歸約、活前綴、LR分析法等內容;第十四章至第十五章介紹屬性計算、遞歸下降翻譯器設計等知識點;第十六章至第十九章講述常用的中間語言形式、數組元素引用翻譯、帶最佳化翻譯布爾表達式、控制語句的屬性計算等內容;第二十章介紹符號表的組織與操作等知識點;第二十一章至第二十二章講述靜態存儲管理、嵌套過程語言的動態存儲管理等內容;第二十三章至第二十四章介紹局部最佳化、代碼外提等知識點;第二十五章講述待用信息和活躍信息、代碼生成與暫存器分配算法等內容。

課程大綱

第一章 引論
1.1什麼是編譯程式
1.2為什麼要學習編譯原理
1.3編譯過程
1.4編譯程式的結構
1.5編譯程式的生成
1.6小結
第二章 高級程式設計語言概述
2.1常用的高級程式設計語言
2.2程式設計語言的定義
2.3高級程式設計語言的一般特性
2.4小結
第三章 高級程式設計語言的語法描述
3.1上下文無關文法
3.2文法與語言
3.3語法樹與二義性
3.4形式語言鳥瞰
3.5小結
第四章 詞法分析1
4.1詞法分析概述
4.2詞法分析器的設計
4.3小結
第五章 詞法分析2
5.1詞法規則形式化——正規集與正規式
5.2確定有限自動機
5.3非確定有限自動機
5.4小結
第六章 詞法分析3
6.1有限自動機的等價性
6.2正規式與有限自動機的等價性
6.3詞法分析程式自動生成
第1次單元測試
第七章 語法分析——自上而下分析1
7.1自上而下分析的基本問題
7.2LL文法——消除文法的左遞歸
7.3LL文法——消除回溯
7.4FIRST和FOLLOW集合的構造
7.5小結
第八章 語法分析——自上而下分析2
8.1構造遞歸下降分析器
8.2擴充的巴科斯範式和語法圖
8.3JavaCC簡介
8.4小結
第九章 語法分析——自上而下分析3
9.1預測分析程式
9.2預測分析表的構造
9.3小結
第十章 語法分析——自下而上分析1
10.1自下而上分析
10.2短語與直接短語
10.3分析過程描述
10.4算符優先文法
10.5構造優先關係表
10.6算符優先分析算法
10.7小結
第十一章 語法分析——自下而上分析2
11.1句柄和規範歸約
11.2LR分析法
11.3小結
第十二章 語法分析——自下而上分析3
12.1活前綴
12.2構造識別活前綴的DFA
12.3構造LR分析表
12.4小結
第十三章 語法分析——自下而上分析4
13.1SLR分析法
13.2LR分析法
13.3LR分析器產生工具
13.4小結
第2次單元測試
第十四章 屬性文法和語法制導翻譯1
14.1屬性文法
14.2屬性計算
第十五章 屬性文法和語法制導翻譯2
15.1S-屬性文法
15.2L-屬性文法
15.3翻譯模式
15.4遞歸下降翻譯器的設計
15.5小結
第十六章 語義分析和中間代碼生成1
16.1中間語言
16.2常用的中間語言形式
16.3小結
第3次單元測試
第十七章 語義分析和中間代碼生成2
17.1賦值語句的翻譯
17.2數組元素引用的翻譯
17.3類型轉換
17.4小結
第十八章 語義分析和中間代碼生成3
18.1布爾表達式及其計算
18.2按數值表示法翻譯布爾表達式
18.3帶最佳化翻譯布爾表達式
18.4小結
第十九章 語義分析和中間代碼生成4
19.1常用的控制語句
19.2控制語句的屬性文法
19.3控制語句的屬性計算
19.4一遍掃描翻譯控制語句
19.5一遍掃描翻譯控制語句示例
19.6小結
第4次單元測試
第二十章 符號表
20.1符號表的組織與操作
20.2符號表的內容
20.3利用符號表分析名字的作用域
20.4小結
第二十一章 運行時存儲空間組織1
21.1參數傳遞
21.2目標程式運行時的活動
21.3靜態存儲管理
第二十二章 運行時存儲空間組織2
22.1動態存儲管理概述
22.2非嵌套過程語言的動態存儲管理
22.3嵌套過程語言的動態存儲管理-靜態鏈方法
22.4嵌套過程語言的動態存儲管理-Display表方法
22.5小結
第二十三章 最佳化1
23.1最佳化概述
23.2局部最佳化-基本塊劃分
23.3局部最佳化-基本塊最佳化
第二十四章 最佳化2
24.1循環最佳化概述
24.2代碼外提
24.3強度消弱
24.4小結
第二十五章 目標代碼生成
25.1目標代碼生成概述
25.2目標機器模型
25.3簡單代碼生成器
25.4待用信息和活躍信息
25.5變數地址描述和暫存器描述
25.6代碼生成與暫存器分配算法
25.7小結
第5次單元測試
(註:課程大綱排版從左到右排列

開課信息

開課次數
開課時間
授課老師
學時安排
參與人數
第1次開課
2018年10月08日-2019年01月28日
王挺、唐晉韜、黃春、李莎莎、劉春林、周會平
3-5小時每周
10036
第2次開課
2019年03月04日-2019年07月01日
8753
第3次開課
2019年09月02日-2020年01月19日
9505
第4次開課
2020年02月10日-2020年07月20日
王挺、唐晉韜、黃春、李莎莎、周會平
20030
第5次開課
2020年08月31日-2021年01月25日
王挺、唐晉韜、黃春、李莎莎、劉春林、周會平
11952
第6次開課
2021年03月01日-2021年07月26日
13052
第7次開課
2021年08月30日-2022年01月24日
待定
(註:表格內容參考資料

教學目標

通過對編譯原理課程的學習,使學習者達到以下目標:
1、在理解編譯系統的結構、工作流程以及編譯程式各組成部分的設計原理和實現技術的基礎上,獲得分析、設計、實現和維護編譯系統的初步能力。
2、深入理解程式語言和程式執行過程,提高對計算機系統的總體認識。
3、在編譯過程能夠體現抽象、自動化、遞歸等計算思維方法,並且套用於自然語言處理、程式驗證、網路信息處理等領域進行問題求解。

學習預備

預備知識

學習編譯原理課程需要具備電腦程式設計語言和程式設計知識和對數據結構與算法、計算機原理、離散數學等知識有一定了解。

學習資料

書名
作者
出版時間
出版社
《程式設計語言編譯原理》
陳火旺、劉春林
2000年
《Compilers: Principles, Techniques and Tools(Second Edition)》
Alfred V. Aho、 Monica S. Lam、Ravi Sethi、Jeffrey D. Ullman
2006年
Pearson Education
(註:表格內容參考資料

考核標準

編譯原理課程考核評價達到“合格”(達到60分)或“優秀”(達到85分)可以申請“認證證書”。

所獲榮譽

2007年11月27日,編譯原理課程被中華人民共和國教育部認定為“國家精品課程”。
2016年6月28日,編譯原理課程被中華人民共和國教育部認定為“第一批國家級精品資源共享課”。
2019年,編譯原理課程被中華人民共和國教育部認定為“國家精品線上開放課程”。
2020年11月24日,編譯原理課程被中華人民共和國教育部認定為“首批國家級一流本科課程”。

教師簡介

王挺,中國人民解放軍國防科技大學教授,承擔編譯原理、人工智慧導論、自然語言處理等課程教學工作。
唐晉韜,中國人民解放軍國防科技大學副教授,承擔大學計算機基礎、全球資訊網上的計算科學等課程教學工作。
黃春,中國人民解放軍國防科技大學研究員,從事計算機系統軟體的教學和科研工作。
李莎莎,中國人民解放軍國防科技大學計算機學院講師,從事人工智慧、數據挖掘等方面的教學和研究工作。
劉春林,中國人民解放軍國防科技大學教授,從事程式語言與編譯、數字圖書館等方向的研究工作。
周會平,中國人民解放軍國防科技大學副教授,承擔編譯原理、電腦程式設計、數據結構等課程教學工作。

相關詞條

熱門詞條

聯絡我們