Introduction to Interpreters
Programming Languages: Application and Interpretation
- The book as seen many incarnation through the years.
- A pdf of the most recent version (3.2.2)
- The first edition from 2007
- It led to a book called Programming and Programming Languages in 2020 using the Pyret programming language.
- Another related book is A Data-Centric Introduction to Computing updated to 2025
- We will be working with the 2nd Edition from 2012
- You can best book mark our local copy of PLAI 2nd Edition
Languages
- We distinguish the object language from the implementation language.
- In PLAI2, they use Racket as the object language and the PLAI Typed Language as the implementation language.
- The language we are going to interpret is a fragment of the Racket programming language. For documentation:
- The language we will be programming in, the implementation language, is Common Lisp
Tolk
- The tolk repo https://git.auc-computing.nl/bon/tolk-advprog
- Add other binary arithmetic functions
- There is a lot of duplication of code. Generalise to handle many binary arithmetic functions.
- Modular (clock) arithmetic
- 4-bit arithmetic, overflow, underflow. Compare Racket's fixnums