Tim Budd's interpreters in C++ for the languages in Samuel Kamin's PLIBA book.
PLIBA book errata and source code in Pascal, C, and C++:
http://www.cs.cmu.edu/afs/cs/project/ai-repository/ai/lang/lisp/impl/kamin/0.html
Original announcement at the comp.archives newsgroup:
From: budd@fog.cs.orst.edu (Tim Budd)
Newsgroups: comp.archives
Subject: [comp.lang.misc] Kamin interpreters
Date: 12 Sep 91 17:58:42 GMT
Followup-To: comp.lang.misc,comp.lang.c++,comp.object
Organization: Computer Science Department, Oregon State Univ.
Archive-name: auto/comp.lang.misc/Kamin-interpreters
Original-posting-by: budd@fog.cs.orst.edu (Tim Budd)
Original-subject: Kamin interpreters
Reposted-by: adam@soda.berkeley.edu
This note is for people who have studied programming languages from Samuel
Kamin's book ``Programming Languages, An Interpreter-Based Approach'' (a
very good book, by the way).
I've rewritten the interpreters in C++ for the languages Kamin discusses
(Pascal, Lisp, APL, Scheme, SASL, CLU, Smalltalk and Prolog).
This is a complete rewrite, not a translation of his Pascal versions.
The basic idea is that there is a base set of class descriptions that
remain unchanged through each of the eight different languages. All
specialization is accomplished only by modifying the classes using
subclassing. It is my conjecture that this makes the differences between
the different interpreters easier to understand. Any feedback on the
validity of that conjecture would be appreciated. A short (100 page)
report accompanies the sources to describe my version of the interpreters.
The software is very new, and accordingly likely buggy. It compiles under
GNU G++ 1.39, which is the only system I have right at the moment. I don't
do anything out of the ordinary, however, so I don't expect other compilers
to complain.
Anyway, to obtain the sources use anonymous ftp from cs.orst.edu, directory
pub/budd/kamin. There are six shar files there containing the sources and
the document. No, I won't distribute the sources in other formats unless
accompanied by large bribes.
--tim budd
Contributions:
- Gustavo De Mari (Twitter: @guhdemari): fixed LaTeX of Tim Budd's report for rendering in November, 2018.