Title
Compiling Mercury to High-Level C Code
Abstract
Many logic programming implementations compile to C, but they compile to very low-level C, and thus discard many of the advantages of compiling to a high-level language. We describe an alternative approach to compiling logic programs to C, based on continuation passing, that we have used in a new back-end for the Mercury compiler. The new approach compiles to much higher-level C code, which means the compiler back-end and run-time system can be considerably simpler. We present a formal schema for the transformation, and give benchmark results which show that this approach delivers performance that is more than competitive with the fastest previous implementation, with greater simplicity and better portability and interoperability.The approach we describe can also be used for compiling to other target languages, such as IL (the Microsoft .NET intermediate language).
Year
Venue
Keywords
2002
CC
compiling mercury,intermediate language,low-level c,target language,logic programming implementation,alternative approach,high-level c code,high-level language,new approach,mercury compiler,higher-level c code,logic program,programming language implementation,c,logic programming,high level language,mercury
Field
DocType
Volume
Programming language,Compile time,Computer science,Parallel computing,Continuation,Compiler,Implementation,High-level programming language,Software portability,Logic programming,Programming language implementation
Conference
2304
ISSN
ISBN
Citations 
0302-9743
3-540-43369-4
8
PageRank 
References 
Authors
0.69
14
2
Name
Order
Citations
PageRank
Fergus Henderson129634.54
Zoltan Somogyi2571141.85