Recognize else_if and else as separate statements
else_if and else have been separated out from the other blocks in order to handle their logic properly.
Syntax highlighting and brace matching has been adjusted accordingly.