高級軟件工程歡迎訪問北京大學(xué)信息學(xué)院軟工所—PKUSEI_第1頁
高級軟件工程歡迎訪問北京大學(xué)信息學(xué)院軟工所—PKUSEI_第2頁
高級軟件工程歡迎訪問北京大學(xué)信息學(xué)院軟工所—PKUSEI_第3頁
高級軟件工程歡迎訪問北京大學(xué)信息學(xué)院軟工所—PKUSEI_第4頁
高級軟件工程歡迎訪問北京大學(xué)信息學(xué)院軟工所—PKUSEI_第5頁
已閱讀5頁,還剩22頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、編譯實習(xí)編譯實習(xí)編譯實習(xí)課程介紹課程介紹 2/27編譯實習(xí)編譯實習(xí)理科一號樓理科一號樓1803如何與老師聯(lián)系如何與老師聯(lián)系?Email:電話:電話:62759074(O)高級軟工、操作系統(tǒng)高級軟工、操作系統(tǒng)課程介紹課程介紹 3/27編譯實習(xí)編譯實習(xí)助教助教: 邵津邵津 shaojin07梁廣泰梁廣泰 lianggt08劉海文劉海文 liuhw08石奎石奎同教同教: 郭耀郭耀參與參與 輔導(dǎo)環(huán)節(jié)輔導(dǎo)環(huán)節(jié) 與與 成績計算環(huán)節(jié)成績計算環(huán)節(jié)聯(lián)系方式:略聯(lián)系方式:略理科理科1號樓號樓1726課程介紹課程介紹 4/27編譯實習(xí)編譯實習(xí)一、為什么要進行編譯實習(xí)一、為什么要進行編譯實習(xí)二、如何組織實習(xí)二、如何組

2、織實習(xí)三、如何輔導(dǎo)與檢查三、如何輔導(dǎo)與檢查四、成績?nèi)绾斡嬎闼?、成績?nèi)绾斡嬎阄濉⑵渌畔⑽?、其它信息課課 程程 介介 紹紹課程介紹課程介紹 5/27編譯實習(xí)編譯實習(xí)宋宋陸游陸游古人學(xué)問無遺力古人學(xué)問無遺力少壯工夫老始成少壯工夫老始成紙上得來終覺淺紙上得來終覺淺絕知此事要躬行絕知此事要躬行課程介紹課程介紹 6/27編譯實習(xí)編譯實習(xí)課程介紹課程介紹 7/27編譯實習(xí)編譯實習(xí)任何人任何人 想想 僅僅通過單純的閱讀僅僅通過單純的閱讀 而而 不把所學(xué)到的知識應(yīng)用于特定問題不把所學(xué)到的知識應(yīng)用于特定問題 并并 強迫自己反復(fù)進行思考強迫自己反復(fù)進行思考 就就 掌握一門學(xué)問掌握一門學(xué)問如果說如果說 不是不可能的

3、不是不可能的 那也是困難的那也是困難的凡是凡是 人們自己親身探索、體會到的東西人們自己親身探索、體會到的東西 學(xué)得最好學(xué)得最好課程介紹課程介紹 8/27編譯實習(xí)編譯實習(xí)l鞏固所學(xué)習(xí)的編譯知識鞏固所學(xué)習(xí)的編譯知識l深入理解編程語言:新語言?深入理解編程語言:新語言?l深入理解處理器:多核編程?深入理解處理器:多核編程?l學(xué)習(xí)典型開發(fā)工具:新工具?學(xué)習(xí)典型開發(fā)工具:新工具?l體會大項目流程:軟件工程?體會大項目流程:軟件工程?課程介紹課程介紹 9/27編譯實習(xí)編譯實習(xí)l學(xué):學(xué): 學(xué)習(xí)學(xué)習(xí) 編譯知識、開發(fā)工具、開發(fā)流程編譯知識、開發(fā)工具、開發(fā)流程l做:做: 開發(fā)開發(fā) 解釋器、編譯器解釋器、編譯器l說

