編譯類高級語言源程序
A. 高級語言源程序必須翻譯成目標程序後才能執行,完成這種翻譯過程的程序是編譯程序。
是。
編譯就是要把高級語言的源程序翻譯成目標程序的過程,一般整個過程可劃分為詞法分析、語法分析、語義分析、中間代碼生成、代碼優化和目標代碼生成6個階段。
編譯程序(編譯器)則是將源程序翻譯成目標語言程序,然後在計算機上運行目標程序,兩種語言處理程序的根本區別是在編譯方式下,機器上運行的是與源程序等價的目標程序,源程序和編譯程序都不再參與目標程序的執行過程,而在解釋方式下,解釋程序和源程序要參與到程序的運行過程中,運行程序的控制權在解釋程序。
(1)編譯類高級語言源程序擴展閱讀:
注意事項:
高級語言完全脫離機器指令,用人們更加易於理解的方式編寫程序,更接近於科學計算的公式及問題。
機器語言和匯編語言是一種面向機器的語言,而高級語言是面向科學計算和實際問題的語言。
當然高級語言編寫的程序不能直接由計算機來執行,必須由翻譯程序把它翻譯為機器語言的程序,計算機才能執行。
B. 使用高級語言編寫的程序稱之為
用高級程序設計語言編寫的程序稱為源程序。
源程序,是指未經編譯的,按照一定的程序設計語言規范書寫的,人類可讀的文本文件。通常由高級語言編寫。
「源程序」,把由二進制代碼表示的程序稱為「目標程序」。為了把源程序轉換成機器能接受的目標程序,軟體工作者編制了一系列軟體,通過這些軟體可以把用戶按規定語法寫出的語句翻譯成二進制的機器指令。
高級語言(High-levelprogramminglanguage)相對於機器語言(machinelanguage,是一種指令集的體系。這種指令集,稱機器碼(machinecode),是電腦的CPU可直接解讀的數據)而言。是高度封裝了的編程語言,與低級語言相對。
它是以人類的日常語言為基礎的一種編程語言,使用一般人易於接受的文字來表示(例如漢字、不規則英文或其他外語),從而使程序編寫員編寫更容易,亦有較高的可讀性,以方便對電腦認知較淺的人亦可以大概明白其內容。
C. 編譯型高級語言源程序可以()
編譯型高級語言源程序可以轉換成機器語言程序,直接在計算機上執行。
編譯型高級語言源程序是一種用高級編程語言編寫的程序,它需要通過編譯器轉換成機器語言程序才能在計算機上執行。編譯器是一種將高級語言程序翻譯成機器語言程序的軟體工具。在編譯過程中,編譯器將源程序翻譯成目標程序,目標程序是由機器語言指令組成的可執行文件。一旦編譯完成,目標程序可以直接在計算機上執行,而不需要再次進行解釋或編譯。
例如,C和C++是兩種常用的編譯型高級編程語言。當使用這些語言編寫程序時,需要先使用相應的編譯器(如GCC或Clang)將源程序編譯成可執行文件。編譯過程通常包括預處理、編譯、匯編和鏈接等幾個階段。預處理階段主要處理源程序中的預處理指令,如宏定義和條件編譯等。編譯階段將預處理後的源程序翻譯成匯編語言程序。匯編階段將匯編語言程序轉換成機器語言程序。最後,鏈接階段將多個目標文件合並成一個可執行文件。
與解釋型語言(如Python和JavaScript)不同,編譯型語言在執行前需要提前進行編譯。這意味著編譯型語言的執行速度通常比解釋型語言更快,因為解釋型語言需要在運行時逐行解釋和執行代碼。然而,編譯型語言的開發過程可能更加復雜和耗時,因為需要處理更多的編譯錯誤和警告,並確保生成的目標程序在不同的計算機和操作系統上都能正確執行。此外,一些編譯型語言(如C和C++)還需要手動管理內存和資源,這增加了開發難度和出錯的可能性。
總之,編譯型高級語言源程序可以通過編譯器轉換成機器語言程序,從而直接在計算機上執行。這種轉換過程可以提高程序的執行速度,但也可能增加開發復雜度和出錯率。因此,在選擇編程語言和開發工具時需要根據項目需求、開發資源和時間成本等因素進行權衡和選擇。
D. 用高級語言編寫的源程序必須經過__ ___轉化為等價的二進制代碼程序,才能夠在計算機中運行。
編譯和鏈接。
編譯:
1、利用編譯程序從源語言編寫的源程序產生目標程序的過程。
2、用編譯程序產生目標程序的動作。 編譯就是把高級語言變成計算機可以識別的2進制語言,計算機只認識1和0,編譯程序把人們熟悉的語言換成2進制的。
編譯程序把一個源程序翻譯成目標程序的工作過程分為五個階段:詞法分析;語法分析;語義檢查和中間代碼生成;代碼優化;目標代碼生成。主要是進行詞法分析和語法分析,又稱為源程序分析,分析過程中發現有語法錯誤,給出提示信息。
(4)編譯類高級語言源程序擴展閱讀
源程序中的單詞符號經掃描器分析,一般產生二元式:單詞種別;單詞自身的值。單詞種別通常用整數編碼,如果一個種別只含一個單詞符號,那麼對這個單詞符號,種別編碼就完全代表它自身的值了。若一個種別含有許多個單詞符號,那麼,對於它的每個單詞符號,除了給出種別編碼以外,還應給出自身的值。
詞法分析器一般來說有兩種方法構造:手工構造和自動生成。手工構造可使用狀態圖進行工作,自動生成使用確定的有限自動機來實現。
E. 計算機高級語言的編譯程序屬於什麼類的
計算機高級語言的編譯程序屬於系統軟體類。
編譯程序(Compiler,compiling program)也稱為編譯器,是指把用高級程序設計語言書寫的源程序,翻譯成等價的機器語言格式目標程序的翻譯程序。編譯程序屬於採用生成性實現途徑實現的翻譯程序。它以高級程序設計語言書寫的源程序作為輸入,而以匯編語言或機器語言表示的目標程序作為輸出。編譯出的目標程序通常還要經歷運行階段,以便在運行程序的支持下運行,加工初始數據,算出所需的計算結果。
(5)編譯類高級語言源程序擴展閱讀:
編譯程序的功能
①語法檢查:檢查源程序是否合乎語法。如果不符合語法,編譯程序要指出語法錯誤的部位、性質和有關信息。編譯程序應使用戶一次上機,能夠盡可能多地查出錯誤。
②調試措施:檢查源程序是否合乎設計者的意圖。為此,要求編譯程序在編譯出的目標程序中安置一些輸出指令,以便在目標程序運行時能輸出程序動態執行情況的信息,如變數值的更改、程序執行時所經歷的線路等。這些信息有助於用戶核實和驗證源程序是否表達了演算法要求。
③修改手段:為用戶提供簡便的修改源程序的手段。編譯程序通常要提供批量修改手段(用於修改數量較大或臨時不易修改的錯誤)和現場修改手段(用於運行時修改數量較少、臨時易改的錯誤)。
④覆蓋處理:主要是為處理程序長、數據量大的大型問題程序而設置的。基本思想是讓一些程序段和數據公用某些存儲區,其中只存放當前要用的程序或數據;其餘暫時不用的程序和數據,先存放在磁碟等輔助存儲器中,待需要時動態地調入。
⑤目標程序優化:提高目標程序的質量,即佔用的存儲空間少,程序的運行時間短。依據優化目標的不同,編譯程序可選擇實現表達式優化、循環優化或程序全局優化。目標程序優化有的在源程序級上進行,有的在目標程序級上進行。
⑥不同語言合用:其功能有助於用戶利用多種程序設計語言編寫應用程序或套用已有的不同語言書寫的程序模塊。最為常見的是高級語言和匯編語言的合用。