版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、Tsinghua編譯原理編譯原理課程研討課程研討 ()()王生原王生原 董淵董淵 張素琴張素琴 課程教學小組成員課程教學小組成員 承擔的課程承擔的課程 ()()形式語言及其與自動機的關系形式語言及其與自動機的關系編譯原理與技術編譯原理與技術編譯原理專題實踐編譯原理專題實踐軟件工程軟件工程Tsinghua編譯原理編譯原理課程研討題目課程研討題目 ()()課程定位課程定位 ( (學生學生明確明確學習目標學習目標, ,教師教師明確明確功底要求功底要求) )課程大綱課程大綱編譯原理講稿第一章編譯原理講稿第一章實驗和實踐實驗和實踐Tsinghua編譯原理編譯原理課程研討課程研討- 計算機專業(yè)主干課計算機
2、專業(yè)主干課 編譯程序編譯程序/ /系統(tǒng)是計算機系統(tǒng)的核心支撐軟件系統(tǒng)是計算機系統(tǒng)的核心支撐軟件 貫穿程序語言、系統(tǒng)環(huán)境(平臺)、體系結構貫穿程序語言、系統(tǒng)環(huán)境(平臺)、體系結構 聯(lián)系計算機科學和計算機系統(tǒng)的典范聯(lián)系計算機科學和計算機系統(tǒng)的典范- 專業(yè)工作者必備的基本技能專業(yè)工作者必備的基本技能 編譯原理的知識影響到專業(yè)人員的素質編譯原理的知識影響到專業(yè)人員的素質 除編譯程序外有大量專業(yè)工作與編譯技術相關除編譯程序外有大量專業(yè)工作與編譯技術相關 課程性質與定位課程性質與定位Tsinghua編譯原理編譯原理課程研討課程研討 教學目的要求教學目的要求- 深入深入理解理解編譯程序設計與實現的編譯程序設
3、計與實現的基本原理基本原理 - 靈活靈活掌握掌握常用語言機制的常用語言機制的實現技術實現技術- 經歷開發(fā)一個經歷開發(fā)一個小型編譯程序小型編譯程序的主要階段的主要階段- 具有具有使用構造工具使用構造工具開發(fā)編譯程序的經驗開發(fā)編譯程序的經驗- 會將所學的會將所學的通用方法和技術應用通用方法和技術應用于類似于類似 軟件的設計和實現中軟件的設計和實現中Tsinghua 教學形式教學形式- 課內學習和課外學習課內學習和課外學習內容互補內容互補編譯原理編譯原理課程研討課程研討原理原理 + + 技術技術 + + 工具工具課內課內課外課外Tsinghua 教學內容教學內容- 課堂教學體現課程的知識體系課堂教學
4、體現課程的知識體系 編譯程序編譯程序/系統(tǒng)概述系統(tǒng)概述 詞法和語法分析基礎詞法和語法分析基礎 自頂向下語法分析自頂向下語法分析 自底向上語法分析自底向上語法分析 語法制導的語義處理基礎語法制導的語義處理基礎 符號表組織符號表組織 靜態(tài)語義分析靜態(tài)語義分析 中間代碼生成中間代碼生成 運行時存儲組織運行時存儲組織 目標代碼生成目標代碼生成 代碼優(yōu)化代碼優(yōu)化 編譯原理編譯原理課程研討課程研討Tsinghua方案方案1: 1:全面剖析全面剖析PL/0PL/0的結構和實現的結構和實現, , 系統(tǒng)講解原理和方法系統(tǒng)講解原理和方法方案方案2: 2:按編譯程序結構講解按編譯程序結構講解 PL/0PL/0各部分
5、為實例各部分為實例, , 補充其他補充其他重要原理和方法重要原理和方法方案方案3:3:全面剖析全面剖析PL/0PL/0的結構和實現的結構和實現, , 補充其他重要原理和方法補充其他重要原理和方法編譯原理編譯原理課程研討課程研討Tsinghua 教學內容教學內容- 課堂教學體現課程的知識體系課堂教學體現課程的知識體系 編譯程序編譯程序/系統(tǒng)概述系統(tǒng)概述 詞法和語法分析基礎詞法和語法分析基礎 自頂向下語法分析自頂向下語法分析 自底向上語法分析自底向上語法分析 語法制導的語義處理基礎語法制導的語義處理基礎 符號表組織符號表組織 靜態(tài)語義分析靜態(tài)語義分析 中間代碼生成中間代碼生成 運行時存儲組織運行時
6、存儲組織 目標代碼生成目標代碼生成 代碼優(yōu)化代碼優(yōu)化 編譯原理編譯原理課程研討課程研討Tsinghua 教學內容教學內容- 課堂教學體現課程的知識體系課堂教學體現課程的知識體系 編譯程序編譯程序/系統(tǒng)概述系統(tǒng)概述 詞法和語法分析基礎詞法和語法分析基礎 自頂向下語法分析自頂向下語法分析 自底向上語法分析自底向上語法分析 語法制導的語義處理基礎語法制導的語義處理基礎 符號表組織符號表組織 靜態(tài)語義分析靜態(tài)語義分析 中間代碼生成中間代碼生成 運行時存儲組織運行時存儲組織 目標代碼生成目標代碼生成 代碼優(yōu)化代碼優(yōu)化 基本概念 邏輯結構 組織方式 伙伴程序 生成環(huán)境 發(fā)展綜述 PL/0編譯器 導讀編譯原
7、理編譯原理課程研討課程研討Tsinghua 教學內容教學內容- 課堂教學體現課程的知識體系課堂教學體現課程的知識體系 編譯程序編譯程序/系統(tǒng)概述系統(tǒng)概述 詞法和語法分析基礎詞法和語法分析基礎 自頂向下語法分析自頂向下語法分析 自底向上語法分析自底向上語法分析 語法制導的語義處理基礎語法制導的語義處理基礎 符號表組織符號表組織 靜態(tài)語義分析靜態(tài)語義分析 中間代碼生成中間代碼生成 運行時存儲組織運行時存儲組織 目標代碼生成目標代碼生成 代碼優(yōu)化代碼優(yōu)化 1以形式語言、文法為基礎的一般性方法與原理 2詞法分析器的構造 編譯原理編譯原理課程研討課程研討Tsinghua 教學內容教學內容- 課堂教學體現
8、課程的知識體系課堂教學體現課程的知識體系 編譯程序編譯程序/系統(tǒng)概述系統(tǒng)概述 詞法和語法分析基礎詞法和語法分析基礎 自頂向下語法分析自頂向下語法分析 自底向上語法分析自底向上語法分析 語法制導的語義處理基礎語法制導的語義處理基礎 符號表組織符號表組織 靜態(tài)語義分析靜態(tài)語義分析 中間代碼生成中間代碼生成 運行時存儲組織運行時存儲組織 目標代碼生成目標代碼生成 代碼優(yōu)化代碼優(yōu)化 以 LL(1) 分析方法及實現技術為主線遞歸下降表驅動 編譯原理編譯原理課程研討課程研討Tsinghua 教學內容教學內容- 課堂教學體現課程的知識體系課堂教學體現課程的知識體系 編譯程序編譯程序/系統(tǒng)概述系統(tǒng)概述 詞法和
9、語法分析基礎詞法和語法分析基礎 自頂向下語法分析自頂向下語法分析 自底向上語法分析自底向上語法分析 語法制導的語義處理基礎語法制導的語義處理基礎 符號表組織符號表組織 靜態(tài)語義分析靜態(tài)語義分析 中間代碼生成中間代碼生成 運行時存儲組織運行時存儲組織 目標代碼生成目標代碼生成 代碼優(yōu)化代碼優(yōu)化 以 LR 系列分析方法及實現技術為主線移進歸約、分析表、 LR(0)、SLR(0)、 LR(1)、LALR(1)、 強制二義性消除 編譯原理編譯原理課程研討課程研討Tsinghua 教學內容教學內容- 課堂教學體現課程的知識體系課堂教學體現課程的知識體系 編譯程序編譯程序/系統(tǒng)概述系統(tǒng)概述 詞法和語法分析
10、基礎詞法和語法分析基礎 自頂向下語法分析自頂向下語法分析 自底向上語法分析自底向上語法分析 語法制導的語義處理基礎語法制導的語義處理基礎 符號表組織符號表組織 靜態(tài)語義分析靜態(tài)語義分析 中間代碼生成中間代碼生成 運行時存儲組織運行時存儲組織 目標代碼生成目標代碼生成 代碼優(yōu)化代碼優(yōu)化 基于屬性文法和翻譯模式進行語義處理的基本原理及實現技術 編譯原理編譯原理課程研討課程研討Tsinghua 教學內容教學內容- 課堂教學體現課程的知識體系課堂教學體現課程的知識體系 編譯程序編譯程序/系統(tǒng)概述系統(tǒng)概述 詞法和語法分析基礎詞法和語法分析基礎 自頂向下語法分析自頂向下語法分析 自底向上語法分析自底向上語
11、法分析 語法制導的語義處理基礎語法制導的語義處理基礎 符號表組織符號表組織 靜態(tài)語義分析靜態(tài)語義分析 中間代碼生成中間代碼生成 運行時存儲組織運行時存儲組織 目標代碼生成目標代碼生成 代碼優(yōu)化代碼優(yōu)化 強調作用域及其組織方式 編譯原理編譯原理課程研討課程研討Tsinghua 教學內容教學內容- 課堂教學體現課程的知識體系課堂教學體現課程的知識體系 編譯程序編譯程序/系統(tǒng)概述系統(tǒng)概述 詞法和語法分析基礎詞法和語法分析基礎 自頂向下語法分析自頂向下語法分析 自底向上語法分析自底向上語法分析 語法制導的語義處理基礎語法制導的語義處理基礎 符號表組織符號表組織 靜態(tài)語義分析靜態(tài)語義分析 中間代碼生成中
12、間代碼生成 運行時存儲組織運行時存儲組織 目標代碼生成目標代碼生成 代碼優(yōu)化代碼優(yōu)化 以靜態(tài)類型檢查程序為重點 編譯原理編譯原理課程研討課程研討Tsinghua 教學內容教學內容- 課堂教學體現課程的知識體系課堂教學體現課程的知識體系 編譯程序編譯程序/系統(tǒng)概述系統(tǒng)概述 詞法和語法分析基礎詞法和語法分析基礎 自頂向下語法分析自頂向下語法分析 自底向上語法分析自底向上語法分析 語法制導的語義處理基礎語法制導的語義處理基礎 符號表組織符號表組織 靜態(tài)語義分析靜態(tài)語義分析 中間代碼生成中間代碼生成 運行時存儲組織運行時存儲組織 目標代碼生成目標代碼生成 代碼優(yōu)化代碼優(yōu)化 以常用語言機制的實現技術為主
13、線 編譯原理編譯原理課程研討課程研討Tsinghua 教學內容教學內容- 課堂教學體現課程的知識體系課堂教學體現課程的知識體系 編譯程序編譯程序/系統(tǒng)概述系統(tǒng)概述 詞法和語法分析基礎詞法和語法分析基礎 自頂向下語法分析自頂向下語法分析 自底向上語法分析自底向上語法分析 語法制導的語義處理基礎語法制導的語義處理基礎 符號表組織符號表組織 靜態(tài)語義分析靜態(tài)語義分析 中間代碼生成中間代碼生成 運行時存儲組織運行時存儲組織 目標代碼生成目標代碼生成 代碼優(yōu)化代碼優(yōu)化 存儲布局,存儲分配策略,活動記錄,過程實現,面向對象程序 存儲組織, 編譯原理編譯原理課程研討課程研討Tsinghua 教學內容教學內容
14、- 課堂教學體現課程的知識體系課堂教學體現課程的知識體系 編譯程序編譯程序/系統(tǒng)概述系統(tǒng)概述 詞法和語法分析基礎詞法和語法分析基礎 自頂向下語法分析自頂向下語法分析 自底向上語法分析自底向上語法分析 語法制導的語義處理基礎語法制導的語義處理基礎 符號表組織符號表組織 靜態(tài)語義分析靜態(tài)語義分析 中間代碼生成中間代碼生成 運行時存儲組織運行時存儲組織 目標代碼生成目標代碼生成 代碼優(yōu)化代碼優(yōu)化 以簡單但完整的指令選擇、寄存器分配過程為主線 編譯原理編譯原理課程研討課程研討Tsinghua 教學內容教學內容- 課堂教學體現課程的知識體系課堂教學體現課程的知識體系 編譯程序編譯程序/系統(tǒng)概述系統(tǒng)概述
15、詞法和語法分析基礎詞法和語法分析基礎 自頂向下語法分析自頂向下語法分析 自底向上語法分析自底向上語法分析 語法制導的語義處理基礎語法制導的語義處理基礎 符號表組織符號表組織 靜態(tài)語義分析靜態(tài)語義分析 中間代碼生成中間代碼生成 運行時存儲組織運行時存儲組織 目標代碼生成目標代碼生成 代碼優(yōu)化代碼優(yōu)化 以基本塊內的簡單優(yōu)化方法、控制流數據流分析基礎等代碼生成和優(yōu)化相關的基本知識為主線,輔以優(yōu)化技術的綜述 】 編譯原理編譯原理課程研討課程研討Tsinghua 實驗和實踐實驗和實踐- 實驗教學實驗教學 實現一個簡單的面向對象語言實現一個簡單的面向對象語言 一個強類型單繼承面向對象語言一個強類型單繼承面
16、向對象語言 Decaf / MindDecaf / Mind 讀懂并改寫一個小型編譯程序讀懂并改寫一個小型編譯程序 一個單遍的一個單遍的 PL/0 語言編譯程序語言編譯程序編譯原理編譯原理課程研討課程研討Tsinghua- 實驗教學實驗教學手工編寫或使用工具實現手工編寫或使用工具實現PL/0PL/0擴充編譯器擴充編譯器( (見見WORDWORD文檔文檔- -三種安排三種安排:MAO,GONG:MAO,GONG和和YANG)YANG)編譯原理編譯原理課程研討課程研討Tsinghua- 實驗教學實驗教學Phase 1 Phase 1 借助借助 LexLex 和和 YaccYacc 實現詞法和語法分
17、析實現詞法和語法分析 一遍掃描后產生一種高級中間表示一遍掃描后產生一種高級中間表示 (實驗指定的抽象語法樹)(實驗指定的抽象語法樹)Phase 2Phase 2 遍歷抽象語法樹構造符號表、實現靜態(tài)語遍歷抽象語法樹構造符號表、實現靜態(tài)語 義分析,產生帶標注的抽象語法樹義分析,產生帶標注的抽象語法樹Phase 3Phase 3 從帶標注的抽象語法樹生成從帶標注的抽象語法樹生成 TAC TAC 中間表示中間表示 (可轉成(可轉成MIPS MIPS 匯編碼在匯編碼在SPIM SPIM 模擬器上運行模擬器上運行) Phase 4Phase 4 基于基于 TAC TAC 實現一些簡單的數據流實現一些簡單的
18、數據流 分析分析 Decaf / MindDecaf / Mind ProjectProject編譯原理編譯原理課程研討課程研討Tsinghua編譯原理專題實踐編譯原理專題實踐- 面向業(yè)界的實用技術面向業(yè)界的實用技術- 選做實際項目選做實際項目編譯原理編譯原理課程研討課程研討 GCC 分析分析 GNU 工具鏈工具鏈 (分析與使用)(分析與使用) Open64 分析分析- 其他專題其他專題Tsinghua編譯原理編譯原理課程研討課程研討 課程的主要目的:課程的主要目的:進一步掌握編譯系統(tǒng)的基本原理進一步掌握編譯系統(tǒng)的基本原理;介紹軟件從高級語言源代碼到可執(zhí)行代碼的整個翻譯介紹軟件從高級語言源代碼
19、到可執(zhí)行代碼的整個翻譯過程和相關的開源工具使用,掌握基本工具;過程和相關的開源工具使用,掌握基本工具;以以GCC為例,剖析編譯器整體框架和編譯的一般流程為例,剖析編譯器整體框架和編譯的一般流程和主要活動;通過對編譯優(yōu)化方法原理和實現技術的和主要活動;通過對編譯優(yōu)化方法原理和實現技術的介紹,使學生可以有針對性地改善代碼風格;介紹,使學生可以有針對性地改善代碼風格;通過對國際上流行的開源編譯系統(tǒng)通過對國際上流行的開源編譯系統(tǒng)GCC的分析和實驗的分析和實驗,達到達到能夠獨立分析和改進編譯系統(tǒng)軟件的水平,具有能夠獨立分析和改進編譯系統(tǒng)軟件的水平,具有獨立承擔科研任務的能力。獨立承擔科研任務的能力。建立
20、計算機系統(tǒng)的概念,覆蓋多門課程交界的地方建立計算機系統(tǒng)的概念,覆蓋多門課程交界的地方以以GCC項目為例,熟悉自由軟件開發(fā)方法和項目實例項目為例,熟悉自由軟件開發(fā)方法和項目實例Tsinghua編譯原理編譯原理課程研討課程研討內容安排:遵循科研工作的一般活動規(guī)律內容安排:遵循科研工作的一般活動規(guī)律1 1)收集、查閱相關文獻資料)收集、查閱相關文獻資料2 2)熟悉工具和工作對象)熟悉工具和工作對象3 3)提出問題、初步方案并進行可行性評估)提出問題、初步方案并進行可行性評估4 4)實際研究、開發(fā),根據實際情況修改方)實際研究、開發(fā),根據實際情況修改方案,不斷推進案,不斷推進5 5)測試和評估)測試和
21、評估6 6)總結報告)總結報告Tsinghua編譯原理專題實踐編譯原理專題實踐特點特點- 將程序語言編譯原理和技術應用于實踐,將程序語言編譯原理和技術應用于實踐,注重動手能力的培養(yǎng)注重動手能力的培養(yǎng)-同學同學根據興趣和精力根據興趣和精力提出自選實驗題目來培提出自選實驗題目來培養(yǎng)創(chuàng)新精神養(yǎng)創(chuàng)新精神編譯原理編譯原理課程研討課程研討 操作系統(tǒng)操作系統(tǒng) 體系結構體系結構 程序設計語言程序設計語言 軟件工程軟件工程- 注重多學科多課程內容交叉注重多學科多課程內容交叉Tsinghua 課程體系需要不斷更新與完善課程體系需要不斷更新與完善- 內容取材非常廣泛內容取材非常廣泛 原理與方法原理與方法 語言特征語
22、言特征 高級話題高級話題詞法分析語法分析語義分析符號表中間表示運行時組織代碼優(yōu)化目標代碼生成面臨挑戰(zhàn)面臨挑戰(zhàn)Tsinghua- 內容取材非常廣泛內容取材非常廣泛 原理與方法原理與方法 語言特征語言特征 高級話題高級話題a. 傳統(tǒng)的語言特征 b. 特殊的語言特征 c. 不同的語言范型: 面向過程語言 面向對象語言 函數式語言 邏輯式語言 并發(fā)語言 面向側面語言 課程體系需要不斷更新與完善課程體系需要不斷更新與完善面臨挑戰(zhàn)面臨挑戰(zhàn)Tsinghua- 內容取材非常廣泛內容取材非常廣泛 原理與方法原理與方法 語言特征語言特征 高級話題高級話題優(yōu)化方法專題優(yōu)化方法專題高性能專題重定向專題陳述式語言專題陳
23、述式語言專題面向對象語言專題面向對象語言專題編譯基礎設施專題基于語言的應用專題 課程體系需要不斷更新與完善課程體系需要不斷更新與完善面臨挑戰(zhàn)面臨挑戰(zhàn)Tsinghua追求目標 編譯原理是計算機系本科生的專業(yè)基礎課程(必修),堅持不懈的建設(主講教師和助教團隊團結協(xié)作、認真負責)。 課程建設的指導思想:(1)堅持知識體系的基礎性,強調基本理論的深入理解和基本技能的優(yōu)化培養(yǎng) ;(2)其次是堅持知識體系的系統(tǒng)性,強調知識點的連貫性和完備性;(3)堅持知識體系的先進性,跟蹤著名大學同類課程的發(fā)展變化,同時注重自主創(chuàng)新,開創(chuàng)教學與科研結合的新途徑 ;(4)堅持知識體系的簡明性,強調知識體系層次化、立體化,做到較高程度的可擴充性;(5)堅持精講多練的原則,精化課堂教學,提高實驗質量。 一直將基礎部分作為重點教學內容。在重視基礎知識和技能的同時,本課程也在不斷地更新教學內容,以保持其前沿性和時代性。近幾年的工作體現在:實驗內容的主體從過程式源語言的實現過渡到了面向對象源語言的實現;加強了語義處理基礎的講解,增強了前后端知識的連貫性,并逐步增加后端構造技術所占的比例。Tsinghua爭取教學的特色爭取教學的特色 基礎理論有系統(tǒng)性 與形式語言與自動機課程密切聯(lián)系;語法制導的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年統(tǒng)編版九年級歷史下冊階段測試試卷含答案
- 2025年人教A新版七年級物理下冊階段測試試卷含答案
- 2025年浙教版選擇性必修1語文上冊月考試卷含答案
- 2025年度綠色生態(tài)公園內外裝修與景觀設計合同4篇
- 個性化教育服務合同2024年版版B版
- 二零二五版農產品加工企業(yè)原料供應合同4篇
- 二零二五年度出租車行業(yè)信息化建設合同12篇
- 二零二五年度出租車經營權轉讓與市場拓展合同3篇
- 二零二五出租車行業(yè)股權投資與業(yè)務整合合同3篇
- 2025年度露天采礦安全生產責任承包合同3篇
- 消防產品目錄(2025年修訂本)
- 地方性分異規(guī)律下的植被演替課件高三地理二輪專題復習
- 光伏項目風險控制與安全方案
- 9.2提高防護能力教學設計 2024-2025學年統(tǒng)編版道德與法治七年級上冊
- 催收培訓制度
- ISO 22003-1:2022《食品安全-第 1 部分:食品安全管理體系 審核與認證機構要求》中文版(機翻)
- 2024年廣東省高考地理真題(解析版)
- 2024高考物理廣東卷押題模擬含解析
- 人教版五年級上冊數學簡便計算大全600題及答案
- GB/T 15945-1995電能質量電力系統(tǒng)頻率允許偏差
- GB 32311-2015水電解制氫系統(tǒng)能效限定值及能效等級
評論
0/150
提交評論