1B.2 Gödel语言实现系统研究现状

http://www.docin.com/p-92139363.html 

        逻辑程序用逻辑语言来描述问题,利用归结方法来求得问题的答案。可以把逻辑程序非形式化地概括为:Algorithm=Logic+Control。其中,逻辑部分由程序员在程序中规定,而控制部分(推理求解过程)则由语言对应的推理机来实现。因此,推理机是逻辑程序中不可或缺的一部分,也是语言解释系统中的核心程序。在过去各种版本的Prolog语言的解释和编译实现中,是否拥有一个高效率的推理机是语言实现能否走向成功的关键。如同WAM抽象机的提出促进了各种Prolog实现版本的出现,使Prolog走向实用一样,Godel语言作为新型逻辑程序设计语言,尤其需要合适的编译运行支撑环境和集成开发环境的支持。本文作者所在课题组致力于Godel语言实现系统及其集成开发环境的研究和开发,其中,一个高效率的Godel推理机是整个系统实现的关键之一。

        Godel语言引入了众多Prolog中所没有的新机制,具有强大的功能,但同时也造成其编译实现的困难,尤其是Godel推理机的实现难度大大提高。目前,Godel语言编译系统的开发尚停留在实验室研究阶段,只有Bristol大学的研究小组在单机上开发了旨在验证Godel语言功能的实验程序——Bristol Godel。在用SICStus Prolog实现的Bristol Godel系统中,Godel源程序被翻译成目标语言SICStus Prolog,然后又SICStus Prolog的解释系统解释执行。因此,实际上该系统并不是一个真正的编译系统,许多新的语言成分也并没有实现,故仅是一个快速原型系统,没有实用的价值。作为一个快速原形系统,其执行效率较低且只能在Linux环境下运行,这在一定程度上影像了Godel语言的研究和推广。然而,如何实现Godel语言,一直以来是一个没有解决的问题。问题的困难之处在于,与传统的面向过程的程序设计语言不同,逻辑程序设计的特点和运行机制决定了推理机必须作为目标程序的一部分,而多态多类系统的引入和逻辑程序中不确定性的增加导致现有的编译方法在生成目标代码时遇到困难;新的语言成分和计算规则的引入也需要发展新的实现技术。于是,为了获得一个具有较高执行效率的Godel编译系统,实现过程中必须另辟蹊径,探索新的技术路线。

你可能感兴趣的:(Algorithm,linux,语言)