解釋程序

解釋程序

解釋程序,專業術語,是指按照源程序的指令或語句的動態執行順序,逐條或逐句翻譯並立即執行的翻譯程序。

基本內容


解釋程序的特點是把源程序直接翻譯成加工輸入數據,產生所求的動作,而不是產生目標語言形式的目標程序。
解釋程序
解釋程序
結構和工作過程 解釋程序由一個總控程序和若干個執行子程序組成(見圖)。解釋程序的工作過程如下:首先,由總控程序執行初始準備工作,置工作初態;然後,從源程序中取一個語句S,並進行語法檢查。如果語法有錯,則輸出錯誤信息;否則,根據所確定的語句類型轉去執行相應的執行子程序。返回后檢查解釋工作是否完成,如果未完成,則繼續解釋下一語句;否則,進行必要的善後處理工作。
適用範圍
解釋程序的突出優點是可簡單地實現,且易於在解釋執行過程中靈活、方便地插入修改和調試措施,但最大的缺點是執行效率很低。例如,需要多次重複執行的語句,採用編譯程序時只需要翻譯一次;但在解釋程序中卻需要重複翻譯,重複執行。根據這些特點,解釋程序適用於如下場合:
①有些語言中的大多數語句,如字元串加工語言中的字元串查找語句和加工語句,其執行時間比翻譯時間長得多。對於這種語言,採用生成性方案,效果甚微,而採用解釋性方案則易於實現。
②為了便於用戶調試和修改程序,又能保證程序高效運行,很多程序設計語言配置兩個加工系統,一個用於調試,一個用於有效地運行。調試用的系統一般用解釋程序實現,以便及時監視運行情況、動態地輸出調試信息和靈活地修改錯誤。
③互動式會話語言(如BASIC,APL),要為用戶提供并行、交錯編寫、執行、調試和修改源程序的功能。採用解釋程序易於實現這些功能。
隨著超大規模集成電路的迅速發展,不少人提出用微程序設計方法實現高級程序設計語言解釋程序的想法,隨之出現了如“FORTRAN機”之類的高級語言機器的概念。