导航:首页 > 源码编译 > pl0编译器与解释器的分离

pl0编译器与解释器的分离

发布时间:2022-08-02 10:02:16

A. 计算机有解释器为什么还要有编译器 明显是编译器要快捷于解释器啊…………

下面这个回答可以参考:

编译器是把源程序的每一条语句都编译成机器语言,并保存成二进制文件,这样运行时计算机可以直接以机器语言来运行此程序,速度很快;
而解释器则是只在执行程序时,才一条一条的解释成机器语言给计算机来执行,所以运行速度是不如编译后的程序运行的快的.
这是因为计算机不能直接认识并执行我们写的语句,它只能认识机器语言(是二进制的形式)

编译是将源程序翻译成可执行的目标代码,翻译与执行是分开的;而解释是对源程序的翻译与执行一次性完成,不生成可存储的目标代码。这只是表象,二者背后的最大区别是:对解释执行而言,程序运行时的控制权在解释器而不在用户程序;对编译执行而言,运行时的控制权在用户程序。

解释具有良好的动态特性和可移植性,比如在解释执行时可以动态改变变量的类型、对程序进行修改以及在程序中插入良好的调试诊断信息等,而将解释器移植到不同的系统上,则程序不用改动就可以在移植了解释器的系统上运行。同时解释器也有很大的缺点,比如执行效率低,占用空间大,因为不仅要给用户程序分配空间,解释器本身也占用了宝贵的系统资源。

B. 请问编译程序和解释程序是什么意思什么是编译器、什么是解释器

编译和解释是从源程序到可执行程序转换的两种方法。编译,是在源程序完成后,先转换成中间代码,然后再转换成二进制代码,完成后,每次执行,都直接执行这个二进制代码。一次转换完成。
而解释程序的执行不同,他在执行时,是一次读入一条源代码,然后分析转换成二进制代码,执行这条语句,然后再读入一条源代码,再转换,再执行。是一边转换一边执行。编译器和解释器就是完成编译和解释工作的一个软件。

C. 编译器与解释器的区别是什么

编译器是把源程序的每一条语句都编译成机器语言,并保存成二进制文件,这样运行时计算机可以直接以机器语言来运行此程序,速度很快;
而解释器则是只在执行程序时,才一条一条的解释成机器语言给计算机来执行,所以运行速度是不如编译后的程序运行的快的.
这是因为计算机不能直接认识并执行我们写的语句,它只能认识机器语言(是二进制的形式)

D. 用PL/0的编译程序改写一个Python的解释器是否可行

编译原理书里很大一部分是关于自动机的,还有优化什么的如果你只是要手工实现一个递归下降,LL(k)的编译器,并不算很难(如果语法规则不复杂的话),除非你做的太晚,时间不够了……如果是交作业的话,用这种经典代码岂不是往枪口上撞,还是说你们老师查得非常不严?
求采纳

E. 编译器和解释器的主要区别是什么他们相对于对方各自的优点

解释器是解释执行的源代码,编译器是将源代码编译成目标代码

他们最大的区别是程序运行时需要解释器边解释边执行,而编译器则在运行时是完全不需要的

解释器的优点是比较容易让用户实现自己跨平台的代码,比如javaphp等,同一套代码可以在几乎所有的操作系统上执行,而无需根据操作系统做修改;
编译器的目的就是生成目标代码再由连接器生成可执行的机器码,这样的话需要根据不同的操作系统编制代码,虽然有像Qt这样的源代码级跨平台的编程工具库,但在不同的平台上仍然需要重新编译连接成可执行文件,但其执行效率要远远高于解释运行的程序。
编译器是把源程序的每一条语句都编译成机器语言,并保存成二进制文件,这样运行时计算机可以直接以机器语言来运行此程序,速度很快;
而解释器则是只在执行程序时,才一条一条的解释成机器语言给计算机来执行,所以运行速度是不如编译后的程序运行的快的.
这是因为计算机不能直接认识并执行我们写的语句,它只能认识机器语言(是二进制的形式)

F. 超赞,编译器和解释器的异同,瞬间明白了

编译器和解释器的最大不同就是:以 WINDOWS 系统为例进行讲解就是:编译器是可以把用户编写的源程序(例如:C 语言源程序)经过编译、链接产生成一个在 WINDOWS 系统下面可独立运行的二进制代码(以 *.exe 为后缀的);而解释器则必须在高级语言的解释环境中才能够运行用户编写的源程序,一旦退出了解释器,那么用户编写的源程序将无法执行。例如:以前的 BASIC 语言就是解释执行、而不是编译执行的。即:在 BASIC 解释环境中,可以执行用户编写的以 *.BAS 为后缀的源程序,但是一旦退出了 BASIC 解释器,那么用户编写的 *.BAS 源程序就无法执行了。

G. 练习1.1.1:编译器和解释器之间的区别是什么

编译器把以某一种语言(源语言)编写的程序翻译成为一个等价的、用另一种语言(目标语言)编写的程序。解释器直接利用用户提供的输入执行源程序中指定的操作。

H. 编译器和解释器之间有什么区别

Java的编译方式有两种,一种是和C++等语言一样的,把源代码编译成和本地机器平台相关的机器语言,叫即时编译。另一种是编译成一种中间的字节码,与机器平台无关的,这种也是常用的,叫解释型的。

即时编译器因为产生的是本地机器的机器码,能直接执行;不像字节码还要在JVM(Java虚拟机)上解释运行,所以执行得更快些。

请采纳!

I. 即时编译器和JAVA解释器的区别

即时编译器预先把程序编译完成,当执行时就直接调用。
而JAVA解释器则是当需要调用该代码时才临时编译解释,而且没执行一次就要编译一次,而即时编译器则是一次编译多次执行。

J. 解释器与编译器的区别

编译器是把源程序的每一条语句都编译成机器语言,并保存成二进制文件,这样运行时计算机可以直接以机器语言来运行此程序,速度很快;而解释器则是只在执行程序时,才一条一条的解释成机器语言给计算机来执行,所以运行速度是不如编译后的程序运行的快的.这是因为计算机不能直接认识并执行我们写的语句,它只能认识机器语言(是二进制的形式)

阅读全文

与pl0编译器与解释器的分离相关的资料

热点内容
洗脸盆压缩 浏览:780
dpd是什么算法 浏览:156
加密技术中的密钥 浏览:962
qq企业邮箱本地客户端服务器地址 浏览:751
排序算法框架 浏览:852
马扎克qtn编程说明书下载 浏览:188
程序员在国外年龄 浏览:376
51单片机ad数码管 浏览:738
安卓怎么强制重新启动 浏览:513
自制超级无敌解压软件 浏览:956
ug命令视频大全 浏览:611
箱子装货物最小容量编程 浏览:99
cad2014教程pdf 浏览:200
怎么遍历服务器同一类型的文件 浏览:437
惠普战66画图编程 浏览:806
java面向对象作业 浏览:570
cad插件制作加密狗 浏览:924
cmd命令对话框 浏览:291
安卓应用怎么常驻 浏览:677
安卓手机怎么群发小费才不会被锁 浏览:742