編譯:產(chǎn)生目標代碼。
運行:執(zhí)行目標代碼。
編譯程序:
這是一類很重要的語言處理程序,它把 高級語言 (如FORTRAN、COBOL、Pascal、C等) 源程序 作為輸入,進行翻譯轉(zhuǎn)換,產(chǎn)生出 機器語言 的目標程序,然后再讓計算機去執(zhí)行這個目標程序,得到計算結(jié)果。
編譯程序 工作時,先分析,后綜合,從而得到目標程序。所謂分析,是指詞法分析和語法分析;所謂綜合是指代碼優(yōu)化,存儲分配和代碼生成。為了完成這些分析綜合任務(wù), 編譯程序 采用對源程序進行多次掃描的辦法,每次掃描集中完成一項或幾項任務(wù),也有一項任務(wù)分散到幾次掃描去完成的。下面舉一個四遍掃描的例子:第一遍掃描做詞法分析;第二遍掃描做語法分析;第三遍掃描做代碼優(yōu)化和存儲分配;第四遍掃描做代碼生成。
值得一提的是,大多數(shù)的編譯程序直接產(chǎn)生 機器語言 的目標代碼,形成可執(zhí)行的目標文件,但也有的編譯程序則先產(chǎn)生 匯編語言 一級的符號代碼文件,然后再調(diào)用 匯編程序 進行翻譯加工處理,最后產(chǎn)生可執(zhí)行的 機器語言 目標文件。
在實際應(yīng)用中,對于需要經(jīng)常使用的有大量計算的大型題目,采用招待速度較快的編譯型的 高級語言 較好,雖然編譯過程本身較為復(fù)雜,但一旦形成目標文件,以后可多次使用。相反,對于小型題目或計算簡單不太費機時的題目,則多選用解釋型的會話式高級語言,如BASIC,這樣可以大大縮短編程及調(diào)試的時
解釋程序:
所謂解釋程序是 高級語言 翻譯程序的一種,它將源語言(如BASIC)書寫的 源程序 作為輸入,解釋一句后就提交計算機執(zhí)行一句,并不形成目標程序。就像外語翻譯中的“口譯”一樣,說一句翻一句,不產(chǎn)生全文的翻譯文本。這種工作方式非常適合于人通過 終端設(shè)備 與計算機會話,如在終端上打一條命令或語句,解釋程序就立即將此語句解釋成一條或幾條指令并提交硬件立即執(zhí)行且將執(zhí)行結(jié)果反映到終端,從終端把命令打入后,就能立即得到計算結(jié)果。這的確是很方便的,很適合于一些 小型機 的計算問題。但解釋程序執(zhí)行速度很慢,例如 源程序 中出現(xiàn)循環(huán),則解釋程序也重復(fù)地解釋并提交執(zhí)行這一組語句,這就造成很大浪費。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
