5探討面向工程師教育的編譯課程教學(xué)(張莉)_第1頁
5探討面向工程師教育的編譯課程教學(xué)(張莉)_第2頁
5探討面向工程師教育的編譯課程教學(xué)(張莉)_第3頁
5探討面向工程師教育的編譯課程教學(xué)(張莉)_第4頁
5探討面向工程師教育的編譯課程教學(xué)(張莉)_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、 張 莉北京航空航天大學(xué)2011. 5第二屆全國編譯課程教學(xué)研討會 探討面向工程師教育的編譯課程教學(xué) -編譯課程中的工程實踐能力培養(yǎng)內(nèi) 容工科院校培養(yǎng)定位對卓越工程師計劃的理解工程師教育:對編譯課程教學(xué)的理解和實踐對卓越工程師計劃的理解作為一所工科為主的院校的教師的思考什么是“工程師教育”什么是工程師?職稱,in china作為一種學(xué)歷教育,一種教學(xué)模式,工程師教育的含義是什么?卓越工程師計劃需要培養(yǎng)什么樣的人才?卓越工程師的人才培養(yǎng)定位?卓越工程師計劃需要培養(yǎng)什么樣的人才?具備解決工程問題能力的人才什么是工程項目、工程問題?曾經(jīng)的“第一顆原子彈項目”是!目前的“大飛機(jī)”項目是!磁懸浮火車的研

2、制也是!銀河計算機(jī)、天河計算機(jī)都是!“龍芯1號”、“龍芯2號”、“龍芯3號”都是!因此,工程項目的特點:目標(biāo)明確,具體實現(xiàn)過程,往往需要創(chuàng)造性的解決問題,同樣需要創(chuàng)新,更需要團(tuán)隊合作與科學(xué)研究的不同如研究鳥的飛行原理;蒼蠅飛行的靈活性是科學(xué)研究,觀察自然,探索未知。特點:結(jié)果可不預(yù)期一旦取得成果,可服務(wù)于工程項目,有可能取得突破性進(jìn)展,取得原始創(chuàng)新。創(chuàng)新的幾個層次科學(xué)/基礎(chǔ)研究:發(fā)現(xiàn)規(guī)律,探索未知工程/技術(shù)研究:解決具體問題,有預(yù)期目標(biāo)科學(xué)研究:只有第一,沒有第二技術(shù):沒有最好,只有更好卓越的法國工程師教育A拿破侖創(chuàng)立、專門的工程師學(xué)校、教育精英化、工程治國B建立最早:1747年巴黎高等橋路學(xué)

3、校。工程師學(xué)校小而精C法國56位諾貝爾獎、自然科學(xué)領(lǐng)域19人,其中13人畢業(yè)于高等工程師學(xué)校法國工程師教育是法國獨一無二的精英教育 其它國家美國“2020年的工程師”教育計劃,指出了美國2020年工程師的培養(yǎng)目標(biāo),即美國2020年工程師應(yīng)具備的素質(zhì):分析能力強;實用技能;創(chuàng)造力(發(fā)明、創(chuàng)新、藝術(shù)感);良好的溝通能力;精通企業(yè)管理原則;領(lǐng)導(dǎo)能力;崇高的道德標(biāo)準(zhǔn);強烈的事業(yè)心;有活力、夠靈活、適應(yīng)能力強、彈性大;具有終身學(xué)習(xí)意識。探討面向工程教育的編譯課程教學(xué)編譯課程教學(xué)針對的是典型的工程問題實踐項目目標(biāo)明確:開發(fā)一個小型編譯器特點:解決具體問題,有預(yù)期目標(biāo)編譯課程的培養(yǎng)目標(biāo) -工程方面教會學(xué)生解

4、決問題的方法再尋求更好的方法、更好的結(jié)果如何做一個編譯器如何更容易地去做編譯器如何做一個更好的編譯器解決問題的步驟首先分析問題:什么是編譯?編譯的本質(zhì)是什么?是翻譯、是轉(zhuǎn)化也就是要完成從程序一種語言形式到另一種語言形式的轉(zhuǎn)化:編譯時從高級語言程序到低級語言程序的等價轉(zhuǎn)化問題細(xì)化:理解高級語言程序(源程序)了解目標(biāo)程序及其運行環(huán)境實現(xiàn)翻譯詞法分析、語法分析、語義分析中間代碼(目標(biāo)代碼)、運行時的存儲分配實現(xiàn)翻譯:屬性翻譯、符號表、出錯處理一個編譯過程需要的知識文法的基本知識詞法分析(根據(jù)狀態(tài)圖編寫程序)不需要講自動機(jī)理論,僅占教材詞法分析約1/3的內(nèi)容語法分析(遞歸子程序法)沒有復(fù)雜的理論和算法

5、,最簡單的一種分析法中間代碼、符號表、存儲分配、出錯處理屬性翻譯文法、語法制導(dǎo)的翻譯(遞歸子程序法)編譯過程詞法分析語法分析語義分析、生成中間代碼生成目標(biāo)程序 詞法分析程序:狀態(tài)圖,手工編寫程序 語法分析程序:遞歸子程序法,編寫程序 語義分析和代碼生成:語法制導(dǎo)的翻譯(屬性翻譯文法)完成了一個翻譯過程如果只生成中間代碼(偽代碼): “編譯-解釋執(zhí)行”系統(tǒng)源程序編譯程序中間代碼(偽代碼)解釋程序輸出數(shù)據(jù)輸入數(shù)據(jù)第二步我們已經(jīng)可以做一個編譯了如何做更好的編譯現(xiàn)有方法的局限性:如何處理更復(fù)雜的文法LR(0)LL(0)SLRLALR(1)LL(1)LR(1)LL(k)LR(k)Unambiguous

