導航:首頁 > 源碼編譯 > 編譯系統怎麼組成

編譯系統怎麼組成

發布時間:2022-06-02 19:22:04

編譯程序包括哪幾個主要組成部分

編譯過程分為分析和綜合兩個部分,並進一步劃分為詞法分析、語法分析、語義分析、代碼優化、存儲分配和代碼生成等六個相繼的邏輯步驟。這六個步驟只表示編譯程序各部分之間的邏輯聯系,而不是時間關系。

編譯過程既可以按照這六個邏輯步驟順序地執行,也可以按照平行互鎖方式去執行。在確定編譯程序的具體結構時,常常分若干遍實現。對於源程序或中間語言程序,從頭到尾掃視一次並實現所規定的工作稱作一遍。每一遍可以完成一個或相連幾個邏輯步驟的工作。

(1)編譯系統怎麼組成擴展閱讀:

對於c編譯程序來說,其語言的特點如下:

1、c語言是一種結構化語言。它層次清晰,便於按模塊化方式組織程序,易於調試和維護,而且表現能力和處理能力極強。

2、c語言具有豐富的運算符和數據類型,便於實現各類復雜的數據結構。它還可以直接訪問內存的物理地址,進行位(bit)一級的操作。

3、由於c語言實現了對硬體的編程操作,因此集高級語言和低級語言的功能於一體。它既可用於系統軟體的開發,也適合於應用軟體的開發。

4、此外,c語言還具有效率高、可移植性強等特點。因此它廣泛地移植到了各類各型計算機上,從而形成了多種版本。

程序員編譯程序由哪幾個主要部分組成每個部分的功能是什麼

摘要 詞法分析(將源程序掃描為單詞符號串) 語法分析(將單詞符號串組合成各類語法單位) 中間代碼生成(對各類語法單 位按語言語義進行初步翻譯) 中間代碼優化(針對中間代碼的效率進行優化) 目標代碼生成(將中間代碼轉換為特定 的目標代碼) 表格管理(保留編譯過程中的各種信息並進行管理) 出錯處理(發現並報告程序中的各種錯誤)

③ 一個編譯程序有幾部分構成

作為一個功能完整、且強大的編譯器,一般來說包括如下幾個部分:詞法分析、語法分析、語義分析(因為語法上正確的,但是語義不一定正確。例如:老虎吃人、人吃老虎,語法是正確的,都是主謂賓格式,且詞性相同,但是從語義分析上講就是錯誤的)、中間代碼生成、直到生成可執行程序。

④ MTK分布式編譯系統的組成

本系統由注冊伺服器、編譯伺服器和客戶端組成。網內啟動一個注冊伺服器,多個編譯伺服器。在MTK6223平台上,單機new一次需要50分鍾的項目。使用10個編譯伺服器同時編譯,new一次需要13分鍾。模塊編譯之前是在客戶端工作的,需要9分鍾,其中為了實現分布式編譯,壓縮源代碼佔用了2分鍾,文件下載到編譯伺服器需要2分鍾。從第一個模塊編譯到最後link之前,10台機器僅用4分鍾就完成了1200個c文件的編譯工作。最後的link是在本機進行的,幾十秒就完了。我曾經試過18台機器同時編譯,1200個c文件不到2分鍾就編譯完成了,當然下載時間需要3分鍾。對於開發人員來講,new一次不再是夢魘。
當然,不能無限制地增加編譯伺服器,要考慮文件傳輸所消耗的時間。MTK平台文件很多,需要由客戶端向伺服器分發。一般地,一個客戶端與十個伺服器聯合編譯可以達到理想效果。

⑤ 編譯程序有哪些主要構成成分它們各自的主要功能是什麼

編譯過程分為分析和綜合兩個部分,並進一步劃分為詞法分析、語法分析、語義分析、代碼優化、存儲分配和代碼生成等六個相繼的邏輯步驟。這六個步驟只表示編譯程序各部分之間的邏輯聯系,而不是時間關系。

編譯過程既可以按照這六個邏輯步驟順序地執行,也可以按照平行互鎖方式去執行。在確定編譯程序的具體結構時,常常分若干遍實現。對於源程序或中間語言程序,從頭到尾掃視一次並實現所規定的工作稱作一遍。每一遍可以完成一個或相連幾個邏輯步驟的工作。

例如,可以把詞法分析作為第一遍;語法分析和語義分析作為第二遍;代碼優化和存儲分配作為第三遍;代碼生成作為第四遍。

反之,為了適應較小的存儲空間或提高目標程序質量,也可以把一個邏輯步驟的工作分為幾遍去執行。例如,代碼優化可劃分為代碼優化准備工作和實際代碼優化兩遍進行。

(5)編譯系統怎麼組成擴展閱讀

從左至右逐個字元地對源程序進行掃描,產生一個個的單詞符號,把作為字元串的源程序改造成為單詞符號串的中間程序。執行詞法分析的程序稱為詞法分析程序或掃描器。

