⑴ 編譯程序和解釋程序有何區別
編譯程序能生成目標程序,而解釋程序不能。
⑵ 編譯程序和解釋程序的區別是
編譯程序是整體編譯完了,再一次性執行。而解釋程序是一邊解釋,一邊執行。 解釋一句後就提交計算機執行一句,並不形成目標程序。就像外語翻譯中的「口譯」一樣,說一句翻一句,不產生全文的翻譯文本。
⑶ 請問編譯程序和解釋程序是什麼意思什麼是編譯器、什麼是解釋器
編譯和解釋是從源程序到可執行程序轉換的兩種方法。編譯,是在源程序完成後,先轉換成中間代碼,然後再轉換成二進制代碼,完成後,每次執行,都直接執行這個二進制代碼。一次轉換完成。
而解釋程序的執行不同,他在執行時,是一次讀入一條源代碼,然後分析轉換成二進制代碼,執行這條語句,然後再讀入一條源代碼,再轉換,再執行。是一邊轉換一邊執行。編譯器和解釋器就是完成編譯和解釋工作的一個軟體。
⑷ 編譯程序和解釋程序,匯編程序有什麼區別
首先,匯編語言是一種語言,一種低級語言,和c,c++,vb......是一樣的,和編譯、解釋不是一個概念;
關於解釋程序
和編譯程序的解釋和關系如下:
a、解釋程序
所謂解釋程序是高級語言翻譯程序的一種,它將源語言(如basic)書寫的源程序作為輸入,解釋一句後就提交計算機執行一句,並不形成目標程序。就像外語翻譯中的「口譯」一樣,說一句翻一句,不產生全文的翻譯文本。這種工作方式非常適合於人通過終端設備與計算機會話,如在終端上打一條命令或語句,解釋程序就立即將此語句解釋成一條或幾條指令並提交硬體立即執行且將執行結果反映到終端,從終端把命令打入後,就能立即得到計算結果。這的確是很方便的,很適合於一些小型機的計算問題。但解釋程序執行速度很慢,例如源程序中出現循環,則解釋程序也重復地解釋並提交執行這一組語句,這就造成很大浪費。
b、編譯程序
這是一類很重要的語言處理程序,它把高級語言(如fortran、cobol、pascal、c等)源程序作為輸入,進行翻譯轉換,產生出機器語言的目標程序,然後再讓計算機去執行這個目標程序,得到計算結果。
編譯程序工作時,先分析,後綜合,從而得到目標程序。所謂分析,是指詞法分析和語法分析;所謂綜合是指代碼優化,存儲分配和代碼生成。為了完成這些分析綜合任務,編譯程序採用對源程序進行多次掃描的辦法,每次掃描集中完成一項或幾項任務,也有一項任務分散到幾次掃描去完成的。下面舉一個四遍掃描的例子:第一遍掃描做詞法分析;第二遍掃描做語法分析;第三遍掃描做代碼優化和存儲分配;第四遍掃描做代碼生成。
值得一提的是,大多數的編譯程序直接產生機器語言的目標代碼,形成可執行的目標文件,但也有的編譯程序則先產生匯編語言一級的符號代碼文件,然後再調用匯編程序進行翻譯加工處理,最後產生可執行的機器語言目標文件。
在實際應用中,對於需要經常使用的有大量計算的大型題目,採用招待速度較快的編譯型的高級語言較好,雖然編譯過程本身較為復雜,但一旦形成目標文件,以後可多次使用。相反,對於小型題目或計算簡單不太費機時的題目,則多選用解釋型的會話式高級語言,如basic,這樣可以大大縮短編程及調試的時間。
⑸ 編譯程序和解釋程序有何區別
編譯程序是整體編譯完了,再一次性執行。
而解釋程序是一邊解釋,一邊執行。
解釋一句後就提交計算機執行一句,並不形成目標程序。就像外語翻譯中的「口譯」一樣,說一句翻一句,不產生全文的翻譯文本。
⑹ 編譯程序和解釋程序都是什麼意思
1、編譯程序是把用高級程序設計語言或計算機匯編語言書寫的源程序,翻譯成等價的機器語言格式目標程序的翻譯程序,屬於採用生成性實現途徑實現的翻譯程序。編譯程序以高級程序設計語言書寫的源程序作為輸入,而以匯編語言或機器語言表示的目標程序作為輸出;編譯出的目標程序通常還要經歷運行階段,以便在運行程序的支持下運行,加工初始數據,算出所需的計算結果。
2、解釋程序是高級語言翻譯程序的一種,它將源語言書寫的源程序作為輸入,解釋一句後就提交計算機執行一句,並不形成目標程序。就像外語翻譯中的「口譯」一樣,說一句翻一句,不產生全文的翻譯文本。
(6)概述解釋程序和編譯程序擴展閱讀:
編譯程序的實現演算法較為復雜。這是因為它所翻譯的語句與目標語言的指令不是一一對應關系,而是一多對應關系;同時也因為它要處理遞歸調用、動態存儲分配、多種數據類型,以及語句間的緊密依賴關系。但是,由於高級程序設計語言書寫的程序具有易讀、易移植和表達能力強等特點,編譯程序廣泛地用於翻譯規模較大、復雜性較高、且需要高效運行的高級語言書寫的源程序。
⑺ 編譯程序和解釋程序有哪些區別
編譯是在開發期將程序源代碼變成直面系統內核的機器碼,編譯的程序可以在編譯器支持的系統平台上運行,在程序的執行期是不依靠其他軟體環境的;
解釋的程序則在執行期仍然需要其開發語言的軟體環境來對程序進行解釋,之後才能被系統底層接受和執行,所以在用戶來看,其程序執行效率低,對第三方軟體環境依賴程度高。
⑻ 編譯性程序跟解釋性程序有什麼不同
編譯性程序,比如C語言編寫的代碼,要運行這個程序,先要通過編譯器對源代碼進行編譯,生成機器代碼。
而解釋性程序,不需要經過編譯,但要運行這個程序,需要通過一個解釋器,對載入的源代碼進行解釋翻譯成機器指令來執行。
⑼ 請問匯編程序, 解釋程序, 編譯程序分別指
1、匯編程序
把匯編語言書寫的程序翻譯成與之等價的機器語言程序的翻譯程序。匯編程序輸入的是用匯編語言書寫的源程序,輸出的是用機器語言表示的目標程序。匯編語言是為特定計算機或計算機系列設計的一種面向機器的語言,由匯編執行指令和匯編偽指令組成。
採用匯編語言編寫程序雖不如高級程序設計語言簡便、直觀,但是匯編出的目標程序佔用內存較少、運行效率較高,且能直接引用計算機的各種設備資源。它通常用於編寫系統的核心部分程序,或編寫需要耗費大量運行時間和實時性要求較高的程序段。
2、解釋程序
解釋程序是一種語言處理程序,在詞法、語法和語義分析方面與編譯程序的工作原理基本相同,但在運行用戶程序時,它直接執行源程序或源程序的內部形式(中間代碼)。因此,解釋程序並不產生目標程序,這是它和編譯程序的主要區別。
3、編譯程序
編譯程序也稱為編譯器,是指把用高級程序設計語言書寫的源程序,翻譯成等價的機器語言格式目標程序的翻譯程序。編譯程序屬於採用生成性實現途徑實現的翻譯程序。
它以高級程序設計語言書寫的源程序作為輸入,而以匯編語言或機器語言表示的目標程序作為輸出。編譯出的目標程序通常還要經歷運行階段,以便在運行程序的支持下運行,加工初始數據,算出所需的計算結果。
(9)概述解釋程序和編譯程序擴展閱讀:
工作過程
1、匯編程序
輸入匯編語言源程序。檢查語法的正確性,如果正確,則將源程序翻譯成等價的二進制或浮動二進制的機器語言程序,並根據用戶的需要輸出源程序和目標程序的對照清單;如果語法有錯,則輸出錯誤信息,指明錯誤的部位、類型和編號。最後,對已匯編出的目標程序進行善後處理。
2、解釋程序
由總控程序完成初始化工作。依次從源程序中取出一條語句進行語法檢查,如有錯,輸出錯誤信息;如果通過了語法檢查,則根據語句翻澤成相應的指令並執行它。檢查源程序是否已經全部解釋執行完畢,如果未完成則繼續解釋並執行下一條語句,直到全部語句都處理完畢。
3、編譯程序
先進行詞法分析與語法分析,然後生成中間代碼,接著對程序進行多種等價變換來代碼優化,最後生成目標代碼。