Authors: Diego Griese (diego.griese@tufts.edu), Ezra Szanton (ezra.szanton@tufts.edu), Andrew DelMastro (andrew.delmastro@tufts.edu), and Aleksandr Fedchin (aleksandr.fedchin@tufts.edu)
To compile the parser please run make toplevel.native from the root directory.
To execute the tests, please run make test from the root directory.
The script assumes that you are running Ubuntu, have internet connection,
and have ocaml, ocamlbuild, python, and pip installed.
The internet connection is used to automatically install lit testing engine
via pip install lit. We have specifically tested on GitHub Workflow's
ubuntu-latest virtual machine. We expect the tests might fail on anything that
is not Ubuntu. Upon successfully running the tests, lit should print the
following:
Passed : 19
Expectedly Failed: 13For this assignment we have implemented the parser for all language features that we have planned, including first class functions, record types (structs), and parametric polymorphism. We have built off the MicroC parser, so other language features should be similar (with a few changes such as requiring all type identifiers be uppercase - see the tests).