Review Assignment Due Date

plp1functioninterpreter

Purpose

The purpose of this project is to gain experience in giving meaning to a programming language by interpreting function and variable definitions and references inl.

Project Summary

In this project, you will need to implement an interpreter of the abstract syntax that you generated in Project 1. For full credit, you must use the modified visitor pattern we developed in class. Specifically, your interpreter must be able to

Evaluate any abstract syntax generated for

  1. Let expressions,
  2. Variable references,
  3. Lambda and Function expressions
  4. Function calls for user defined functions.

Testing

All test cases are in the file src/test/test_all.java. You can run the test cases with make test_all.

Submission

Write all of your code in Java. I have provided my basic interpreter in this project. You may use my source if you wish. Your code should be well-documented. You must submit your code via git.