首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到19条相似文献,搜索用时 125 毫秒
1.
基于语法的元程序设计系统的自动生成技术   总被引:4,自引:0,他引:4  
本文提出一种基于语法的元程序设计系统的自动生成技术,并开发了一个元程序设计系统的自动生成系统A-MPS。元程序设计系统是一种以程序作为操作对象的有效的程序设计工具,并具有广泛的应用。  相似文献   

2.
介绍iME元计算环境对Fortran并行程序设计的支持。分析了Java和Fortran语言对元计算环境的支持及不足,然后论述了iME元计算环境支持Fortran并行程序设计的有关关键技术,包括保证同构性的措施、系统参数的获取、格式化输出和并行编程支持等。  相似文献   

3.
本文讨论逻辑程序设计中元级程序设计当前的一些研究成果。首先提出用Prolog 进行元级程序设计的各种困难,说明产生这些问题的原因在于:Prolog 在元级层次上表示目标程序的不充分性,并指出解决这些问题的方法,提出元级程序设计中的一系列研究问题。本文最后就建立改进的逻辑程序设计语言的必要性提出了几点意见。  相似文献   

4.
张析  李静 《微机发展》2000,10(2):66-68
本文主要讨论如何在TMN环境下 以PC机为硬件平台 ,VB为软件平台 ,开发一个网元层 (交换机 )模拟程序 ,其中包括网元摸拟的必要性 ,模拟程序设计思想 ,主要功能的描述及相关算法。  相似文献   

5.
一种新型程序设计范型概述   总被引:1,自引:0,他引:1       下载免费PDF全文
介绍了一种新型程序设计范型——生成式程序设计提出的背景和意义、概念、分类、研究概况、存在的问题以及进一步的研究方向。  相似文献   

6.
本文阐述了动态程序设计的概念及其产生的历史背景和直接原因,分析了动态程序设计与传统程序设计(文中称之为静态程序设计)的区别,指出了动态程序设计的特征,并讨论了动态程序设计系统实现中的若干关键问题。  相似文献   

7.
金凌紫 《计算机学报》1990,13(6):420-428
本文介绍了面向转换式程序设计的元语言TrapML。元语言TrapML是根据对面向转换式程序设计的元语言的设计原则、结构与功能等方面进行分析后提出的。该语言具有对象语言语法描述、转换规则描述和转换策略描述设施,可以比较方便地描述转换系统的行为,书写较精确或模糊的转换策略,元程序具有较高的可靠性。  相似文献   

8.
映像和元对象协议实现面向方面编程技术   总被引:1,自引:0,他引:1  
文中介绍了AOP的基本思想,通过学生课程注册管理系统重点叙述映像和元程序设计是如何实现AOP,指出映像和元程序设计实现AOP的优点和不足。  相似文献   

9.
归纳逻辑程序设计综述   总被引:4,自引:1,他引:4  
归纳逻辑程序设计是由机器学习与逻辑程序设计交叉所形成的一个研究领域,是机器学习的前沿研究课题。该文首先从归纳逻辑程序设计的问题背景、类型划分和搜索程序子句三个方面介绍了归纳逻辑程序设计系统的概貌;然后结合实验室的相关研究工作,回顾了归纳逻辑程序设计研究的发展;之后介绍了归纳逻辑程序设计领域中需要深入研究的若干问题,并提出了新的解决思路;最后是总结,以引起读者对归纳逻辑程序设计领域研究的进一步关注。  相似文献   

10.
面向对象的并发程序设计是一种程序设计方法学,也是一种设计方法学.在这种程序设计中,待建立的系统被模拟为一个称之为对象的可并发执行程序模块的集合,它们之间的相互作用靠发送消息来进行.本文系《面向对象的并发程序设计》文集的卷头文章,虽然重点是介绍有关这一方法学的当前工作.但有一定的普遍意义。  相似文献   

11.
Formal properties of logic languages are largely studied; however, their impact on the practice of software design and programming is currently minimal. In this paper we survey some interesting representatives of the family of logic languages aiming at comparing the different capabilities they offer for designing and programming parallel systems. The logic languages Prolog, Aurora, Flat Concurrent Prolog, Parlog, GHC, and DeltaProlog were chosen, because a suitable set of relevant examples has been published, mostly by the language designers themselves. A number of sample programs is used to expose and compare the languages with respect to their object oriented programming capabilities for multiprocess coordination, interprocess communication, and resource management. Special attention is devoted also to metaprogramming as well, seen as a useful technique for specifying and building the operating environments of the languages themselves. The paper ends with a discussion on positive and negative features found comparing these languages, and indicates some guidelines to be followed in the design of new logic languages.  相似文献   

