Trait

de.uni_luebeck.isp.compacom.Parsers

Parser

Related Doc: package Parsers

Permalink

trait Parser[+Result] extends AnyRef

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Parser
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def parse(input: TokenIterator): ParseResult[Result]

    Permalink

Concrete Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. def *(): Parser[List[Result]]

    Permalink

    r.* applies r zero or more times and returns a list of the results.

  4. def +(): Parser[List[Result]]

    Permalink

    r.+ applies r one or more times and returns a list of the results.

  5. def <~[Result2](rhs: ⇒ Parser[Result2]): Parser[Result]

    Permalink

    lhs <~ rhs applies lhs followed by rhs and returns the result of lhs.

  6. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  7. def ?(): Parser[Option[Result]]

    Permalink

    r.? optionally matches r, producing Some(res) as the result if r succeeds with the result res or None if r fails.

  8. def ^^[Result2](f: (Result) ⇒ Result2): Parser[Result2]

    Permalink

    Applies f to the result of this rule if this rule is matched successfully and yields the result of f as the result of the rule.

    Applies f to the result of this rule if this rule is matched successfully and yields the result of f as the result of the rule.

    This is also known as the Japanese Smiley Operator.

  9. def ^^![Result2](f: (Location, Result) ⇒ Result2): Parser[Result2]

    Permalink

    Applies f to the result of this rule and the location of the match if this rule is matched successfully and yields the result of f as the result of the rule.

  10. def ^^^[Result2](exp: ⇒ Result2): Parser[Result2]

    Permalink

    If this rule matches, return a successful result containing the given, lazily evaluated, expression.

  11. def ^^^![Result2](f: (Location) ⇒ Result2): Parser[Result2]

    Permalink

    Applies f to the location of the match if this rule is matched successfully and yields the result of f as the result of the rule.

  12. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  13. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  14. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  15. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  16. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  17. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  18. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  19. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  20. def mockParse(input: Token): ParseResult[Result]

    Permalink

    Pretend we're parsing a token stream that contains just this one token.

    Pretend we're parsing a token stream that contains just this one token. We use this to check whether the alternative could've matched the current token (or an expansion of the current token) as well, when the left side of a | already matched (and we therefore do not want to advance the token stream any further)

  21. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  22. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  23. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  24. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  25. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  26. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  27. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  28. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  29. def |[Result2 >: Result](rhs: ⇒ Parser[Result2]): Parser[Result2]

    Permalink

    lhs | rhs first tries to apply the rule lhs.

    lhs | rhs first tries to apply the rule lhs. If this fails *without consuming any tokens*, rhs is applied instead. This is successful if lhs or rhs were applied successfully, otherwise it's a failure. In case of a success the result value will be that of the rule that was successfully applied.

  30. def ~[Result2](rhs: ⇒ Parser[Result2]): Parser[(Result, Result2)]

    Permalink

    lhs ~ rhs applies lhs followed by rhs (if lhs was successful).

    lhs ~ rhs applies lhs followed by rhs (if lhs was successful). The result will be a tuple containing the results of both lhs and rhs.

  31. def ~>[Result2](rhs: ⇒ Parser[Result2]): Parser[Result2]

    Permalink

    lhs ~> rhs applies lhs followed by rhs and returns the result of rhs.

  32. def ~^[Result2](rhs: (Result) ⇒ Parser[Result2]): Parser[Result2]

    Permalink

    lhs ~^ (r => rhs(r)) applies lhs followed by rhs(r) (if lhs was successful, r is the result of lhs). The final result will be the result of rhs(r).

Inherited from AnyRef

Inherited from Any

Ungrouped