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


將高級語言程序翻譯成機器語言程序的軟件稱為翻譯程序

 

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

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

 

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

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

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

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

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

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

(3)第三遍掃描做代碼優化和存儲分配,

(4)第四遍掃描做代碼生成

 

另外,大多數掃描直接生成機器語言的目標代碼,但是有的也生成匯編語言的目標代碼,進而在轉化為機器語言的目標代碼

 

2解釋程序

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

這種只是適用於小型機器的計算問題,解釋程序的執行速度較慢,如果出現循環,也是重復着提交那么一句

 

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM