第4卷第4期 智能系统学报 Vol.46.4 2009年8月 CAAI Transactions on Intelligent Systems Ag.2009 doi:10.3969/i.i8gn.1673-4785.2009.04.011 Godel语言控制机制的研究与实现 高伟,赵致琢,李慧琪,昌杰 (厦门大学信息科学与技术学院,福建厦门361005) 摘要:G8dl语言是在Prolog语言基础上发展而来的一种新型逻辑程序设计语言,而控制机制是逻辑程序设计语言 的核心内容.针对Prolog语言控制机制存在的问题,引出了Godel语言中新的控制机制,包括DELAY延迟机制和剪 枝操作然后通过实例分析,表明了这些新机制能有效地避免递归谓词的低效或无限循环调用,并能够实现子目标的 协同执行,从而提高系统的运行效率.针对这一有效改进,在对Gd©l语言控制机制比较深入研究的基础上,最后给 出了G6dl语言控制机制的实现算法.该算法已在研发的G6del语言编译系统中得以实现,通过实例测试,验证了算 法具有较高的效率 关键词:Godel语言;控制机制;延迟;剪枝 中图分类号:TP312文献标识码:A文章编号:16734785(2009)04-034507 Research and implementation of the control facility of Godel language GAO Wei,ZHAO Zhi-zhuo,LI Hui-qi,CHANG Jie (College of Information Science and Technology,Xiamen University,Xiamen 361005,China) Abstract:Godel,a new logic programming language that emerged from Prolog,has at its core a control facility.Af- ter an analysis of problems with the control facility in Prolog,the authors proposed new control facilities for Godel which include a'delay computing'and a 'pruning'operation.Examples showed that adoption of the new facilities effectively prevents inefficient or infinite loop calling of a recursive predicate and allows coroutining between subfor- mulas,so that the efficiency of the system is considerably improved.Furthermore,an algorithm was proposed that could provide the control facility in Godel.The algorithm was applied in the Godel compiler developed by our group.The high efficiency of the algorithm was verified through testing. Keywords:Godel language;control facility;delay;pruning 作为一个典型的逻辑程序设计语言,Prolog具 知,Prolog语言控制机制存在不足,针对这一问题, 有语法简单、清晰、可读性好等优点,有较强的可表 Cdl语言引人了新的语言成分,改进了控制机制, 达性能力.但是,Prolog语言也存在不足之处,主要 即延迟计算和剪枝操作.深人分析和理解Gdel语 是其缺乏类型、执行效率不高、控制机制不完善等, 言各种新的语言成分,对于语言编译系统的实现具 不足以支撑大型软件系统的开发] 有重要的意义. G6del语言是继Prolog语言之后出现的新型说 作为一种新型的逻辑程序设计语言,Godl语 明性通用逻辑程序设计语言,它充分吸收了逻辑程 言能否真正走向成功,主要取决于其是否有一个高 序设计研究领域的最新成果,对Prolog语言存在的 效率的编译或解释实现系统.迄今为止,就是语言的 缺陷做了诸多改进,引入了类型系统,增加了新的语 设计者们,也仅实现了一个旨在验证语言功能的原 言成分,这些都使得Gdl语言成为一种功能更加 型系统.在对Gdel语言的控制机制比较深入的分 强大、高效的说明性逻辑程序设计语言2】.众所周 析和理解的基础上,本文给出了Gdel语言控制机 制的一种实现算法,从而能够为该语言的完全实现 收稿日期:20080904. 提供支持 通信作者:赵致琢.E-mail:zzzhao(@xmu.ed血.cm