您当前的位置:首页 >  教学资源 >  教学设计 > 内容

第五代编程语言设计与实现

材料写作网    时间: 2023-03-10 13:55:05     阅读:

韩济澎,李陈志航

(北京华规科技有限公司技术部 北京 100081)

编程语言的发展经历了机器语言、汇编语言、高级语言、函数语言、逻辑语言[1]。其中,逻辑编程语言亦被称作第五代编程语言。最早的逻辑语言是列表处理语言LISP(LISt Processing),其特点是用符号表达式而不是数字进行计算;
不足是数值运算能力较弱和数学语义不清晰[2]。后来PROLOG问世,其特点是基于符号逻辑进行运算,通过模式匹配完成计算,语言清晰、可读、简洁[3-4];
不足是对规则和目标的表示有严格限制,难以适用于复杂的应用环境[5-7]。

具体改进如下:第一,COOL支持面向过程与面向对象,便于应用于生产项目;
第二,COOL支持将表达式作为函数声明以及函数返回,同时支持将函数参数嵌入函数名字字符串中;
第三,COOL引入了权重机制并通过累计权重法加速推理过程;
第四,COOL引入正向函数、逆向函数的概念,以处理逻辑上具有先后顺序约束的问题;
第五,通过回溯算法和动态规划算法实现计算机利用正向求解过程推导逆向求解过程;
第六,引入预执行步骤,将推理过程从程序的执行过程中分离,提升程序的执行速度。

1.1 函数

函数构成了COOL的推理框架。此节介绍了返回表达式的函数、返回运算值的函数、附加权重的函数、正向函数、逆向函数、函数权重。在COOL中函数由函数声明和函数体两部分组成,表示相加的函数可以用如代码1的方式进行定义。

代码 1 函数声明示例:

@add(a,b){

return:a+b;

}

通过为函数声明加上属性'exp“来表明此函数的返回是一个表达式。这种函数用来表述变换规则,用户不能直接调用此类函数,如代码2通过函数描述乘法分配律的逆运算。

代码2返回表达式的函数示例:

exp:@{a*c+b*c}{

return:(a+b)*c;

}

正向函数与逆向函数均指返回运算值的函数;
返回表达式的函数不具备此属性。正向函数,即所有函数参数均确定,函数返回值待定的函数。正向函数的执行过程即利用输入参数推导函数的返回值。逆向函数,即函数返回值确定,函数输入参数中存在待定参数的函数。逆向函数的执行过程即利用函数的返回值与确定的输入参数计算待定的输入参数。

函数权重用于控制推理系统的推理方向。用户可以为那些更容易导向正确推理结果的变换赋予更大的权重,不容易导向正确推理结果的变换赋予更小的权重。函数的权...

== 试读已结束,如需继续阅读敬请充值会员 ==
本站文章均为原创投稿,仅供下载参考,付费用户可查看完整且有格式内容!
(费用标准:38元/2月,98元/2年,微信支付秒开通!)
升级为会员即可查阅全文 。如需要查阅全文,请 免费注册登录会员
《第五代编程语言设计与实现.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:

文档为doc格式

相关热搜

《第五代编程语言设计与实现.doc》

VIP请直接点击按钮下载本文的Word文档下载到电脑,请使用最新版的WORD和WPS软件打开,如发现文档不全可以联系客服申请处理。

文档下载
VIP免费下载文档

浏览记录