CS383 Course Project


In this project, you are required to implement an interpreter for the programming language SimPL (pronounced simple). SimPL is a simplified dialect of ML, which can be used for both functional and imperative programming. The specification below presents a definition of SimPL and provides guidelines to help you implement the interpreter.


Project Specification February 22, 2021


A project skeleton is provided at skeleton.zip . You can start writing your interpreter using the provided skeleton. It includes a ready-to-import Eclipse project, a source code formatter style (formatter.xml), a full-featured parser for SimPL, and skeleton files for abstract syntax tree (AST) nodes, types, and values.Given the project skeleton, you may finish coding the course project within 24 hours, if you fully understand the specification and the lectures.


Here we provide some examples for you to test your interpreter.

Note: Your final program will be tested by other examples.


Deadline: 2021/06/13 23:59:59

Send your exported JAR file, the source code file and a project document, to likaijian@sjtu.edu.cn before deadline. Your email subject (title) MUST like "CS383_project_Name_StudentID", e.g. "CS383_project_张三_5140309117".

You should package the JAR file, the source code file and the project document into a compressed file with your name and student number as file name, e.g. "张三_5140309117.rar".

The document should include your implementation method and explanation. The structure of your document is as the specification.

Your email will be processed by a computer program. And I assume you are aware of the implications of this.


Please send your feedback via email to likaijian@sjtu.edu.cn