Reading: TBD
In this assignment you will fill complete the implementation of the Control Flow Graph (CFG) builder in the Augusta code base.
Start by updating your clone of the Augusta project:
The goal of this assignment is to complete the method build in file CFG.scala. This entails finishing the implementations of the match cases for all of the statement forms in the AST (see AST.scala for a complete list).
You should also support the initializers in object declarations. Put each initializer into its own basic block. You will need to create an assignment statement AST node to hold the initializer and the variable being declared.
Finally, implement support for procedure declarations. This will allow a CFG for an entire procedure to be created.
Submit your CFG.scala file to Canvas
Last Revised: 2025-04-30
© Copyright 2025 by Peter Chapin <peter.chapin@vermontstate.edu>