翻譯程式和編譯程式的區別,編譯程式和解釋程式都是什麼意思?

2021-05-01 18:40:04 字數 5152 閱讀 4967

1樓:匿名使用者

翻譯程式是一種系統程式,它將計算機程式語言編寫的程式翻譯成另外一種計算機語言的一般來說等價的程式,主要包括編譯程式和解釋程式,彙編程式也被認為是翻譯程式。

程式的最初形式稱為源程式或者源**,翻譯後的形式被稱為目標程式或者目標**。

大多數翻譯程式是將高階語言編寫的程式翻譯為機器語言形式的可執行程式。但是也有些翻譯程式將源程式翻譯成其他高階語言或者位元組碼等中間形式。翻譯程式不是語言處理程式。

任何一種高階程式都有一個與之對應的編譯器來完成對源程式的翻譯。一個編譯器至少要包含三個部分的程序。詞法分析器、語法分析器、**生成器。

編譯程式(compiler,compiling program)也稱為編譯器,是指把用高階程式設計語言書寫的源程式,翻譯成等價的機器語言格式目標程式的翻譯程式。編譯程式屬於採用生成性實現途徑實現的翻譯程式。它以高階程式設計語言書寫的源程式作為輸入,而以組合語言或機器語言表示的目標程式作為輸出。

編譯出的目標程式通常還要經歷執行階段,以便在執行程式的支援下執行,加工初始資料,算出所需的計算結果。

2樓:蔣蘭芳

前者是把源程式翻譯成目標程式的語言處理程式。後者將源語言源程式作為輸入,將語句解釋成指令執行,得到結果。兩者是逆向思維,前者是為了達到某種目的的要求,後者是實現某種目的的結果,前者難度大。

3樓:

編譯程式是將高階語言的程式轉成機器語言;翻譯是把程式要實現的功能進行闡述

編譯程式和解釋程式都是什麼意思?

4樓:景田不是百歲山

1、編譯程式是把用高階程式設計語言或計算機組合語言書寫的源程式,翻譯成等價的機器語言格式目標程式的翻譯程式,屬於採用生成性實現途徑實現的翻譯程式。編譯程式以高階程式設計語言書寫的源程式作為輸入,而以組合語言或機器語言表示的目標程式作為輸出;編譯出的目標程式通常還要經歷執行階段,以便在執行程式的支援下執行,加工初始資料,算出所需的計算結果。

2、解釋程式是高階語言翻譯程式的一種,它將源語言書寫的源程式作為輸入,解釋一句後就提交計算機執行一句,並不形成目標程式。就像外語翻譯中的「口譯」一樣,說一句翻一句,不產生全文的翻譯文字。

5樓:

編譯程式(compiler,compiling program)也稱為編譯器,是指把用高階程式設計語言書寫的源程式,翻譯成等價的機器語言格式目標程式的翻譯程式。

解釋程式是一種語言處理程式,在詞法、語法和語義分析方面與編譯程式的工作原理基本相同,但在執行使用者程式時,它直接執行源程式或源程式的內部形式(中間**)。

6樓:

a、解釋程式

所謂解釋程式是高階語言翻譯程式的一種,它將源語言(如basic)書寫的源程式作為輸入,解釋一句後就提交計算機執行一句,並不形成目標程式。就像外語翻譯中的「口譯」一樣,說一句翻一句,不產生全文的翻譯文字。這種工作方式非常適合於人通過終端裝置與計算機會話,如在終端上打一條命令或語句,解釋程式就立即將此語句解釋成一條或幾條指令並提交硬體立即執行且將執行結果反映到終端,從終端把命令打入後,就能立即得到計算結果。

這的確是很方便的,很適合於一些小型機的計算問題。但解釋程式執行速度很慢,例如源程式中出現迴圈,則解釋程式也重複地解釋並提交執行這一組語句,這就造成很大浪費。

b、編譯程式

這是一類很重要的語言處理程式,它把高階語言(如fortran、cobol、pascal、c等)源程式作為輸入,進行翻譯轉換,產生出機器語言的目標程式,然後再讓計算機去執行這個目標程式,得到計算結果。

編譯程式工作時,先分析,後綜合,從而得到目標程式。所謂分析,是指詞法分析和語法分析;所謂綜合是指**優化,儲存分配和**生成。為了完成這些分析綜合任務,編譯程式採用對源程式進行多次掃描的辦法,每次掃描集中完成一項或幾項任務,也有一項任務分散到幾次掃描去完成的。

