STEPHEN>The rule is simple. With Pascal semicolons separate statement and
STEPHEN>Ada semicolons end them.
I am aware of the rule. I've even taught the rule! But, consider:
if (x < y) then
x := y * 5.0
x := y * 2.0;
Normally x := y * 5.0 would have a semicolon, but now it doesn't based on
its context. I would argue the statement terminator rule is more intuitive,
because you don't change the rules for a particular line of code based on
what it is next to.