school compiler project