On generating efficient procedural codes from Prolog linear recursive programs with a list structure

Young K. Nam*, Lawrence Joseph Henschen

*Corresponding author for this work

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

The authors present an algorithm for transforming a linear recursive program with a list constructor in Prolog, whose rules are mutually exclusive to each other, into an iterative program using a while loop without backtracking and unification. In this algorithm the authors decide whether a given program is mutually exclusive or not by a procedure which uses functional dependencies supplied by the user. Once it is determined to be a mutually exclusive program, the authors compile the given program into Pascal-like code which executes in order n-squared rather than traversing a whole tree as the usual Prolog interpreter does. The unification process is transformed into a set of assignments and conditional statements by analyzing the variables of the rules in the program. Backtracking is completely removed from execution.

Original languageEnglish (US)
Title of host publicationConference Proceedings - Annual Phoenix Conference
PublisherPubl by IEEE
Pages806-812
Number of pages7
ISBN (Print)0818621338
StatePublished - Mar 1 1991
EventProceedings of the 10th Annual International Phoenix Conference on Computers and Communications - Scottsdale, AZ, USA
Duration: Mar 27 1991Mar 30 1991

Other

OtherProceedings of the 10th Annual International Phoenix Conference on Computers and Communications
CityScottsdale, AZ, USA
Period3/27/913/30/91

ASJC Scopus subject areas

  • Engineering(all)

Cite this