91一级特黄大片|婷婷中文字幕在线|av成人无码国产|日韩无码一二三区|久久不射强奸视频|九九九久久久精品|国产免费浮力限制

課程簡介 Course Introduction

本課程主要介紹程序設(shè)計語言編譯程序構(gòu)造的基本原理和基本實現(xiàn)方法。講授形式語言、有限自動機(jī)、自上而下和自下而上的語法分析、LR分析方法、屬性文法和語法制導(dǎo)翻譯、語義分析的代碼產(chǎn)生、存儲器的動態(tài)分配與管理、符號表的組織與管理、優(yōu)化問題、代碼生成等內(nèi)容。通過本課程學(xué)習(xí),使學(xué)生對編譯的基本概念、原理和方法有完整的和清楚的理解,并能正確地、熟練地運(yùn)用。

教學(xué)大綱 Teaching Syllabus

[編譯原理]

本科課程教學(xué)大綱(理工醫(yī)類/電氣學(xué)院)

課程信息

開課單位

電氣與計算機(jī)工程學(xué)院

開課學(xué)年學(xué)期

2020-2021學(xué)年第1學(xué)期

授課年級

18

授課對象專業(yè)

計算機(jī)專業(yè)

課程學(xué)分

3

課程學(xué)時

54

課程性質(zhì)

¨專業(yè)必修 t專業(yè)選修 ¨公共必修 ¨公共選修 ¨成長必修 ¨專業(yè)限選 ¨公共限選

先修課程要求


教師信息

授課教師

張鑒新

聯(lián)系電話

13926195522

答疑地點(diǎn)

2教104

答疑時間

周三14:30-15:30

電子郵件

13273606@qq.com

課程負(fù)責(zé)人:張鑒新 主 審:
一、課程描述及課程目標(biāo)

(一)課程描述

本課程主要講述高級語言翻譯為計算機(jī)能執(zhí)行的代碼的原理、過程、方法和技術(shù),核心是介紹高級語言到匯編語言的翻譯。讓學(xué)生理解編譯和高級語言程序之間的關(guān)系,掌握詞法分析、語法分析、語義分析、中間代碼生成、代碼優(yōu)化和目標(biāo)代碼生成等各個階段的原理、方法和實現(xiàn)技術(shù),真正認(rèn)識計算機(jī)信息處理的實質(zhì)、訓(xùn)練抽象思維能力、體驗系統(tǒng)軟件的開發(fā)過程,進(jìn)一步提升計算機(jī)科學(xué)與技術(shù)的專業(yè)素養(yǎng)。

(二)課程目標(biāo)

1. 掌握形式語言和自動機(jī)的基本概念,理解高級語言編譯的基本原理,并能夠?qū)⑦@些原理應(yīng)用于高級語言的設(shè)計之中;核心能力1

2. 理解編譯程序的結(jié)構(gòu)及各個模塊的功能,利用軟件工程方法分析和設(shè)計某語言的編譯程序的各個模塊,并能夠選擇合適的方法實現(xiàn)。核心能力2

3. 能夠理解現(xiàn)有某高級語言的編譯系統(tǒng)中各模塊的功能和實現(xiàn)方法,能夠?qū)Σ煌椒ǖ膬?yōu)劣進(jìn)行對比和分析;核心能力3

4.能夠主動做好課前預(yù)習(xí)和課后實踐,養(yǎng)成自主學(xué)習(xí)的意識和提高不斷學(xué)習(xí)的能力,核心能力6。

二、課程內(nèi)容

(一)第1講 第一章 編譯原理概述&第二章 文法

主要知識點(diǎn):

1.1 什么叫編譯原理

1.2 編譯原理概述

1.3 符號表管理

1.4 編譯各階段的分組

1.5 編譯技術(shù)的應(yīng)用

2.1 文法預(yù)備知識

2.2 文法非形式的討論

教學(xué)要求:通過本次課程的學(xué)習(xí),使學(xué)生了解編譯原理的基本概念,掌握編譯原理的全過程,清楚各階段的工作內(nèi)容及編譯技術(shù)的應(yīng)用。

重點(diǎn):編譯原理概述。

難點(diǎn):編譯原理概述。

采用的教學(xué)方法:案例法--列舉英文翻譯中文的過程來描述編譯原理各階段.

講授學(xué)時:3學(xué)時

(二)第2講 第二章 文法和語言

主要知識點(diǎn):

2.3 文法和語言的形式定義

2.4 語法樹和二義性文法

2.5 句子的分析

2.6 有關(guān)文法的實用限制

教學(xué)要求:通過本次課程的學(xué)習(xí),使學(xué)生了解文法的基礎(chǔ)知識,掌握文法的定義,最左推導(dǎo)和最右推導(dǎo),語法樹的畫法以及文法是否具有二義性的判斷方法。

重點(diǎn):文法和語言的形式定義、語法樹和二義性文法。

難點(diǎn):文法和語言的形式定義。

采用的教學(xué)方法:案例法--列舉了中文和英文句子的推導(dǎo)過程,從而讓學(xué)生明白文法和語言的定義.

講授學(xué)時:3學(xué)時

(三)第3講 第三章 詞法分析

主要知識點(diǎn):

3.1 詞法分析程序的功能及實現(xiàn)方案

3.2 單詞的種類及詞法分析程序的輸出形式

3.3 正則文法和狀態(tài)圖

3.4 詞法分析程序的設(shè)計與實現(xiàn)

教學(xué)要求:通過本次課程的學(xué)習(xí),使學(xué)生了解詞法分析的主要任務(wù),掌握詞法分析程序的設(shè)計思路,正則文法和狀態(tài)圖相互轉(zhuǎn)換的方法。

重點(diǎn):正則文法和狀態(tài)圖。

難點(diǎn):正則文法和狀態(tài)圖。

采用的教學(xué)方法:案例法。

講授學(xué)時:3學(xué)時

(四)第4講 第三章 詞法分析

主要知識點(diǎn):

3.5 正則表達(dá)式與有窮自動機(jī)

教學(xué)要求:通過本次課程的學(xué)習(xí),使學(xué)生掌握正則表達(dá)式與有窮自動的轉(zhuǎn)換方法。

重點(diǎn):正則表達(dá)式與有窮自動機(jī)。

難點(diǎn):正則表達(dá)式與有窮自動機(jī)。

采用的教學(xué)方法:案例法。

講授學(xué)時:3學(xué)時

(五)第5講 第三章 詞法分析

主要知識點(diǎn):

3.6 正則文法、正則表達(dá)式與有窮自動機(jī)相互轉(zhuǎn)換

教學(xué)要求:通過本次課程的學(xué)習(xí),使學(xué)生掌握正則表達(dá)式與有窮自動的轉(zhuǎn)換方法。

重點(diǎn):正則表達(dá)式與有窮自動機(jī)。

難點(diǎn):正則表達(dá)式與有窮自動機(jī)。

采用的教學(xué)方法:案例法。

講授學(xué)時:3學(xué)時

(六)第6講 第四章 自頂向下語法分析

主要知識點(diǎn):

4.1 自頂向下語法分析的思想

4.2 左遞歸和回溯問題

4.3 遞歸子程序法

教學(xué)要求:通過本次課程的學(xué)習(xí),使學(xué)生了解自頂向下的語法分析方法,對左遞歸和回溯的問題應(yīng)該如何解決,掌握遞歸子程序法。

重點(diǎn):左遞歸和回溯問題、遞歸子程序法。

難點(diǎn):左遞歸和回溯問題。

采用的教學(xué)方法:案例法。

講授學(xué)時:3學(xué)時

(七)第7講 第四章 自頂向下語法分析

主要知識點(diǎn):

4.4 LL(1)分析法

教學(xué)要求:通過本次課程的學(xué)習(xí),使學(xué)生掌握LL1)分析法的總控算法的基本思想,會計算FIRSTFOLLOW集合。

重點(diǎn):計算FIRST、FOLLOW集合。

難點(diǎn):計算FIRST、FOLLOW集合。

采用的教學(xué)方法:案例法。

講授學(xué)時:3學(xué)時

(八)第8講 第四章 自頂向下語法分析

