scala.util.parsing.combinator

ImplicitConversions

trait ImplicitConversions extends AnyRef

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). The flatten*' 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, ".")) -- where p' is a parser that yields an A)

known subclasses: Parser, Lexer

Inherits

  1. AnyRef
  2. Any

Value Members

  1. def equals(arg0: Any): Boolean

    This method is used to compare the receiver object (this) with the argument object (arg0) for equivalence

  2. def flatten2[A, B, C](f: (A, B) ⇒ C): (~[A, B]) ⇒ C

  3. def flatten3[A, B, C, D](f: (A, B, C) ⇒ D): (~[~[A, B], C]) ⇒ D

  4. def flatten4[A, B, C, D, E](f: (A, B, C, D) ⇒ E): (~[~[~[A, B], C], D]) ⇒ E

  5. def flatten5[A, B, C, D, E, F](f: (A, B, C, D, E) ⇒ F): (~[~[~[~[A, B], C], D], E]) ⇒ F

  6. def hashCode(): Int

    Returns a hash code value for the object

  7. def headOptionTailToFunList[A, T](f: (List[A]) ⇒ T): (~[A, Option[List[A]]]) ⇒ T

  8. def toString(): String

    Returns a string representation of the object