❶ 編譯程序的功能
編譯程序的基本功能是把源程序(高級語言)翻譯成目標程序。但是,作為一個具有實際應用價值的編譯系統,除了基本功能之外,還應具備語法檢查、調試措施、修改手段、覆蓋處理、目標程序優化、不同語言合用以及人-機聯系等重要功能。①語法檢查:檢查源程序是否合乎語法。如果不符合語法,編譯程序要指出語法錯誤的部位、性質和有關信息。編譯程序應使用戶一次上機,能夠盡可能多地查出錯誤。②調試措施:檢查源程序是否合乎設計者的意圖。為此,要求編譯程序在編譯出的目標程序中安置一些輸出指令,以便在目標程序運行時能輸出程序動態執行情況的信息,如變數值的更改、程序執行時所經歷的線路等。這些信息有助於用戶核實和驗證源程序是否表達了演算法要求。③修改手段:為用戶提供簡便的修改源程序的手段。編譯程序通常要提供批量修改手段(用於修改數量較大或臨時不易修改的錯誤)和現場修改手段(用於運行時修改數量較少、臨時易改的錯誤)。④覆蓋處理:主要是為處理程序長、數據量大的大型問題程序而設置的。基本思想是讓一些程序段和數據公用某些存儲區,其中只存放當前要用的程序或數據;其餘暫時不用的程序和數據,先存放在磁碟等輔助存儲器中,待需要時動態地調入。⑤目標程序優化:提高目標程序的質量,即佔用的存儲空間少,程序的運行時間短。依據優化目標的不同,編譯程序可選擇實現表達式優化、循環優化或程序全局優化。目標程序優化有的在源程序級上進行,有的在目標程序級上進行。⑥不同語言合用:其功能有助於用戶利用多種程序設計語言編寫應用程序或套用已有的不同語言書寫的程序模塊。最為常見的是高級語言和匯編語言的合用。這不但可以彌補高級語言難於表達某些非數值加工操作或直接控制、訪問外圍設備和硬體寄存器之不足,而且還有利於用匯編語言編寫核心部分程序,以提高運行效率。⑦人-機聯系:確定編譯程序實現方案時達到精心設計的功能。目的是便於用戶在編譯和運行階段及時了解內部工作情況,有效地監督、控制系統的運行。早期編譯程序的實現方案,是把上述各項功能完全收納在編譯程序之中。然而,習慣做法是在操作系統的支持下,配置調試程序、編輯程序和連接裝配程序,用以協助實現程序的調試、修改、覆蓋處理,以及不同語言合用功能。但在設計編譯程序時,仍須精心考慮如何與這些子系統銜接等問題。
❷ PLC程序編譯是干什麼的
是呀。用梯形圖編好,編譯時先自動檢查語法錯誤,正確後生成的中間目標代碼才能送入PLC。
由PLC中的監控操作系統再解釋執行中間目標代碼。
❸ 編譯程序有哪些主要構成成分它們各自的主要功能是什麼
編譯過程分為分析和綜合兩個部分,並進一步劃分為詞法分析、語法分析、語義分析、代碼優化、存儲分配和代碼生成等六個相繼的邏輯步驟。這六個步驟只表示編譯程序各部分之間的邏輯聯系,而不是時間關系。
編譯過程既可以按照這六個邏輯步驟順序地執行,也可以按照平行互鎖方式去執行。在確定編譯程序的具體結構時,常常分若干遍實現。對於源程序或中間語言程序,從頭到尾掃視一次並實現所規定的工作稱作一遍。每一遍可以完成一個或相連幾個邏輯步驟的工作。
例如,可以把詞法分析作為第一遍;語法分析和語義分析作為第二遍;代碼優化和存儲分配作為第三遍;代碼生成作為第四遍。
反之,為了適應較小的存儲空間或提高目標程序質量,也可以把一個邏輯步驟的工作分為幾遍去執行。例如,代碼優化可劃分為代碼優化准備工作和實際代碼優化兩遍進行。
(3)編譯系統的主要功能是擴展閱讀
從左至右逐個字元地對源程序進行掃描,產生一個個的單詞符號,把作為字元串的源程序改造成為單詞符號串的中間程序。執行詞法分析的程序稱為詞法分析程序或掃描器。
源程序中的單詞符號經掃描器分析,一般產生二元式:單詞種別;單詞自身的值。單詞種別通常用整數編碼,如果一個種別只含一個單詞符號,那麼對這個單詞符號,種別編碼就完全代表它自身的值了。若一個種別含有許多個單詞符號,那麼,對於它的每個單詞符號,除了給出種別編碼以外,還應給出自身的值。
詞法分析器一般來說有兩種方法構造:手工構造和自動生成。手工構造可使用狀態圖進行工作,自動生成使用確定的有限自動機來實現。
編譯程序的語法分析器以單詞符號作為輸入,分析單詞符號串是否形成符合語法規則的語法單位,如表達式、賦值、循環等,最後看是否構成一個符合要求的程序,按該語言使用的語法規則分析檢查每條語句是否有正確的邏輯結構,程序是最終的一個語法單位。編譯程序的語法規則可用上下文無關文法來刻畫。
❹ 涓涓瀹屾暣鐨勮$畻鏈虹郴緇熷簲鍖呮嫭
D銆佽$畻鏈虹殑紜浠剁郴緇熷拰杞浠剁郴緇熴
璁$畻鏈虹郴緇熺敱紜浠剁郴緇熷拰杞浠剁郴緇熺粍鎴愩傝$畻鏈虹‖浠剁郴緇熸槸鎸囩粍鎴愪竴鍙拌$畻鏈虹殑鍚勭嶇墿鐞嗚呯疆錛屽畠浠鐢卞悇縐嶅叿浣撶殑鍣ㄤ歡緇勬垚錛屾槸璁$畻鏈鴻繘琛屽伐浣滅殑鐗╄川鍩虹銆傝$畻鏈虹‖浠剁郴緇熺敱杈撳叆璁懼囥佽緭鍑鴻懼囥佽繍綆楀櫒銆佸瓨鍌ㄥ櫒鍜屾帶鍒跺櫒浜旈儴鍒嗙粍鎴愩
鎵╁睍璧勬枡
璁$畻鏈虹郴緇熺敱紜浠訛紙瀛愶級緋葷粺鍜岃蔣浠訛紙瀛愶級緋葷粺緇勬垚銆傚墠鑰呮槸鍊熷姪鐢點佺併佸厜銆佹満姊扮瓑鍘熺悊鏋勬垚鐨勫悇縐嶇墿鐞嗛儴浠剁殑鏈夋満緇勫悎錛屾槸緋葷粺璧栦互宸ヤ綔鐨勫疄浣撱傚悗鑰呮槸鍚勭嶇▼搴忓拰鏂囦歡錛岀敤浜庢寚鎸ュ叏緋葷粺鎸夋寚瀹氱殑瑕佹眰榪涜屽伐浣溿
鑷1946騫寸涓鍙扮數瀛愯$畻鏈洪棶涓栦互鏉ワ紝璁$畻鏈烘妧鏈鍦ㄥ厓浠跺櫒浠躲佺‖浠剁郴緇熺粨鏋勩佽蔣浠剁郴緇熴佸簲鐢ㄧ瓑鏂歸潰錛屽潎鏈夋儕浜鴻繘姝ワ紝鐜頒唬璁$畻鏈虹郴緇熷皬鍒板井鍨嬭$畻鏈哄拰涓浜鴻$畻鏈猴紝澶у埌宸ㄥ瀷璁$畻鏈哄強鍏剁綉緇滐紝褰㈡併佺壒鎬у氱嶅氭牱錛屽凡騫挎硾鐢ㄤ簬縐戝﹁$畻銆佷簨鍔″勭悊鍜岃繃紼嬫帶鍒訛紝鏃ョ泭娣卞叆紺句細鍚勪釜棰嗗煙錛屽圭ぞ浼氱殑榪涙ヤ駭鐢熸繁鍒誨獎鍝嶃
❺ C語言編譯程序的功能是(計算機二級考試題)
選D
編譯其實就是翻譯
把人看的 翻譯成機器看的。
其實 A已經算對了
不過 有D 這個更完善。
C程序不是單獨編譯的,還要加上系統庫。