move get_compiler into AbstractCompiler class