ir: consolidate IRCodeInstruction and Instruction

This commit is contained in:
Irmen de Jong
2022-09-26 19:46:44 +02:00
parent 0da117efd2
commit 4d6dcbd173
17 changed files with 624 additions and 649 deletions
@@ -1,16 +0,0 @@
package prog8.codegen.virtual
import prog8.code.core.CompilationOptions
import prog8.code.core.IAssemblyProgram
import prog8.intermediate.IRFileWriter
import prog8.intermediate.IRProgram
internal class VmAssemblyProgram(override val name: String, private val irProgram: IRProgram): IAssemblyProgram {
override fun assemble(options: CompilationOptions): Boolean {
val writtenFile = IRFileWriter(irProgram, null).write()
println("Wrote intermediate representation to $writtenFile")
return true
}
}
@@ -9,6 +9,7 @@ import prog8.code.core.IErrorReporter
import prog8.codegen.intermediate.IRCodeGen
import prog8.intermediate.IRFileReader
import prog8.intermediate.IRFileWriter
import prog8.intermediate.IRProgram
import java.nio.file.Path
class VmCodeGen(private val program: PtProgram,
@@ -37,4 +38,14 @@ class VmCodeGen(private val program: PtProgram,
return VmAssemblyProgram(irProgram.name, irProgram)
}
}
}
}
internal class VmAssemblyProgram(override val name: String, private val irProgram: IRProgram): IAssemblyProgram {
override fun assemble(options: CompilationOptions): Boolean {
val writtenFile = IRFileWriter(irProgram, null).write()
println("Wrote intermediate representation to $writtenFile")
return true
}
}