Development of a G-machine Based Translator for a Lazy Functional Programming Language Miranda

Jong-Hui Lee, Gwan-Deok Choe, Yeong-U Yun, Byeong-Uk Gang · The Transactions of the Korea Information Processing Society · 1995

This study is aimed at construction of a translator for a functional programming language. For this goal we define a functional programming language which has lazy semantics and develop a translator for it. The execution model selected is the G-machine-based combinator graph reduction. The translator is composed of 4 phases and translates a source program to a C program. The first phase of the translator translates a source program to a enriched lambda- calculus graph, the second phase transforms a lambda-calculus graph into supercombinators, the third phase translates supercombiantors to a G program and the last phase translates the G program to a C program. The final result of the translator, a C program, is compiled to an executable program by C compiler. The translator is implemented in C using compiler development tools such as TACC and Lex, under the UNIX environments. In this paper we present the design and implementation techniques for developing the translator and show results by executing some test problems.

Read the paper · More papers on PaperTik