class compiler project