解释器

1.解释器定义

      解释器是能够执行利用其他计算机语言编写的程序的系统软件,它是一种翻译程序。它的执行方式是一边翻译一遍执行,因此其执行效率一般偏低,但是解释器的实现较为简单,而且编写源程序的高级语言可以使用更加灵活和富于表现力的语法。

      解释器是一个用来执行其他程序的程序。

      解释器针对不同的硬件平台实现了一个虚拟机;将高抽象层次的程序翻译为低抽象层次所能理解的指令,以消除在程序语言与硬件之间存在的语义差异。

      解释器通常用来在程序语言定义的计算和有效硬件操作确定的计算之间建立对应和联系。简单和小规模的解释器只完成基本的信息识别和转换;复杂的解释器需要从词法到句法、到语法的复杂识别和处理。

                 

      其中,宿主系统包括操作系统(OS)和硬件。

2.解释器风格的优点

      解释器风格通常有一个虚拟机,弥合程序语义所期望的与硬件提供的计算引擎之间的差距。

3.解释器的组成

      解释器包括正在被解释执行的伪码和解释引擎本身

       伪码由需要解释的源代码和解释引擎分析所得到的中间代码组成。

       解释引擎:语法、解释器的定义和解释器当前执行状态。

 

4.解释器风格的应用

      作为一种软件体系结构风格,解释器已经被广泛应用在从系统软件到应用软件的各个层面,包括各类语言环境、Internet浏览器、数据分析和转换等;LISP、Prolog、VBScript、HTML、Matlab、数据库系统(SQL解释器)、各种通信协议等。

      LISP:(LISt Processor),即链表处理语言。LISP为函数式程序设计语言,所有运算都能以函数作用与参数的方式来实现。LISP没有命令式语言程序中常见的赋值语句和变量,重复的过程使用递归的函数调用来表示,并不需要使用循环模式。

      Prolog:(Programming in Logic)是一种逻辑编程语言。它建立在逻辑学的理论基础之上,最初被运用于自然语言等研究领域。现已广泛的应用在人工智能的研究中,可以用来建造专家系统、自然语言理解、智能知识库等。同时对一些通常的应用程序的编写也很有帮助,能够比其他的语言更快速地开发程序,因为它的编程方法更像是使用逻辑的语言来描述程序。

 

posted @ 2016-04-06 20:09  郭亚兰  阅读(1042)  评论(0编辑  收藏  举报