Timothy Budd's Kamin Interpreters in C++

Table of Contents

1 Original Sources

I have played with Timothy Budd's C++ versions of the Kamin interpreters on and off for many years and find them interesting and educational. However they have been languishing in the unexplored depths of the Internet for too long and it is time they were resurrected and updated for another generation of programming linguists to learn from.

The code is reformatted and updated to compile without warning or error with the latest standard C++ compilers and added tests derived from the examples supplied by Kamin for his original Pascal interpreters. Also tags have been added to code sections so they may be automatically included in the documentation without manually copying the relevant sections into the LaTeX source files. I couple of bugs have been found and corrected but more major work on testing and debugging the RAII memory management is required which is the next major job.

Currently the code formatting in the HTML version of the documentation is not great and a bit more tweaking of the tex4ht config file is needed.

2 Documentation

Here are links to the updated documentation. The text is pretty much as it was in the original files released by Timothy Budd but the code snippets are obtained automatically from the updated C++ source files.

3 Build and Test

The default build setup is to compile with g++ but the interpreters have also been tested with clang++ and any other standard C++ compiler should be suitable. The particular compiler can be configured by editing Make/Makefile.config.

  • To build all 8 interpreters: make
  • To run all the tests: make test

Date: 2014-01-22T06:55+0000

Org version 7.9.3f with Emacs version 24

Validate XHTML 1.0