下面舉一個四遍掃描的例子:第一遍掃描做詞法分析;第二遍掃描做語法分析;第三遍掃描做**優化和儲存分配;第四遍掃描做**生成。

值得一提的是,大多數的編譯程式直接產生機器語言的目標**,形成可執行的目標檔案,但也有的編譯程式則先產生組合語言一級的符號**檔案,然後再呼叫匯程式設計序進行翻譯加工處理,最後產生可執行的機器語言目標檔案。

在實際應用中,對於需要經常使用的有大量計算的大型題目,採用招待速度較快的編譯型的高階語言較好,雖然編譯過程本身較為複雜,但一旦形成目標檔案,以後可多次使用。相反,對於小型題目或計算簡單不太費機時的題目,則多選用解釋型的會話式高階語言,如basic,這樣可以大大縮短程式設計及除錯的時

7樓:花衣燕子

編譯程式指最終生成可脫離原編輯環境執行的程式,如exe、com、dll等,解釋程式指必須執行在程式設計環境或與程式設計環境相當的解釋檔案的支援;編譯程式通常最終為二進位制檔案,可以被計算機直接識別並執行,解釋程式不能直接被計算機識別只能是從程式中讀一行被相關的解釋環境「翻譯」一行再執行一行的執行,所以無論速度還是效率還是執行所需要的環境都比編譯程式差很多,像asp、php、basic等都是解釋程式。

編譯程式和解釋程式有何區別

8樓:之何勿思

編譯程式能生成目標程式,而解釋程式不能。

補充:1、編譯程式是整體編譯完了,再一次性執行。

2、而解釋程式是一邊解釋,一邊執行。 解釋一句後就提交計算機執行一句,並不形成目標程式。就像外語翻譯中的「口譯」一樣,說一句翻一句,不產生全文的翻譯文字。

3、編譯器是把源程式的每一條語句都編譯成機器語言,並儲存成二進位制檔案,這樣執行時計算機可以直接以機器語言來執行此程式,速度很快。

4、而直譯器則是隻在執行程式時,才一條一條的解釋成機器語言給計算機來執行,所以執行速度是不如編譯後的程式執行的快的。這是因為計算機不能直接認識並執行我們寫的語句,它只能認識機器語言(是二進位制的形式)

9樓:匿名使用者

編譯程式是整體編譯完了,再一次性執行。

而解釋程式是一邊解釋,一邊執行。 解釋一句後就提交計算機執行一句,並不形成目標程式。就像外語翻譯中的「口譯」一樣,說一句翻一句,不產生全文的翻譯文字。

10樓:安徽新華電腦專修學院

編譯就是把高階語言變成計算機可以識別的2進位制語言, 是對整個寫好的程式進行翻譯。 最終形成目標檔案

解釋程式, 是一句一句翻譯的, 最終不形成目標檔案

彙編程式? 你指的 是組合語言寫的程式嗎? 彙編程式一般指編譯生成與之等價的 機器語言

11樓:匿名使用者

計算機並不能直接地接受和執行用高階語言編寫的源程式,源程式在輸入計算機時,通過"翻譯程式"翻譯成機器語言形式的目標程式,計算機才能識別和執行。這種"翻譯"通常有兩種方式,即編譯方式和解釋方式。編譯方式是指利用事先編好的一個稱為編譯程式的機器語言程式,作為系統軟體存放在計算機內,當使用者將高階語言編寫的源程式輸入計算機後,編譯程式便把源程式整個地翻譯成用機器語言表示的與之等價的目標程式,然後計算機再執行該目標程式,以完成源程式要處理的運算並取得結果。

解釋方式是指源程式進入計算機後,解釋程式邊掃描邊解釋,逐句輸入逐句翻譯,計算機一句句執行,並不產生目標程式。如pascal、fortran、cobol等高階語言執行編譯方式;basic語言則以執行解釋方式為主;而pascal、c語言是能書寫編譯程式的高階程式設計語言。

編譯程式、解釋程式、彙編程式是3種語言處理程式。其區別主要為:彙編程式(為低階服務)是將組合語言書寫的源程式翻譯成由機器指令和其他資訊組成的目標程式。

解釋程式(為高階服務)直接執行源程式或源程式的內部形式,一般是讀一句源程式,翻譯一句,執行一句,不產生目標**,如basic解釋程式。編譯程式(為高階服務)是將高階語言書寫的源程式翻譯成與之等價的低階語言的目標程式。編譯程式與解釋程式最大的區別之一在於前者生成目標**,而後者不生成;此外,前者產生的目標**的執行速度比解釋程式的執行速度要快;後者人機互動好,適於初學者使用。

