Skip to content

Annotated CAST Part 6: Aliasing Example

Ryan Sullivant edited this page Jun 1, 2022 · 2 revisions

A tricky, but seemingly necessary part of the AnnCAST pipeline is with aliasing between variables in different container scopes. This is required when variables within different container scopes "are the same variable". To illustrate this concept, we will go into about the aliasing performed for an If container using the example from the Overview page:

  if (x > 100)     // x ver 0 in module.main.if0.if-expr
   {
           
       x = x + y;   // x ver 0 in module.main.if0.if-body (on RHS)
                    // x ver 1 in module.main.if0.if-body (on LHS)
               
       x = x + 1;   // x ver 1 in module.main.if0.if-body (on RHS)
                    // x ver 2 in module.main.if0.if-body (on LHS)
   }
   else
   {
       x = x + 100; # x ver 0 in module.main.if0.else-body (on RHS)
                    # x ver 1 in module.main.if0.else-body (on LHS)
   }

Clone this wiki locally