The Compilation of Prolog and its Execution with MALI (1993)
| Citations: | 11 - 8 self |
BibTeX
@TECHREPORT{Brisset93thecompilation,
author = {Pascal Brisset and Olivier Ridoux and Irisa Olivier and Calcul Symbolique and Et G'enie Logiciel},
title = {The Compilation of Prolog and its Execution with MALI},
institution = {},
year = {1993}
}
OpenURL
Abstract
We present a compiled implementation of Prolog that uses the abstract memory MALI for representing the execution state. Prolog is a logic programming language allowing a more general clause form than Standard Prolog 's (namely hereditary Harrop formulas instead of Horn formulas) and using simply typed -terms as a term domain instead of first order terms. The augmented clause form causes the program (a set of clauses) and the signature (a set of constants) to be changeable in a very disciplined way. The new term domain has a semi-decidable and infinitary unification theory, and it introduces the need for a fi-reduction operation at run-time. MALI is an abstract memory that is suitable for storing the search-state of depth-first search processes. Its main feature is its efficient memory management. We have used an original Prolog-to-C translation along which predicates are transformed into functions operating on continuations for handling failure and success in unifications, and change...







