Implementing a Language with Explicit Assignment Semantics

被引:1
|
作者
Racordon, Dimitri [1 ]
Buchs, Didier [1 ]
机构
[1] Univ Geneva, Ctr Univ Informat, Geneva, Switzerland
关键词
intermediate language; virtual machine; imperative languages; assignment; memory management;
D O I
10.1145/3358504.3361227
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Anzen is a multi-paradigm programming language that aims to provide explicit and controllable assignment semantics. It is based on the observation that abstractions over memory management and data representation, as commonly adopted by contemporary programming languages, often transpire relics of the underlying memory model and lead to confusing assignment semantics in the presence of aliases. In response, Anzen's goal is to offer a modern approach to programming, built on a sound and unambiguous semantics. This paper describes the implementation of a compiler for Anzen. Our implementation transpiles sources to an intermediate language inspired by the LLVM IR, designed to ease further analysis on Anzen's statements. This intermediate representation is then consumed by a register-based virtual machine. We present the Anzen compiler's architecture, introduce its intermediate language and describe the latter's evaluation. Our work aims to set a reference implementation for future developments and extensions of the language.
引用
收藏
页码:12 / 21
页数:10
相关论文
共 50 条
  • [1] An Agent Language with Destructive Assignment and Model-Theoretic Semantics
    Kowalski, Robert
    Sadri, Fariba
    [J]. COMPUTATIONAL LOGIC IN MULTI-AGENT SYSTEMS, 2010, 6245 : 200 - 218
  • [2] Semantics for the Asynchronous Communication in LIPS, a Language for Implementing Parallel/distributed Systems
    Rajan, Amala VijayaSelvi
    Bavan, Arumugam Siri
    Abeysinghe, Geetha
    [J]. INNOVATIONS IN COMPUTING SCIENCES AND SOFTWARE ENGINEERING, 2010, : 23 - 28
  • [3] A resource semantics and abstract machine for Safe: A functional language with regions and explicit deallocation
    Montenegro, Manuel
    Pena, Ricardo
    Segura, Clara
    [J]. INFORMATION AND COMPUTATION, 2014, 235 : 3 - 35
  • [4] A Resource-Aware Semantics and Abstract Machine for a Functional Language with Explicit Deallocation
    Montenegro, Manuel
    Pena, Ricardo
    Segura, Clara
    [J]. ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2009, 246 : 167 - 182
  • [5] The future of semantics? (Semantics in language)
    Stokhof, Martin
    [J]. THEORETICAL LINGUISTICS, 2006, 32 (01) : 91 - 100
  • [6] Explicit provability and constructive semantics
    Artemov, SN
    [J]. BULLETIN OF SYMBOLIC LOGIC, 2001, 7 (01) : 1 - 36
  • [7] EXPLICIT FAIRNESS IN TESTING SEMANTICS
    Cacciagrano, Diletta
    Corradini, Flavio
    Palamidessi, Catuscia
    [J]. LOGICAL METHODS IN COMPUTER SCIENCE, 2009, 5 (02)
  • [8] Implementing Informal Semantics of ASP
    Mikitiuk, Artur
    Truszczynski, Miroslaw
    [J]. LOGIC PROGRAMMING AND NONMONOTONIC REASONING (LPNMR 2013), 2013, 8148 : 433 - 438
  • [9] XSDL: Making XML semantics explicit
    Liu, SP
    Mei, J
    Yue, AB
    Lin, ZQ
    [J]. SEMANTIC WEB AND DATABASES, 2005, 3372 : 64 - 83
  • [10] Towards Explicit Semantics in Learning Objects
    Zouaq, Amal
    [J]. BULLETIN OF THE TECHNICAL COMMITTEE ON LEARNING TECHNOLOGY, 2010, 12 (01): : 56 - 57