Engineering A Compiler door