北京工業(yè)大學廖湖聲編.ppt
《北京工業(yè)大學廖湖聲編.ppt》由會員分享,可在線閱讀,更多相關《北京工業(yè)大學廖湖聲編.ppt(33頁珍藏版)》請在裝配圖網上搜索。
>,北京工業(yè)大學廖湖聲編學時:56小時(含上機:12小時)主頁:172.21.14.209/網上教學參考教材:《程序設計語言編譯原理》(第3版)國防工業(yè)出版社,引言,什么叫編譯程序將高級程序設計語言翻譯成邏輯上等價的低級語言(匯編語言,機器語言)的翻譯程序目的:提高執(zhí)行效率,編譯程序,,,源程序,目標程序,(*.C/*.PAS),(*.OBJ/*.EXE),編譯與語言,編譯程序設計原理:高級程序設計語言的實現原理編譯技術:最具有代表性的計算機語言處理技術計算機語言人與計算機、計算機軟件之間的交流工具廣義理解:軟件之間傳輸的信息,各種用途的計算機語言,程序設計語言描述程序執(zhí)行的算法數據庫語言數據定義、數據操作機器語言控制計算機的工作命令語言控制系統(tǒng)的工作都是編譯技術的處理對象,高級程序設計語言的一般特征,程序結構子程序、函數——程序包語句——條件、循環(huán)、賦值表達式——邏輯、關系、算術變量、常數、運算符、函數調用數據結構標量——整數、浮點數、字符、字符串數組、結構(記錄)抽象數據類型——類編譯實現的任務程序結構與數據結構的具體處理,高級語言的分類,過程式語言ImperativeFORTRAN、BASIC、Pascal、C函數式語言FunctionalLISP、ML邏輯式語言LogicalProlog面向對象語言Object-OrientedSmalltalk、C++、Java、Ada、C#語言的實現都需要編譯系統(tǒng)的支持,學習內容,語言結構的描述與分析語義的描述與實現框架程序設計語言的工作原理用途:計算機語言的實現與設計復雜數據處理(廣義)特征:十分復雜的數據處理比較成熟的理論基礎指導軟件設計實踐,第一章計算機語言的實現,程序的解釋執(zhí)行如:BASIC、DOS命令,問題:效率低下,解釋程序,源程序,輸入數據,計算結果,程序的編譯執(zhí)行,目標程序:機器語言匯編語言,編譯程序,運行系統(tǒng),目標程序,輸入數據,計算結果,源程序,1.1編譯系統(tǒng)的需求分析,源程序的分析詞法、語法、語義目標程序的綜合語句的翻譯、代碼生成標識符的綁定(binding)變量:存儲單元函數:目標代碼序列,1.2編譯過程,自然語言的翻譯過程:Iwishyousuccess主語謂語間接賓語直接賓語識別單詞(拼寫正確)、語法檢查(順序格式)、語義理解(合理)、組織譯文(符合原文、通順),一個C程序的編譯過程,源程序:main(){printf(“hello”);}1.詞法分析分析字符序列;識別單詞(種別、屬性)查詞法錯誤;標識符登記;,結果IDNmain‘(’‘)’‘{’IDNprintf‘(’STRhello‘)’‘;’‘}’,2.語法分析,分析單詞序列;識別語法結構;查語法錯誤;構造分析樹;,3.語義分析,確認標識符的屬性類型、作用域等語義檢查運算的合法性、取值范圍等子程序的靜態(tài)綁定代碼存儲的相對地址變量的靜態(tài)綁定數據存儲的相對地址,程序使用的內存空間,字符串常數hello?臨時變量t?目標代碼main?編譯程序負責為各變量、常數和函數計算并分配必要的內存空間,,,,4.生成中間代碼,中間語言簡單規(guī)范機器無關易于優(yōu)化與轉換按照語法分析樹生成中間語言代碼,翻譯例Z=(X+0.48)*Y/W;結果(三地址代碼)T1=X+0.48T2=T1*YZ=T2/W,5.中間代碼優(yōu)化中間代碼的優(yōu)化處理,以求提高執(zhí)行效率6.目標代碼生成將中間代碼轉換成目標機上的機器指令代碼或匯編代碼,MOVR0,#12,ADDR0,#4MULR0,R2匯編指令代碼,100000010001110010000010000101001100010000010010機器指令代碼,編譯程序的結構,源程序,目標程序,其他模塊,表格管理輔助語法檢查、語義檢查完成靜態(tài)綁定、管理編譯過程錯誤處理詞法:拼寫...語法:語句結構、表達式結構...語義:類型不匹配...,編譯程序的軟件結構,編譯前端目標機無關部分詞法分析、語法分析、中間代碼生成語義分析、中間代碼優(yōu)化編譯后端目標機相關部分目標代碼優(yōu)化目標代碼生成多遍掃描常見:前段1.2.和后端1.2.,程序設計環(huán)境,集成化的程序設計環(huán)境編輯程序編譯程序連接程序-----將目標程序連接成可執(zhí)行程序調試工具-----跟蹤、分析常見:TurboC/C++VisualStudioforC/C++,Basic等JBuilder,BlueJ,1.3編譯技術的通用性,把復雜數據看作一條語句數據格式的分析利用詞法分析、語法分析方法數據處理的框架基于語法制導的語義處理框架編譯技術可以用于各種復雜數據的分析處理,例1-1(1/2),DOS命令date的輸出格式例:9-2-1993、09-03-1993、9-03-93語法date→month-day-year詞法month→DIGDIG|DIGday→DIGDIG|DIGyear→DIGDIG|DIGDIGDIGDIG,例1-1(2/2),語義year(年)、month(月)、day(日)語義約束條件0- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設計者僅對作品中獨創(chuàng)性部分享有著作權。
- 關 鍵 詞:
- 北京工業(yè)大學 廖湖聲編
裝配圖網所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
相關資源
更多
正為您匹配相似的精品文檔
相關搜索
鏈接地址:http://m.jqnhouse.com/p-12816941.html