Structure _If-Else_ Statement

        if(cond)
                goto skip1;
        /* cond is false */
        ...
        goto skip2;
skip1:
        /* cond is true */
        ...
skip2:

        if(!cond) {
                /* cond is false */
                ...
        } else {
                /* cond is true */
                ...
        }

Motivation

If-then-else statements are translated by the compiler as a conditional jump to two sets of consecutive statements. This refactoring recovers the original control structure.

Mechanics