用cobol、fortran等語言編寫的程式考慮到執行速度一般都是編譯執行。

編譯程式和解釋程式有何區別?

12樓:之何勿思

編譯程式能生成目標程式,而解釋程式不能。

補充:1、編譯程式是整體編譯完了,再一次性執行。

2、而解釋程式是一邊解釋,一邊執行。 解釋一句後就提交計算機執行一句,並不形成目標程式。就像外語翻譯中的「口譯」一樣,說一句翻一句,不產生全文的翻譯文字。

3、編譯器是把源程式的每一條語句都編譯成機器語言,並儲存成二進位制檔案,這樣執行時計算機可以直接以機器語言來執行此程式,速度很快。

4、而直譯器則是隻在執行程式時,才一條一條的解釋成機器語言給計算機來執行,所以執行速度是不如編譯後的程式執行的快的。這是因為計算機不能直接認識並執行我們寫的語句,它只能認識機器語言(是二進位制的形式)

13樓:貿富貴班香

說一句翻一句。就像外語翻譯中的「口譯」一樣。

而解釋程式是一邊解釋,並不形成目標程式,再一次性執行。

解釋一句後就提交計算機執行一句,一邊執行編譯程式是整體編譯完了,不產生全文的翻譯文字

14樓:冀秀英永裳

計算機並不能直接地接受和執行用高階語言編寫的源程式,源程式在輸入計算機時,通過"翻譯程式"翻譯成機器語言形式的目標程式,計算機才能識別和執行。這種"翻譯"通常有兩種方式,即編譯方式和解釋方式。編譯方式是指利用事先編好的一個稱為編譯程式的機器語言程式,作為系統軟體存放在計算機內,當使用者將高階語言編寫的源程式輸入計算機後,編譯程式便把源程式整個地翻譯成用機器語言表示的與之等價的目標程式,然後計算機再執行該目標程式,以完成源程式要處理的運算並取得結果。

解釋方式是指源程式進入計算機後,解釋程式邊掃描邊解釋,逐句輸入逐句翻譯,計算機一句句執行,並不產生目標程式。如pascal、fortran、cobol等高階語言執行編譯方式;basic語言則以執行解釋方式為主;而pascal、c語言是能書寫編譯程式的高階程式設計語言。

編譯程式、解釋程式、彙編程式是3種語言處理程式。其區別主要為:彙編程式(為低階服務)是將組合語言書寫的源程式翻譯成由機器指令和其他資訊組成的目標程式。

解釋程式(為高階服務)直接執行源程式或源程式的內部形式,一般是讀一句源程式,翻譯一句,執行一句,不產生目標**,如basic解釋程式。編譯程式(為高階服務)是將高階語言書寫的源程式翻譯成與之等價的低階語言的目標程式。編譯程式與解釋程式最大的區別之一在於前者生成目標**,而後者不生成;此外,前者產生的目標**的執行速度比解釋程式的執行速度要快;後者人機互動好,適於初學者使用。

用cobol、fortran等語言編寫的程式考慮到執行速度一般都是編譯執行。

c程式編譯出來的程式在別的電腦上執行不起來 給個方案

vs2010你看你的。netframework是不是預設選的3.5如果你開發是時候選的是3.5 由於把別人的電腦沒有安裝.netframework3.5所以執行不起來。你把你的程式.netframework改為2.0重新編譯一下放到別人的電腦上試試看。或者你用.net framework 2.0或3...

c編譯的winform程式 如何生成單獨的

有兩個問題,一是目標計算機上如果沒有安裝你使用的.net框架對應版本的話,肯定是用不了的,二是你是不是隻打包了exe檔案卻沒有把呼叫的dll檔案一起打包,那也是打不開的。建議用vs自帶的安裝嚮導或是其它打包程式建立安裝檔案包,這個包裡是可以整合對應的.net框架的,雖然最後生成的安裝包要大一些,但是...

為什麼在c 上寫好且執行的程式在ACM編譯器上卻編譯錯誤

如果真想做acm,就不要用vc6.0,vc對標準c 支援很差。用dev c 正賽windows系統都沒有,要學會用emacs netbeans eclipse 若出現編譯錯誤,各oj上都會有提示,告訴你哪行錯了。常見vc正確,但標準c 錯誤的 1.void main 純粹m yy gcc和iso c...