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

Preview

Preview