| CSC448: AST Transformations: Overview of Today's Class [45/133] | ![]() ![]() ![]()  | 
Type checking continued.
Brief overview of runtime system.
Simplifying compilation units via source to source transformations:
int x = 1;    -->    int x;
                     x = 1;
            
          
if (e)        -->    if (e)
  s1                   goto l1;
else                 else
  s2                   goto l2;
                   l1:
                     s1
                     goto l3;
                   l2:
                     s2
                     goto l3;
                   l3:
            
          
x = e1+f(e2); -->    int t1;
                     int t2;
                     int t3;
                     t1 = e1;
                     t2 = e2;
                     t3 = f(t2);
                     x = t2 + t3;
            
          
l:            -->    l1:
  if (e) {             if (e) {
  l:                   l2:
    s                    s
  }                    }
            
          Comments: