If for is implemented as do loop, why doesn't it allow break inside?
You may create the syntax error with the following code.
active proctype x()
{
byte i;
for (i : 1..10)
{
if
:: i > 5 -> break
:: else
fi
}
}