Title
Towards description and optimization of abstract machines in an extension of prolog
Abstract
Competitive abstract machines for Prolog are usually large, intricate, and incorporate sophisticated optimizations. This makes them difficult to code, optimize, and, especially, maintain and extend. This is partly due to the fact that efficiency considerations make it necessary to use low-level languages in their implementation. Writing the abstract machine (and ancillary code) in a higher-level language can help harness this inherent complexity. In this paper we show how the semantics of basic components of an efficient virtual machine for Prolog can be described using (a variant of) Prolog which retains much of its semantics. These descriptions are then compiled to C and assembled to build a complete bytecode emulator. Thanks to the high level of the language used and its closeness to Prolog the abstract machine descriptions can be manipulated using standard Prolog compilation and optimization techniques with relative ease. We also show how, by applying program transformations selectively, we obtain abstract machine implementations whose performance can match and even exceed that of highly-tuned, handcrafted emulators.
Year
DOI
Venue
2006
10.1007/978-3-540-71410-1_7
logic based program synthesis and transformation
Keywords
Field
DocType
ancillary code,standard prolog compilation,competitive abstract machine,efficient virtual machine,higher-level language,basic component,low-level language,towards description,abstract machine implementation,abstract machine,abstract machine description,abstract machines,compiler optimization,virtual machine,code optimization,optimization,prolog
Virtual machine,Program transformation,Programming language,Computer science,Closeness,Algorithm,Theoretical computer science,Implementation,Prolog,Bytecode,Semantics,Abstract machine
Conference
Volume
ISSN
Citations 
4407
0302-9743
3
PageRank 
References 
Authors
0.39
12
3
Name
Order
Citations
PageRank
José F. Morales18811.95
Manuel Carro214619.95
Manuel V. Hermenegildo32692182.60