4、:說: 講解講解 自己的工作自己的工作l寫:寫: 撰寫撰寫 基于基于 自己工作自己工作 的的 報告報告非常投入非常投入非常收獲!非常收獲!非常投入非常投入非常投入非常投入非常投入非常投入課程介紹課程介紹 10/27編譯實習(xí)編譯實習(xí)l警示數(shù)據(jù)警示數(shù)據(jù)08年未獲得成績率:年未獲得成績率:15/122!l緩考緩考l筆試分?jǐn)?shù)低筆試分?jǐn)?shù)低l未交作業(yè)未交作業(yè)l作弊作弊l為什么?為什么?難!必修難!必修-限選;教務(wù)限選;教務(wù)目標(biāo)不清楚目標(biāo)不清楚時間投入不足時間投入不足課程介紹課程介紹 11/27編譯實習(xí)編譯實習(xí)l與以往有較大不同與以往有較大不同從從 老教師老教師 到到 新教師新教師 從從 指定到指定到 指定

5、指定 + 自選自選l給同學(xué)更多的選擇給同學(xué)更多的選擇教材教材l從無到有從無到有 參考參考 國內(nèi)其他學(xué)校國內(nèi)其他學(xué)校從從 C 到到 Javal實用性更強實用性更強從從 2 次檢查次檢查 到到 4 次檢查次檢查l更多的過程控制點更多的過程控制點課程介紹課程介紹 12/27編譯實習(xí)編譯實習(xí)l開發(fā)一個開發(fā)一個 miniJava 的編譯器的編譯器l1-2人人 1人為主:完整體驗人為主:完整體驗允許允許2人:極限編程人:極限編程 Vs. 濫竽充數(shù)濫竽充數(shù)l便于輔導(dǎo)、檢查便于輔導(dǎo)、檢查指定題目(多數(shù))指定題目(多數(shù))課程介紹課程介紹 13/27編譯實習(xí)編譯實習(xí)l輸入輸入符合符合 MiniJava 語言規(guī)范的

6、源程序語言規(guī)范的源程序 Pl輸出輸出對對 P 進行編譯進行編譯檢查檢查 P 的詞法、語法、語義、(優(yōu)化)的詞法、語法、語義、(優(yōu)化)生成能在生成能在 SPIM 上運行的目標(biāo)碼上運行的目標(biāo)碼課程介紹課程介紹 14/27編譯實習(xí)編譯實習(xí)l熱身:直線程序解釋器(第一月)熱身:直線程序解釋器(第一月)語言簡單語言簡單不借助任何工具(直接在不借助任何工具(直接在JDK上運行)上運行)體會編譯涉及的基本環(huán)節(jié)體會編譯涉及的基本環(huán)節(jié)熟悉工作環(huán)境熟悉工作環(huán)境: JDK, (Eclipse)l實戰(zhàn):實戰(zhàn):MiniJava 編譯器(第二、三月)編譯器(第二、三月)復(fù)雜,但比完整的復(fù)雜,但比完整的 Java 語言簡單

7、語言簡單借助工具借助工具 JavaCC 完成詞法分析器完成詞法分析器 與與 語法分析器語法分析器生成目標(biāo)碼生成目標(biāo)碼課程介紹課程介紹 15/27編譯實習(xí)編譯實習(xí)前端(分析)后端(綜合)內(nèi)部表示目標(biāo)程序目標(biāo)程序源程序源程序出錯信息出錯信息指令指令選擇選擇分配分配寄存器寄存器詞法詞法分析分析語法語法分析分析掃描掃描課程介紹課程介紹 16/27編譯實習(xí)編譯實習(xí)Eclipse 開發(fā)環(huán)境開發(fā)環(huán)境掃描器掃描器詞法詞法分析器分析器語法語法分析器分析器語義語義分析器分析器寄存器寄存器分配分配代碼代碼生成生成Java 語言語言JavaCCMiniJava GrammerSPIM編譯器內(nèi)部模塊編譯器內(nèi)部模塊課堂介

8、紹內(nèi)容課堂介紹內(nèi)容課程介紹課程介紹 17/27編譯實習(xí)編譯實習(xí)l面向?qū)嶋H項目面向?qū)嶋H項目l探索課程間協(xié)作探索課程間協(xié)作l鼓勵創(chuàng)新鼓勵創(chuàng)新l總共總共4個左右個左右2-3人人 一個項目一個項目 自選題目自選題目(少數(shù)少數(shù))課程介紹課程介紹 18/27編譯實習(xí)編譯實習(xí)l題目來源題目來源與與體系結(jié)構(gòu)實習(xí)體系結(jié)構(gòu)實習(xí)聯(lián)合聯(lián)合軟件分析軟件分析多核相關(guān)多核相關(guān)自己設(shè)計自己設(shè)計l例如:例如: 不同方式界面的轉(zhuǎn)換不同方式界面的轉(zhuǎn)換課程介紹課程介紹 19/27編譯實習(xí)編譯實習(xí)9.17 課程介紹,題目介紹課程介紹,題目介紹9.24 Java、Eclipse 介紹介紹10.15 MiniJava 語法、題目篩選語法、

