Results 1 -
2 of
2
Improved Compilation of Prolog to C Using Moded Types and Determinism Information
- In Proceedings of the Sixth International Symposium on Practical Aspects of Declarative Languages, number 3057 in LNCS
, 2004
"... We describe the current status of and provide performance results for a prototype compiler of Prolog to C. The compiler is novel in that it is designed to accept di#erent kinds of high-level information, typically obtained via an automatic analysis of the initial Prolog program and expressed in a st ..."
Abstract
-
Cited by 11 (7 self)
- Add to MetaCart
We describe the current status of and provide performance results for a prototype compiler of Prolog to C. The compiler is novel in that it is designed to accept di#erent kinds of high-level information, typically obtained via an automatic analysis of the initial Prolog program and expressed in a standardized language of assertions, and use this information to optimize the resulting C code, which is then further processed by an o#-the-shelf C compiler. The basic translation process used essentially mimics an unfolding of a C-coded bytecode emulator with respect to the particular bytecode corresponding to the Prolog program. Optimizations are then applied to this unfolded program. This is facilitated by a more flexible design of the bytecode instructions and their lower-level components. This approach allows reusing a sizable amount of the machinery of the bytecode emulator: ancillary pieces of C code, data definitions, memory management routines and areas, etc., as well as mixing bytecode emulated code with natively compiled code in a relatively straightforward way. We report on the performance of programs compiled by the current version of the system, both with and without analysis information.
BinProlog 7.0 Professional Edition - Advanced BinProlog Programming and Extensions Guide
- BinNet Corp
, 1999
"... Introduction to BinProlog BinProlog has been developed by Paul Tarau (http://www.cs.unt.edu/~ tarau) and is based on his BinWAM abstract machine, a specialization of the WAM for the efficient execution of binary logic programs. BinProlog is a fast and compact Prolog compiler, based on the transform ..."
Abstract
-
Cited by 5 (4 self)
- Add to MetaCart
Introduction to BinProlog BinProlog has been developed by Paul Tarau (http://www.cs.unt.edu/~ tarau) and is based on his BinWAM abstract machine, a specialization of the WAM for the efficient execution of binary logic programs. BinProlog is a fast and compact Prolog compiler, based on the transformation of Prolog to binary clauses. The compilation technique is similar to the Continuation Passing Style transformation used in some ML implementations. BinProlog is also probably the first Prolog system featuring dynamic recompilation of asserted predicates (a technique similar to the one used in some object oriented languages like SELF 4.0), and a very efficient segment preserving copying heap garbage collector. Although it (used to) incorporate some last minute research experiments, which might look adventurous at the first sight, BinProlog is a fairly robust and complete Prolog implementation featuring both C-emulated execution and generation of standalone applications by compil

