Ⅰ 高級語言程序有兩種工作方式編譯方式和解釋方式
具體如下。
編譯型工作過程圖,編譯程序功能就是把高級語言書寫的源代碼譯成與之等價的目標程序(匯編語言或機器語言)。解釋型,解釋程序實現高級知鄭語言的三種方式解釋型在詞法、語法和語義分析方面與編譯程序的工作原理基本相同,但在運行時直接執行源程序或源程序的內部形式,即解釋程序不產生源程序的目標程序,解釋程序通常可以分為兩部分:第一部分是分析部分,經語義分析後把源程序翻譯成中間代碼,中間代碼常用逆波蘭式表示。第二部分是解釋部分。
高級語言(High-levelprogramminglanguage)是一種獨立於機器,面向過程或對象的語言。高級語言是參照數學語言而設哪猛罩計的近似於日常會話的語言。例如,要將2個變數相李鬧加並賦值給第三個變數,用高級語言表達為var3=var1+var2。
Ⅱ 為什麼高級語言中存在編譯和解釋兩種編譯方式
編譯方式:事先編好的一個叫做編譯程序的機器語言程序放在計算機中。當高級語言編的源程序輸入計算機時,編譯程序就把源程序自動整個地翻譯成用機器指令表示的目標程序。
解釋方式:事先編好的一個叫做解釋程序的機器語言程序放在計算機中,當高級語言源程序輸入計算機後,解釋程序自動地逐句翻譯源程序,譯一句執行一句。
因此往往需要特定的平台,由於程序執行的是編譯好的二進制文件,這種編譯一旦完成,那麼就只能在特定平台上運行了:編譯是指將源語言轉化為目標計算機的可執行二進制代碼兩者互有優劣,因此速度比較快(相對下面的解釋)。
解釋方式:事先編好的一個叫做解釋程序的機器語言程序放在計算機中,當高級語言源程序輸入計算機後,解釋程序自動地逐句翻譯源程序,譯一句執行一句。 可以這么理解,編譯的結果是另外一種語言,而解釋的就是一種中間語言。
Ⅲ 高級語言的翻譯過程有兩種形式
編譯方式是將高級語言全部翻譯成機器指令之後,再將機器指令交予計算機執行;解釋方式是將高級語言逐句翻譯,翻譯一句,執行一句,不產生整個目標程序。
所謂解釋方式就是由計算機專業人員事先編好一個解釋程序構成一個解釋系統存放到計算機內,當把高級語言程序輸入到計算機內並運行程序之後,解釋系統就會對它進行解釋,解釋一句執行一句。也就是說,邊解釋邊執行。這與日常生活中的口譯類似。
所謂編譯方式就是由計算機專業人員事先編好一個編譯程序構成一個編譯系統存放到計算機內,當把高級語言程序輸入到計算機內並運行程序之後,編譯系統就把它整個翻譯為目標代碼程序,然後執行目標代碼程序。這與日常生活中的筆譯類似。
由於匯編語言依賴於硬體體系,且助記符量大難記,於是人們又發明了更加易用的所謂高級語言。在這種語言下,其語法和結構更類似漢字或者普通英文,且由於遠離對硬體的直接操作,使得一般人經過學習之後都可以編程。高級語言通常按其基本類型、代系、實現方式、應用范圍等分類。
Ⅳ 高級語言中的解釋方式和編譯方式的區別
兩者的區別如下:
解釋方式:程序運行時,取一條指令,將其轉化為機器指令,再執行這條機器指令。這種方式每次運行程序時都要重新翻譯整個程序,效率較低,執行速度慢,如QB,不過現在很少再用這種低效的方式的設計語言了。
編譯方式:程序運行時之前,將程序的所有代碼編譯為機器代碼,再運行這個程序。然後每次執行的時候就可以直接執行這個翻譯好的二進制文件了,這樣的程序只需要翻譯一次,效率明顯要高很多,現在的大多數語言都是這種方式,網頁中的asp.net 採用的也是這種方式。
Ⅳ 計算機高級程序語言的兩種工作方式(解釋方式和編譯方式)的區別
高級語言所編制的程序不能直接被計算機識別,必須經過轉換才能被執行,按轉換方式可
將它們分為兩類:
1.解釋類
執行方式類似於我們日常生活中的「同聲翻譯」,應用程序源代碼一邊由相應語言的解釋器「翻譯」成目標代碼(機器語言),一邊執行,因此效率比較低,而且不能生成可獨立執行的可執行文件,應用程序不能脫離其解釋器,但這種方式比較靈活,可以動態地調整、修改應用程序,典型的解釋型的高級語言有BASIC。
2.編譯類
編譯是指在應用源程序執行之前,就將程序源代碼「翻譯」成目標代碼(機器語言),因此其目標程序可以脫離其語言環境獨立執行,使用比較方便、效率較高。但應用程序一旦需要修改,必須先修改源代碼,再重新編譯生成新的目標文件(*.OBJ)才能執行,只有目標文件而沒有源代碼,修改很不方便。現在大多數的編程語言都是編譯型的,例如Visual C++、Delphi等。
Ⅵ 高級語言按照計算機執行方式不同可以分為哪兩類它們的執行方式有什麼不同,請進行概要說明。
計算機高級語言按程序的執行方式可分為:編譯型和解釋型。
編譯型的語言之使用專門的編譯器、針對特定平台將某種高級語言源代碼一次性「翻譯」成課被該平台硬體執行的機器嗎(包括機器指令和操作數),並包裝成該平台所能識別的可執行性程序的格式,這個轉換過程成為編譯(Compile)。編譯生成的可執行性程序可以脫離開發環境,在特定的平台上獨立運行。有些程序編譯結束後,還可能需要對其他編譯好的目標代碼進行鏈接,級組裝兩個以上的目標代碼模塊生成最終的可執行性程序,通過這種方式實現低層次的代碼復用。因為編譯性慾眼十一磁性的編譯成機器碼,所以可以脫離開發環境獨立運行,且通常運行效率較高;但要移植,則必須將源碼復制到特定平台上,針對特定平台進行修改,至少重新編譯。
解釋型語言是指使用專門的解釋其隊員城西逐行解釋成特定平台的機器嗎並立即執行的語言,解釋型語言通常不會進行整體性的編譯和鏈接處理,解釋型語言相當與把編譯型語言中的編譯和解釋過程混合到了一起同時完成。可以認為:每次執行解釋型語言的程序都需要進行一次編譯,因此解釋型語言的程序運行效率通常較低,而且不能脫離解釋其獨立運行。其優勢在於跨平台容易,只需提供特定平台的解釋其即可。
除此外還有一種偽編譯型語言。如Visual Basic,可以成成可執行性的EXE文件,實際上這個文件中,既有程序的啟動代碼,也有鏈接解釋程序的代碼,而這部分代碼負責啟動Vsuial Basic 解釋程序,再對Vsuial Basic代碼進行解釋並執行。
Ⅶ 每一種高級語言都有它對應的編譯程序這句話是不是對的
這句話是錯的,並不是所有的高級程序設計語言都是編譯執行的,有些高級程序設計語言就是解釋執行的。
這里的關鍵是理解編譯執行和解釋執行的不同,編譯執行是由編譯程序編譯鏈接之後,生成可執行文件,以後只要執行可執行文件就好了;而解釋執行,是由解釋器來執行代碼的,每次執行都是解釋執行代碼的過程。解釋執行的典型高級程序設計語言就是JAVA,另外還有VB等腳本語言。