6、GrammarsAmbiguousGrammars不同文法類的層次結(jié)構(gòu)第三步如何更容易地編寫編譯系統(tǒng),更好的可靠性編譯的自動生成技術(shù)自動機(jī)和詞法分析程序的自動生成技術(shù)語法分析的自動生成技術(shù)第四章 語法分析語法分析方法自頂向下分析法自底向上分析法 (1) 遞歸子程序法(2) LL(1)分析法 (算法和自動生成)(1)算符優(yōu)先分析法 (算法和自動生成)(2)LR分析法(算法和自動生成-YACC)復(fù)雜的理論在做什么?詞法分析語法分析語義分析、生成中間代碼生成目標(biāo)程序 詞法分析程序:狀態(tài)圖,手工編寫程序 語法分析程序:遞歸子程序法,編寫程序 語義分析和代碼生成:語法制導(dǎo)的翻譯(屬性翻譯文法)詞法分析程

7、序的自動生成:有窮自動機(jī),LEX自頂向下分析法:自底向上分析法第四步如何獲得更好的結(jié)果編譯優(yōu)化技術(shù)進(jìn)一步的提高要求:優(yōu)化詞法分析語法分析語義分析、生成中間代碼代碼優(yōu)化生成目標(biāo)程序 詞法分析程序:狀態(tài)圖,手工編寫程序 語法分析程序:遞歸子程序法,編寫程序 語義分析和代碼生成:語法制導(dǎo)的翻譯(屬性翻譯文法)詞法分析程序的自動生成:有窮自動機(jī),LEX自頂向下分析法、自底向上分析法中間代碼層的優(yōu)化針對特定體系結(jié)構(gòu)的優(yōu)化搭起了軟件和硬件之間的橋梁小結(jié):課程內(nèi)容的組織圖1 編譯過程和知識點組織遞歸子程序法狀態(tài)圖及詞法分析程序?qū)崿F(xiàn)語法制導(dǎo)翻譯語義分析中間代碼正則文法有窮自動機(jī)、LEXLL(1)分析法算符優(yōu)先

8、、LR分析法代碼優(yōu)化目標(biāo)代碼生成文法和語言的概念和表示符號表管理錯誤處理運行時存儲組織管理生產(chǎn)目標(biāo)程序代碼優(yōu)化語義分析生成中間代碼語法分析詞法分析我們的嘗試北航作為一門工科院校,強調(diào)工程技術(shù)課程名稱:編譯技術(shù)教材:編譯原理及編譯程序構(gòu)造課程培養(yǎng)目標(biāo):掌握編譯的基本理論、常用的編譯技術(shù),了解編譯過程及編譯系統(tǒng)的構(gòu)造(結(jié)構(gòu)和機(jī)理)。能運用所學(xué)技術(shù)解決實際問題,能獨立編寫一個小型編譯系統(tǒng)(不同難度)。我們的嘗試以前:我們都講,但是是按照傳統(tǒng)的順序講。講完詞法分析、講語法分析、講屬性翻譯文法、再講符號表、存儲分配、。但是:學(xué)生在詞法分析部分-自動機(jī)的部分開始覺得難,編譯很理論。到語法分析時,覺得編譯太

9、復(fù)雜,搞不懂!。最后,考試完了,大作業(yè)做完了,才說:我終于有點明白編譯是怎么回事了。我們的嘗試從2009年開始嘗試先講過程,讓學(xué)生對編譯有全局的了解開始做大作業(yè),編寫一個不同難度系數(shù)的編譯系統(tǒng)同時繼續(xù)講理論部分圖1 編譯過程和知識點組織遞歸子程序法狀態(tài)圖及詞法分析程序?qū)崿F(xiàn)語法制導(dǎo)翻譯語義分析中間代碼正則文法有窮自動機(jī)、LEXLL(1)分析法算符優(yōu)先、LR分析法代碼優(yōu)化目標(biāo)代碼生成文法和語言的概念和表示符號表管理錯誤處理運行時存儲組織管理生產(chǎn)目標(biāo)程序代碼優(yōu)化語義分析生成中間代碼語法分析詞法分析大作業(yè)的組織根據(jù)學(xué)生基礎(chǔ),設(shè)置不同難易程度的文法和作業(yè)要求,體現(xiàn)在:文法的難易:最簡單的語言、逐漸增加語言的能力是否要求優(yōu)化過程管理:讀代碼、設(shè)計、編碼、測試、文檔嚴(yán)格考核:一個個過測試程序,問答很辛苦!但是:很受學(xué)生歡迎!增加了第五步工程實踐能力:編譯器的實際應(yīng)用目前是選修,作為計算機(jī)學(xué)院的一門綜合實驗課程29課題主要目標(biāo)對計算機(jī)學(xué)院本科生5門基礎(chǔ)核心課程(數(shù)理邏輯、數(shù)字邏輯、計算機(jī)組成、編譯技術(shù)、操作系統(tǒng))的教學(xué)與實驗環(huán)節(jié)進(jìn)行一體化設(shè)計,綜合設(shè)計教學(xué)與實驗內(nèi)容,構(gòu)建系統(tǒng)化的實驗體系一臺功能型計算機(jī)一套編譯器一套操作系統(tǒng)完整、透徹掌握計算機(jī)系統(tǒng)運行及實現(xiàn)機(jī)理30一體化綜合實驗體系的規(guī)劃與設(shè)計31教學(xué)編譯器架構(gòu)調(diào)試環(huán)境32操作系統(tǒng)、編譯與硬件系統(tǒng)的集成C-MIPS的交叉編譯器PL/

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論