1、解釋程序的概念
解釋程序是在運行用戶程序時,直接執行源程序或源程序的中間表示。解釋程序不產生源程序的目標程序。
解釋程序實現高級語法的三種方式如下圖:
? ? ? ? ? ? ?
方式A:直接對整個源程序進行逐個字符的檢查、進行詞法、語法分析和語義分析后就執行程序語句規定的動作。特點是反復掃描源程序來實現程序的運行效率很低。
方式B:解釋程序先將源程序翻譯成某種中間代碼形式,然后對中間代碼進行解釋和實現用戶程序的運行。
方式C:解釋程序采用的中間代碼更接近機器語言。
2、解釋程序的結構
解釋程序分為:分析部分、解釋部分。
分析部分:主要包括詞法分析、語法分析、語義分析程序。把源程序翻譯成中間代碼,中間代碼常采用逆波蘭方式表示。
解釋部分:對解釋部分的中間代碼進行解釋執行。
3、編譯與解釋方式對比
對比內容 | 編譯方式 | 解釋方式 |
效率 | 編譯翻譯一次多次運行,效率高 | 需要反復掃描源程序,效率低 |
靈活性 | 靈活性高 | 靈活性低 |