当前位置:首页 » 编程软件 » 解释型语言的编译执行原理

解释型语言的编译执行原理

发布时间: 2022-09-04 08:51:26

1. 解释型语言究竟是怎么执行的

解释器 或者被称为虚拟机的东西 把中间代码翻译成本地代码(CPU所识别的指令)。
编译后,通过解释器(也叫虚拟器)运行字节码?在运行过程中将字节码翻译成机器码,程序执行!

2. 解释型语言源程序需经什么解释执行

所谓解释程序是高级语言翻译程序的一种,它将源语言(如BASIC)书写的源程序作为输入,解释一句后就提交计算机执行一句,并不形成目标程序。
就像外语翻译中的“口译”一样,说一句翻一句,不产生全文的翻译文本。这种工作方式非常适合于人通过终端设备与计算机会话,如在终端上打一条
解释型语言:程序不需要编译,程序在运行时才翻译成机器语言,每执 行一次都要翻译一次。因此效率比较低。比如Basic语言,专门有一个解释器能够直接执行Basic程 序,每个语句都是执行的时候才翻译。(在运行程序的时候才翻译,专门有一个解释器去进行翻译,每个语句都是执行的时候才翻译。效率比较低,依赖解释器,跨平台性好。)

3. 什么是编译性语言、解释性语言和脚本语言

编译型语言:
编译是指在应用源程序执行之前,就将程序源代码“翻译”成目标代码(机器语言),因此其目标程序可以脱离其语言环境独立执行,使用比较方便、效率 较高。但应用程序一旦需要修改,必须先修改源代码,再重新编译生成新的目标文件(* .OBJ)才能执行,只有目标文件而没有源代码,修改很不方便。现在大多数的编程语言都是编译型的。编译程序将源程序翻译成目标程序后保存在另一个文件中,该目标程序可脱离编译程序直接在计算机上多次运行。大多数软件产品都是以目标程序形式发行给用户的,不仅便于直接运行,同时又使他人难于盗用其中的技术C、C++、Fortran、Visual Foxpro、Pascal、Delphi、Ada都是编译实现的。

解释型语言:
解释型语言的实现中,翻译器并不产生目标机器代码,而是产生易于执行的中间代码,这种中间代码与机器代码是不同的,中间代码的解释是由软件支持的,不能直接使用硬件,软件解释器通常会导致执行效率较低。用解释型语言编写的程序是由另一个可以理解中间代码的解释程序执行的。与编译程序不同的是,解释程序的任务是逐一将源程序的语句解释成可执行的机器指令,不需要将源程序翻译成目标代码后再执行。释程序的优点是当语句出现语法错误时,可以立即引起程序员注意,而程序员在程序开发期间就能进行校正。对于解释型Basic语言,需要一个专门的解释器解释执行 Basic程序,每条语言只有在执行才被翻译。这种解释型语言每执行一次就翻译一次,因而效率低下。一般地,动态语言都是解释型的,如Tcl、Perl、Ruby、VBScript、 javaScript等。

脚本语言又被称为扩建的语言,或者动态语言,是一种编程语言,用来控制软件应用程序,脚本通常以文本(如ASCII)保存,只在被调用时进行解释或编译。

4. C语言既可以编译执行又可以解释执行吗 编译执行怎么解释 解释执行又怎么解释

C 语言程序仅可以解释执行。

解释程序是将源程序(如BASIC)作为输入,解释一句后就提交计算机执行一句,并不形成目标程序。编译程序是把高级语言(如FORTRAN、COBOL、Pascal、C等)源程序作为输入,进行翻译转换,产生出机器语言的目标程序,然后再让计算机执行这个目标程序,得到计算结果。

相对于编译性语言,其优点是可移植性好,只要有解释器环境,程序就可以在不同的操作系统上运行。

缺点是代码需要有专门的解释器,在程序运行时,除要给用户程序本身分配内存空间外,解释器也占用系统资源,所以其运行速度较慢。另外,也很难达到像C、C++那样操作系统底层操作的目的。

解释型语言常用于,一是对运行速度要求不高(如一些网页脚本等)的场合,二是对跨平台(操作系统的兼容性)有要求的场合。

(4)解释型语言的编译执行原理扩展阅读

1、Python和Java语言,专门有一个解释器能够直接执行Python程序,每个语句都是执行的时候才翻译。

2、Python代码在运行前,会先编译成中间代码,每个 .py 文件将被换转成pyc 文件,pyc 就是一种字节码文件,它是与平台无关的中间代码。不管放在 Windows 还是 Linux 平台都可以执行,运行时将由虚拟机逐行把字节码翻译成目标代码。

5. 什么是编译性语言,解释性语言和脚本语言

编译型语言:程序在执行之前需要一个专门的编译过程,把程序编译成 为机器语言的文件,运行时不需要重新翻译,直接使用编译的结果就行了。程序执行效率高,依赖编译器,跨平台性差些。如C、C++、Delphi等.
解释性语言编写的程序不进行预先编译,以文本方式存储程序代码。在发布程序时,看起来省了道编译工序。但是,在运行程序的时候,解释性语言必须先解释再运行
脚本语言又被称为扩建的语言,或者动态语言,是一种编程语言,用来控制软件应用程序,脚本通常以文本(如ASCII)保存,只在被调用时进行解释或编译。一个脚本通常是解释运行而非编译

6. 编译型语言和解释型语言各自的优缺点是什么

一、编译型语言

优点:运行速度快,代码效率高,编译后的程序不可修改,保密性较好。

缺点:代码需要经过编译方可运行,可移植性差,只能在兼容的操作系统上运行 。

二、解释型语言

优点:可移植性较好,只要有解释环境,可在不同的操作系统上运行。

缺点:运行需要解释环境,运行起来比编译的要慢,占用资源也要多一些,代码效率低,代码修改后就可运行,不需要编译过程。

(6)解释型语言的编译执行原理扩展阅读:

编译型语言:程序在执行之前需要一个专门的编译过程,把程序编译成 为机器语言的文件,运行时不需要重新翻译,直接使用编译的结果就行了。程序执行效率高,依赖编译器,跨平台性差些。如C、C++、Delphi等。而相对的,解释性语言编写的程序不进行预先编译,以文本方式存储程序代码。在发布程序时,看起来省了道编译工序。但是在运行程序的时候,解释性语言必须先解释再运行。

7. 解释型语言和编译型语言的区别是什么

解释型语言和编译型语言的区别是在于翻译的时间点不同。编译型语言是在代码执行之前进行编译,生成中间代码文件。解释型语言是在运行时进行及时解释,并立即执行,当编译器以解释方式运行的时候,也称之为解释器。

计算机不能理解除任何机器语言之外的语言,所以必须把程序员所写的代码翻译成机器语言才能执行程序。程序语言翻译成机器语言的工具,被称为翻译器。

解释型语言的特性

解释型语言效率低,每执行一次都要进行翻译。非独立性,跨平台性好编译型语言进行移植后要重新编译,相对而言解释型语言跨平台较容易。

同等条件下,编译型语言对系统的条件要求比较低,像开发操作系统,大型应用程序,数据库系统,则用编译型语言。对不同平台兼容性有一定要求的程序通常使用解释型语言。

8. 程序的编译过程是怎样的程序的解释过程是怎样的

编译器首先用扫描程序扫描源代码,然后用语法分析程序分析得到语法树,然后经过语义分析、优化处理,最后通过代码生成程序得到目标代码的文件。
整个编译过程就是(扫描-语法分析-语义分析-优化-目标代码生成)。通常生成的是汇编代码,机器代码,可以直接执行,不需要解释。
而解释的过程只使用与解释型语言,这种语言只编译成一种中间文件,在运行时通过虚拟机读取中间文件进行解释运行。这种语言天生速度比较慢,但可以达到所谓的跨平台效果。
如果想深入了解,推荐看一看《编译原理》,如果只是想大概了解,推荐看一看《编译原理》的目录~呵呵

9. 编译型和解释型的区别&Java从编译到执行的过程

Java这个语言很非凡。
二、你可以说它是解释型的。因为java代码编译后不能直接运行,它是解释运行在JVM上的,所以它是解释运行的,那也就算是解释的了。
三、但是,现在的JVM为了效率,都有一些JIT优化。它又会把.class的二进制代码编译为本地的代码直接运行,所以,又是编译的。
像C、C++ 他们经过一次编译之后直接可以编译成操作系统了解的类型,可以直接执行的 所以他们是编译型的语言。没有经过第二次的处理 而Java不一样他首先由编译器编译成.class类型的文件,这个是java自己类型的文件 然后在通过虚拟机(JVM)从.class文件中读一行解释执行一行,所以他是解释型的语言,而由于java对于多种不同的操作系统有不同的JVM所以
Java实现了真正意义上的跨平台!
请观看下面两张图 了解一下Java的虚拟机机制:
(1)java语言的编译--解释---执行过程
(2)java的虚拟机
定义:编译型语言:把做好的源程序全部编译成二进制代码的可运行程序。然后,可直接运行这个程序。
解释型语言:把做好的源程序翻译一句,然后执行一句,直至结束!区别:编译型语言,执行速度快、效率高;依靠编译器、跨平台性差些。
解释型语言,执行速度慢、效率低;依靠解释器、跨平台性好。
个人认为,java是解释型的语言,因为虽然java也需要编译,编译成.class文件,但是并不是机器可以识别的语言,而是字节码,最终还是需要 jvm的解释,才能在各个平台执行,这同时也是java跨平台的原因。所以可是说java即是编译型的,也是解释型,但是假如非要归类的话,从概念上的定义,恐怕java应该归到解释型的语言中。

10. 解释性语言和编译型语言的区别与不同

对于语言本身来说,各种编程语言本质没什么不同。所谓的“解释性”和“编译”指的是执行机制上的不同。

解释性语言是指它常用的执行机制是使用一个“解释器”来执行,解释器对于程序是一句一句“翻译”成机器语言来执行,例如shell脚本语言。

编译型语言是指它常用的执行机制是使用一个“编译器”来编译成机器语言,然后你就可以直接运行(执行)这个编译成的“可执行文件”。例如C语言

你也可以为解释性语言(如shell脚本语言)写个编译器来编译,这样它就成了“编译语言”;
你也可以为编译型语言(如c语言)写个解释器来执行,这样它就成了“解释性语言”

热点内容
8uftp上传网站 发布:2025-02-13 03:01:57 浏览:242
电脑玩游戏如何配置电源 发布:2025-02-13 03:01:53 浏览:361
微信怎么上传头像不了 发布:2025-02-13 02:57:04 浏览:118
c语言矩阵的转置 发布:2025-02-13 02:38:43 浏览:624
rowphp 发布:2025-02-13 02:37:16 浏览:711
光遇安卓服周年伞在哪里领取 发布:2025-02-13 02:22:18 浏览:674
写mv脚本软件 发布:2025-02-13 02:21:56 浏览:696
超内核源码 发布:2025-02-13 02:12:54 浏览:444
趣粉脚本 发布:2025-02-13 02:11:23 浏览:952
压缩的茶叶怎么弄开 发布:2025-02-13 02:11:16 浏览:739