Results 1 -
4 of
4
Defining Standard Prolog in rewriting logic
- Proc. of the 3rd Int. Workshop on Rewriting Logic and its Applications (WRLA 2000
, 2001
"... The coincidence between the model-theoretic and the procedural semantics of SLDresolution does not carry over to a Prolog system that also implements non-logical features like cut and whose depth-first search strategy is incomplete. The purpose of this paper is to present the key concepts of a new, ..."
Abstract
-
Cited by 5 (0 self)
- Add to MetaCart
The coincidence between the model-theoretic and the procedural semantics of SLDresolution does not carry over to a Prolog system that also implements non-logical features like cut and whose depth-first search strategy is incomplete. The purpose of this paper is to present the key concepts of a new, simple operational semantics of Standard Prolog in the form of rewriting rules. We use a novel linear representation of the Prolog tree traversal. A derivation is represented at the level of unification and backtracking. The rewriting system presented here can easily be implemented in a rewriting logic language, giving an executable specification of Prolog. 1
Control flow analysis of Prolog (extended remix)
, 1995
"... The paper describes how to translate a Prolog program into a control flow graph (CFG). The program is annotated with control information and a system of simple set constraints is formed and solved. Using this information, a CFG can be constructed straightforwardly, which is described. In order to re ..."
Abstract
-
Cited by 4 (2 self)
- Add to MetaCart
The paper describes how to translate a Prolog program into a control flow graph (CFG). The program is annotated with control information and a system of simple set constraints is formed and solved. Using this information, a CFG can be constructed straightforwardly, which is described. In order to represent control information compactly, the paper proposes a method to structure the solution of the analysis to share information. Compressing the control information reduces the size of the control information at least by half for 18 out of 26 benchmarks, and for some programs by an order of magnitude or more. Finally, the control flow of a set of benchmarks is measured. Forward control turns out to be relatively simple, with typically 5 or less jump targets per predicate. In several smaller benchmark programs, all or close to all success returns could be converted into direct jumps. Failure control is more complex, though there are typically 10 or less jump targets per predicate for the be...
Control flow analysis of Prolog
- Proc. 1995 International Symposium on Logic Programming
, 1995
"... this paper, we show how to take a whole-program view of compilation by converting an entire Prolog program into a control flow graph. This transformation reconciles the compilation of Prolog and logic programs with the compilation of imperative languages, since a compiler then can apply techniques f ..."
Abstract
-
Cited by 3 (0 self)
- Add to MetaCart
this paper, we show how to take a whole-program view of compilation by converting an entire Prolog program into a control flow graph. This transformation reconciles the compilation of Prolog and logic programs with the compilation of imperative languages, since a compiler then can apply techniques for compiling Prolog as well as imperative languages to the program. We contribute the following:
A Rewriting Prolog Semantics
, 2000
"... . We introduce a lean and intuitive operational semantics of a characteristic subset of Standard Prolog (the whole logic and control, database updates and solution collecting). The Prolog computation is modelled as conditional rewriting of derivation states. Due to a novel linear representation o ..."
Abstract
- Add to MetaCart
. We introduce a lean and intuitive operational semantics of a characteristic subset of Standard Prolog (the whole logic and control, database updates and solution collecting). The Prolog computation is modelled as conditional rewriting of derivation states. Due to a novel linear representation of the Prolog tree traversal, our approach is especially suitable for modelling the control flow. The semantics is fully operational and implemented in Prolog. Published in Proc. of the CL'2000 Workshop on Verification and Computational Logic (VCL'2000), Southampton University Tech. Report DSSE-TR-2000-6, http://www.ecs.soton.ac.uk/mal/vcl2000.html Table of Contents 1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 2 Representing derivation states and answer substitutions . . . . . . . . . . . . . . . . . . . . . . . 1 2.1 Getting the first answer . . . . . . . . . . . . . . . . . . . . . . . . . . . . ...

