Give an account of the issue pertaining to compilation of if statement in C language
Control structures as if cause significant gap in between the PL domain and the execution domain since the control transfers are implicit quite than explicit. The semantic gap is bridged into two steps as given below:
1. Control structure is mapped in an equivalent program having explicit goto's. The compiler produces its own labels and places them against the appropriate statements. For illustration, the equivalent of (a) specified below is (b) where int1, int2 are labels generated through compiler for its own purposes.
if (e1) then if(e1) then goto int1;
S1; S2;
else goto int2;
S2; int1:S1;
S3; int2:S3;
(a) (b)
2. Such programs are translated in assembly programs.