程序语言基础:解释程序基本原理笔记
1、解释程序的概念
解释程序是在运行用户程序时,直接执行源程序或源程序的中间表示。解释程序不产生源程序的目标程序。
解释程序实现高级语法的三种方式如下图:
方式A:直接对整个源程序进行逐个字符的检查、进行词法、语法分析和语义分析后就执行程序语句规定的动作。特点是反复扫描源程序来实现程序的运行效率很低。
方式B:解释程序先将源程序翻译成某种中间代码形式,然后对中间代码进行解释和实现用户程序的运行。
方式C:解释程序采用的中间代码更接近机器语言。
2、解释程序的结构
解释程序分为:分析部分、解释部分。
分析部分:主要包括词法分析、语法分析、语义分析程序。把源程序翻译成中间代码,中间代码常采用逆波兰方式表示。
解释部分:对解释部分的中间代码进行解释执行。
3、编译与解释方式对比
对比内容 | 编译方式 | 解释方式 |
效率 | 编译翻译一次多次运行,效率高 | 需要反复扫描源程序,效率低 |
灵活性 | 灵活性高 | 灵活性低 |
作者:天使不哭
微信号:hgmyzhl
微信公众号:小明互联网技术分享社区
CSDN:IT技术分享社区
知乎:IT技术分享社区
出处:小明互联网技术分享社区
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.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详解