① 翻譯程序和編譯程序的區別
翻譯程序是一種系統程序,它將計算機編程語言編寫的程序翻譯成另外一種計算機語言的一般來說等價的程序,主要包括編譯程序和解釋程序,匯編程序也被認為是翻譯程序。
程序的最初形式稱為源程序或者源代碼,翻譯後的形式被稱為目標程序或者目標代碼。
大多數翻譯程序是將高級語言編寫的程序翻譯為機器語言形式的可執行程序。但是也有些翻譯程序將源程序翻譯成其他高級語言或者位元組碼等中間形式。翻譯程序不是語言處理程序。
任何一種高級程序都有一個與之對應的編譯器來完成對源程序的翻譯。一個編譯器至少要包含三個部分的進程。詞法分析器、語法分析器、代碼生成器。
編譯程序(Compiler,compiling program)也稱為編譯器,是指把用高級程序設計語言書寫的源程序,翻譯成等價的機器語言格式目標程序的翻譯程序。編譯程序屬於採用生成性實現途徑實現的翻譯程序。它以高級程序設計語言書寫的源程序作為輸入,而以匯編語言或機器語言表示的目標程序作為輸出。編譯出的目標程序通常還要經歷運行階段,以便在運行程序的支持下運行,加工初始數據,算出所需的計算結果。
② 英語編譯程序怎麼翻譯
編譯程序一般翻譯為compiler。
實際上在整個編譯過程中會用到很多的工具,預處理器、編譯器、匯編器、定位/分配器、連接器。
③ 什麼是翻譯程序,編譯程序,解釋程序
翻譯程序是指將用某種語言編寫的程序轉換成另一種語言形式的程序的程序,如編譯程序和匯編程序等。
編譯程序是把用高級語言編寫的源程序轉換(加工)成與之等價的另一種用低級語言編寫的目標程序的翻譯程序。
解釋程序是解釋、執行高級語言源程序的程序。
④ 編譯程序和解釋程序都是什麼意思
1、編譯程序是把用高級程序設計語言或計算機匯編語言書寫的源程序,翻譯成等價的機器語言格式目標程序的翻譯程序,屬於採用生成性實現途徑實現的翻譯程序。編譯程序以高級程序設計語言書寫的源程序作為輸入,而以匯編語言或機器語言表示的目標程序作為輸出;編譯出的目標程序通常還要經歷運行階段,以便在運行程序的支持下運行,加工初始數據,算出所需的計算結果。
2、解釋程序是高級語言翻譯程序的一種,它將源語言書寫的源程序作為輸入,解釋一句後就提交計算機執行一句,並不形成目標程序。就像外語翻譯中的「口譯」一樣,說一句翻一句,不產生全文的翻譯文本。
(4)翻譯程序編譯程序擴展閱讀:
編譯程序的實現演算法較為復雜。這是因為它所翻譯的語句與目標語言的指令不是一一對應關系,而是一多對應關系;同時也因為它要處理遞歸調用、動態存儲分配、多種數據類型,以及語句間的緊密依賴關系。但是,由於高級程序設計語言書寫的程序具有易讀、易移植和表達能力強等特點,編譯程序廣泛地用於翻譯規模較大、復雜性較高、且需要高效運行的高級語言書寫的源程序。
⑤ 急!!!!!!!!解釋程序與編譯程序有什麼區別,各舉例!!!!!!
編譯程序和解釋程序2006年10月16日
星期一
14:26如果一個程序能夠把某一種語言程序(稱為源語言程序)改造成為另一種語言程序(稱為目標語言程序),則這親戚的程序稱為「翻譯程序」。如果源語言是「高級語言」(諸如FORTRAN、PASCAL等等),而目標語言是「低級語言」(如匯編語言或機器語言),則這樣的翻譯程序稱為「編譯程序」。
現在的計算機尚不能直接執行高級語言程序。執行一個高級語言程序大體上要分兩步:第一步,把高級語言的源程序編譯成低級語言的目標程序;第二步,運行這個目標程序。編譯程序的典型工作過程是:輸入源程序,對它進行加工處理,輸出目標程序。加工處理是非常復雜的過程,它又可劃分成以下幾個階段:源程序→詞法分析→語法分析→產生中間代碼→優化→目標代碼生成→目標程序。
第一階段是詞法分析。承擔詞法分析任務的程序稱為「掃描器」。詞法分析的任務是:對構成源程序的字元串進行掃描和分解。第二階段是語法分析。承擔語法分析任務的程序稱為「分析器」。語法分析的任務是:根據語法規則,把描掃器所提供的結果分析成各類語法范疇。第三階段是產生中間代碼。承擔產生中間代碼任務的程序稱為「中間代碼產生器」。其任務是:按照語法分析器所識別出的語法范疇,產生相應的中間指令。第四階段是優化,即代碼優化。優化的任務是對前階段產生的中間代碼進行加工變換,以便使生成的目標程序,能運行得更快更省(省內存)。第五階段是目標代碼生成。這一階段的任務是:按照優化後的中間代碼和其它有關信息生成目標程序。這種目標程序可以在計算機上直接執行。執行這個目標程序,就可得到一個高級語言程序的結果。
我們知道,所謂翻譯程序是這樣一種程序,它能夠把用甲語言寫的程序翻譯成與之等價的用乙語言寫的程序。這里的甲語言是該翻譯程序的源語言,而乙語言則為該翻譯程序的目標語言。對於編譯程序而言,源程序是被加工的對象,而目標程序是加工後的結果。
在計算機上執行用某種高級語言寫的源程序,通常有兩種方式:一是編譯執行方式,二是解釋執行方式。
採用編譯執行方式執行源程序時要分兩大步:編譯和運行。編譯中的加工處理過程又可分為五個階段。
解釋執行方式與編譯執行方式是不同的,其根本區別在於:編譯方式把源程序的執行過程嚴格地分成兩大步:編譯和運行。即先把源程序全部翻譯成目標代碼,然後再運行此目標代碼,獲執行結果。解釋方式則不然。它是按照源程序中語句的動態順序,直接地逐句進行分析解釋,並立即執行。所以,解釋程序是這樣一種程序,它能夠按照源程序中語句的動態順序,逐句地分析解釋並執行,直至源程序結束。
與編譯程序一樣,解釋程序也與源語言及計算機有關。同一台計算機上不同語言的解釋程序是不同的;同一種語言在不同的計算機上的解釋程序也可能不同。同一種高級語言的源程序,它可以採用解釋執行方式,也可以採用編譯執行方式。例如,BASIC語言有解釋BASIC和編譯BASIC之分。前者執行速度慢;後者執行速度快。編譯程序和解釋程序都屬於系統程序。
⑥ 請問匯編程序, 解釋程序, 編譯程序分別指
1、匯編程序
把匯編語言書寫的程序翻譯成與之等價的機器語言程序的翻譯程序。匯編程序輸入的是用匯編語言書寫的源程序,輸出的是用機器語言表示的目標程序。匯編語言是為特定計算機或計算機系列設計的一種面向機器的語言,由匯編執行指令和匯編偽指令組成。
採用匯編語言編寫程序雖不如高級程序設計語言簡便、直觀,但是匯編出的目標程序佔用內存較少、運行效率較高,且能直接引用計算機的各種設備資源。它通常用於編寫系統的核心部分程序,或編寫需要耗費大量運行時間和實時性要求較高的程序段。
2、解釋程序
解釋程序是一種語言處理程序,在詞法、語法和語義分析方面與編譯程序的工作原理基本相同,但在運行用戶程序時,它直接執行源程序或源程序的內部形式(中間代碼)。因此,解釋程序並不產生目標程序,這是它和編譯程序的主要區別。
3、編譯程序
編譯程序也稱為編譯器,是指把用高級程序設計語言書寫的源程序,翻譯成等價的機器語言格式目標程序的翻譯程序。編譯程序屬於採用生成性實現途徑實現的翻譯程序。
它以高級程序設計語言書寫的源程序作為輸入,而以匯編語言或機器語言表示的目標程序作為輸出。編譯出的目標程序通常還要經歷運行階段,以便在運行程序的支持下運行,加工初始數據,算出所需的計算結果。
(6)翻譯程序編譯程序擴展閱讀:
工作過程
1、匯編程序
輸入匯編語言源程序。檢查語法的正確性,如果正確,則將源程序翻譯成等價的二進制或浮動二進制的機器語言程序,並根據用戶的需要輸出源程序和目標程序的對照清單;如果語法有錯,則輸出錯誤信息,指明錯誤的部位、類型和編號。最後,對已匯編出的目標程序進行善後處理。
2、解釋程序
由總控程序完成初始化工作。依次從源程序中取出一條語句進行語法檢查,如有錯,輸出錯誤信息;如果通過了語法檢查,則根據語句翻澤成相應的指令並執行它。檢查源程序是否已經全部解釋執行完畢,如果未完成則繼續解釋並執行下一條語句,直到全部語句都處理完畢。
3、編譯程序
先進行詞法分析與語法分析,然後生成中間代碼,接著對程序進行多種等價變換來代碼優化,最後生成目標代碼。
⑦ 什麼是匯編程序,編譯程序,解釋程序分別說明他們的功能
【匯編程序】:把匯編語言書寫的程序翻譯成與之等價的機器語言程序的翻譯程序。
【編譯程序】:把用高級程序設計語言書寫的源程序,翻譯成等價的計算機匯編語言或機器語言的目標程序的翻譯程序。
【解釋程序】:對源程序邊解釋翻譯成機器代碼邊執行的高級語言程序。
高級語言的程序的執行的途徑:
1)源程序(高級語言)->【編譯程序】->目標程序(匯編語言)->【匯編程序】->目標程序(機器語言)->計算結果
2)源程序(高級語言)->【編譯程序】->目標程序(機器語言)->計算結果
3)源程序(高級語言)->【解釋程序】(逐條讀出源程序中的語句並解釋執行,即在解釋程序的執行過程中並不產生目標程序)->計算結果
⑧ 編譯原理中「翻譯程序」如何理解
編譯程序:把用高級程序設計語言書寫的源程序,翻譯成等價的計算機匯編語言或機器語言的目標程序的翻譯程序。
解釋程序是高級語言翻譯程序的一種,它將源語言(如BASIC)書寫的源程序作為輸入,解釋一句後就提交計算機執行一句,並不形成目標程序。
編譯程序和解釋程序都是翻譯程序。
我覺得你說的書上的定義有點問題
⑨ 高級語言源程序必須翻譯成目標程序後才能執行,完成這種翻譯過程的程序是編譯程序。
是。
編譯就是要把高級語言的源程序翻譯成目標程序的過程,一般整個過程可劃分為詞法分析、語法分析、語義分析、中間代碼生成、代碼優化和目標代碼生成6個階段。
編譯程序(編譯器)則是將源程序翻譯成目標語言程序,然後在計算機上運行目標程序,兩種語言處理程序的根本區別是在編譯方式下,機器上運行的是與源程序等價的目標程序,源程序和編譯程序都不再參與目標程序的執行過程,而在解釋方式下,解釋程序和源程序要參與到程序的運行過程中,運行程序的控制權在解釋程序。
(9)翻譯程序編譯程序擴展閱讀:
注意事項:
高級語言完全脫離機器指令,用人們更加易於理解的方式編寫程序,更接近於科學計算的公式及問題。
機器語言和匯編語言是一種面向機器的語言,而高級語言是面向科學計算和實際問題的語言。
當然高級語言編寫的程序不能直接由計算機來執行,必須由翻譯程序把它翻譯為機器語言的程序,計算機才能執行。
⑩ 編譯程序是什麼意思編譯是什麼意思
編譯程序(Compiler,compiling program)也稱為編譯器,是指把用高級程序設計語言書寫的源程序,翻譯成等價的機器語言格式目標程序的翻譯程序。
解釋程序是一種語言處理程序,在詞法、語法和語義分析方面與編譯程序的工作原理基本相同,但在運行用戶程序時,它直接執行源程序或源程序的內部形式(中間代碼)。
(10)翻譯程序編譯程序擴展閱讀:
結構:
編譯過程分為分析和綜合兩個部分,並進一步劃分為詞法分析、語法分析、語義分析、代碼優化、存儲分配和代碼生成等六個相繼的邏輯步驟。這六個步驟只表示編譯程序各部分之間的邏輯聯系,而不是時間關系。
編譯過程既可以按照這六個邏輯步驟順序地執行,也可以按照平行互鎖方式去執行。在確定編譯程序的具體結構時,常常分若干遍實現。對於源程序或中間語言程序,從頭到尾掃視一次並實現所規定的工作稱作一遍。每一遍可以完成一個或相連幾個邏輯步驟的工作。
可以把詞法分析作為第一遍;語法分析和語義分析作為第二遍;代碼優化和存儲分配作為第三遍;代碼生成作為第四遍。反之,為了適應較小的存儲空間或提高目標程序質量,也可以把一個邏輯步驟的工作分為幾遍去執行。