Compiler stuff done up to expression evaluation