CS383 Course Project

Introduction

In this project, you are required to implement an interpreter in Java 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.

Specification

Project Specification April 15, 2022

Skeleton

A project skeleton is provided at skeleton.rar . 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.

Examples

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

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

Submission

Deadline: 2022/06/05 23:59:59

Send your exported JAR file, the source code file and a project document, to Canvas before deadline. Your filename 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.

Feedback

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