package org.shedlang.compiler.backends; import org.shedlang.compiler.backends.paths.TargetDir; import org.shedlang.compiler.config.ProfileConfig; import org.shedlang.compiler.config.ProjectConfig; import org.shedlang.compiler.shid.ShidNamespace; import org.shedlang.compiler.typechecker.TypeInfos; import java.io.IOException; import java.util.List; public interface Backend { String targetName(); void compile( ProjectConfig config, ProfileConfig profileConfig, List namespaces, TypeInfos typeInfos, TargetDir targetDir ) throws IOException, InterruptedException; }