主要知識點(diǎn):

4.4 LL(1)分析法

教學(xué)要求:通過本次課程的學(xué)習(xí),使學(xué)生掌握LL1)分析法的總控算法的基本思想,會計算SELECT集合及構(gòu)造分析表。

重點(diǎn):計算SELECT集合及構(gòu)造分析表。

難點(diǎn):計算SELECT集合及構(gòu)造分析表。

采用的教學(xué)方法:案例法。

講授學(xué)時:3學(xué)時

(九)第9講 第五章 自底向上語法分析

主要知識點(diǎn):

5.1 移進(jìn)-歸約分析

5.2 簡單優(yōu)先分析法

5.3 算符優(yōu)先分析法

教學(xué)要求:通過本次課程的學(xué)習(xí),使學(xué)生了解自底向上的語法分析思想,掌握簡單優(yōu)先和算符優(yōu)先分析法。

重點(diǎn):簡單優(yōu)先分析法、算符優(yōu)先分析法。

難點(diǎn):算符優(yōu)先分析法。

采用的教學(xué)方法:案例法。

講授學(xué)時:3學(xué)時

(十)第10講 第五章 自底向上語法分析

主要知識點(diǎn):

5.4 優(yōu)先函數(shù)

5.5 LR分析法

教學(xué)要求:通過本次課程的學(xué)習(xí),使學(xué)生掌握優(yōu)先函數(shù)和算符優(yōu)先分析法。

重點(diǎn):LR分析法。

難點(diǎn):LR分析法。

采用的教學(xué)方法:案例法。

講授學(xué)時:3學(xué)時

(十一)第11講 第五章 自底向上語法分析

主要知識點(diǎn):

5.6 SLR(1)分析法

5.5 LR1)、LALR分析法

教學(xué)要求:通過本次課程的學(xué)習(xí),使學(xué)生掌握SLR(1)分析法、LR1)和LALR分析法。

重點(diǎn):SLR(1)分析法、LR1)分析法。

難點(diǎn):SLR(1)分析法。

采用的教學(xué)方法:案例法。

講授學(xué)時:3學(xué)時

(十二)第12講 第六章 語法制導(dǎo)翻譯及中間代碼生成

主要知識點(diǎn):

6.1 屬性文法

6.2 語法制導(dǎo)翻譯概述

6.3 中間代碼生成

6.4 簡單賦值語句翻譯

教學(xué)要求:通過本次課程的學(xué)習(xí),使學(xué)生了解屬性文法和語法制導(dǎo)翻譯概述,中間代碼生成的形式,理解簡單賦值語句翻譯的過程。

重點(diǎn):中間代碼生成、簡單賦值語句翻譯。

難點(diǎn):簡單賦值語句翻譯。

采用的教學(xué)方法:案例法。

講授學(xué)時:3學(xué)時

(十三)第13講 第六章 語法制導(dǎo)翻譯及中間代碼生成

主要知識點(diǎn):

6.5 布爾表達(dá)式翻譯

6.6 條件語句翻譯

6.7 說明語句翻譯

6.8 數(shù)組和結(jié)構(gòu)翻譯

教學(xué)要求:通過本次課程的學(xué)習(xí),使學(xué)生理解布爾表達(dá)式、條件語句、說明語句和數(shù)組及結(jié)構(gòu)翻譯的過程。

重點(diǎn):布爾表達(dá)式翻譯。

難點(diǎn):布爾表達(dá)式翻譯。

采用的教學(xué)方法:案例法。

講授學(xué)時:3學(xué)時

(十四)第14講 第七章 符號表管理技術(shù)&第八章 錯誤處理

主要知識點(diǎn):

7.1 符號表概述

7.2 符號表組織與內(nèi)容

7.3 非分程序結(jié)構(gòu)語言的符號表組織

7.4 分程序結(jié)構(gòu)語言的符號表組織

8.1 錯誤分類

8.2 錯誤診察和報告

8.3 錯誤處理技術(shù)

