equal
  deleted
  inserted
  replaced
  
    
    
   170   | 
   170   | 
   171 // ambiguous  | 
   171 // ambiguous  | 
   172 lazy val S : Parser[String, String] =  | 
   172 lazy val S : Parser[String, String] =  | 
   173   (p"1" ~ S ~ S).map{ case ((x, y), z) => x + y + z } || p"" | 
   173   (p"1" ~ S ~ S).map{ case ((x, y), z) => x + y + z } || p"" | 
   174   | 
   174   | 
   175 println(time(S.parse("1" * 10))) | 
   175 //println(time(S.parse("1" * 10))) | 
   176 println(time(S.parse_all("1" * 10))) | 
   176 //println(time(S.parse_all("1" * 10))) | 
   177   | 
   177   | 
   178 // non-ambiguous  | 
   178 // non-ambiguous  | 
   179 lazy val U : Parser[String, String] =  | 
   179 lazy val U : Parser[String, String] =  | 
   180   (p"1" ~ U).map{ case (x, y) => x + y } || p"" | 
   180   (p"1" ~ U).map{ case (x, y) => x + y } || p"" | 
   181   | 
   181   | 
   182 println(time(U.parse("1" * 10))) | 
   182 //println(time(U.parse("1" * 10))) | 
   183 println(time(U.parse_all("1" * 10))) | 
   183 //println(time(U.parse_all("1" * 10))) | 
   184 println(U.parse("1" * 25)) | 
   184 println(U.parse("1" * 25)) | 
   185   | 
   185   | 
   186 U.parse("11") | 
   186 U.parse("11") | 
   187 U.parse("11111") | 
   187 U.parse("11111") | 
   188 U.parse("11011") | 
   188 U.parse("11011") |