首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 265 毫秒
1.
宋立彤  金成植 《软件学报》1996,7(10):611-615
本文给出高阶函数式语言Prolog语言的一种转换技术,其中主要用到抽象闭包分析,Lambda提升,顺序化以及Prolog中的Call技术,本文的研究征顺于高阶性的处理上。  相似文献   

2.
王健  程虎 《软件学报》1995,6(1):1-7
本文介绍了GOAM──一个新的Prolog语言抽象机器中的原型共享思想.采用原型共享技术可以明显地降低Prolog程序运行时的空间消耗量,在一定程度上解决了Prolog语言特有的难题──“栈溢出”问题.  相似文献   

3.
新一代智能语言VISUAL PROLOG   总被引:8,自引:0,他引:8  
Visual Prolog是新一代的智能语言,它既具有传统Prolog的推理能力。又具备友好的图形用户界面,它的应用已不仅仅局限于人工智能的研究范围,它将作为 一代计算机语言,和其他流行的编程语言一争高下,成为实际应用的选择。基于此,本文介绍Visual Prolog的特点和如何用它开发实际应用。  相似文献   

4.
陆卫东  金成植 《软件学报》1996,7(10):634-640
本文提出了一种新的基于CLOSURE分析的高阶函数式语言的部分求值方法,对表达式中的高阶值采取了有效的抽象分析手段,从而提高了剩余程序的质量。文中给出了CLOSURE分析,抽象分析,标记和例化较完整的形式描述。  相似文献   

5.
Haskell语言的高阶特性及其应用   总被引:6,自引:2,他引:4  
Haskell语言的高阶特性使笔者在开发软件时受益匪浅,但很遗憾,目前国内同行应用这一语言的人非常少。本文介绍Haskell语言的高阶特性,并通过几个与树相关的例子,阐述如何利用Haskell语言的高阶特性来编写功能强大但却简短漂亮的程序。  相似文献   

6.
阎志欣  黄冬泉 《软件学报》1996,7(Z1):348-357
算子式程序设计语言是一种有坚实理论基础、高效的、实际有用的、高级的新型程序设计语言.如何编绎该类语言是一个应该研究的重要问题.过程式语言到机器代码的编绎问题已被解决,因此编绎的关键是由算子程序向过程的转换.本文用模式匹配法,给出了算子式语言到while程序的变换语义.给出了基本变换规则集,证明了该变换规则集的完备性和一致性,为该类语言到过程语言的翻译提供了理论和技术基础.  相似文献   

7.
模块化结构是当今智能语言或工具系统商品化和标准化的一个重要部分。我们在GKD-Prolog的基础上,设计并实现了一个模块化Prolog系统。它同时引入了模块和执行环境的概念,并提供了对这些概念的直接支持,使Prolog更适于知识的表示和操作。本文主要研究了Prolog模块系统的概念和理论,描述了系统的组织结构,并结合两种实现模块机制的方法介绍了本文的主要实现技术,最后给出了我们引入的模块操作原语。  相似文献   

8.
本文讨论了高级程序设计语言之间的转换问题。提出了从Prolog到C转换的语义解释方法,并应用该方法成功地开发了Prolog到C的自动转换系统。  相似文献   

9.
函数式语言的部分求值技术   总被引:3,自引:1,他引:2       下载免费PDF全文
宋立彤  金成植 《软件学报》1996,7(5):306-313
本文基于抽象解释技术设计并实现了一函数式语言部分求值器FMIX.FMIX在设计方法和实现策略上具有一定独到之处,系统运行效率较高.  相似文献   

10.
文章研究部分求值技术中的约束时间分析(简称BTA),介绍了一种高阶的函数式语言FSL语言的部分求值器的BTA。该部分求值器的BTA由两个部分来实现:BTA1和BTA2,其目的是减少重复计算,提高部分求值的执行效率  相似文献   

11.
陈家琪  陶媛 《计算机应用》2006,26(12):2800-2802
为了在SeRQL RDF查询语言的语境中对查询进行的转换和优化,提出了使用Prolog语言来处理推理策略原型的RDF图的方法,以及将SeRQL查询转化为优化Prolog目标的算法,实现了对语义网语言的结构化变换,并验证了Prolog模块的性能。  相似文献   

12.
Muse is a simple and efficient approach to Or-parallel implementation of the full Prolog language. It is based on havingmultiplesequential Prolog engines, each with its local address space, and some shared memory space. It is currently implemented on a number of bus-based and switch-based multiprocessors. The sequential SICStus Prolog system has been adapted to Or-parallel implementation with very low extra overhead in comparison with other approaches. The Muse performanhce results are very encouraging in absolute and relative terms.The Muse execution model and its performance results on two different multiprocessor machines for a parallel version of Prolog, named Commit Prolog, have been presented in previous papers. This paper discusses supporting the full Prolog language and describes mechanisms being developed for scheduling Or-parallelism in Muse. It also presents performance results of the Muse implementation on Sequent Symmetry after supporting full Prolog. The results show that the extra overhead associated with supporting the full Prolog language is negligible.  相似文献   

