程序语言基础:解释程序基本原理笔记

1、解释程序的概念

解释程序是在运行用户程序时,直接执行源程序或源程序的中间表示。解释程序不产生源程序的目标程序。

解释程序实现高级语法的三种方式如下图:

             

方式A:直接对整个源程序进行逐个字符的检查、进行词法、语法分析和语义分析后就执行程序语句规定的动作。特点是反复扫描源程序来实现程序的运行效率很低。

方式B:解释程序先将源程序翻译成某种中间代码形式,然后对中间代码进行解释和实现用户程序的运行。

方式C:解释程序采用的中间代码更接近机器语言。

2、解释程序的结构

解释程序分为:分析部分、解释部分。

分析部分:主要包括词法分析、语法分析、语义分析程序。把源程序翻译成中间代码,中间代码常采用逆波兰方式表示。

解释部分:对解释部分的中间代码进行解释执行。

3、编译与解释方式对比

对比内容

编译方式

解释方式

效率

编译翻译一次多次运行,效率高

需要反复扫描源程序,效率低

灵活性

灵活性高

灵活性低

posted @   天使不哭  阅读(47)  评论(0编辑  收藏  举报  
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2019-09-22 收集12个经典的程序员段子
2019-09-22 收集12个经典的程序员段子
2018-09-22 IT人永远不老,老程序员价值何在?
2018-09-22 IT人永远不老,老程序员价值何在?
2018-09-22 IT人永远不老,老程序员价值何在?
2018-09-22 .NET版开源日志框架Log4Net详解
2018-09-22 .NET版开源日志框架Log4Net详解
点击右上角即可分享
微信分享提示