rewrite HCompiler, expression evaluation part
more tests
make sure the exception is thrown in the test