use placebo parser in halfway
rename Context.RuntimeError to avoid a name collision with Compiler.RuntimeError