FCG - A CODE GENERATOR FOR LAZY FUNCTIONAL LANGUAGES

被引:0
|
作者
LANGENDOEN, K
HARTEL, PH
机构
关键词
D O I
暂无
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
The FCG code generator produces portable code that supports efficient two-space copying garbage collection. The code generator transforms the output of the FAST compiler front end into an abstract machine code. This code explicitly uses a call stack, which is accessible to the garbage collector. In contrast to other functional language compilers that generate assembly directly, FCG uses the C compiler for code generation, providing high-quality code optimisations and portability. To make full use of the C compiler's capabilities, FCG includes an optimisation scheme that transforms the naively generated stack-based code into a register-based equivalent form. The results for a benchmark of functional programs show that code generated by FCG performs well in comparison with the LML compiler.
引用
收藏
页码:278 / 296
页数:19
相关论文
共 50 条
  • [21] The Correctness of a Code Generator for a Functional Language
    Courant, Nathanael
    Sere, Antoine
    Shankar, Natarajan
    VERIFICATION, MODEL CHECKING, AND ABSTRACT INTERPRETATION, VMCAI 2020, 2020, 11990 : 68 - 89
  • [22] Lazy code motion
    Knoop, J
    Rüthing, O
    Steffen, B
    ACM SIGPLAN NOTICES, 2004, 39 (04) : 460 - 461
  • [23] Seamless Code Generator Synchronization in the Composition of Heterogeneous Modeling Languages
    Jansen, Nico
    Rumpe, Bernhard
    PROCEEDINGS OF THE 16TH ACM SIGPLAN INTERNATIONAL CONFERENCE ON SOFTWARE LANGUAGE ENGINEERING, SLE 2023, 2023, : 163 - 168
  • [24] LAZY CODE MOTION
    KNOOP, J
    RUTHING, O
    STEFFEN, B
    SIGPLAN NOTICES, 1992, 27 (07): : 224 - 234
  • [25] Heap Recycling for Lazy Languages
    Hage, Jurriaan
    Holdermans, Stefan
    PEPM'08: PROCEEDINGS OF THE 2008 ACM SIGPLAN SYMPOSIUM ON PARTIAL EVALUATION AND SEMANTICS-BASED PROGRAM MANIPULATION, 2008, : 189 - 197
  • [26] Generational garbage collection without temporary space leaks for lazy functional languages
    Rojemo, N
    MEMORY MANAGEMENT, 1995, 986 : 145 - 162
  • [27] A Synchronous-Based Code Generator for Explicit Hybrid Systems Languages
    Bourke, Timothy
    Colaco, Jean-Louis
    Pagano, Bruno
    Pasteur, Cedric
    Pouzet, Marc
    COMPILER CONSTRUCTION (CC 2015), 2015, 9031 : 69 - 88
  • [28] A Program Code Generator for Multiphysics Biological Simulation using Markup Languages
    Amano, Akira
    Kawabata, Masanari
    Yamashita, Yoshiharu
    Punzalan, Florencio Rusty
    Shimayoshi, Takao
    Kuwabara, Hiroaki
    Kunieda, Yoshitoshi
    2012 ANNUAL INTERNATIONAL CONFERENCE OF THE IEEE ENGINEERING IN MEDICINE AND BIOLOGY SOCIETY (EMBC), 2012, : 6624 - 6627
  • [29] LAZY DEBUGGING OF LAZY FUNCTIONAL PROGRAMS
    SNYDER, RM
    NEW GENERATION COMPUTING, 1990, 8 (02) : 139 - 161
  • [30] Code optimizations for lazy evaluation
    Bloss, Adrienne
    Hudak, Paul
    Young, Jonathan
    LISP and Symbolic Computation, 1988, 1 (02): : 147 - 164