progs/scala/re-basic.scala
changeset 178 2835d13be702
parent 166 cab1ae6f339a
child 238 2dc1647eab9e
equal deleted inserted replaced
177:e85d10b238d0 178:2835d13be702
   154 val I2: Rexp = ("id" $ ("ab" | "ba"))  
   154 val I2: Rexp = ("id" $ ("ab" | "ba"))  
   155 
   155 
   156 println(lexing((K2 | I2).%, "abaa"))
   156 println(lexing((K2 | I2).%, "abaa"))
   157 println(env(lexing((K2 | I2).%, "abaa")))
   157 println(env(lexing((K2 | I2).%, "abaa")))
   158 
   158 
       
   159 val r1: Rexp = "abc"
       
   160 val r2: Rexp = der('a', r1)
       
   161 val r3: Rexp = der('b', r2)
       
   162 val r4: Rexp = der('c', r3)
       
   163 println(r1)
       
   164 println(r2)
       
   165 println(r3)
       
   166 println(r4)
       
   167 
       
   168 
   159 // time keeping
   169 // time keeping
   160 def time_needed[T](i: Int, code: => T) = {
   170 def time_needed[T](i: Int, code: => T) = {
   161   val start = System.nanoTime()
   171   val start = System.nanoTime()
   162   for (j <- 1 to i) code
   172   for (j <- 1 to i) code
   163   val end = System.nanoTime()
   173   val end = System.nanoTime()