fix flatMap in completion

This commit is contained in:
Mark Harrah 2010-12-14 06:08:20 -05:00
parent ddb4381454
commit 62958e2f19
1 changed files with 10 additions and 1 deletions

View File

@ -301,7 +301,16 @@ private final class BindParser[A,B](a: Parser[A], f: A => Parser[B]) extends Par
}
}
}
def derive(c: Char) = a derive c flatMap f
def derive(c: Char) =
{
val common = a derive c flatMap f
a.resultEmpty match
{
case Some(av) => common | f(av).derive(c)
case None => common
}
}
override def toString = "bind(" + a + ")"
}
private final class MapParser[A,B](a: Parser[A], f: A => B) extends Parser[B]