diff options
Diffstat (limited to 'src/test/java/com/seaofnodes/simple/Chapter15Test.java')
| -rw-r--r-- | src/test/java/com/seaofnodes/simple/Chapter15Test.java | 38 |
1 files changed, 19 insertions, 19 deletions
diff --git a/src/test/java/com/seaofnodes/simple/Chapter15Test.java b/src/test/java/com/seaofnodes/simple/Chapter15Test.java index a74a1113..9aaafc28 100644 --- a/src/test/java/com/seaofnodes/simple/Chapter15Test.java +++ b/src/test/java/com/seaofnodes/simple/Chapter15Test.java @@ -75,7 +75,7 @@ public class Chapter15Test { """ return 3.14; """); - code.parse().iter().finalizeIR(); + code.driver(CodeGen.Phase.FinalizeIR); assertEquals("return 3.14;", code.print()); assertEquals("3.14", Eval2.eval(code, 0)); } @@ -89,7 +89,7 @@ struct C { !C? !l; }; c.l = c; return c; """); - code.parse().iter().finalizeIR(); + code.driver(CodeGen.Phase.FinalizeIR); assertEquals("return C;", code.print()); assertEquals("C{l=$cyclic}", Eval2.eval(code, 0)); } @@ -108,7 +108,7 @@ while (i < old#) { output[i] = 1; return output; """); - code.parse().iter().finalizeIR(); + code.driver(CodeGen.Phase.FinalizeIR); assertEquals("return []u8;", code.print()); assertEquals("\u0001", Eval2.eval(code, 0)); } @@ -120,7 +120,7 @@ return output; int[] is = new int[2]; return is[1]; """); - code.parse().iter().finalizeIR(); + code.driver(CodeGen.Phase.FinalizeIR); assertEquals("return 0;", code.print()); assertEquals("0", Eval2.eval(code, 0)); } @@ -133,7 +133,7 @@ int[] is = new int[2]; int[] is2 = new int[2]; return is[1]; """); - code.parse().iter().finalizeIR(); + code.driver(CodeGen.Phase.FinalizeIR); assertEquals("return 0;", code.print()); assertEquals("0", Eval2.eval(code, 0)); } @@ -147,7 +147,7 @@ a[0] = 1; a[1] = 2; return a[0]; """); - code.parse().iter().finalizeIR(); + code.driver(CodeGen.Phase.FinalizeIR); assertEquals("return 1;", code.print()); assertEquals("1", Eval2.eval(code, 0)); } @@ -160,7 +160,7 @@ struct A { int i; }; !A?[] !a = new !A?[2]; return a; """); - code.parse().iter().finalizeIR(); + code.driver(CodeGen.Phase.FinalizeIR); assertEquals("return []*A?;", code.print()); assertEquals("*A {i64 !i; }?[ null,null]", Eval2.eval(code, 0)); } @@ -189,7 +189,7 @@ else { } return rez; """); - code.parse().iter().finalizeIR(); + code.driver(CodeGen.Phase.FinalizeIR); assertEquals("return Phi(Region,1.2,.y,2.3);", code.print()); assertEquals("3.14", Eval2.eval(code, 0)); assertEquals("1.2", Eval2.eval(code, 1)); @@ -232,7 +232,7 @@ root._kids = new !Tree?[2]; // NO BANG SO ARRAY IS OF IMMUTABLE TREES???? root._kids[0] = new Tree; return root; """); - code.parse().iter().finalizeIR(); + code.driver(CodeGen.Phase.FinalizeIR); assertEquals("return Tree;", code.print()); assertEquals("Tree{_kids=*Tree {*[]*Tree?? !_kids; }?[ Tree{_kids=null},null]}", Eval2.eval(code, 0)); } @@ -244,7 +244,7 @@ return root; struct S { int a; int[] !b; }; return 0; """); - code.parse().iter().finalizeIR(); + code.driver(CodeGen.Phase.FinalizeIR); assertEquals("return 0;", code.print()); } @@ -267,7 +267,7 @@ while( i < ary# - 1 ) { } return ary[1] * 1000 + ary[3]; // 1 * 1000 + 6 """); - code.parse().iter().finalizeIR(); + code.driver(CodeGen.Phase.FinalizeIR); assertEquals("return (.[]+(.[]*1000));", code.print()); assertEquals("1006", Eval2.eval(code, 4)); } @@ -276,7 +276,7 @@ return ary[1] * 1000 + ary[3]; // 1 * 1000 + 6 public void sieveOEratosthenes() throws IOException { String src = Files.readString(Path.of("src/test/java/com/seaofnodes/simple/progs/sieve.smp")); CodeGen code = new CodeGen(src+"return sieve(arg);"); - code.parse().iter().finalizeIR(); + code.driver(CodeGen.Phase.FinalizeIR); assertEquals("return []u32;", code.print()); assertEquals("u32[ 2,3,5,7,11,13,17,19]",Eval2.eval(code, 20)); } @@ -293,7 +293,7 @@ s2.f = 2.0; if (arg) s1 = new S; return s1.i + s1.f; """); - code.parse().iter().finalizeIR(); + code.driver(CodeGen.Phase.FinalizeIR); assertEquals("return ((flt).i+.f);", code.print()); assertEquals("0.0", Eval2.eval(code, 0)); } @@ -305,7 +305,7 @@ return s1.i + s1.f; """ return new flt; """); - try { code.parse().iter().finalizeIR(); fail(); } + try { code.driver(CodeGen.Phase.FinalizeIR); fail(); } catch( Exception e ) { assertEquals("Cannot allocate a flt",e.getMessage()); } } @@ -327,7 +327,7 @@ return is; int[] is = new int[3.14]; return is[1]; """); - try { code.parse().iter().finalizeIR(); fail(); } + try { code.driver(CodeGen.Phase.FinalizeIR); fail(); } catch( Exception e ) { assertEquals("Cannot allocate an array with length 3.14",e.getMessage()); } } @@ -337,7 +337,7 @@ return is[1]; int[] is = new int[arg]; return is[1]; """); - code.parse().iter().finalizeIR(); + code.driver(CodeGen.Phase.FinalizeIR); assertEquals("return 0;", code.print()); assertEquals("0", Eval2.eval(code, 4)); try { Eval2.eval(code,-1); fail(); } @@ -370,7 +370,7 @@ while(v5+(0&0)) { } return v1; """); - code.parse().iter().finalizeIR(); + code.driver(CodeGen.Phase.FinalizeIR); assertEquals("return 0;", code.print()); assertEquals("0", Eval2.eval(code, 0)); } @@ -386,7 +386,7 @@ int v8=0; while(0<--1>>>---(v7*0==v8)) {} return 0; """); - code.parse().iter().finalizeIR(); + code.driver(CodeGen.Phase.FinalizeIR); assertEquals("return 0;", code.print()); } @@ -411,7 +411,7 @@ else { } return 0; """); - code.parse().iter().finalizeIR(); + code.driver(CodeGen.Phase.FinalizeIR); assertEquals("return 0;", code.print()); } } |
