CS383 Course Project

Introduction

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.

Specification

Project Specification February 22, 2021

Skeleton

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.

Examples

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

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

Submission

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.

Feedback

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