首页> 外文OA文献 >An efficient and portable implementation of a concurrent constraint language
【2h】

An efficient and portable implementation of a concurrent constraint language

机译:并发约束语言的高效且可移植的实现

代理获取
本网站仅为用户提供外文OA文献查询和代理获取服务,本网站没有原文。下单后我们将采用程序或人工为您竭诚获取高质量的原文,但由于OA文献来源多样且变更频繁,仍可能出现获取不到、文献不完整或与标题不符等情况,如果获取不到我们将提供退款服务。请知悉。

摘要

This dissertation describes a sequential implementation of a concurrent constraint programing language called Janus. The language implemented is somewhat different from the original Janus; it is a flat guarded language with assignment, similar to Strand and to FGHC. This implementation, called jc (Janus Compiler) compiles Janus source code to C, and then calls a C compiler to compile the C code. This technique gives us most of the performance benefits of compiling to machine code, but also has the portability of an interpreter. There are some special problems involved in the implementation of a language like Janus. First, Janus data is dynamically typed. Therefore each data value must carry type information and in principle every operation must check this type information in order to operate correctly. Second, procedure calls are much more common in Janus than in most other languages since every conditional and every loop must be coded as a call to a procedure. Third, Janus has the ability to suspend if a variable is evaluated before it is assigned a value. The jc implementation addresses these problems with a set of novel design decisions and optimization techniques. It was our goal to ensure, as far as possible, that programs that do not make essential use of the special features of Janus should not pay the performance penalty of having those features available. In particular, a program that is a fairly direct translation of a C program to Janus should execute about as fact as the original C program did.
机译:本文描述了并发约束编程语言Janus的顺序实现。使用的语言与原始的Janus有所不同。与Strand和FGHC类似,它是一种分配有保障的统一防护语言。此实现称为jc(Janus编译器),将Janus源代码编译为C,然后调用C编译器来编译C代码。这项技术为我们提供了编译机器码的大部分性能优势,而且还具有解释器的可移植性。在像Janus这样的语言的实现中涉及一些特殊问题。首先,Janus数据是动态键入的。因此,每个数据值都必须带有类型信息,并且原则上每个操作都必须检查该类型信息以正确操作。其次,过程调用在Janus中比在大多数其他语言中更为常见,因为每个条件和每个循环都必须编码为对过程的调用。第三,如果变量在赋值之前已求值,那么Janus可以暂停。 jc实现通过一组新颖的设计决策和优化技术解决了这些问题。我们的目标是确保尽可能不使用Janus的特殊功能的程序不应该因为使用这些功能而受到性能损失。特别是,将C程序直接转换为Janus的程序应像原始C程序那样执行。

著录项

  • 作者

    Gudeman David Alan;

  • 作者单位
  • 年度 1997
  • 总页数
  • 原文格式 PDF
  • 正文语种 en_US
  • 中图分类

相似文献

  • 外文文献
  • 中文文献
  • 专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号