Remove unnecessary scratch.ast from the tests so I can use it as a scratch pad
without breaking the tests
Raise a segv for the assert so I can capture the stack in the debugger
Handle end of file error more gracefully than an assert
We do not allow literal expression as the only expression for an if statement
Produce error when both sides of a binary expression are literals