equal
deleted
inserted
replaced
2 import scala.language.reflectiveCalls |
2 import scala.language.reflectiveCalls |
3 |
3 |
4 abstract class Parser[I <% Seq[_], T] { |
4 abstract class Parser[I <% Seq[_], T] { |
5 def parse(ts: I): Set[(T, I)] |
5 def parse(ts: I): Set[(T, I)] |
6 |
6 |
7 def parse_all(ts: I) : Set[T] = |
7 aaa dcjefoivhwefihvefhiv def parse_all(ts: I) : Set[T] = |
8 for ((head, tail) <- parse(ts); if (tail.isEmpty)) yield head |
8 for ((head, tail) <- parse(ts); if (tail.isEmpty)) yield head |
9 } |
9 } |
10 |
10 |
11 class SeqParser[I <% Seq[_], T, S](p: => Parser[I, T], q: => Parser[I, S]) extends Parser[I, (T, S)] { |
11 class SeqParser[I <% Seq[_], T, S](p: => Parser[I, T], q: => Parser[I, S]) extends Parser[I, (T, S)] { |
12 def parse(sb: I) = |
12 def parse(sb: I) = |