解釋程式和編譯程式的區別

2022-01-31 13:03:13 字數 757 閱讀 3888

將高階語言程式翻譯成機器語言程式的軟體稱為翻譯程式

翻譯程式有兩種,一種是編譯程式,一種是解釋程式

1編譯程式是將高階語言程式(如pascal ,fortran,c等)源**作為輸入,直接進行翻譯生成出機器語言的目標程式,然後再讓計算機執行這個目標程式,得到計算結果

編譯程式工作時,先分析,後綜合,從而得到目標程式,

分析指的是詞法分析和語法分析,綜合指的是**的優化,儲存的分配和**的生成

為了完成分析綜合任務,編譯程式對源程式進行一次甚至多次的掃瞄,每次掃瞄完成一項或多項任務,也有可能一項任務唄分成多次掃瞄才能完成,

eg:進行一項4次掃瞄的翻譯

(1)第一遍掃瞄做詞法分析

(2)第二遍掃瞄做語法分析

(3)第三遍掃瞄做**優化和儲存分配,

(4)第四遍掃瞄做**生成

另外,大多數掃瞄直接生成機器語言的目標**,但是有的也生成組合語言的目標**,進而在轉化為機器語言的目標**

2解釋程式

同樣將源**(如basic語言)的程式作為輸入,解釋一句就提交計算機執行一次,並不形成目標檔案,就想口語交際的中翻譯,說出一句翻譯一句,或者是終端的dos視窗,在終端輸入一條命令語句,解釋程式立刻返回給終端若干句;

這種只是適用於小型機器的計算問題,解釋程式的執行速度較慢,如果出現迴圈,也是重複著提交那麼一句

在日常生活中,如果需要大量的計算,建議使用招待速度較快的編譯程式,雖然編譯程式較為複雜,但是一旦生成目標檔案。以後就可以多次使用。對於小型的計算,就多採用解釋性的回話高階語言

編譯程式與解釋程式

解釋程式 所謂解釋程式是高階語言翻譯程式的一種,它將源語言 如basic 書寫的源程式作為輸入,解釋一句後就提交計算機執行一句,並不形成標程式。就像外語翻譯中的 口譯 一樣,說一句翻一句,不產生全文的翻譯文字。這種工作方式非常適合於人通過終端裝置與計算機會話,如在終端上打一條命令或語句,解釋程式就立...

編譯程式和解釋程式有哪些區別?

編譯程式,解釋程式,匯程式設計序是3種語言處理程式。其區別主要為 匯程式設計序 為低階服務 是將組合語言書寫的源程式翻譯成由機器指令和其他資訊組成的目標程式。解釋程式 為高階服務 直接執行源程式或源程式的內部形式,一般是讀一句源程式,翻譯一句,執行一句,不產生目標 如basic解釋程式。編譯程式 為...

翻譯程式 編譯程式和解釋程式的區別和聯絡

最近在複習編譯原理的時候,就在第一章,發現了乙個很有趣的知識點。翻譯程式是指這樣乙個程式,它把一種語言所寫的源程式翻譯成與之等價的另一種語言的目標程式。編譯程式是一種翻譯程式,它把高階語言所寫的源程式翻譯成等價的機器語言或組合語言的目標程式。解釋程式也是一種翻譯程式,它將源程式作為輸入並執行它,邊解...