University of Surrey

Test tubes in the lab Research in the ATI Dance Research

On the translation of Prolog to a conventional language (ProtoCola).

Norfolk, Andrew Mark. (1990) On the translation of Prolog to a conventional language (ProtoCola). Doctoral thesis, University of Surrey (United Kingdom)..

Available under License Creative Commons Attribution Non-commercial Share Alike.

Download (6MB) | Preview


Over the past few years much interest has been shown in the computer language Prolog, a fifth generation language. Since its beginnings in the early 1970's more and more implementations of the language have been written each with their own particular characteristics. One of the main drives has been in trying to achieve more efficient implementations in terms of speed and use of storage space. Many implementations have been interpreters and only a relatively few compilers, which generally tend to be faster than interpreters, have been written, especially for machines other than personal computers. Garbage collectors are present in most systems and for large programs can make real time processing difficult. Prolog itself is a markedly different language to conventional languages like Pascal, Algol, C etc. and linking with existing software written in these languages can also be difficult. ProtoCola is an attempt to surpass some of these difficulties in that it takes a Prolog program and translates it into an equivalent (i.e. when run produces the same results as the Prolog program) Pascal program. The advantages come from the facts that: it is compliable for fast code; no garbage collector is needed; links to existing software are easier to achieve. As an added advantage it is highly portable since it is written in Standard Pascal. The use of 'continuations' to mimic the control flow and search strategy of Prolog easily and successfully has been a key factor in producing such an implementation. The idea of their use in such a way comes from the existing Gener8 system which produces a parser or generator of a language as defined by an input grammar specification. This thesis describes my work in improving the Gener8 system and gives a full description of the ProtoCola system which I have designed and developed.

Item Type: Thesis (Doctoral)
Divisions : Theses
Authors :
Norfolk, Andrew Mark.
Date : 1990
Contributors :
Depositing User : EPrints Services
Date Deposited : 09 Nov 2017 12:15
Last Modified : 20 Jun 2018 10:49

Actions (login required)

View Item View Item


Downloads per month over past year

Information about this web site

© The University of Surrey, Guildford, Surrey, GU2 7XH, United Kingdom.
+44 (0)1483 300800