The problem is the semicolon after the if.

The grammar is if ( condition ) expression-or-block { else expression-or-block }

Since ; is an empty expression, this works for an if clause and nothing happens in the then clause – in your case syntactically there is no else clause, since your if statement statements ends with the semicolon and is followed by a simple block. Then the tokenizer detects a dangling else token and complains.

Leave a Reply

Your email address will not be published. Required fields are marked *