simple -i iftest1 package iftest1 is body x: integer; begin writeln("enter 2-then 3-elsif other-else lists"); readln(x); if x = 2 then writeln("then list"); elsif x=3 then writeln("elsif list"); elsif x=4 then writeln("second elsif"); elsif x=5 then writeln("third elsif"); else writeln("else list"); end if; end; in simple.c Intermediate Representation - the Abstract Syntax Tree Statements Writeln parameters enter 2-then 3-elsif other-else lists Readln parameters x If x equal Immediate Value 2 Then Writeln parameters then list ElsIf x equal Immediate Value 3 Then Writeln parameters elsif list ElsIf x equal Immediate Value 4 Then Writeln parameters second elsif ElsIf x equal Immediate Value 5 Then Writeln parameters third elsif Else Writeln parameters else list End If From codegen.c - DisplayRegs() marks used registers Register: 0 1 2 3 4 5 6 7 8 9 - - - - - - - - - - Used = x: COMPILATION COMPLETE out simple.c