A class that creates a new ASG from an old one. This is a helper base for
more specialized classes that manipulate the ASG based on
the comments in the nodes
replace the ASG with the newly created one
Pushes the current scope onto the stack and starts a new one
Pops the current scope from the stack, and appends the given
declaration to it
Adds the given decl to the current scope
Returns the current scope: a list of declarations