彙編程序與解釋器
一般來說,編譯器是一種計算機程序,它讀取用一種語言編寫的程序(稱為源語言),並將其翻譯成另一種語言(即目標語言)。傳統的源語言是C++等高級語言,目標語言是彙編語言等低級語言。然而,有些編譯器可以將用匯編語言編寫的源程序轉換為機器代碼或目標代碼。彙編程序就是這樣的工具。另一方面,解釋器是執行用某種編程語言編寫的指令的工具。解釋器可以直接執行高級源代碼,也可以將它們轉換為中間代碼,然後再進行解釋或執行預編譯代碼。
什麼是彙編程序?
彙編程序是把彙編語言翻譯成機器代碼的軟件或工具。所以,彙編程序是一種編譯器,源代碼是用匯編語言編寫的。彙編是一種人類可讀的語言,但它通常與對應的機器代碼有一對一的關係。因此,彙編程序被稱為執行同構(一對一映射)轉換。高級彙編程序提供支持程序開發和調試過程的附加功能。例如,稱為宏彙編程序的彙編程序類型提供了宏工具。
什麼是翻譯?
解釋器是一種計算機程序或執行編程指令的工具。解釋器可以直接執行源代碼,也可以將源代碼轉換為中間代碼並直接執行,也可以執行編譯器生成的預編譯代碼(某些解釋器系統包括用於此任務的編譯器)。Perl、Python、MATLAB和Ruby等語言都是使用中間代碼的編程語言的例子。UCSD Pascal解釋預編譯代碼。Java、BASIC和Samlltalk等語言首先將源代碼編譯為稱為字節碼的中間代碼,然後對其進行解釋。
彙編程序和解釋器的區別是什麼?