源程序中的單詞符號經掃描器分析,一般產生二元式:單詞種別;單詞自身的值。單詞種別通常用整數編碼,如果一個種別只含一個單詞符號,那麼對這個單詞符號,種別編碼就完全代表它自身的值了。若一個種別含有許多個單詞符號,那麼,對於它的每個單詞符號,除了給出種別編碼以外,還應給出自身的值。

詞法分析器一般來說有兩種方法構造:手工構造和自動生成。手工構造可使用狀態圖進行工作,自動生成使用確定的有限自動機來實現。

編譯程序的語法分析器以單詞符號作為輸入,分析單詞符號串是否形成符合語法規則的語法單位,如表達式、賦值、循環等,最後看是否構成一個符合要求的程序,按該語言使用的語法規則分析檢查每條語句是否有正確的邏輯結構,程序是最終的一個語法單位。編譯程序的語法規則可用上下文無關文法來刻畫。

⑥ 編譯程序由哪幾個部分組成

六大主要部分,詞法分析,語法分析,語義分析,中間代碼生存,代碼優化,目標代碼生成。還有詞表和錯誤檢查機制。

⑦ 一個典型的編譯程序通常由哪些部分組成各部分的主要功能是什麼

通常由七個部分組成。分別是:詞法分析、語法分析、語義分析和中間代碼生成、優化、目標代碼生成以及表格和表格管理、出錯處理。
各自功能是:
1.詞法分析:輸入源程序,對構成源程序的字元串進行掃描和分解,識別出一個個單詞(也稱單詞符號,或簡稱符號)。在詞法分析階段工作所依循的是語言的詞法規則;描述詞法規則的有效工具是正規式和有限自動機。
2.語法分析:在詞法分析的基礎上,根據語言的語法規則,把單詞符號串組成各類語法單位。具體的說,語法分析是在單詞流的基礎上建立一個層次結構——建立語法樹。
3.語義分析和中間代碼生成:語義分析利用語法分析階段確定的層次結構來識別表達式和語句中的操作信息及類型信息;中間代碼生成階段將產生的源程序的一個顯式中間表示,這種中間表示可以看成是某種抽象程序,通常是與平台無關的,(可用三地址碼和四元式表示)。
4.優化:試圖改進中間代碼,以產生執行速度較快的機器代碼。
5.目標代碼生成:生成可重定位的機器代碼或匯編代碼。
6.表格和表格管理:編譯程序在工作過程中需要保持一系列的表格,以登記源程序的各類信息和編譯各階段的進展情況。
7.出錯處理:編譯程序對源程序中的錯誤進行處理,應最大限度地發現源程序中的各種錯誤,准確地指出錯誤的性質和發生錯誤的地點,並且將錯誤所造成的影響限制在盡可能小的范圍內,使得源程序的其餘部分能繼續被編譯下去,以便進一步發現其他可能的錯誤。通常編譯過程中每個階段都可能檢測出錯誤,其中,絕大多數數錯誤可以在編譯的前三階段檢測出來。且源程序中的錯誤通常分為語法錯誤和語義錯誤兩大類。出錯處理就是為了處理以上的錯誤情況。

⑧ 編譯程序有哪些主要構成成分

一個典型的編譯程序通常包含8個組成部分,它們是詞法分析程序、語法分析程序、語義分析程序、中間代碼生成程序、中間代碼優化程序、目標代碼生成程序、表格管理程序和錯誤處理程序。
http://wenku..com/link?url=0v8lInjgI_bwRat7uR65ijEnNq0lW2Kfm9__xhVlwB9e3qwwVF5EVslxs1IP5mJ5-bTutTLbS

⑨ 如何編譯程序是計算機組成討論的問題嗎

編譯程序是實現將源程序翻譯為目標程序的系統軟體,它由若於個程序組成,故又稱為編譯系統。這樣用編譯方法執行源程序大體可以分為兩個階段,即編譯階段和運行階段。
除了編譯程序外,還需要一些其他程序才能生成一個可在計算機上執行的目標程序。

閱讀全文

與編譯系統怎麼組成相關的資料

熱點內容
手機qq發壓縮包 瀏覽:677
安卓機藍牙耳機如何彈出彈窗 瀏覽:111
linuxoracle環境變數設置 瀏覽:359
php去掉重復數據 瀏覽:365
C關機編程 瀏覽:767
程序員將滑鼠拉到現實世界 瀏覽:60
思科伺服器怎麼開機 瀏覽:82
減脂健身app哪個好用 瀏覽:743
照片怎麼壓縮分文件夾 瀏覽:70
感測器如何連接單片機 瀏覽:26
雲伺服器多少個 瀏覽:598
孕媽app哪個比較好 瀏覽:809
java回車轉義字元 瀏覽:759
linux啟動級別修改 瀏覽:123
單片機採集交流方法 瀏覽:285
程序員的平凡理想 瀏覽:238
floyd最短路徑演算法c 瀏覽:387
新湖app在哪裡下載 瀏覽:709
計算機圖形學涉及的演算法 瀏覽:376
阿里雲linux一鍵web 瀏覽:32