main_solution3/re.scala
changeset 445 b73e7ce91c10
parent 428 cdfa6a293453
child 456 d076cb2e0b75
equal deleted inserted replaced
444:7a0735db4788 445:b73e7ce91c10
   111 //println("Simp tests")
   111 //println("Simp tests")
   112 //println(simp(ALT(ONE | CHAR('a'), CHAR('a') | ONE)))
   112 //println(simp(ALT(ONE | CHAR('a'), CHAR('a') | ONE)))
   113 //println(simp(((CHAR('a') | ZERO) ~ ONE) | 
   113 //println(simp(((CHAR('a') | ZERO) ~ ONE) | 
   114 //              (((ONE | CHAR('b')) | CHAR('c')) ~ (CHAR('d') ~ ZERO))))
   114 //              (((ONE | CHAR('b')) | CHAR('c')) ~ (CHAR('d') ~ ZERO))))
   115 
   115 
   116 
       
   117 // (7) 
   116 // (7) 
   118 
   117 
   119 def ders (s: List[Char], r: Rexp) : Rexp = s match {
   118 def ders (s: List[Char], r: Rexp) : Rexp = s match {
   120   case Nil => r
   119   case Nil => r
   121   case c::s => ders(s, simp(der(c, r)))
   120   case c::s => ders(s, simp(der(c, r)))
   189 */ 
   188 */ 
   190 
   189 
   191 
   190 
   192 }
   191 }
   193 
   192 
       
   193 
       
   194 
       
   195 
       
   196 
       
   197 /*
       
   198 // if nullable(r1)  
       
   199   ALTs(SEQs(der(c, r1)::rs)::(rs filter what is nullable) .map(der(c,_)))
       
   200 
       
   201 */