複製鏈接
請複製以下鏈接發送給好友

編譯技術

(大連理工大學建設的慕課)

鎖定
編譯技術課程是大連理工大學建設的國家精品在線開放課程、國家級一流本科課程。該課程於2019年6月11日首次在中國大學MOOC開課,授課教師為徐秀娟、賈棋、任志磊、劉馨月。據2023年3月中國大學MOOC官網顯示,該課程已開課9次。 [5-6] 
編譯技術課程共8章,強調對編譯原理和技術的宏觀理解,旨在對介紹編譯器構造的一般原理和基本實現方法,包括詞法分析、語法分析、語法制導的翻譯與運行時存儲等內容。 [5-7] 
中文名
編譯技術
類    別
國家精品在線開放課程、國家級一流本科課程
建設院校
大連理工大學
授課平台
中國大學MOOC
開課時間
2019年06月11日(首次)
授課教師
徐秀娟、賈棋、任志磊、劉馨月

編譯技術課程性質

課程定位
編譯技術課程是計算機的核心技術之一,是軟件工程專業的核心課程。 [5] 

編譯技術開課信息

開課次數
開課時間
授課教師
學時安排
參與人數
第1次開課
2019年06月11日~2019年07月26日
徐秀娟、賈棋、任志磊、劉馨月
3小時每週
1526人
第2次開課
2019年11月04日~2020年01月05日
4-6小時每週
850人
第3次開課
2020年02月24日~2020年05月29日
3-5小時每週
589人
第4次開課
2020年08月31日~2020年12月08日
徐秀娟、賈棋、任志磊
515人
第5次開課
2021年02月25日~ 2021年06月30日
232人
第6次開課
2021年09月03日~2021年11月29日
145人
第7次開課
2022年02月28日~2022年05月20日
159人
第8次開課
2022年09月01日~2022年12月11日
216人
第9次開課
2023年02月21日~2023年05月31日
待定 [5-6] 

編譯技術課程簡介

編譯技術課程共有八章內容。第一章為緒論,簡要介紹編譯器的各個組成部分以及編譯器技術的各種應用,第二章介紹正規式和有限自動機的概念以及詞法分析器的自動生成方法,第三章介紹上下文無關文法的基本概念,詳細介紹適合於手工實現的預測分析技術和自動工具採用的LR分析算法,第四章介紹語義規則和產生式相聯繫的兩種方式:語法制導的定義和語法制導的翻譯方案,第五章介紹在代碼生成之前,靜態的程序正文和運行時的活動之間的聯繫,以及靜態的名字和運行時數據對象之間的綁定關係,第六基於語法制導定義的方法,介紹編程語言的基本結構怎樣被翻譯成獨立於機器的中間表示,第七章介紹代碼生成器所需要解決的問題,通過一個簡單的代碼生成算法理解代碼生成的全過程,第八章介紹如何實現一個簡單的基於Python的編譯器。 [5] 

編譯技術課程大綱

第一章 緒論
1.0 編譯技術-課程簡介
第二章 詞法分析
2.1 詞法分析-詞法記號
2.2 詞法分析-正規式
2.3詞法分析-DFA構建
2.4 詞法分析-有限自動機
第三章 語法分析
3.1 語法分析-預測分析器
3.2 語法分析-LL1
3.3語法分析-LR分析器
3.4 語法分析-first follow
3.5 語法分析-語言和文法
3.6 語法分析-LR
3.7 語法分析-LR分析方法特點
3.8 語法分析-活前綴
3.9語法分析-歸約句柄
3.10 語法分析-SLR
3.11 語法分析-非二義且非LR的上下文無關文法
3.12語法分析-移進歸約分析過程
3.13 語法分析-LALR
3.14語法分析-自上而下分析
第四章 語法制導的翻譯
4.1語法制導的翻譯-棧代碼
4.2 語法制導的翻譯-S屬性的自下而上計算
4.3語法制導的翻譯-L屬性定義
4.4語法制導的翻譯-預測翻譯器的設計
4.5 語法制導的翻譯-屬性文法
4.6語法制導的翻譯-模擬繼承屬性的計算
4.7 語法制導的翻譯-L屬性的自下而上計算
48 語法制導的翻譯-屬性依賴圖和計算次序
4.9 語法制導的翻譯-翻譯方案
第五章 運行時存儲
5.1 運行時存儲-概述
5.2運行時儲存-調用序列
5.3運行時儲存-全局棧式存儲
5.4 運行時儲存-非局部名字
第六章 中間代碼生成
6.1 中間代碼生成-聲明語句-作用域信息
6.2中間代碼生成-中間代碼生成概述
第七章 代碼生成
7.1 代碼生成-代碼生成器的設計中的問題
7.2 代碼生成-目標機器
7.3 代碼生成-基本塊和流圖
7.4 代碼生成-一個簡單的代碼生成器
第八章 一個簡易的編譯器設計與實現
8.1 Scanner
8.2 Parser -1LRItem
8.3 Parser-2ActionGoto
8.4 SA
8.5 SimpleJava
表格參考內容資料: [5] 
開課次數
開課時間
參與人數



編譯技術教學目標

1.能夠説出編譯器的內涵與外延、以及對程序開發的作用。
2.能夠使用正規式、有限自動機進行詞法分析,會使用子集構造法將NFA轉換為DFA。
3.能夠使用自上而下的預測分析法和自下而上的移進歸約分析法進行語法分析。
4.運用S屬性和L屬性定義解決語義分析問題。
5.能理解程序編譯時和運行時的區別,理解運行時存儲空間的組織與分配方法。
6.能充分運用三地址代碼、後綴表示、語法樹解決中間代碼生成問題。
7.能夠複述編譯器的基本結構、編譯器的基本工作原理。
8.該課程列出了若干個討論問題,由學生自己思考討論;通過課程講解,使學生掌握文法與語言、詞法分析、語法分析、語義分析、優化與目標代碼的生成等基礎理論知識。 [5] 

編譯技術學習預備

編譯技術預備知識

已經修完程序設計、離散數學、數據結構、操作系統、等計算機基礎課程。 [5] 

編譯技術學習資料

作者
書籍名稱
出版社
出版時間
陳意雲、張昱
《編譯原理》
高教育出版社
2016年
Alfred V.Aho
《編譯原理》
機械工業出版社
2018年
圖靈出品
《現代編譯原理 C語言描述(修訂版)》
人民郵電出版社
2018年 [5] 

編譯技術所獲榮譽

2020年11月25日,編譯技術課程被中華人民共和國教育部認定為“國家精品在線開放課程”,國家級一流本科課程。 [1] 

編譯技術教師簡介

徐秀娟,副教授,遼寧省教學名師,碩士生導師。 [8] 
賈棋,女,副教授,博士生導師。 [4] 
任志磊,CCF、ACM 會員,中國計算機學會系統軟件專委會執行委員。大連理工大學軟件學院教授,博導,軟件工程研究所副所長。 [2] 
劉馨月,工學博士,大連理工大學軟件學院副教授、博士生導師、碩士生導師。主要從事人工智能、深度學習、機器學習等方面的研究工作。 [3] 
參考資料