Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

SJTU CS383 Project: SimPL Interpreter

NotificationsYou must be signed in to change notification settings

wzh99/SimPL

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

In this project I implemented an interpreter for the programming language SimPL. Seereport for further details. SimPL is a simplified dialect of ML, which can be used for both functional and imperative programming.

Project Structure

Parser

In packageparser, infrastructures for lexical and syntactical analysis are already provided. The parser parses the source program into AST representation. I implemented type checking and evaluation methods for all the AST nodes.

Interpreter

In packageinterpreter, classInterpreter serves as the program entry for the whole project. Besides, there are classes representing runtime environment and values in this packages. Library functions should also be defined in this package.

Typing

In packagetyping resides classes representing types and typing environment. Substitution and unification methods should be implemented for all types, which form the basis of type inference.

Bonus Features

  • Garbage Collection
  • Lazy Evaluation
  • Mutually Recursive Combinator
  • Infinite Stream

About

SJTU CS383 Project: SimPL Interpreter

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

[8]ページ先頭

©2009-2025 Movatter.jp