if_stm : if ( exp ) outer_stm | if ( exp ) outer_stm else outer_stm
An if_stm represents a branch in program logic based on an expression.
The exp must be of a boolean-compatible type.