版权归原作者所有,如有侵权,请联系我们

[科普中国]-POP-2语言

科学百科
原创
科学百科为用户提供权威科普内容,打造知识科普阵地
收藏

POP-2语言是1960年后期问世的一种人工智能语言。它是一种会话式语言,提供了很多的非数值和数值应用程序。

概述Edinburgh大学人工智能研究者开发了POP-2语言,这是因为LISP语言在他们使用的机器上不能够很好地满足他们的需要,还因为他们对LISP语言某些常用的特性有不同的看法,因此他们把LISP语言改进成POP-2语言(Popple-stone,1967年),POP一2语言现在在英国仍然是最通用的人工智能语言,但是它没有找到在其他方面更广泛的应用,它有很多LISP语言的特点,但是也有类似ALGOL语言的句法,和LISP语言一样,POP-2语言是交互式的而且具有通用的函数处理,它有一些新颖的特性,包括特殊的应用函数,动态表(生成器)以及允许多值过程的显式堆栈处理,POP语言被设计成能在中型机上有效地实现,这对这种语言的设计者来说是有益的。

POPLER语言是基于PLANNER语言并且保留了POP-2语言很多特点的另一种语言(Daries等人,1973年)。POPLER语言进一步区别开从要达到的目标断言中推导出在世界模型中断言值的这些过程,从而从老的模型申产生新的世界模型。1

数据POP-2有一个很丰富的数据类型集合,它们中的许多是更一般类型的标准的特殊情况,像下面所表明的,例如POP-2的数据类型STRIP(条)是任何类型元素的一个序列,而且数据类型STRING(串)是CHARACTER(字符)的一个STRIP(条),RECORD(记录)数据类型的特殊形式包含POINTER(指针),ATOM(原子)和ORDERED PAIR(有序对)(像LISP的CONS单元),POP-2的ARRAY(数组)数据类型是FUNCTOIN(函数),(概念上的数组,作为索引元素的函数)数据类型的特殊形式,数据类型分为简单的和合成的两种。整数、布尔型、实数、指针和原子是简单的,其余的是合成的,用户定义的数据类型是允许的。

POP-2具有以一致的方法处理所有数据类型的有用特性(为了使程序设计清晰和容易),任何类型的数据可以是:

1.用作函数的实际参数。

2.返回作为函数的结果。

3.设定各数据类型的变量。

4.测试相等性。

合成数据类型的各分量总是由下面列表说明的四种函数访问,在用户定义的类型情况下,用户必须提供四种函数,注意,分裂(destructor)函数在这里表示产生两个输出,一般POP-2函数能够产生多个输出,也要注意选择器(selector)和修改器(up-dater)有相同的名字。2

特点1960年后期问世的一种人工智能语言。它是一种会话式语言,提供了很多的非数值和数值应用程序。其特点为:

(1)语法完整、简单,允许立即执行,增加了标识符动态作用域编译功能;

(2)程序模块化;

(3)数据类定义带有运行时间类型检测;

(4)自动进行无用单元收集;

(5)有回溯原语;

(6)函数是可以用程序处理的对象,并且可以由程序来产生。用户不能存取函数体的内部。不区分解释程序和编译程序这两种模式。

POP一2有两种方言,一个是DEC一10机上实现的WPOP,另一个是VAX机上实现的POP一11。

POP—11是在POP一2基础上开发的人工智能程序设计语言。在语法上增加了内部模式匹配程序、可自动装载的库文件、存取编译子程序、控制设备等,编译与运算同时进行。它有大量的示教程序和文本文件。3

本词条内容贡献者为:

李嘉骞 - 博士 - 同济大学