equal
deleted
inserted
replaced
63 |
63 |
64 // convenience |
64 // convenience |
65 implicit def string2parser(s: String) = StringParser(s) |
65 implicit def string2parser(s: String) = StringParser(s) |
66 implicit def char2parser(c: Char) = CharParser(c) |
66 implicit def char2parser(c: Char) = CharParser(c) |
67 |
67 |
68 implicit def ParserOps[I, T](p: Parser[I, T])(implicit ev: I => Seq[_]) = new { |
68 implicit def ParserOps[I : IsSeq, T](p: Parser[I, T]) = new { |
69 def || (q : => Parser[I, T]) = new AltParser[I, T](p, q) |
69 def || (q : => Parser[I, T]) = new AltParser[I, T](p, q) |
70 def ==>[S] (f: => T => S) = new FunParser[I, T, S](p, f) |
70 def ==>[S] (f: => T => S) = new FunParser[I, T, S](p, f) |
71 def ~[S] (q : => Parser[I, S]) = new SeqParser[I, T, S](p, q) |
71 def ~[S] (q : => Parser[I, S]) = new SeqParser[I, T, S](p, q) |
72 } |
72 } |
73 |
73 |