SEL Compiler & Abstract Analyzers
This paper aims to evidence the potentialities of Prolog in the realization of a compiler and of some preprocessors for a subset equational language (SEL). Logic languages exhibit “implicit parallelism”, which can be divided into “process parallelism” and “data parallelism”. While most of the approaches are focussed on the former, in this paper we analyze the latter: we present the architecture and instruction set of a virtual machine (the SAM) which aims to exploit the data parallelism present in programs written in SEL and thus to speed up the execution of SEL on standard architectures and to be the starting point of a data parallel implementation. The general structure of the SAM resembles that of the WAM, apart from not needing unification capabilities. Specialized instructions have been adjoined in order to handle efficiently equational and subset assertions dealing with sets, and to point out their data parallelism. The implementation of SEL is very similar to that of Prolog, since it exploits an abstract machine (SAM) which is very similar to the WAM of Prolog. The paper also contains a description of the strategies adopted during the realizations of all the phases of the compilation and of the abstract analyzers.
Unable to display preview. Download preview PDF.
- [AK90]H. Aït-Kaci. The WAM: A (Real) Tutorial. Digital — Paris Research Laboratory, January 1990.Google Scholar
- [DLH90]S. K. Debray, N. W. Lin, and M. Hermenegildo. Task Granularity Analysis in Logic Programs. In ACM SIGPLAN 90, pages 174–188, 1990.Google Scholar
- [JN88]B. Jayaraman and A. Nair. Subset-Logic Programming: Application and Implementation. In 5th International Logic Programming Conference, Seattle, August 1988.Google Scholar
- [MS89]J. Marino and G. Succi. Data Structure for the Parallel Execution of Functional Languages. In G. Gries and J. Hartmanis, editors, PARLE ’89, pages 346–356. Springer-Verlag, June 1989.Google Scholar
- [Nai88]A. Nair. Compilation of Subset-Logic Programs, December 1988. University of North Carolina at Chapel Hill — Master Thesis.Google Scholar