Intermediate Representation of Programs with Type Specification Based on Pattern Matching

被引:2
|
作者
Vasenin, V. A. [1 ]
Krivchikov, M. A. [1 ]
机构
[1] Moscow MV Lomonosov State Univ, Moscow 119991, Russia
基金
俄罗斯基础研究基金会;
关键词
Specifications - Data flow analysis - Flow graphs;
D O I
10.1134/S0361768820010077
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
In this paper, we present an intermediate representation (IR) language for the concise and generalized description of type system specification features in dynamically typed programming languages. The intermediate representation is based on pattern matching and features type-level computation. It is inspired by the intermediate representation "Assembly language" for Refal-2. In contrast to "Assembly language," the proposed representation is based on the control flow graph, which preserves typing information, rather than on bytecode. In addition, we propose a modification of the Refal language that supports higher-order functions, closures, and "associative array" data type, as well as a transpiler of programs from the language into the intermediate representation. In terms of this language, we present two examples of type system specification: simple types and row polymorphism. These examples are of interest for describing type systems for dynamically typed programming languages.
引用
收藏
页码:57 / 66
页数:10
相关论文
共 50 条
  • [1] Intermediate Representation of Programs with Type Specification Based on Pattern Matching
    V. A. Vasenin
    M. A. Krivchikov
    Programming and Computer Software, 2020, 46 : 57 - 66
  • [2] Pattern Specification and Matching in Conceptual Models A Generic Approach Based on Set Operations
    Delfmann, Patrick
    Herwig, Sebastian
    Lis, Lukasz
    Stein, Armin
    Tent, Katrin
    Becker, Joerg
    ENTERPRISE MODELLING AND INFORMATION SYSTEMS ARCHITECTURES-AN INTERNATIONAL JOURNAL, 2010, 5 (03): : 24 - 43
  • [3] Visual pattern inspection: Representation and matching
    Koo, JH
    Yoo, SI
    CISST'98: PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON IMAGING SCIENCE, SYSTEMS AND TECHNOLOGY, 1998, : 25 - 32
  • [4] Explicitly semantic representation of pattern and combined geometrical specification
    Peng, Zhiguo
    Huang, Meifa
    Zhong, Yanru
    Chen, Leilei
    Liu, Guanghao
    CONCURRENCY AND COMPUTATION-PRACTICE & EXPERIENCE, 2022, 34 (09):
  • [5] Component retrieval based on specification matching
    Ma, Liang
    Sun, Jia-Su
    Xiaoxing Weixing Jisuanji Xitong/Mini-Micro Systems, 2002, 23 (10):
  • [6] Output-based Intermediate Representation for Translation of Test-pattern Program
    Kim, Minsu
    Park, Jeong-Keun
    Kim, Sungyeol
    Yang, Insu
    Jung, Hyunsoo
    Moon, Soo-Mook
    ACM TRANSACTIONS ON EMBEDDED COMPUTING SYSTEMS, 2019, 18 (05)
  • [7] Skink: Static Analysis of Programs in LLVM Intermediate Representation
    Cassez, Franck
    Sloane, Anthony M.
    Roberts, Matthew
    Pigram, Matthew
    Suvanpong, Pongsak
    de Aledo, Pablo Gonzalez
    TOOLS AND ALGORITHMS FOR THE CONSTRUCTION AND ANALYSIS OF SYSTEMS, TACAS 2017, PT II, 2017, 10206 : 380 - 384
  • [8] SPECIFICATION OF INTERFERING PROGRAMS BASED ON INTERCONDITIONS
    MIDDELBURG, CA
    SOFTWARE ENGINEERING JOURNAL, 1992, 7 (03): : 205 - 218
  • [9] DFSGraph: Data Flow Semantic Model for Intermediate Representation Programs Based on Graph Network
    Tang, Ke
    Shan, Zheng
    Zhang, Chunyan
    Xu, Lianqiu
    Qiao, Meng
    Liu, Fudong
    ELECTRONICS, 2022, 11 (19)
  • [10] Iterative refinement of repeat sequence specification using constrained pattern matching
    He, Dan
    Arslan, Abdullah N.
    He, Yu
    Wu, Xindong
    PROCEEDINGS OF THE 7TH IEEE INTERNATIONAL SYMPOSIUM ON BIOINFORMATICS AND BIOENGINEERING, VOLS I AND II, 2007, : 1199 - 1203