解释器和编译器

摘要:
解释器在语义分析后选择了直接执行语句;编译器在语义分析后选择将将语义存储成某一种中间语言,之后通过不同的后端翻译成不同的机器语言。究竟是开发解析器还是编译器?只需要依据功能上的实际需要来做出决定就ok了。

http://www.cnblogs.com/sword03/archive/2010/06/27/1766147.html

解释器和编译器也是如此,读入源语言后,解释器和编译器都要进行词法分析、语法分析和语义分析,之后,二者开始有所分别。解释器在语义分析后选择了直接执行语句;编译器在语义分析后选择将将语义存储成某一种中间语言,之后通过不同的后端翻译成不同的机器语言(可执行程序)。如下图所示:

解释器和编译器第1张
总之,解析器和编译器它们在功能上是不一样的,然而从结构上看却有诸多相同,而且在开发时也并没有本质上的差别,这也是很多人将二者混淆的原因之一。究竟是开发解析器还是编译器?只需要依据功能上的实际需要来做出决定就ok了。

免责声明:文章转载自《解释器和编译器》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇json编码格式化美化boost 系列 1:boost 直接使用下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

U-boot中SPL功能和源码流程分析

在U-boot目录下,有个比较重要的目录就是SPL的,SPL到底是什么呢?为什么要用它呢? SPL(Secondary programloader)是uboot第一阶段执行的代码。主要负责搬移uboot第二阶段的代码到 系统内存(System Ram,也叫片外内存)中运行。SPL是由固化在芯片内部的ROM引导的。我们知道很多芯 片厂商固化的ROM支持从na...

应用系统功能分析设计方法

应用系统功能分析设计方法 1. 概述 应用系统功能分析设计方法包括应用系统功能分析方法和设计方法。功能分析方法是分析应用系统应该具有哪些功能,功能需要完成哪些具体任务的方法。功能设计方法是研究功能应该如何组织成为功能界面,界面中的内容如何布局以及切换的方法。 1.1. 概念 功能帧:功能界面中独立占据整版显示空间的功能区域。 功能区:功能帧中相对独立占据部...

Effective Modern C++:05右值引用、移动语义和完美转发

         移动语义使得编译器得以使用成本较低的移动操作,来代替成本较高的复制操作;完美转发使得人们可以撰写接收任意实参的函数模板,并将其转发到目标函数,目标函数会接收到与转发函数所接收到的完全相同的实参。右值引用是将这两个不相关的语言特性连接起来的底层语言机制,正是它使得移动语义和完美转发成了可能。 23:理解std::move和std::forw...

Web挖掘技术

  一、数据挖掘 数据挖掘是运用计算机及信息技术,从大量的、不全然的数据集中获取隐含在当中的实用知识的高级过程。Web 数据挖掘是从数据挖掘发展而来,是数据挖掘技术在Web 技术中的应用。Web 数据挖掘是一项综合技术,通过从Internet 上的资源中抽取信息来提高Web 技术的利用效率,也就是从Web 文档结构和试用的集合中发现隐含的模式。 数据挖掘...

作业一 统计软件简介与数据操作

       SPSS(Statistical Product and Service Solutions),"统计产品与服务解决方案"软件。最初软件全称为"社会科学统计软件包"(SolutionsStatistical Package for the Social Sciences),但是随着SPSS产品服务领域的扩大和服务深度的增加,SPSS公司已于2...

OpenStack 虚拟机冷/热迁移功能实践与流程分析

目录 文章目录 目录 前文列表 官方文档 虚拟机迁移的应用场景 需要迁移的虚拟机数据类型 虚拟机迁移的存储场景 文件存储 块存储 非共享存储 迁移的类型 迁移的方式 执行虚拟机冷迁移 冷迁移日志分析 执行虚拟机热迁移 热迁移日志分析 问题:Live migration failed with error: Unable to find secur...