tlang/source/tlang/compiler/codegen/emit/core.d

22 lines
437 B
D
Raw Normal View History

2021-11-02 08:41:03 +00:00
module compiler.codegen.emit.core;
2021-06-01 14:18:09 +01:00
import compiler.symbols.data;
2021-11-02 08:41:03 +00:00
import compiler.typecheck.core;
2021-06-01 14:18:09 +01:00
/**
* TODO: Perhaps have an interface that can emit(Context/Parent, Statement)
*/
/* TODO: Module linking (general overhaul required) */
2021-11-02 08:41:03 +00:00
public abstract class CodeEmitter
2021-06-01 14:18:09 +01:00
{
2021-11-02 08:41:03 +00:00
private TypeChecker typeChecker;
this(TypeChecker typeChecker)
2021-06-01 14:18:09 +01:00
{
2021-11-02 08:41:03 +00:00
this.typeChecker = typeChecker;
2021-06-01 14:18:09 +01:00
}
2021-06-01 14:24:13 +01:00
2021-11-02 08:41:03 +00:00
public abstract void emit();
2021-06-01 14:18:09 +01:00
}