1、解释程序的概念
解释程序是在运行用户程序时,直接执行源程序或源程序的中间表示。解释程序不产生源程序的目标程序。
解释程序实现高级语法的三种方式如下图:
方式A:直接对整个源程序进行逐个字符的检查、进行词法、语法分析和语义分析后就执行程序语句规定的动作。特点是反复扫描源程序来实现程序的运行效率很低。
方式B:解释程序先将源程序翻译成某种中间代码形式,然后对中间代码进行解释和实现用户程序的运行。
方式C:解释程序采用的中间代码更接近机器语言。
2、解释程序的结构
解释程序分为:分析部分、解释部分。
分析部分:主要包括词法分析、语法分析、语义分析程序。把源程序翻译成中间代码,中间代码常采用逆波兰方式表示。
解释部分:对解释部分的中间代码进行解释执行。
3、编译与解释方式对比
对比内容 | 编译方式 | 解释方式 |
效率 | 编译翻译一次多次运行,效率高 | 需要反复扫描源程序,效率低 |
灵活性 | 灵活性高 | 灵活性低 |