def __init__(self,<EOL>api,<EOL>backend_module,<EOL>backend_args,<EOL>build_path,<EOL>clean_build=False):
self._logger = logging.getLogger('<STR_LIT>')<EOL>self.api = api<EOL>self.backend_module = backend_module<EOL>self.backend_args = backend_args<EOL>self.build_path = build_path<EOL>if clean_build and os.path.exists(self.build_path):<EOL><INDENT>logging.info('<STR_LIT>',<EOL>self.build_path)<EOL>shutil.rmtree(self.build_path)<EOL><DEDENT>
Creates a Compiler.

:param stone.ir.Api api: A Stone description of the API.
:param backend_module: Python module that contains at least one
    top-level class definition that descends from a
    :class:`stone.backend.Backend`.
:param list(str) backend_args: A list of command-line arguments to
    pass to the backend.
:param str build_path: Location to save compiled sources to. If None,
    source files are compiled into the same directories.
:param bool clean_build: If True, the build_path is removed before
    source files are compiled into them.