教學(xué)要求:通過本次課程的學(xué)習(xí),使學(xué)生了解符號表管理和錯誤處理技術(shù),能夠區(qū)分非分程序結(jié)構(gòu)語言的符號表組織和分程序結(jié)構(gòu)語言的符號表組織。

重點(diǎn):分程序結(jié)構(gòu)語言的符號表組織、非分程序結(jié)構(gòu)語言的符號表組織。

難點(diǎn):分程序結(jié)構(gòu)語言的符號表組織、非分程序結(jié)構(gòu)語言的符號表組織。

采用的教學(xué)方法:案例法。

講授學(xué)時:3學(xué)時

(十五)第15講 第九章 目標(biāo)程序運(yùn)行時的存儲組織

主要知識點(diǎn):

9.1 數(shù)據(jù)空間三種不同使用方法和管理方法

9.2 棧式存儲分配

9.3 參數(shù)傳遞

教學(xué)要求:通過本次課程的學(xué)習(xí),使學(xué)生了解目標(biāo)程序運(yùn)行時的存儲組織,掌握數(shù)據(jù)空間三種不同使用方法和管理方法和棧式存儲分配。

重點(diǎn):數(shù)據(jù)空間三種不同使用方法和管理方法、棧式存儲分配。

難點(diǎn):數(shù)據(jù)空間三種不同使用方法和管理方法、棧式存儲分配。

采用的教學(xué)方法:案例法。

講授學(xué)時:3學(xué)時

(十六)第16講 第十章 代碼優(yōu)化

主要知識點(diǎn):

10.1 優(yōu)化的例子

10.2 基本塊優(yōu)化

10.3 循環(huán)優(yōu)化

教學(xué)要求:通過本次課程的學(xué)習(xí),使學(xué)生了解代碼優(yōu)化的過程,掌握簡單優(yōu)化的方法。

重點(diǎn):基本塊優(yōu)化、循環(huán)優(yōu)化。

難點(diǎn):基本塊優(yōu)化、循環(huán)優(yōu)化。

采用的教學(xué)方法:案例法。

講授學(xué)時:3學(xué)時

(十七)第17講 第十一章 編譯程序生成方法和工具

主要知識點(diǎn):

11.1 編譯程序的書寫語言

11.2 自編譯性

11.3 自展

11.4 編譯程序的移植

11.5 編譯程序的自動生成

教學(xué)要求:通過本次課程的學(xué)習(xí),使學(xué)生了解編譯程序的書寫語言、自編譯性,對編譯程序如何移植及自動生成有一定了解。

重點(diǎn):自編譯性、編譯程序的移植、編譯程序的自動生成。

難點(diǎn):編譯程序的移植。

采用的教學(xué)方法:案例法。

講授學(xué)時:3學(xué)時

三、課程的預(yù)期學(xué)習(xí)成果

本門課程結(jié)束時,學(xué)生應(yīng)該能夠:

1、正確理解什么是編譯程序;了解編譯程序工作的基本過程及其各階段的基本任務(wù)。

2、正確理解上下文無關(guān)文法基本概念,包括:文法的定義、編寫、句型、句子、語言、語法樹、二義性等;理解三種參數(shù)傳遞方式:傳值、傳地址、傳名的含義。

3、理解詞法分析器功能及形式;熟練掌握詞法分析器設(shè)計的原理,掌握運(yùn)用狀態(tài)轉(zhuǎn)換圖進(jìn)行詞法分析器設(shè)計。

4、正確理解自上而下分析的基本思想;熟練掌握遞歸下降分析基本方法:消除左遞歸,消除回溯,構(gòu)造遞歸下降子程序;掌握預(yù)測分析程序的基本原理和預(yù)測分析表構(gòu)造;理解LL(1)方法的定義。正確理解自下而上語法分析的基本思想,以及歸約、短語、句柄、分析樹等概念;掌握算符優(yōu)先分析基本方法:算符優(yōu)先表和和算符優(yōu)先函數(shù)構(gòu)造技術(shù)。

