`
weigang.gao
  • 浏览: 468633 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

编译执行和解释执行的区别

    博客分类:
  • java
 
阅读更多

A、解释程序  

所谓解释程序是高级语言翻译程序的一种,它将源语言(如BASIC)书写的源程序作为输入,解释一句后就提交计算机执行一句,并不形成目标程序。



就像外语翻译中的“口译”一样,说一句翻一句,不产生全文的翻译文本。这种工作方式非常适合于人通过终端设备与计算机会话,如在终端上打一条



命令或语句,解释程序就立即将此语句解释成一条或几条指令并提交硬件立即执行且将执行结果反映到终端,从终端把命令打入后,就能立即得到计算结果。



这的确是很方便的,很适合于一些小型机的计算问题。但解释程序执行速度很慢,例如源程序中出现循环,则解释程序也重复地解释并提交执行这一组语句,这就造成很大浪费。



B、编译程序

这是一类很重要的语言处理程序,它把高级语言(如FORTRAN、COBOL、Pascal、C等)源程序作为输入,进行翻译转换,产生出机器语言的目标程序,然后再让计算机去执行这个目标程序,得到计算结果。

编译程序工作时,先分析,后综合,从而得到目标程序。所谓分析,是指词法分析和语法分析;所谓综合是指代码优化,存储分配和代码生成。为了完成这些分析综合任务,



编译程序采用对源程序进行多次扫描的办法,每次扫描集中完成一项或几项任务,也有一项任务分散到几次扫描去完成的。下面举一个四遍扫描的例子:第一遍扫描做词法分析;



第二遍扫描做语法分析;第三遍扫描做代码优化和存储分配;第四遍扫描做代码生成。

值得一提的是,大多数的编译程序直接产生机器语言的目标代码,形成可执行的目标文件,但也有的编译程序则先产生汇编语言一级的符号代码文件,



然后再调用汇编程序进行翻译加工处理,最后产生可执行的机器语言目标文件。

在实际应用中,对于需要经常使用的有大量计算的大型题目,采用招待速度较快的编译型的高级语言较好,虽然编译过程本身较为复杂,但一旦形成目标文件,



以后可多次使用。相反,对于小型题目或计算简单不太费机时的题目,则多选用解释型的会话式高级语言,如BASIC,这样可以大大缩短编程及调试的时间

分享到:
评论

相关推荐

    解释执行和编译执行的区别?

    在说解释执行和编译执行之前先说几个概念,需要的朋友可以参考下。

    十进制basic(decimalbasic)的解释执行和编译执行

    简要介绍十进制basic(decimal basic)的特性和如何编译执行。

    编译原理——常见名词解释.docx

    编译原理——常见名词解释,包括编译原理课程每一章节重要名词和常见名词的介绍和解释。 例如:编译程序是一种程序,它把高级语言编写的源程序翻译成与之在逻辑上等价的机器语言或汇编语言的目标程序。 一个高级语言...

    Java编译和解释执行对比及原理解析

    主要介绍了Java编译和解释执行对比及原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    Hpsyche#note#1.Java解释执行编译执行1

    (1)解析:.class文件经过JVM内嵌的解析器解析执行 (2)编译:存在JIT编译器(Just In Time Compile 即时编译器)把经常运行的代码

    编译和解释的区别是什么

    最近发现有很多网友都提出一个问题:程序的编译与解释有什么区别?这篇文章就为大家介绍了编译和解释的区别,需要的朋友可以参考下

    vb.net自编译代码执行

    vb.net执行代码段 自解释自编译

    c/c++期末复习

    1. 计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是 A)C语言程序仅可以编译执行 B)C语言程序仅可以解释执行 C)C语言程序既可以编译执行又可以解释执行 D)以上说法都不对 2. 以下叙述中...

    目标代码的解释执行.rar_中间代码 生成_中间代码生成_编译 中间_编译原理

    涉及了编译原理的各个过程:词法分析,LL1语法分析,语义分析,中间代码生成,中间代码优化(常表达式优化,公共表达式优化,循环不变式优化),中间代码生成目标代码,目标代码的解释执行,详细地阐述了一个编译器...

    编译原理作业一答案.doc

    2.编译执行和解释执行的区别在于: 是否产生目标代码 。 3.一个文法通常可表示成一个四元式G[S]=( VN,VT,P,S )。 4.一个递归文法所产生的句子,其个数必然是 无穷多 个。 5.设G[S]为一文法,由文法的开始符号...

    C语言编译过程

    编译的概念:编译程序读取源程序(字符流),对之进行词法和语法的分析,将高级语言指令转换为功能等效的汇编代码,再由汇编程序转换为机器语言,并且按照操作系统对可执行文件格式的要求链接生成可执行程序。...

    编译型or解释型?Python运行机制浅析

    Python语言通常被看作是解释型语言,不同于像C语言那样的编译型。但实际上,如果说Python是编译型语言,也未尝不可。我们来一起看一下1! 1.举个栗子 首先看一个简单的例子: #!/usr/bin/python3 # file name :demo...

    hllvm.JIT编译以及执行native code的流程1

    1、您介绍了执行引擎是如何选择解释执行和编译执行的入口,以及JIT模式下如何安装已编译好的native代码 2、你提到当使用-Xcomp启动VM的时候会在cal

    编译原理MYSQL简易解释器

    代码可读性很差,代码可读性很差,代码可读性很差,Debug/MySQL4.exe可以直接执行,预览https://blog.csdn.net/D1124615130/article/details/106923146

    CoBOL-GraalVM:用GraalVM编译和执行CoBOL

    使用GraalVM Community Edition和GnuCOBOL编译并执行CoBOLGraalVM Oracle多语言虚拟机GraalVM支持多种语言,包括Java,JavaScript,Ruby,Python,R,WebAssembly,C / C ++ 。 在另一个文档 Oracle使用称为低级...

    编译原理作业,SQL的解释器,可以解释执行SQL命令,创建小型数据库+源代码+文档说明

    编译原理作业,SQL的解释器,可以解释执行SQL命令,创建小型数据库+源代码+文档说明 - 小白不懂运行,下载完可以私聊问,可远程教学 该资源内项目源码是个人的课程设计,代码都测试ok,都是运行成功后才上传资源,...

    编译原理期中知识点总结

    9、编译执行:由编译程序生成一个与源程序等价的目标程序,完全取代源程序【笔译】 10、解释执行:不生成目标程序,仅是对源程序逐句解释逐句执行【口译】 11、编译程序逻辑结构:词法分析-语法分析-语义分析和中间...

    hllvm.01.JIT编译以及执行native code的流程1

    1、您介绍了执行引擎是如何选择解释执行和编译执行的入口,以及JIT模式下如何安装已编译好的native代码 2、你提到当使用-Xcomp启动VM的时候会在cal

Global site tag (gtag.js) - Google Analytics