1 import lib._ |
1 import lib._ |
2 import turing._ |
2 import turing._ |
3 import abacus._ |
3 import abacus._ |
4 import recs._ |
4 import recs._ |
5 import comp1._ |
5 import comp1._ |
6 //import comp2._ |
6 import comp2._ |
7 |
7 |
8 // Turing machine examples |
8 // Turing machine examples |
9 val TMCopy = TM((WBk, 5), (R, 2), (R, 3), (R, 2), (WOc, 3), |
9 val TMCopy = TM((WBk, 5), (R, 2), (R, 3), (R, 2), (WOc, 3), |
10 (L, 4), (L, 4), (L, 5), (R, 11), (R, 6), |
10 (L, 4), (L, 4), (L, 5), (R, 11), (R, 6), |
11 (R, 7), (WBk, 6), (R, 7), (R, 8), (WOc, 9), |
11 (R, 7), (WBk, 6), (R, 7), (R, 8), (WOc, 9), |
79 println("Fact 5: " + Fact.eval(5)) |
79 println("Fact 5: " + Fact.eval(5)) |
80 println("Prime 0..15: " + (0 to 15).map(n => (n, Prime.eval(n)))) |
80 println("Prime 0..15: " + (0 to 15).map(n => (n, Prime.eval(n)))) |
81 println("NextPrime 3: " + NextPrime.eval(3)) |
81 println("NextPrime 3: " + NextPrime.eval(3)) |
82 println("NthPrime 1: " + NthPrime.eval(1)) |
82 println("NthPrime 1: " + NthPrime.eval(1)) |
83 println("Listsum [2, 3, 4 , 5, 6]: " + Listsum(5, 4).eval(2, 3, 4, 5, 6)) |
83 println("Listsum [2, 3, 4 , 5, 6]: " + Listsum(5, 4).eval(2, 3, 4, 5, 6)) |
84 // Ask Jian |
|
85 println("Strt: " + Strt(2).eval(2, 3)) |
84 println("Strt: " + Strt(2).eval(2, 3)) |
86 |
85 |
87 |
86 |
88 val ABCZero = Abacus(Goto(1)) |
87 |
89 val ABCSucc = Plus(0, 1, 2, 7) ++ Abacus(Inc(1)).shift(Plus(0, 1, 2, 7).p.length, -1) |
88 |
90 def ABCId(n: Int, m: Int) = Plus(m, n, n + 1, 7) |
89 println(Const(1)) |
|
90 println(compile_rec(Const(1))._1) |
|
91 println(compile_rec(Const(1))) |
|
92 println(compile_rec(Const(1))._1.run(Map(0 -> 1, 1 -> 1, 2 -> 0))) |
|
93 println(Add) |
|
94 println(compile_rec(Add)._1) |
|
95 println(compile_rec(Add)) |
|
96 println(compile_rec(Add)._1.run(Map(0 -> 3, 1 -> 8, 2 -> 0))) |
|
97 //compile_rec(Add)._1.run(Map(0 -> 3, 1 -> 4, 2 -> 0)) |