equal
deleted
inserted
replaced
14 abstract class Parser[I : IsSeq, T] { |
14 abstract class Parser[I : IsSeq, T] { |
15 def parse(ts: I): Set[(T, I)] |
15 def parse(ts: I): Set[(T, I)] |
16 |
16 |
17 def parse_all(ts: I) : Set[T] = |
17 def parse_all(ts: I) : Set[T] = |
18 for ((head, tail) <- parse(ts); |
18 for ((head, tail) <- parse(ts); |
19 if (tail.isEmpty)) yield head |
19 if tail.isEmpty) yield head |
20 } |
20 } |
21 |
21 |
22 |
22 |
23 class SeqParser[I : IsSeq, T, S](p: => Parser[I, T], |
23 class SeqParser[I : IsSeq, T, S](p: => Parser[I, T], |
24 q: => Parser[I, S]) extends Parser[I, ~[T, S]] { |
24 q: => Parser[I, S]) extends Parser[I, ~[T, S]] { |