DocumentCode :
2269438
Title :
Compiling Prolog to Logic Virtual Machine
Author :
Wang, Yifei ; Li, Xining
Author_Institution :
Dept. of Comput. Sci., Lakehead Univ., Thunder Bay, Ont., Canada
Volume :
1
fYear :
1998
fDate :
24-28 May 1998
Firstpage :
317
Abstract :
The Logic Virtual Machine (LVM) is an efficient Prolog execution model consisting of a set of high-level instructions and a memory architecture for handling control and unification. Different from the well-known Warren´s Abstract Machine which uses Structure Copying method, the LVM adopts a hybrid of Program Sharing and Structure Copying to represent first-order terms. In addition, the LVM employs a single stack paradigm for dynamical memory allocation and embeds an efficient garbage collection algorithm to reclaim useless memory cells. This paper will present the design of the LVM compiler-LVMC. It is developed to translate Prolog programs into LVM bytecode instructions. The compiler heavily depends on the input mode to generate optimized LVM code. It will extract the necessary properties, such as determinacy and garbage estimation, from source programs. At the implementation level, the LVMC carries out determinism transformation, garbage collection assistance, last argument dispatching, and some special optimizations. The first version of the LVMC (about 8000 lines of C code) has been developed. Some compiled programs have been tested under the LVM emulator. Benchmarks show that the LVM system is highly promising in memory utilization and performance
Keywords :
PROLOG; optimising compilers; virtual machines; LVM compiler; Logic Virtual Machine; Program Sharing; Prolog execution model; Structure Copying; determinism transformation; garbage collection; garbage collection assistance; high-level instructions; last argument dispatching; memory architecture; optimizations; Benchmark testing; Computer science; Data mining; Information analysis; Lakes; Logic; Memory architecture; Optimizing compilers; Tail; Virtual machining;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Electrical and Computer Engineering, 1998. IEEE Canadian Conference on
Conference_Location :
Waterloo, Ont.
ISSN :
0840-7789
Print_ISBN :
0-7803-4314-X
Type :
conf
DOI :
10.1109/CCECE.1998.682748
Filename :
682748
Link To Document :
بازگشت