Parsing with tools

Overview

In this assignment, you reimplement the previous lexer and parser projects using ocamllex and ocamlyacc. The goal is to replace your hand-written lexer and parser with parser‑generator–based versions without changing the language definition or the observable behavior of the project.

Your new implementation must produce the same Abstract Syntax Tree (AST) as your earlier projects for all valid inputs. In other words, for any test case used previously, the AST output of this assignment should be structurally identical to that produced before.

Note: for convenience of the recursive descent parser implementation, all binary operators are right associative.

Turning in the Assignment

To submit your assignment, create a zip file of a DIRECTORY named yacc-handin containing ONLY the files required to build the project. The project must build with dune. Then submit that file to the appropriate folder on D2L.

Grading Criteria

OCaml Style Guide

Programming Project Rubric