12.
This paper extends Definite Clause Grammars (DCGs) by a metaprogramming facility which supports sequences of items (terminals, nonterminals, Prolog goals, etc.) as values of variables. Variables may be employed themselves as a new sort of item in the right-hand side of a rule, in order to activate the respective item sequences they are instantiated to. In addition, so-called assignments render it possible to save the terminal string derived from an item (or even from an item sequence) in a variable for later manipulation, or to unify it with another string. The new approach, called Assignment Metagrammars (AMGs), is compared with H. Abramson’s meta-nonterminals and the Discontinuous Grammars (DGs) or Gapping Grammars (GGs) proposed by V. Dahl and H. Abramson. AMGs are implemented by a compiler that translates them into efficient Prolog programs.  相似文献   

13.
Many mathematical physics problems have great computational complexity, especially when they are solved on large-scale three-dimensional grids. The discontinuous Galerkin method is just an example of this kind. Therefore, reduction of the amount of computation is very a topical task. One of the possible ways to reduce the amount of computation is to move some of the computations to the compilation stage. With the appearance of templates, C++ provides such an opportunity. The paper demonstrates the use of template metaprogramming to speed up computations in the discontinuous Galerkin method. In addition, template metaprogramming sometimes simplifies the algorithm at the expense of its generalization.  相似文献   

14.
Matti Rintala 《Software》2007,37(3):231-246
Serialization of data is needed when information is passed among program entities that have no shared memory. For remote procedure calls, this includes serialization of exception objects in addition to more traditional parameters and return values. In C++, serialization of exceptions is more complicated than parameters and return values, since internal copying and passing of exceptions is handled differently from C++ parameters and return values. This article presents a light‐weight template metaprogramming‐based mechanism for passing C++ exceptions in remote procedure calls, remote method invocations, and other situations where caller and callee do not have a shared address space. This mechanism has been implemented and tested in the KC++ concurrent active object system. Copyright © 2006 John Wiley & Sons, Ltd.  相似文献   

15.
Spinellis  D. 《Software, IEEE》2008,25(1):78-79
Metaprogramming, using programs to manipulate other programs, is as old as programming. From self-modifying machine code in early computers to expressions involving partially applied functions in modern functional-programming languages, metaprogramming is an essential part of an advanced programmer's arsenal. Everyday metaprogramming involves on-the-fly code production. Representative examples include dynamically generated SQL statements and code created for evaluation at runtime in interpreted languages. Metaprogramming also occurs in programs that spew out HTML or XML. Although we can't classify these markup languages as code, their rich syntactic structure qualifies their generation as metaprogramming. Unfortunately, we commonly produce code on the fly by simply pasting together character strings. This means that it's difficult to verify essential properties of the generated code - such as validity, correctness, and safety - at compile time.  相似文献   

16.
Maude is a high-level language and a high-performance system supporting executable specification and declarative programming in rewriting logic. Since rewriting logic contains equational logic, Maude also supports equational specification and programming in its sublanguage of functional modules and theories. The underlying equational logic chosen for Maude is membership equational logic, that has sorts, subsorts, operator overloading, and partiality definable by membership and equality conditions. Rewriting logic is reflective, in the sense of being able to express its own metalevel at the object level. Reflection is systematically exploited in Maude endowing the language with powerful metaprogramming capabilities, including both user-definable module operations and declarative strategies to guide the deduction process. This paper explains and illustrates with examples the main concepts of Maude's language design, including its underlying logic, functional, system and object-oriented modules, as well as parameterized modules, theories, and views. We also explain how Maude supports reflection, metaprogramming and internal strategies. The paper outlines the principles underlying the Maude system implementation, including its semicompilation techniques. We conclude with some remarks about applications, work on a formal environment for Maude, and a mobile language extension of Maude.  相似文献   

17.
Maude is a reflective language supporting both rewriting logic and membership equational logic. Reflection is systematically exploited in Maude, endowing the language with powerful metaprogramming capabilities, including declarative strategies to guide the deduction process.  相似文献   

18.
本文通过对数型赋予操作解释,将LF的逻辑定义风格的λProlog的逻辑程序设计风格融于一体,提出了旨在对定理证明过程进行元级编程的元语言TML及其抽象解释器,然后,利用项推理过程给出了TML元程序的正确性检查算法。  相似文献   

19.
Metaprogramming is a generic approach described in many articles. Surprisingly, examples of successful applications are scarce. This paper gives such an example. With a metaprogram of less than 2500 lines, we deploy components on the web by adding specific XML-based communication facilities. This underlines the expressiveness of the metaprogramming approach.  相似文献   

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

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