首页> 外文学位 >Assignment Calculus: A Pure Imperative Reasoning Language.
【24h】

Assignment Calculus: A Pure Imperative Reasoning Language.

机译:作业演算:一种纯粹的命令式推理语言。

获取原文
获取原文并翻译 | 示例

摘要

In this thesis, we undertake a study of imperative reasoning . Beginning with a philosophical analysis of the distinction between imperative and functional language features, we define a (pure) imperative language as one whose constructs are inherently referentially opaque. We then give a definition of a reasoning language by identifying desirable properties such a language should have.;AC consists of only four basic constructs, assignment 'X := t', sequence 't; u', procedure formation '¡t' and procedure invocation,! t'. Three interpretations are given for AC: an operational semantics, a denotational semantics, and a term-rewriting system. The three are shown to be equivalent. Running examples are used to illustrate each of the interpretations.;Five variants of AC are then studied. By removing restrictions from AC's syntactic and denotational definitions, we can incorporate L-values, lazy evaluation, state backtracking, and procedure composition into AC. By incorporating procedure composition, we show that AC becomes a self-contained Turing complete language in the same way as the untyped lambda-calculus: by encoding numerals, Booleans, and control structures as AC terms. Finally we look at the combination of AC with a typed lambda-calculus.;The rest of the thesis presents a new pure imperative reasoning language, Assignment Calculus AC. The main idea behind AC is that R. Montague's modal operators of intension and extension are useful tools for modeling procedures in programming languages. This line of thought builds on T. Janssen's demonstration that Montague's intensional logic is well suited to dealing with assignment statements, pointers, and other difficult features of imperative languages.
机译:在本文中,我们对命令式推理进行了研究。从对命令性和功能性语言功能之间的区别进行哲学分析开始,我们将一种(纯)命令性语言定义为一种其构造固有地是参照不透明的语言。然后,我们通过确定推理语言应具有的特性来定义推理语言。AC仅包含四个基本结构,赋值“ X:= t”,序列“ t”; u',过程形成“'t”和过程调用,! t'。针对AC给出了三种解释:操作语义,指称语义和术语重写系统。这三个显示为等效。通过运行示例来说明每种解释。然后研究了AC的五个变体。通过消除AC的句法和名词定义中的限制,我们可以将L值,惰性评估,状态回溯和过程组成合并到AC中。通过合并过程组成,我们表明AC以与未类型化lambda演算相同的方式成为一种独立的Turing完整语言:通过将数字,布尔值和控制结构编码为AC项。最后,我们看一下AC与类型化的lambda演算的组合。本文的其余部分提出了一种新的纯命令式推理语言,即赋值演算AC。 AC的主要思想是R. Montague的内在和外在模态运算符是用编程语言对过程进行建模的有用工具。这种思路基于T. Janssen的论证,即Montague的内涵逻辑非常适合处理赋值语句,指针和命令性语言的其他困难特征。

著录项

  • 作者

    Bender, Marc.;

  • 作者单位

    McMaster University (Canada).;

  • 授予单位 McMaster University (Canada).;
  • 学科 Computer Science.
  • 学位 Ph.D.
  • 年度 2010
  • 页码 124 p.
  • 总页数 124
  • 原文格式 PDF
  • 正文语种 eng
  • 中图分类
  • 关键词

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号