diff --git a/codeGenCpu6502/simulator.iml b/codeGenCpu6502/simulator.iml
deleted file mode 100644
index 245d3429f..000000000
--- a/codeGenCpu6502/simulator.iml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/codeGenExperimental6502/build.gradle b/codeGenExperimental6502/build.gradle
index b0eb3c62c..e84ca1b99 100644
--- a/codeGenExperimental6502/build.gradle
+++ b/codeGenExperimental6502/build.gradle
@@ -25,7 +25,6 @@ compileTestKotlin {
dependencies {
implementation project(':compilerInterfaces')
- implementation project(':compilerAst')
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8"
// implementation "org.jetbrains.kotlin:kotlin-reflect"
implementation "com.michael-bull.kotlin-result:kotlin-result-jvm:1.1.14"
diff --git a/codeGenExperimental6502/codeGenExperimental6502.iml b/codeGenExperimental6502/codeGenExperimental6502.iml
index f04990594..6412199dc 100644
--- a/codeGenExperimental6502/codeGenExperimental6502.iml
+++ b/codeGenExperimental6502/codeGenExperimental6502.iml
@@ -9,7 +9,6 @@
-
diff --git a/codeGenExperimental6502/src/prog8/codegen/experimental6502/AsmGen.kt b/codeGenExperimental6502/src/prog8/codegen/experimental6502/AsmGen.kt
index 5e68097a6..a9a02e68a 100644
--- a/codeGenExperimental6502/src/prog8/codegen/experimental6502/AsmGen.kt
+++ b/codeGenExperimental6502/src/prog8/codegen/experimental6502/AsmGen.kt
@@ -1,9 +1,9 @@
package prog8.codegen.experimental6502
-import prog8.ast.Program
import prog8.compilerinterface.*
+import prog8.compilerinterface.intermediate.PtProgram
-class AsmGen(internal val program: Program,
+class AsmGen(internal val program: PtProgram,
internal val errors: IErrorReporter,
internal val symbolTable: SymbolTable,
internal val options: CompilationOptions): IAssemblyGenerator {
@@ -14,10 +14,7 @@ class AsmGen(internal val program: Program,
symbolTable.print()
symbolTable.flat.forEach { println(it) }
-
- // TODO temporary location to do this:
- val intermediateAst = IntermediateAstMaker(program).transform()
- intermediateAst.print()
+ program.print()
println("..todo: create assembly code into ${options.outputDir.toAbsolutePath()}..")
return AssemblyProgram("dummy")
diff --git a/compiler/src/prog8/compiler/Compiler.kt b/compiler/src/prog8/compiler/Compiler.kt
index f5892855b..2650b1045 100644
--- a/compiler/src/prog8/compiler/Compiler.kt
+++ b/compiler/src/prog8/compiler/Compiler.kt
@@ -398,8 +398,12 @@ internal fun asmGeneratorFor(program: Program,
options: CompilationOptions): IAssemblyGenerator
{
if(options.experimentalCodegen) {
- if (options.compTarget.machine.cpu in arrayOf(CpuType.CPU6502, CpuType.CPU65c02))
- return prog8.codegen.experimental6502.AsmGen(program, errors, symbolTable, options)
+ if (options.compTarget.machine.cpu in arrayOf(CpuType.CPU6502, CpuType.CPU65c02)) {
+
+ // TODO for now, only use the new Intermediary Ast for this experimental codegen:
+ val intermediateAst = IntermediateAstMaker(program).transform()
+ return prog8.codegen.experimental6502.AsmGen(intermediateAst, errors, symbolTable, options)
+ }
} else {
if (options.compTarget.machine.cpu in arrayOf(CpuType.CPU6502, CpuType.CPU65c02))
return prog8.codegen.cpu6502.AsmGen(program, errors, symbolTable, options)
diff --git a/codeGenExperimental6502/src/prog8/codegen/experimental6502/IntermediateAstMaker.kt b/compiler/src/prog8/compiler/IntermediateAstMaker.kt
similarity index 99%
rename from codeGenExperimental6502/src/prog8/codegen/experimental6502/IntermediateAstMaker.kt
rename to compiler/src/prog8/compiler/IntermediateAstMaker.kt
index e5f8290b8..59dedfbfc 100644
--- a/codeGenExperimental6502/src/prog8/codegen/experimental6502/IntermediateAstMaker.kt
+++ b/compiler/src/prog8/compiler/IntermediateAstMaker.kt
@@ -1,10 +1,10 @@
-package prog8.codegen.experimental6502
+package prog8.compiler
-import prog8.ast.Module
import prog8.ast.Program
+import prog8.ast.Module
import prog8.ast.base.FatalAstException
-import prog8.ast.expressions.*
import prog8.ast.statements.*
+import prog8.ast.expressions.*
import prog8.compilerinterface.VarDeclType
import prog8.compilerinterface.intermediate.*
@@ -414,4 +414,4 @@ class IntermediateAstMaker(val srcProgram: Program) {
cast.add(transformExpression(srcCast.expression))
return cast
}
-}
+}
\ No newline at end of file
diff --git a/compiler/test/ast/TestIntermediateAst.kt b/compiler/test/ast/TestIntermediateAst.kt
index 7b982506c..015320ac5 100644
--- a/compiler/test/ast/TestIntermediateAst.kt
+++ b/compiler/test/ast/TestIntermediateAst.kt
@@ -4,8 +4,8 @@ import io.kotest.assertions.fail
import io.kotest.core.spec.style.FunSpec
import io.kotest.matchers.ints.shouldBeGreaterThan
import io.kotest.matchers.shouldBe
-import prog8.codegen.experimental6502.IntermediateAstMaker
import prog8.codegen.target.C64Target
+import prog8.compiler.IntermediateAstMaker
import prog8.compilerinterface.intermediate.PtVariable
import prog8tests.helpers.compileText