scala.util.parsing.combinator
ImplicitConversions
trait
ImplicitConversions extends AnyRef
Value Members
-
def
equals(arg0: Any): Boolean
-
def
flatten2[A, B, C](f: (A, B) ⇒ C): (~[A, B]) ⇒ C
-
def
flatten3[A, B, C, D](f: (A, B, C) ⇒ D): (~[~[A, B], C]) ⇒ D
-
def
flatten4[A, B, C, D, E](f: (A, B, C, D) ⇒ E): (~[~[~[A, B], C], D]) ⇒ E
-
def
flatten5[A, B, C, D, E, F](f: (A, B, C, D, E) ⇒ F): (~[~[~[~[A, B], C], D], E]) ⇒ F
-
def
hashCode(): Int
-
def
headOptionTailToFunList[A, T](f: (List[A]) ⇒ T): (~[A, Option[List[A]]]) ⇒ T
-
def
toString(): String
This object contains implicit conversions that come in handy when using the
^^' combinator {@see Parsers} to construct an AST from the concrete syntax.
The reason for this is that the sequential composition combinator (
~') combines its constituents into a ~. When several~'s are combined, this results in nested
~'s (to the left). Theflatten*' coercions makes it easy to apply an
n'-argument function to a nested ~ of depth (n-1')
The
headOptionTailToFunList' converts a function that takes a List[A] to a function that accepts a ~[A, Option[List[A]]] (this happens when, e.g., parsing something of the following shape: p ~ opt("." ~ repsep(p, ".")) -- wherep' is a parser that yields an A)