搜尋
首頁常見問題能將高階語言編寫的原始程式轉換為目標程式的是什麼?

能將高階語言編寫的原始程式轉換為目標程式的是什麼?

Nov 03, 2020 pm 05:02 PM
原始程式目標程式高階語言

將高階語言編寫的原始程式轉換為目標程式的是「編譯程式」。編譯程式是指把用高級程式設計語言書寫的源程序,翻譯成等價的機器語言格式目標程序的翻譯程序;編譯程序以高級程序設計語言書寫的源程序作為輸入,而以彙編語言或機器語言表示的目標程式作為輸出。

能將高階語言編寫的原始程式轉換為目標程式的是什麼?

將高階語言編寫的原始程式轉換為目標程式的是「編譯程式」。由高級語言編寫的程式稱為“原始程式”,由二進位程式碼表示的程式稱為“目標程式”,而將原始程式轉換成機器能夠識別的目標程式是由“編譯程式”完成的。

編譯程序(Compiler,compiling program),也稱為編譯器,是指把用高級程式設計語言書寫的源程序,翻譯成等價的機器語言格式目標程序的翻譯程序。編譯程式屬於採用生成性實現途徑實現的翻譯程式。

編譯程式以高階程式設計語言書寫的原始程式作為輸入,而以組合語言或機器語言表示的目標程式作為輸出。編譯出的目標程式通常還要經歷運行階段,以便在執行程式的支援下運行,加工初始數據,算出所需的計算結果。

特點

編譯程式必須分析原始程序,然後綜合成目標程式。首先,檢查原始程式的正確性,並把它分解成若干基本成分;其次,再根據這些基本成分建立相應等價的目標程序部分。為了完成這些工作,編譯程式要在分析階段建立一些表格,改造原始程式為中間語言形式,以便在分析和綜合時易於引用和加工。

資料結構分析和綜合時所使用的主要資料結構,包括符號表、常數表和中間語言程式。符號表由原始程式中所使用的標識符連同它們的屬性組成,其中屬性包括種類(如變數、陣列、結構、函數、過程等)、類型(如整數、實型、字串、複型、標號等),以及目標程序所需的其他資訊。常數表由原始程式中用的常數組成,其中包括常數的機內表示,以及分配給它們的目標程式位址。中間語言程式是將原始程式翻譯為目標程式前引入的一種中間形式的程序,其表示形式的選擇取決於編譯程式以後如何使用和加工它。常用的中間語言形式有波蘭表示、三元組、四元組、間接三元組等。

分析部分原始程式的分析是經過詞法分析、語法分析和語意分析三個步驟實現的。詞法分析由詞法分析程序(又稱掃描程序)完成,其任務是識別單字(即標識符、常數、保留字,以及各種運算符、標點符號等)、造符號表和常數表,以及將原始程式換碼為編譯程式易於分析和加工的內部形式。語法分析程式是編譯程式的核心部分,其主要任務是根據語言的語法規則,檢查原始程式是否合乎語法。如不合乎語法,則輸出語法出錯訊息;如合乎語法,則分解原始程式的語法結構,建構中間語言形式的內部程式。文法分析的目的在於掌握單字是怎麼組成語句的,以及語句又是如何組成程式的。語意分析程序是進一步檢查合法程序結構的語意正確性,其目的是確保標識符和常數的正確使用,把必要的資訊收集和保存到符號表或中間語言程式中,並進行對應的語意處理。

以上是能將高階語言編寫的原始程式轉換為目標程式的是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),