Scheme
Written in Python
An interpreter for a subset of the Scheme language. This project was created for UC Berkeley’s CS 61A: Structure and Interpretation of Computer Programs in Fall 2019.
Source code for this project can be provided upon request.
Features
Some functionality of this Scheme interpreter include:
- Reads Scheme expressions by parsing user inputand analyzing both syntactically and lexically.
- Evaluates Scheme expressions to obtain appropriate values.
- Optimized interpreter by allowing an unbounded number of active tail calls in constant space.
- Implemented Scheme expressions include:
- symbol evaluation
- calls to built-in procedures
- definitions
- lambda expressions and procedure definition
- calling user-defined procedures
- evaluation of special forms
- dynamic scoped procedures
- macros