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") |