5、正確理解語法制導(dǎo)翻譯基本原理;掌握基于屬性文法的處理方法,了解自上而下分析制導(dǎo)翻譯基本思想和實現(xiàn)方法。熟悉常見的幾種中間語言:四元式、三元式、逆波蘭表示;掌握各種語句到四元式的翻譯方法,包括:簡單算術(shù)表達(dá)式,布爾表達(dá)式,控制語句,數(shù)組引用,過程調(diào)用等。

6、理解符號表的作用及符號表組織和使用方法,了解名字的作用范圍,了解符號表中一般應(yīng)包含的內(nèi)容。

7、正確理解目標(biāo)程序運(yùn)行進(jìn)存儲空間的使用和組織管理方式;理解靜態(tài)分配和動態(tài)存儲分配基本思想;掌握存儲分配的處理方式;掌握棧式動態(tài)分配中活動記錄的作用、組織、內(nèi)容及使用;了解嵌套過程語言程序運(yùn)行時整個運(yùn)行棧的內(nèi)容的組織。

8、正確理解代碼優(yōu)化的定義和各種可能的優(yōu)化概念;掌握用DAG表示進(jìn)行局部優(yōu)化的方法。

9、正確理解代碼生成過程的基本問題,理解待用信息、寄存器描述和地址描述等概念;掌握簡單代碼生成算法、寄存器分配策略。

四、 課程要求

(一)出勤

學(xué)生應(yīng)積極參與課堂教學(xué)并完成相關(guān)的作業(yè)、實驗內(nèi)容。

(二)閱讀資料

學(xué)生應(yīng)認(rèn)真進(jìn)行課前預(yù)習(xí),閱讀教材和指定參考書及重要的參考文獻(xiàn)。

(三)課堂展示

根據(jù)時間及課堂班人數(shù),在可能的情況下安排小組實驗課程討論與效果演示。

(四)課外實踐

本課程是理論性質(zhì)的課程,不安排項目實踐作為課程內(nèi)容。

(五)小考與期末考

課程中隨機(jī)問答,期末考試。

(六)課程論文

以平時作業(yè)為主。

(七)學(xué)術(shù)誠信

按中山大學(xué)南方學(xué)院相關(guān)規(guī)定執(zhí)行。

(八)剽竊的定義以及相應(yīng)的懲罰

剽竊是嚴(yán)重違反學(xué)校規(guī)章制度的行為。一經(jīng)發(fā)現(xiàn),將上報相關(guān)部門,并受到包 括開除學(xué)籍在內(nèi)的嚴(yán)厲處罰。

五、課程資料

(一)教科書-必讀

黃賢英編著.《編譯原理及實踐教程》(第二版).清華大學(xué)出版社.2019

(二)教科書-強(qiáng)烈推薦

張素琴,呂映芝,蔣維杜,戴桂蘭. 編譯原理[M]. 清華大學(xué)出版社, 2015.6.

勞頓. 編譯原理及實踐[M]. 機(jī)械工業(yè)出版社, 2000.

Alfred V. Aho Monica S.Lam. 編譯原理. 機(jī)械工業(yè)出版社, 2009.

陳意云,張昱.編譯原理(2)高等教育出版社,2008

(三)文章-必讀

周靜?, 張敏? 崔艷利,一種基于c語言詞法分析器的設(shè)計,《中國水運(yùn):學(xué)術(shù)版》?, 2007 , 7 (5) :124-125

(四)文章-強(qiáng)烈推薦

胡榮貴、陳意云、郭帆、張昱,基于類型注解的認(rèn)證編譯器的設(shè)計與實現(xiàn),計算機(jī)研 究與發(fā)展,41(1)pp.28-33,2004.1

(五)其他參考資料

http://staff.ustc.edu.cn/~yiyun/#《編譯原理》教學(xué)資源

六、教學(xué)活動以及對于預(yù)期學(xué)習(xí)成果的評估

(一)教學(xué)活動

1個人預(yù)習(xí)

2、課堂講授

3、課堂問答

4、課后作業(yè)

5課后答疑

6、期末考試

(二)對預(yù)期學(xué)習(xí)成果的考察

預(yù)期學(xué)習(xí)成果

教學(xué)活動

學(xué)習(xí)成果考察內(nèi)容:作業(yè)/課程實驗

第一章 引論

第二章 文法和語言

