[comp.compilers] Wanted: Prolog compiler

budd@mist.cs.orst.edu (Tim Budd) (02/02/90)

If all you want are ideas (and not, for example, efficiency), then a book
I STRONGLY recommend is ``Programming Languages: An Interpreter-Based
Approach'', published by Addison-Wesley.  The book describes, and gives
interpreters for, the ``basic-core'' (i.e., subsets) of LISP, APL, Scheme,
Sasl, Clu, Smalltalk, and finally Prolog.  All of the interpreters are
reproduced in the back of the book, and all are available via ftp from
the author.  (He can be reached as kamin@cs.uiuc.edu).

--tim budd, budd@cs.orst.edu
-- 
Send compilers articles to compilers@esegue.segue.boston.ma.us
{spdcc | ima | lotus}!esegue.  Meta-mail to compilers-request@esegue.
Please send responses to the author of the message, not the poster.

grunwald@foobar.colorado.edu (Dirk Grunwald) (02/03/90)

>>>>> On 1 Feb 90 22:41:59 GMT, budd@mist.cs.orst.edu (Tim Budd) said:
> If all you want are ideas (and not, for example, efficiency), then a book
> I STRONGLY recommend is ``Programming Languages: An Interpreter-Based
> Approach'', published by Addison-Wesley.  The book describes, and gives
> interpreters for, the ``basic-core'' (i.e., subsets) of LISP, APL, Scheme,
> Sasl, Clu, Smalltalk, and finally Prolog.  All of the interpreters are
> reproduced in the back of the book, and all are available via ftp from
> the author.  (He can be reached as kamin@cs.uiuc.edu).

I've been using that book this semester, and the only problems I've
really had with it are that it doesn't cover some fundemental concepts
that the students need to know, mainly things like action records &
environments. I've been using chapters from MacLennen as well as Pratt
to cover these topics.

I've also converted the Pascal code into C, using the wonder p2c
utility from csvax.caltech.edu.

Simon Kaplan (kaplan@cs.uiuc.edu) also has some of the interpreters
available in Scheme; I think this would have been the better approach
for all the interpreters, because it removes much of the environment
manipulation code. However, you students would have to know scheme.

Dirk Grunwald -- Univ. of Colorado at Boulder	(grunwald@foobar.colorado.edu)
						(grunwald@boulder.colorado.edu)
-- 
Send compilers articles to compilers@esegue.segue.boston.ma.us
{spdcc | ima | lotus}!esegue.  Meta-mail to compilers-request@esegue.
Please send responses to the author of the message, not the poster.