scala/ex.scala
changeset 205 c7975ab7c52e
parent 201 09befdf4fc99
child 207 b93ec66cf4bb
equal deleted inserted replaced
204:e55c8e5da49f 205:c7975ab7c52e
     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))