1、2、3、56

作業(yè):文法左右推導(dǎo)和語法樹

第三章 詞法分析

1、23、45、6

作業(yè):有機(jī)自動機(jī)、正則表達(dá)式與正狀方法相互轉(zhuǎn)換

設(shè)計:詞法分析器

第四章 自頂向下語法分析

1、2、3、45、6

作業(yè):LL1)文法

第五章 自底向上語法分析

1、2、3、4、56

作業(yè):優(yōu)先函數(shù)

第六章語法制導(dǎo)翻譯和中間代碼生成

1、23、45、6

作業(yè):LR(0)SLR(1)、LR(1

第七章 符號表管理技術(shù)

1、2、34、5、6

作業(yè):語義計算

第八章 錯誤處理

12、3、45、6

設(shè)計:詞法分析器

第九章 運(yùn)行時的存儲組織及管理

12、3、4、5、6

設(shè)計:詞法分析器

第十章 代碼優(yōu)化

1、2、3、4、5、6

設(shè)計:詞法分析器

第十一章 編譯程序生成方法和工具

1、2、3、4、5、6

設(shè)計:詞法分析器

七、評估的程序和方法

(一)評分體系

1、出勤率: 10 %

2、課后作業(yè): 40 %

3、期末考試: 50 %

(二)考試內(nèi)容及要求

考試包含以下內(nèi)容:

理論部分

1. 掌握形式語言和自動機(jī)的基本概念,理解高級語言編譯的基本原理,并能夠?qū)⑦@些原理應(yīng)用于高級語言的設(shè)計之中(核心能力1)。

2. 理解編譯程序的結(jié)構(gòu)及各個模塊的功能,利用軟件工程方法分析和設(shè)計某語言的編譯程序的各個模塊,并能夠選擇合適的方法實現(xiàn)(核心能力2)。

3. 能夠理解現(xiàn)有某高級語言的編譯系統(tǒng)中各模塊的功能和實現(xiàn)方法,能夠?qū)Σ煌椒ǖ膬?yōu)劣進(jìn)行對比和分析(核心能力3)。

綜合實踐部分

1.根據(jù)實際問題的需求,按照任務(wù)要求,設(shè)計并完成綜合實驗(核心能力2、3)。

2.能夠按照綜合實驗要求,按時完成綜合實驗,了解業(yè)界在新方法與新技術(shù),并培養(yǎng)良好的職業(yè)習(xí)慣(核心能力6)。

八、教學(xué)進(jìn)度計劃表

周次

課程要點(diǎn)

理論學(xué)時

實驗學(xué)時

習(xí)題學(xué)時

1

第一章 引論

第二章 文法和語言

3



2

第二章 文法和語言

3



3

第三章 詞法分析

3



4

第三章 詞法分析

3



5

第三章 詞法分析

3



6

第四章 自頂向下語法分析

3



7

第四章 自頂向下語法分析

3



8

第四章 自頂向下語法分析

3



9

第五章 自底向上語法分析

3



10

第五章 自底向上語法分析

3



11

第五章 自底向上語法分析

3



12

第六章語法制導(dǎo)翻譯和中間代碼生成

3



13

第六章語法制導(dǎo)翻譯和中間代碼生成

3



14

第七章 符號表管理技術(shù)

第八章 錯誤處理

3



15

第九章 運(yùn)行時的存儲組織及管理

3



16

第十章 代碼優(yōu)化

3



17

第十一章 編譯程序生成方法和工具

3



18

總結(jié)、答疑

3



19





20





總學(xué)時

54



注:此表一式三份,于開學(xué)兩周內(nèi)填好,一份送教務(wù)與科研部,一份開課單位留存,一份自留。


留言板 Message Board
條留言  共

  • 參與互動
    Interaction

  • 掃碼加入課程
    Scan QR Code
教學(xué)隊伍Teaching Members
需要驗證您的身份,請輸入請求信息:
  • 學(xué)學(xué)號號:
  • 班級選擇:
  • 課程密碼:

掃一掃二維碼,快速加入本課程!

放大二維碼 查看使用方法
課程
引導(dǎo)