The design and implementation of a high-speed incremental portable Prolog compiler
The design and implementation of a relatively portable Prolog compiler achieving 12K LIPS on the standard benchmark is described. The compiler is incremental and uses decompilation to implement retract, clause, and listing, as well as support the needs of its four-port debugger. The system supports modules, garbage collection, database pointers, and a full range of built-ins.
KeywordsGarbage Collection Choice Point Abstract Machine Code Space Prolog System
Unable to display preview. Download preview PDF.
- Bowen, K.A., and Kowalski, R.A., Amalgamating language and metalanguage in logic programming, in Logic Programming, ed. K. Clark and S.-A. Tarnlund, 1982, pp 153–172.Google Scholar
- Bowen, K.A., and Weinberg, T., A meta-level extension of Prolog, 1985 Symposium on Logic Programming, Boston, IEEE, 1985, pp. 48–53.Google Scholar
- Bowen, K.A., Meta-Level programming and knowledge representation, New Generation Computing, 3, 1985, pp. 359–383.Google Scholar
- Buettner, K.A., Decompilation of compiler Prolog clauses, submitted.Google Scholar
- Bryd, L., Prolog debugging facilities, in Byrd, Pereira, and Warren, 1980.Google Scholar
- Byrd, L., Pereira, F., and Warren, D., A Guide to Version 3 of DEC-10 PROLOG, Dept. of Artificial Intelligence, Univ. of Edinburgh, 1980.Google Scholar
- Morris, F.L., A time-and space-efficient garbage collection algorithm, Communications of the ACM, 21, (1978), pp. 662–665.Google Scholar
- Pereira, L.M., Pereira, F.C., and Warren, D.H.D., User's Guide to DECsystem-10 PROLOG, Dept. of Artificial Intelligence, Univ. of Edinburgh, 1978.Google Scholar
- Warren, D.H.D., An abstract Prolog instruction set, SRI Technical Report, 1983.Google Scholar