13.
高慧  刘知青 《软件》2012,33(9):24-26
Prolog(Programming in Logic)程序语言是一种逻辑程序设计语言.它是在逻辑学理论基础上建立起来的并广泛应用在人工智能研究中.这几十年已经出现了各具特色的Prolog编译器,而且各种编译器也都很成功.虽然在现阶段已经出现了各种版本Prolog编译器,但是Prolog编译器的发展空间还是很大.本文先通过现代Prolog编译器的不足,介绍了新Prolog编译器的特点,然后简单叙述了Prolog编译器词法分析和语法分析的过程,最后介绍了UCB策略.  相似文献   

14.
Saumya K. Debray 《Software》1993,23(12):1337-1360
Janus is a language designed for distributed constraint programming. This paper describes QD-Janus, a sequential implementation of Janus in Prolog. The compiler uses a number of novel analyses and optimizations to improve the performance of the system. The choice of Prolog as the target language for a compiler, although unusual, is motivated by the following: (i) the semantic gap between Janus and Prolog is much smaller than that between Janus and, say, C or machine language—this simplifies the compilation process significantly, and makes it possible to develop a system with reasonable performance fairly quickly; (ii) recent progress in Prolog implementation techniques, and the development of Prolog systems whose speeds are comparable to those of imperative languages, indicates that the translation to Prolog need not entail a significant performance loss compared to native code compilers; and (iii) compilation to Prolog can benefit immediately from a significant body of work on, and implementations of, parallel Prolog systems. Our experience indicates that translation of logic programming languages to Prolog, accompanied by the development of good program analysis and optimization tools, is an effective way to quickly develop flexible and portable implementations with good performance and low cost.  相似文献   

15.
16.
Logic programming has received much critical attention over the past two decades from both a language perspective and as a methodology for practical problem solving. This paper presents a historical foundation of the approach and examines the development of Prolog since its first implementation. An analysis of the use of Prolog in commercial, research and teaching environments shows that there is an established base of users and that, after a period of rapid growth, the language currently enjoys continuing activity. The key to its success so far is due to its continuing evolution by including features that were not seen as being within the original concept as a pure logic language. Significant features which have contributed to the success of Prolog include integration with other languages, object oriented extensions, constraint representation, parallel execution as well as improved speed and robustness. Applications databases are analysed with respect to type of application, system status, type of developer, hardware platform, country of origin and the Prolog implementation used. Factors contributing to the success of Prolog are identified and likely future developments are explored.  相似文献   

17.
一种基于Prolog的时间约束业务流程验证方法   总被引:1,自引:0,他引:1  
随着互联网技术的快速发展,对复杂系统业务流程建模的需求越来越大。针对带有时间约束的业务流程模型的正确性验证问题,提出了一种基于节点转换规则的图分解算法,将业务流程模型转换为运行时流程轨迹集合;设计了流程轨迹集合到Prolog的转换,将轨迹中的节点与时间约束转化为Prolog事实,提出了一种业务流程模型到Prolog语言的转换算法;将持续时间、周期循环与固定时刻3种时间模式转换为Prolog规则,以其支持业务流程模型3种时间模式的验证。最后对一个带有时间约束的医疗流程实例进行了验证。  相似文献   

18.
Approaches to typing logic programs often exclude various features of Standard Prolog. The system “Typical for annotated Prolog” (TaP) is a pragmatic approach to type checking programs written in Prolog without restricting the scope of the language. TaP checks Prolog programs that are extended with type declarations that support parametric polymorphism and subtyping. The purpose of this paper is to present an approach that extends Typical by meta-types for handling Prolog meta-programming techniques.  相似文献   

19.
构件类和构件的概念及其定义语言和操作语言   总被引:27,自引:0,他引:27  
顾明  仲萃豪 《软件学报》1997,8(9):673-679
本文针对应用软件的特点,在类和对象概念的基础上,提出构件类和构件的概念,说明构件类和构件与O-O中类和对象概念上的异同.为规范化描述构件类,给出了构件类定义语言和操作语言.  相似文献   

20.
Jonathan J. Cook 《Software》2004,34(9):815-845
We discuss P#, our implementation of a tool that allows interoperation between a concurrent superset of the Prolog programming language and C#. This enables Prolog to be used as a native implementation language for Microsoft's .NET platform. P# compiles a linear logic extension of Prolog to C# source code. We can thus create C# objects from Prolog and use C#'s graphical, networking and other libraries. We add language constructs on the Prolog side that allow concurrent Prolog code to be written. A primitive predicate is provided that evaluates a Prolog structure on a newly forked thread. Communication between threads is based on the unification of variables contained in such a structure. It is also possible for threads to communicate through a globally accessible table. All of the new features are available to the programmer through new built-in Prolog predicates. We discuss two software engineering tools implemented using P#. Copyright © 2004 John Wiley & Sons, Ltd.  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号