9、題目篩選10.22 JavaCC 介紹介紹10.29 答疑答疑11.5 點評點評11.12 答疑答疑11.19 答疑答疑11.26 點評,點評,SPIM 介紹12.3 答疑答疑12.10 答疑答疑12.17 演示、點評演示、點評課程介紹課程介紹 20/27編譯實習(xí)編譯實習(xí)l4位助教為主位助教為主l每位助教負(fù)責(zé):每位助教負(fù)責(zé):1 + 1 + 11個班個班1個自選題目個自選題目1次點評次點評課程介紹課程介紹 21/27編譯實習(xí)編譯實習(xí)l輔導(dǎo)方式輔導(dǎo)方式作業(yè)批注作業(yè)批注上課點評上課點評l檢查方式檢查方式電子方式提交電子方式提交l北大教學(xué)網(wǎng)北大教學(xué)網(wǎng)()約定時間到院軟件實驗室檢查約定時間到院軟件實驗室

10、檢查l集中、順序集中、順序 現(xiàn)場現(xiàn)場 詢問、檢查詢問、檢查課程介紹課程介紹 22/27編譯實習(xí)編譯實習(xí)9.17 課程介紹,題目介紹課程介紹,題目介紹9.24 Java、Eclipse 介紹介紹10.15 MiniJava 語法、題目篩選語法、題目篩選10.22 JavaCC 介紹介紹10.29 答疑答疑11.5 點評點評11.12 答疑答疑11.19 答疑答疑11.26 點評,點評,SPIM 介紹12.3 答疑答疑12.10 答疑答疑12.17 演示、點評演示、點評10月月13日日11月月3日日11月月24日日12月月15日日課程介紹課程介紹 23/27編譯實習(xí)編譯實習(xí)l4次次 平時作業(yè):程序

11、平時作業(yè):程序4 * 20 = 80%l1個個 實習(xí)報告:文檔實習(xí)報告:文檔+體會體會+建議建議1 * 20 = 20% l總體上:按學(xué)校要求的正態(tài)分布總體上:按學(xué)校要求的正態(tài)分布85(含)以上:(含)以上:1-45 人人60(不含)以下:(不含)以下:1-5 人人課程介紹課程介紹 24/27編譯實習(xí)編譯實習(xí)Modern Compiler Implementation in Java , 2nd edition. Andrew Appel with Jens Palsberg, Cambridge University Press, 2002 現(xiàn)代編譯器的現(xiàn)代編譯器的 Java 實現(xiàn)(第二版)

12、實現(xiàn)(第二版),電子工業(yè)出版社,電子工業(yè)出版社,2004年年9月月課程網(wǎng)站:課程網(wǎng)站:http:/ 基本信息基本信息北大教學(xué)網(wǎng):北大教學(xué)網(wǎng): 交作業(yè)、討論交作業(yè)、討論/palsberg/course/cs132/S09/index.html課程介紹課程介紹 25/27編譯實習(xí)編譯實習(xí)作業(yè)(都要做?。┳鳂I(yè)(都要做!)編寫一個編寫一個 Java 程序:一個直線程序語言的程序:一個直線程序語言的 解釋器解釋器直線程序語言特點:直線程序語言特點:沒有沒有 循環(huán)語句循環(huán)語句 與與 分支語句分支語句 只有只有 一種數(shù)據(jù)類型:整數(shù)一種數(shù)據(jù)類型:整數(shù)只有只有 4 種基本運算:種基本運算:+ - * / 檢查時間:檢查時間:10月月15日以前(日以前(13日)日)直接在直接在 JDK 上運行!上運行!課程介紹課程介紹 26/27編譯實習(xí)編譯實習(xí)Stm Stm ; Stm CompoundStmStm id := Exp AssignStmStm print (Exp) PrintStmExp idIdExpExp numNumExpExp Exp Binop Exp OpExpBino

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論