org.bitbucket.inkytonik.kiama.parsing.ParsersBase

Parser

abstract class Parser[+T] extends (Input) ⇒ ParseResult[T]

A parser is a function from a string to a parser result. This kind of parser cannot handle left recursive alternatives and does not memoise its results so it may repeat work. If those properties are desired use the PackratParser type instead.

Self Type
Parser[T]
Source
Parsers.scala
Linear Supertypes
(Input) ⇒ ParseResult[T], AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Parser
  2. Function1
  3. AnyRef
  4. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new Parser()

Abstract Value Members

  1. abstract def apply(v1: Input): ParseResult[T]

    Definition Classes
    Function1

Concrete Value Members

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

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

    Definition Classes
    AnyRef → Any
  4. def <~[U](q: ⇒ Parser[U]): Parser[T]

    Sequential composition ignoring right side.

  5. def <~/[U](q: ⇒ Parser[U]): Parser[T]

    Sequential composition with no back-tracking back past this point and ignoring right side.

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

    Definition Classes
    AnyRef
  7. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  8. def ?: Parser[Option[T]]

    Optional parsing.

  9. def ^^[U](f: (T) ⇒ U): Parser[U]

    Apply function to successful result.

  10. def ^^^[U](u: ⇒ U): Parser[U]

    Turn a successful result into a specific value which is evaluated each each time this parser is used.

  11. def andThen[A](g: (ParseResult[T]) ⇒ A): (Input) ⇒ A

    Definition Classes
    Function1
    Annotations
    @unspecialized()
  12. def append[U >: T](q: ⇒ Parser[U]): Parser[U]

  13. def apply(str: String): ParseResult[T]

    Alternative entry point to directly parse a string.

  14. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  15. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  16. def compose[A](g: (A) ⇒ Input): (A) ⇒ ParseResult[T]

    Definition Classes
    Function1
    Annotations
    @unspecialized()
  17. final def eq(arg0: AnyRef): Boolean

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

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

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  20. def flatMap[U](f: (T) ⇒ Parser[U]): Parser[U]

  21. final def getClass(): Class[_]

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

    Definition Classes
    AnyRef → Any
  23. def into[U](fq: (T) ⇒ Parser[U]): Parser[U]

    Parameterise next parse step by result from previous one.

  24. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  25. def map[U](f: (T) ⇒ U): Parser[U]

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

    Definition Classes
    AnyRef
  27. final def notify(): Unit

    Definition Classes
    AnyRef
  28. final def notifyAll(): Unit

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

    Definition Classes
    AnyRef
  30. def toString(): String

    Definition Classes
    Function1 → AnyRef → Any
  31. final def wait(): Unit

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  34. def |[U >: T](q: ⇒ Parser[U]): Parser[U]

    Alternation.

  35. def ~[U](q: ⇒ Parser[U]): Parser[~[T, U]]

    Sequential composition.

  36. def ~/[U](q: ⇒ Parser[U]): Parser[~[T, U]]

    Sequential composition with no back-tracking back past this point.

    Sequential composition with no back-tracking back past this point. Modelled on same operator in FastParse and ~! in Scala parser combinators.

  37. def ~/>[U](q: ⇒ Parser[U]): Parser[U]

    Sequential composition with no back-tracking back past this point and ignoring left side.

  38. def ~>[U](q: ⇒ Parser[U]): Parser[U]

    Sequential composition ignoring left side.

Inherited from (Input) ⇒ ParseResult[T]

Inherited from AnyRef

Inherited from Any

Ungrouped