解释器编译器和虚拟机-vmware虚拟机中centos安装 centos安装qt的教程图解

时间:2024-06-29 06:29:53
【文件属性】:

文件名称:解释器编译器和虚拟机-vmware虚拟机中centos安装 centos安装qt的教程图解

文件大小:8.63MB

文件格式:PDF

更新时间:2024-06-29 06:29:53

程序设计实践

9.4 解释器、编译器和虚拟机 一个程序怎样才能从它的源程序代码形式进入执行?如果这个语言足够简单,就像出现 在p r i n t f里的或者是前面最简单的正则表达式那样,我们可以直接对照着源代码执行。这非 常容易,可以立即就开始做。 在设置方面的时间开销和执行深度之间有一种此消彼长的关系。如果语言更复杂些,人 们通常就会希望做一些转换,把源代码转换为一种对执行而言既方便又有效的内部表示形式。 处理原来的源代码需要用一些时间,但这可以从随后的快速执行中得到回报。有些程序里综 合了转换和执行的功能,它们能读入源代码正文,对其做转换后运行之,这种程序称作“解 释器”。Aw k和P e r l是解释性的,许多其他脚本语言和专用语言也是这样。 第三种可能性是为特定种类的计算机 (程序要在这里执行 )生成指令代码,编译器做的就是 这件事。这种做法事先要付出极大的努力,但能导致随后最快速的执行。 也存在着另一种组合方式,这就是我们在本节里准备研究的:把程序编译成某种假的计 算机(虚拟机)的指令,而这种虚拟机可以用任何实际计算机进行模拟。虚拟机综合了普通解释 和编译的许多优点。 如果语言很简单,要弄清程序的结构并把它转换为某种内部形式,并不需要做多少处理工 作。当然,如果语言里存在着一些复杂性—有说明、嵌套结构、递归定义的语句或表达式、 带优先级的运算符以及其他一些类似东西—要正确地剖析输入,弄清楚它的结构就麻烦多了。 分析程序 ( p a r s e r )常常是借助于某个分析程序自动生成器写出来的,这种工具也被称为编 译程序的编译程序,例如 y a c c或b i s o n等。这种工具能从语言的描述 (语言的语法 )出发,转 换出(典型情况是 )一个C或C++ 程序。这个程序经过编译后,就能把该语言的语句转换到对应 的内部形式。当然,由语法描述出发能生成一个剖析程序,这也是好记法威力的一个例证。 由分析程序生成的表示形式通常是树,其内部结点包含着运算符号,叶结点包含的是运 算对象。下面这个语句: 182计计程序设计实践 下载


网友评论