a compiler coursework