diff --git a/codeGenTargets/src/prog8/codegen/target/AtariTarget.kt b/codeGenTargets/src/prog8/codegen/target/AtariTarget.kt index e7192c981..8c3027be7 100644 --- a/codeGenTargets/src/prog8/codegen/target/AtariTarget.kt +++ b/codeGenTargets/src/prog8/codegen/target/AtariTarget.kt @@ -9,7 +9,10 @@ import prog8.ast.statements.VarDecl import prog8.codegen.target.atari.AtariMachineDefinition import prog8.codegen.target.cbm.asmsub6502ArgsEvalOrder import prog8.codegen.target.cbm.asmsub6502ArgsHaveRegisterClobberRisk -import prog8.compilerinterface.* +import prog8.compilerinterface.Encoding +import prog8.compilerinterface.ICompilationTarget +import prog8.compilerinterface.IMemSizer +import prog8.compilerinterface.IStringEncoding class AtariTarget: ICompilationTarget, IStringEncoding by Encoder, IMemSizer { diff --git a/codeGenTargets/src/prog8/codegen/target/C128Target.kt b/codeGenTargets/src/prog8/codegen/target/C128Target.kt index af401e7b7..6056e031f 100644 --- a/codeGenTargets/src/prog8/codegen/target/C128Target.kt +++ b/codeGenTargets/src/prog8/codegen/target/C128Target.kt @@ -7,7 +7,10 @@ import prog8.codegen.target.c128.C128MachineDefinition import prog8.codegen.target.cbm.CbmMemorySizer import prog8.codegen.target.cbm.asmsub6502ArgsEvalOrder import prog8.codegen.target.cbm.asmsub6502ArgsHaveRegisterClobberRisk -import prog8.compilerinterface.* +import prog8.compilerinterface.Encoding +import prog8.compilerinterface.ICompilationTarget +import prog8.compilerinterface.IMemSizer +import prog8.compilerinterface.IStringEncoding class C128Target: ICompilationTarget, IStringEncoding by Encoder, IMemSizer by CbmMemorySizer { diff --git a/codeGenTargets/src/prog8/codegen/target/C64Target.kt b/codeGenTargets/src/prog8/codegen/target/C64Target.kt index f14785f69..0c12bd15e 100644 --- a/codeGenTargets/src/prog8/codegen/target/C64Target.kt +++ b/codeGenTargets/src/prog8/codegen/target/C64Target.kt @@ -7,7 +7,10 @@ import prog8.codegen.target.c64.C64MachineDefinition import prog8.codegen.target.cbm.CbmMemorySizer import prog8.codegen.target.cbm.asmsub6502ArgsEvalOrder import prog8.codegen.target.cbm.asmsub6502ArgsHaveRegisterClobberRisk -import prog8.compilerinterface.* +import prog8.compilerinterface.Encoding +import prog8.compilerinterface.ICompilationTarget +import prog8.compilerinterface.IMemSizer +import prog8.compilerinterface.IStringEncoding class C64Target: ICompilationTarget, IStringEncoding by Encoder, IMemSizer by CbmMemorySizer { diff --git a/codeGenTargets/src/prog8/codegen/target/Cx16Target.kt b/codeGenTargets/src/prog8/codegen/target/Cx16Target.kt index ab51cdd53..287d79463 100644 --- a/codeGenTargets/src/prog8/codegen/target/Cx16Target.kt +++ b/codeGenTargets/src/prog8/codegen/target/Cx16Target.kt @@ -7,7 +7,10 @@ import prog8.codegen.target.cbm.CbmMemorySizer import prog8.codegen.target.cbm.asmsub6502ArgsEvalOrder import prog8.codegen.target.cbm.asmsub6502ArgsHaveRegisterClobberRisk import prog8.codegen.target.cx16.CX16MachineDefinition -import prog8.compilerinterface.* +import prog8.compilerinterface.Encoding +import prog8.compilerinterface.ICompilationTarget +import prog8.compilerinterface.IMemSizer +import prog8.compilerinterface.IStringEncoding class Cx16Target: ICompilationTarget, IStringEncoding by Encoder, IMemSizer by CbmMemorySizer { diff --git a/compiler/src/prog8/compiler/astprocessing/AstExtensions.kt b/compiler/src/prog8/compiler/astprocessing/AstExtensions.kt index b129130ed..bce169c0f 100644 --- a/compiler/src/prog8/compiler/astprocessing/AstExtensions.kt +++ b/compiler/src/prog8/compiler/astprocessing/AstExtensions.kt @@ -10,7 +10,10 @@ import prog8.ast.statements.Directive import prog8.ast.statements.VarDeclOrigin import prog8.ast.walk.AstWalker import prog8.ast.walk.IAstModification -import prog8.compilerinterface.* +import prog8.compilerinterface.CompilationOptions +import prog8.compilerinterface.Encoding +import prog8.compilerinterface.ICompilationTarget +import prog8.compilerinterface.IErrorReporter internal fun Program.checkValid(errors: IErrorReporter, compilerOptions: CompilationOptions) { diff --git a/compiler/src/prog8/compiler/astprocessing/AstPreprocessor.kt b/compiler/src/prog8/compiler/astprocessing/AstPreprocessor.kt index 2da76e0a4..0b8d5fbbe 100644 --- a/compiler/src/prog8/compiler/astprocessing/AstPreprocessor.kt +++ b/compiler/src/prog8/compiler/astprocessing/AstPreprocessor.kt @@ -3,9 +3,10 @@ package prog8.compiler.astprocessing import prog8.ast.IPipe import prog8.ast.Node import prog8.ast.Program -import prog8.ast.base.* +import prog8.ast.base.NumericDatatypes +import prog8.ast.base.SyntaxError +import prog8.ast.base.VarDeclType import prog8.ast.expressions.* -import prog8.ast.getTempRegisterName import prog8.ast.statements.* import prog8.ast.walk.AstWalker import prog8.ast.walk.IAstModification diff --git a/compiler/test/TestOptimization.kt b/compiler/test/TestOptimization.kt index 6bcde1dfc..57ed4e968 100644 --- a/compiler/test/TestOptimization.kt +++ b/compiler/test/TestOptimization.kt @@ -18,8 +18,8 @@ import prog8.ast.statements.* import prog8.codegen.target.C64Target import prog8.compiler.astprocessing.processAstBeforeAsmGeneration import prog8.compiler.printProgram -import prog8.compilerinterface.CompilationOptions import prog8.compilerinterface.CbmPrgLauncherType +import prog8.compilerinterface.CompilationOptions import prog8.compilerinterface.OutputType import prog8.compilerinterface.ZeropageType import prog8tests.helpers.* diff --git a/compiler/test/codegeneration/TestAsmGenSymbols.kt b/compiler/test/codegeneration/TestAsmGenSymbols.kt index 79aa3dc85..744e739f7 100644 --- a/compiler/test/codegeneration/TestAsmGenSymbols.kt +++ b/compiler/test/codegeneration/TestAsmGenSymbols.kt @@ -16,7 +16,10 @@ import prog8.codegen.cpu6502.AsmGen import prog8.codegen.target.C64Target import prog8.codegen.target.c64.C64Zeropage import prog8.compiler.astprocessing.SymbolTableMaker -import prog8.compilerinterface.* +import prog8.compilerinterface.CbmPrgLauncherType +import prog8.compilerinterface.CompilationOptions +import prog8.compilerinterface.OutputType +import prog8.compilerinterface.ZeropageType import prog8.parser.SourceCode import prog8tests.helpers.DummyFunctions import prog8tests.helpers.DummyMemsizer diff --git a/compilerAst/src/prog8/ast/AstToplevel.kt b/compilerAst/src/prog8/ast/AstToplevel.kt index 08fd7e926..8a520a0d2 100644 --- a/compilerAst/src/prog8/ast/AstToplevel.kt +++ b/compilerAst/src/prog8/ast/AstToplevel.kt @@ -4,7 +4,8 @@ import prog8.ast.base.FatalAstException import prog8.ast.base.ParentSentinel import prog8.ast.base.Position import prog8.ast.base.findParentNode -import prog8.ast.expressions.* +import prog8.ast.expressions.Expression +import prog8.ast.expressions.IdentifierReference import prog8.ast.statements.* import prog8.ast.walk.AstWalker import prog8.ast.walk.IAstVisitor diff --git a/compilerAst/src/prog8/ast/base/Base.kt b/compilerAst/src/prog8/ast/base/Base.kt index a8fd66c2d..bd779345b 100644 --- a/compilerAst/src/prog8/ast/base/Base.kt +++ b/compilerAst/src/prog8/ast/base/Base.kt @@ -4,7 +4,6 @@ import prog8.ast.Node import prog8.ast.expressions.NumericLiteral import kotlin.io.path.Path import kotlin.io.path.absolute -import kotlin.io.path.div /**************************** AST Data classes ****************************/ diff --git a/docs/source/todo.rst b/docs/source/todo.rst index 4315231e2..c0e00f1f2 100644 --- a/docs/source/todo.rst +++ b/docs/source/todo.rst @@ -3,6 +3,10 @@ TODO For next release ^^^^^^^^^^^^^^^^ +- make 'intermediate' module containing the SymbolTable and dumbed down version of the Ast. + no vardecls in it anymore (these are part of the symboltable) and baked types, so no inferType too. + no name lookup in the Ast, always do this in the symbol table. + ...