From 59a06668f3975c90459409e25e884b4b594cbe3b Mon Sep 17 00:00:00 2001 From: Cliff Click Date: Thu, 7 Nov 2024 14:17:20 -0800 Subject: Allow post ++, -- Fix eval auto-string result. Fix tests hacked because of this. Turn on BrainFuck in ch15,16,17, also disabled because of this. Use new features in BrainFuck. Fix bug not lifting forward refs; add a toString to Vars. Fix some missing addDeps. Remove large complex not-productive peep. Upcast after "while" tests. Improves a bunch of tests. Remove dead getBlockStart. --- chapter16/src/test/java/com/seaofnodes/simple/BrainFuckTest.java | 1 - chapter16/src/test/java/com/seaofnodes/simple/Chapter15Test.java | 2 +- chapter16/src/test/java/com/seaofnodes/simple/evaluator/Evaluator.java | 2 +- 3 files changed, 2 insertions(+), 3 deletions(-) (limited to 'chapter16/src') diff --git a/chapter16/src/test/java/com/seaofnodes/simple/BrainFuckTest.java b/chapter16/src/test/java/com/seaofnodes/simple/BrainFuckTest.java index f7c66bda..d5ffe835 100644 --- a/chapter16/src/test/java/com/seaofnodes/simple/BrainFuckTest.java +++ b/chapter16/src/test/java/com/seaofnodes/simple/BrainFuckTest.java @@ -12,7 +12,6 @@ import static org.junit.Assert.fail; public class BrainFuckTest { - @Ignore @Test public void testBrainfuck() { var program = "++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---.+++++++..+++.>>.<-.<.+++.------.--------.>>+.>++.".getBytes(StandardCharsets.UTF_8); diff --git a/chapter16/src/test/java/com/seaofnodes/simple/Chapter15Test.java b/chapter16/src/test/java/com/seaofnodes/simple/Chapter15Test.java index d2d60b34..8161862f 100644 --- a/chapter16/src/test/java/com/seaofnodes/simple/Chapter15Test.java +++ b/chapter16/src/test/java/com/seaofnodes/simple/Chapter15Test.java @@ -50,7 +50,7 @@ return output; """); StopNode stop = parser.parse().iterate(); assertEquals("return [u8];", stop.toString()); - assertEquals("Obj<[u8]>{#=1,[]=[1]}", Evaluator.evaluate(stop, 0).toString()); + assertEquals("\u0001", Evaluator.evaluate(stop, 0).toString()); } @Test diff --git a/chapter16/src/test/java/com/seaofnodes/simple/evaluator/Evaluator.java b/chapter16/src/test/java/com/seaofnodes/simple/evaluator/Evaluator.java index 28896283..c215de00 100644 --- a/chapter16/src/test/java/com/seaofnodes/simple/evaluator/Evaluator.java +++ b/chapter16/src/test/java/com/seaofnodes/simple/evaluator/Evaluator.java @@ -100,7 +100,7 @@ public class Evaluator { } @Override public String toString() { - if (struct._name.equals("u8[]")) { + if (struct._name.equals("[u8]")) { var sb = new StringBuilder(); for (int i=struct._fields.length-1; i