Fix: unary expression unexpected end, range violations

This fixes some unary expressions which end unexpectedly, i.e.:
```
void main() { + EOF
void main() { new EOF
void main() { delete EOF
```
Not sure how you want to deal with the range violations, but the pull at least shows the problem.