├── .gitignore ├── DEVELOP.md ├── PROSOL.md ├── README.md ├── opengl ├── pom.xml ├── sloc └── src ├── main ├── kotlin │ ├── Main.kt │ ├── common │ │ ├── Diagnostic.kt │ │ ├── Lists.kt │ │ └── Maps.kt │ ├── gui │ │ ├── Autocompletion.kt │ │ ├── BufferedImages.kt │ │ ├── BytecodeFlexer.kt │ │ ├── BytecodeTable.kt │ │ ├── ControlPanel.kt │ │ ├── Editor.kt │ │ ├── Flexer.kt │ │ ├── MainDesign.kt │ │ ├── MainFlow.kt │ │ ├── MainHandler.kt │ │ ├── SnippetPanel.kt │ │ ├── StackTable.kt │ │ ├── SwingBridge.kt │ │ ├── Toolkits.kt │ │ ├── VirtualMachinePanel.kt │ │ └── WorldPanel.kt │ ├── logic │ │ ├── Check.kt │ │ ├── FloorPlan.kt │ │ ├── KarelError.kt │ │ ├── LabyrinthGenerator.kt │ │ ├── Level.kt │ │ ├── Problem.kt │ │ ├── World.kt │ │ └── WorldEntropy.kt │ ├── syntax │ │ ├── lexer │ │ │ ├── Lexer.kt │ │ │ ├── LexerBase.kt │ │ │ ├── Token.kt │ │ │ └── TokenKind.kt │ │ ├── parser │ │ │ ├── Conditions.kt │ │ │ ├── Parser.kt │ │ │ ├── Sema.kt │ │ │ └── Statements.kt │ │ └── tree │ │ │ └── Nodes.kt │ └── vm │ │ ├── Emitter.kt │ │ ├── IllegalBytecode.kt │ │ ├── Instruction.kt │ │ ├── Label.kt │ │ ├── Stack.kt │ │ └── VirtualMachine.kt └── resources │ └── tiles │ ├── 40 │ ├── beeper.png │ ├── cross.png │ ├── karel.png │ └── wall.png │ └── 64 │ ├── beeper.png │ ├── cross.png │ ├── karel.png │ └── wall.png └── test ├── kotlin ├── gui │ └── AutocompletionTest.kt ├── logic │ ├── BeeperTest.kt │ ├── Week1Test.kt │ ├── Week2Test.kt │ ├── Week3Test.kt │ └── WorldTestBase.kt ├── syntax │ ├── lexer │ │ ├── LexerNegativeTest.kt │ │ └── LexerTest.kt │ └── parser │ │ ├── ParserNegativeTest.kt │ │ └── SemaTest.kt └── vm │ ├── EmitterTest.kt │ └── InstructionTest.kt └── resources └── junit-platform.properties /.gitignore: -------------------------------------------------------------------------------- 1 | /target/ 2 | /.idea/ 3 | /*.iml 4 | -------------------------------------------------------------------------------- /DEVELOP.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fredoverflow/karel/HEAD/DEVELOP.md -------------------------------------------------------------------------------- /PROSOL.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fredoverflow/karel/HEAD/PROSOL.md -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fredoverflow/karel/HEAD/README.md -------------------------------------------------------------------------------- /opengl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fredoverflow/karel/HEAD/opengl -------------------------------------------------------------------------------- /pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fredoverflow/karel/HEAD/pom.xml -------------------------------------------------------------------------------- /sloc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fredoverflow/karel/HEAD/sloc -------------------------------------------------------------------------------- /src/main/kotlin/Main.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fredoverflow/karel/HEAD/src/main/kotlin/Main.kt -------------------------------------------------------------------------------- /src/main/kotlin/common/Diagnostic.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fredoverflow/karel/HEAD/src/main/kotlin/common/Diagnostic.kt -------------------------------------------------------------------------------- /src/main/kotlin/common/Lists.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fredoverflow/karel/HEAD/src/main/kotlin/common/Lists.kt -------------------------------------------------------------------------------- /src/main/kotlin/common/Maps.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fredoverflow/karel/HEAD/src/main/kotlin/common/Maps.kt -------------------------------------------------------------------------------- /src/main/kotlin/gui/Autocompletion.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fredoverflow/karel/HEAD/src/main/kotlin/gui/Autocompletion.kt -------------------------------------------------------------------------------- /src/main/kotlin/gui/BufferedImages.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fredoverflow/karel/HEAD/src/main/kotlin/gui/BufferedImages.kt -------------------------------------------------------------------------------- /src/main/kotlin/gui/BytecodeFlexer.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fredoverflow/karel/HEAD/src/main/kotlin/gui/BytecodeFlexer.kt -------------------------------------------------------------------------------- /src/main/kotlin/gui/BytecodeTable.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fredoverflow/karel/HEAD/src/main/kotlin/gui/BytecodeTable.kt -------------------------------------------------------------------------------- /src/main/kotlin/gui/ControlPanel.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fredoverflow/karel/HEAD/src/main/kotlin/gui/ControlPanel.kt -------------------------------------------------------------------------------- /src/main/kotlin/gui/Editor.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fredoverflow/karel/HEAD/src/main/kotlin/gui/Editor.kt -------------------------------------------------------------------------------- /src/main/kotlin/gui/Flexer.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fredoverflow/karel/HEAD/src/main/kotlin/gui/Flexer.kt -------------------------------------------------------------------------------- /src/main/kotlin/gui/MainDesign.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fredoverflow/karel/HEAD/src/main/kotlin/gui/MainDesign.kt -------------------------------------------------------------------------------- /src/main/kotlin/gui/MainFlow.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fredoverflow/karel/HEAD/src/main/kotlin/gui/MainFlow.kt -------------------------------------------------------------------------------- /src/main/kotlin/gui/MainHandler.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fredoverflow/karel/HEAD/src/main/kotlin/gui/MainHandler.kt -------------------------------------------------------------------------------- /src/main/kotlin/gui/SnippetPanel.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fredoverflow/karel/HEAD/src/main/kotlin/gui/SnippetPanel.kt -------------------------------------------------------------------------------- /src/main/kotlin/gui/StackTable.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fredoverflow/karel/HEAD/src/main/kotlin/gui/StackTable.kt -------------------------------------------------------------------------------- /src/main/kotlin/gui/SwingBridge.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fredoverflow/karel/HEAD/src/main/kotlin/gui/SwingBridge.kt -------------------------------------------------------------------------------- /src/main/kotlin/gui/Toolkits.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fredoverflow/karel/HEAD/src/main/kotlin/gui/Toolkits.kt -------------------------------------------------------------------------------- /src/main/kotlin/gui/VirtualMachinePanel.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fredoverflow/karel/HEAD/src/main/kotlin/gui/VirtualMachinePanel.kt -------------------------------------------------------------------------------- /src/main/kotlin/gui/WorldPanel.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fredoverflow/karel/HEAD/src/main/kotlin/gui/WorldPanel.kt -------------------------------------------------------------------------------- /src/main/kotlin/logic/Check.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fredoverflow/karel/HEAD/src/main/kotlin/logic/Check.kt -------------------------------------------------------------------------------- /src/main/kotlin/logic/FloorPlan.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fredoverflow/karel/HEAD/src/main/kotlin/logic/FloorPlan.kt -------------------------------------------------------------------------------- /src/main/kotlin/logic/KarelError.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fredoverflow/karel/HEAD/src/main/kotlin/logic/KarelError.kt -------------------------------------------------------------------------------- /src/main/kotlin/logic/LabyrinthGenerator.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fredoverflow/karel/HEAD/src/main/kotlin/logic/LabyrinthGenerator.kt -------------------------------------------------------------------------------- /src/main/kotlin/logic/Level.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fredoverflow/karel/HEAD/src/main/kotlin/logic/Level.kt -------------------------------------------------------------------------------- /src/main/kotlin/logic/Problem.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fredoverflow/karel/HEAD/src/main/kotlin/logic/Problem.kt -------------------------------------------------------------------------------- /src/main/kotlin/logic/World.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fredoverflow/karel/HEAD/src/main/kotlin/logic/World.kt -------------------------------------------------------------------------------- /src/main/kotlin/logic/WorldEntropy.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fredoverflow/karel/HEAD/src/main/kotlin/logic/WorldEntropy.kt -------------------------------------------------------------------------------- /src/main/kotlin/syntax/lexer/Lexer.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fredoverflow/karel/HEAD/src/main/kotlin/syntax/lexer/Lexer.kt -------------------------------------------------------------------------------- /src/main/kotlin/syntax/lexer/LexerBase.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fredoverflow/karel/HEAD/src/main/kotlin/syntax/lexer/LexerBase.kt -------------------------------------------------------------------------------- /src/main/kotlin/syntax/lexer/Token.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fredoverflow/karel/HEAD/src/main/kotlin/syntax/lexer/Token.kt -------------------------------------------------------------------------------- /src/main/kotlin/syntax/lexer/TokenKind.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fredoverflow/karel/HEAD/src/main/kotlin/syntax/lexer/TokenKind.kt -------------------------------------------------------------------------------- /src/main/kotlin/syntax/parser/Conditions.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fredoverflow/karel/HEAD/src/main/kotlin/syntax/parser/Conditions.kt -------------------------------------------------------------------------------- /src/main/kotlin/syntax/parser/Parser.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fredoverflow/karel/HEAD/src/main/kotlin/syntax/parser/Parser.kt -------------------------------------------------------------------------------- /src/main/kotlin/syntax/parser/Sema.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fredoverflow/karel/HEAD/src/main/kotlin/syntax/parser/Sema.kt -------------------------------------------------------------------------------- /src/main/kotlin/syntax/parser/Statements.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fredoverflow/karel/HEAD/src/main/kotlin/syntax/parser/Statements.kt -------------------------------------------------------------------------------- /src/main/kotlin/syntax/tree/Nodes.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fredoverflow/karel/HEAD/src/main/kotlin/syntax/tree/Nodes.kt -------------------------------------------------------------------------------- /src/main/kotlin/vm/Emitter.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fredoverflow/karel/HEAD/src/main/kotlin/vm/Emitter.kt -------------------------------------------------------------------------------- /src/main/kotlin/vm/IllegalBytecode.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fredoverflow/karel/HEAD/src/main/kotlin/vm/IllegalBytecode.kt -------------------------------------------------------------------------------- /src/main/kotlin/vm/Instruction.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fredoverflow/karel/HEAD/src/main/kotlin/vm/Instruction.kt -------------------------------------------------------------------------------- /src/main/kotlin/vm/Label.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fredoverflow/karel/HEAD/src/main/kotlin/vm/Label.kt -------------------------------------------------------------------------------- /src/main/kotlin/vm/Stack.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fredoverflow/karel/HEAD/src/main/kotlin/vm/Stack.kt -------------------------------------------------------------------------------- /src/main/kotlin/vm/VirtualMachine.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fredoverflow/karel/HEAD/src/main/kotlin/vm/VirtualMachine.kt -------------------------------------------------------------------------------- /src/main/resources/tiles/40/beeper.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fredoverflow/karel/HEAD/src/main/resources/tiles/40/beeper.png -------------------------------------------------------------------------------- /src/main/resources/tiles/40/cross.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fredoverflow/karel/HEAD/src/main/resources/tiles/40/cross.png -------------------------------------------------------------------------------- /src/main/resources/tiles/40/karel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fredoverflow/karel/HEAD/src/main/resources/tiles/40/karel.png -------------------------------------------------------------------------------- /src/main/resources/tiles/40/wall.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fredoverflow/karel/HEAD/src/main/resources/tiles/40/wall.png -------------------------------------------------------------------------------- /src/main/resources/tiles/64/beeper.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fredoverflow/karel/HEAD/src/main/resources/tiles/64/beeper.png -------------------------------------------------------------------------------- /src/main/resources/tiles/64/cross.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fredoverflow/karel/HEAD/src/main/resources/tiles/64/cross.png -------------------------------------------------------------------------------- /src/main/resources/tiles/64/karel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fredoverflow/karel/HEAD/src/main/resources/tiles/64/karel.png -------------------------------------------------------------------------------- /src/main/resources/tiles/64/wall.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fredoverflow/karel/HEAD/src/main/resources/tiles/64/wall.png -------------------------------------------------------------------------------- /src/test/kotlin/gui/AutocompletionTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fredoverflow/karel/HEAD/src/test/kotlin/gui/AutocompletionTest.kt -------------------------------------------------------------------------------- /src/test/kotlin/logic/BeeperTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fredoverflow/karel/HEAD/src/test/kotlin/logic/BeeperTest.kt -------------------------------------------------------------------------------- /src/test/kotlin/logic/Week1Test.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fredoverflow/karel/HEAD/src/test/kotlin/logic/Week1Test.kt -------------------------------------------------------------------------------- /src/test/kotlin/logic/Week2Test.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fredoverflow/karel/HEAD/src/test/kotlin/logic/Week2Test.kt -------------------------------------------------------------------------------- /src/test/kotlin/logic/Week3Test.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fredoverflow/karel/HEAD/src/test/kotlin/logic/Week3Test.kt -------------------------------------------------------------------------------- /src/test/kotlin/logic/WorldTestBase.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fredoverflow/karel/HEAD/src/test/kotlin/logic/WorldTestBase.kt -------------------------------------------------------------------------------- /src/test/kotlin/syntax/lexer/LexerNegativeTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fredoverflow/karel/HEAD/src/test/kotlin/syntax/lexer/LexerNegativeTest.kt -------------------------------------------------------------------------------- /src/test/kotlin/syntax/lexer/LexerTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fredoverflow/karel/HEAD/src/test/kotlin/syntax/lexer/LexerTest.kt -------------------------------------------------------------------------------- /src/test/kotlin/syntax/parser/ParserNegativeTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fredoverflow/karel/HEAD/src/test/kotlin/syntax/parser/ParserNegativeTest.kt -------------------------------------------------------------------------------- /src/test/kotlin/syntax/parser/SemaTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fredoverflow/karel/HEAD/src/test/kotlin/syntax/parser/SemaTest.kt -------------------------------------------------------------------------------- /src/test/kotlin/vm/EmitterTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fredoverflow/karel/HEAD/src/test/kotlin/vm/EmitterTest.kt -------------------------------------------------------------------------------- /src/test/kotlin/vm/InstructionTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fredoverflow/karel/HEAD/src/test/kotlin/vm/InstructionTest.kt -------------------------------------------------------------------------------- /src/test/resources/junit-platform.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fredoverflow/karel/HEAD/src/test/resources/junit-platform.properties --------------------------------------------------------------------------------