progs/scala/re.scala
changeset 66 eb97e8361211
parent 62 a6bb0152ccc2
child 73 6e035162345a
equal deleted inserted replaced
65:b31b224fa0e6 66:eb97e8361211
   293 println(values(r2).mkString("\n"))
   293 println(values(r2).mkString("\n"))
   294 println(values(r2).toList.map(flatten).mkString("\n"))
   294 println(values(r2).toList.map(flatten).mkString("\n"))
   295 
   295 
   296 //Some experiments
   296 //Some experiments
   297 //================
   297 //================
       
   298 
       
   299 val f0 = ("ab" | "b" | "cb")
       
   300 val f1 = der('a', f0)
       
   301 val f2 = der('b', f1)
       
   302 val g2 = mkeps(f2)
       
   303 val g1 = inj(f1, 'b', g2)
       
   304 val g0 = inj(f0, 'a', g1)
       
   305 
       
   306 lex((("" | "a") ~ ("ab" | "b")), "ab".toList)
       
   307 lex((("" | "a") ~ ("b" | "ab")), "ab".toList)
       
   308 lex((("" | "a") ~ ("c" | "ab")), "ab".toList)
   298 
   309 
   299 val reg0 = ("" | "a") ~ ("ab" | "b")
   310 val reg0 = ("" | "a") ~ ("ab" | "b")
   300 val reg1 = der('a', reg0)
   311 val reg1 = der('a', reg0)
   301 val reg2 = der('b', reg1)
   312 val reg2 = der('b', reg1)
   302 println(List(reg0, reg1, reg2).map(pretty).mkString("\n"))
   313 println(List(reg0, reg1, reg2).map(pretty).mkString("\n"))