z-logo
open-access-imgOpen Access
The derivation of an algorithm for program specialisation
Author(s) -
John P. Gallagher,
Maurice Bruynooghe
Publication year - 1991
Publication title -
new generation computing
Language(s) - English
Resource type - Book series
SCImago Journal Rank - 0.277
H-Index - 27
eISSN - 1882-7055
pISSN - 0288-3635
ISBN - 0-262-73090-1
DOI - 10.1007/bf03037167
Subject(s) - computer science , prolog , computation , call graph , algorithm , function (biology) , interpretation (philosophy) , program transformation , graph , theoretical computer science , abstract interpretation , simple (philosophy) , partial evaluation , programming language , philosophy , epistemology , evolutionary biology , biology
In this paper we develop an algorithm, based on abstract interpretation, for source specialisation of logic programs. This approach is more general than partial evaluation, another technique for source specialisation, and can perform some source specialisations that cannot be done by partial evaluation; examples are specialisations that use information from infinite computations. Our algorithm for program specialisation usesminimal function graphs as a basis. Previous work on minimal function graphs is extended by describing a scheme for constructing a minimal function graph for a simple functional language, and then using that to define a minimal function graph constructor for Prolog. We show how to compute a more precise approximation to the minimal function graph than was obtained in previous work. The efficient computation of minimal function graphs is also discussed. An abstract interpretation based on unfolding paths is then developed for Prolog program specialisation.

The content you want is available to Zendy users.

Already have an account? Click here to sign in.
Having issues? You can contact us here
Accelerating Research

Address

John Eccles House
Robert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom