Welcome to Project 1 of COMP360H: Static Program Analysis at Wesleyan University. This repository contains the implementation of an interpreter for Imp, our own small imperative programming language. The project is maintained by:
Imp is an imperative programming language featuring many modern language constructs including if statements, while statements, functions, block scoping, and expression evaluation. Currently, the language supports only integer (Int
) and boolean (Bool
) values.
Below is a detailed account of the language semantics:
The interpreter for Imp is written in OCaml, leveraging its functional programming capabilities.
To run and test the interpreter, follow these steps:
We welcome contributions to enhance the Imp interpreter. If you find any bugs or have ideas for improvements, feel free to submit issues or pull requests.
This project is licensed under the MIT License, allowing for both personal and commercial use with proper attribution.
We hope you find the Imp interpreter insightful and helpful. If you have any questions or feedback, don't hesitate to reach out to us!