refactoring: move is_supported and get_output_filename methods to BaseCompiler