Skip to main navigation Skip to search Skip to main content

Design and implementation of jump tables for fast indexing of logic programs

  • Stony Brook University

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

1 Scopus citations

Abstract

The principal technique for enhancing the speed of clause resolution in logic programming languages, such as Prolog, is indexing. Given a goal, the primary objective of indexing is to quickly eliminate clauses whose heads do not unify with the goal. Efforts at maximizing the performance of indexing automata have focused almost exclusively on constructing them with small depth, which in turn translates into making fewer transitions. Performance of an automata also critically depends on its ability to make each transition efficiently. This is a problem that has largely been ignored and constitutes the topic of this paper. Although jump tables ensure that each transition can be done in constant time they are usually very sparse and hence are seldom used in implementations. We describe a novel method to construct dense jump tables for indexing automata. We present implementation results that show that our construction indeed yields jump tables that are dense enough to be practical. We also show that indexing automata that use jump tables based on our method, improve the overall performance of Prolog programs. We also provide experimental evidence that our method is a general technique for compressing transition tables of other finite state automata such as those used in scanners.

Original languageEnglish
Title of host publicationProgramming Languages
Subtitle of host publicationImplementations, Logics and Programs - 7th International Symposium, PLILP 1995, Proceedings
EditorsManuel Hermenegildo, S. Doaitse Swierstra
PublisherSpringer Verlag
Pages133-150
Number of pages18
ISBN (Print)354060359X, 9783540603597
DOIs
StatePublished - 1995
Event7th International Symposium on Programming Languages: Implementations, Logics and Programs, PLILP 1995 - Utrecht, Netherlands
Duration: Sep 20 1995Sep 22 1995

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume982
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349

Conference

Conference7th International Symposium on Programming Languages: Implementations, Logics and Programs, PLILP 1995
Country/TerritoryNetherlands
CityUtrecht
Period09/20/9509/22/95

Fingerprint

Dive into the research topics of 'Design and implementation of jump tables for fast indexing of logic programs'. Together they form a unique fingerprint.

Cite this