Packages

  • package root
    Definition Classes
    root
  • package scala
    Definition Classes
    root
  • package util
    Definition Classes
    scala
  • package parsing
    Definition Classes
    util
  • package combinator
    Definition Classes
    parsing
  • trait Parsers extends AnyRef

    Parsers is a component that provides generic parser combinators.

    Parsers is a component that provides generic parser combinators.

    There are two abstract members that must be defined in order to produce parsers: the type Elem and scala.util.parsing.combinator.Parsers.Parser. There are helper methods that produce concrete Parser implementations -- see primitive parser below.

    A Parsers may define multiple Parser instances, which are combined to produced the desired parser.

    The type of the elements these parsers should parse must be defined by declaring Elem (each parser is polymorphic in the type of result it produces).

    There are two aspects to the result of a parser:

    1. success or failure
    2. the result.

    A scala.util.parsing.combinator.Parsers.Parser produces both kinds of information, by returning a scala.util.parsing.combinator.Parsers.ParseResult when its apply method is called on an input.

    The term parser combinator refers to the fact that these parsers are constructed from primitive parsers and composition operators, such as sequencing, alternation, optionality, repetition, lifting, and so on. For example, given p1 and p2 of type scala.util.parsing.combinator.Parsers.Parser:

    p1 ~ p2 // sequencing: must match p1 followed by p2
    p1 | p2 // alternation: must match either p1 or p2, with preference given to p1
    p1.?    // optionality: may match p1 or not
    p1.*    // repetition: matches any number of repetitions of p1

    These combinators are provided as methods on scala.util.parsing.combinator.Parsers.Parser, or as methods taking one or more Parsers and returning a Parser provided in this class.

    A primitive parser is a parser that accepts or rejects a single piece of input, based on a certain criterion, such as whether the input...

    • is equal to some given object (see method accept),
    • satisfies a certain predicate (see method acceptIf),
    • is in the domain of a given partial function (see method acceptMatch)
    • or other conditions, by using one of the other methods available, or subclassing Parser

    Even more primitive parsers always produce the same result, irrespective of the input. See methods success, err and failure as examples.

    Definition Classes
    combinator
    See also

    scala.util.parsing.combinator.RegexParsers and other known subclasses for practical examples.

  • Elem
  • Error
  • Failure
  • NoSuccess
  • OnceParser
  • ParseResult
  • Parser
  • Success
  • ~

case class Failure(msg: String, next: Input) extends NoSuccess with Product with Serializable

The failure case of ParseResult: contains an error-message and the remaining input. Parsing will back-track when a failure occurs.

msg

An error message string describing the failure.

next

The parser's unconsumed input at the point where the failure occurred.

Source
Parsers.scala
Linear Supertypes
Type Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Failure
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. NoSuccess
  7. ParseResult
  8. AnyRef
  9. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new Failure(msg: String, next: Input)

    msg

    An error message string describing the failure.

    next

    The parser's unconsumed input at the point where the failure occurred.

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. def append[U](a: ⇒ ParseResult[U]): ParseResult[U]
    Definition Classes
    FailureParseResult
  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  7. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  8. def filterWithError(p: (Nothing) ⇒ Boolean, error: (Nothing) ⇒ String, position: Input): ParseResult[Nothing]
    Definition Classes
    NoSuccessParseResult
  9. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  10. def flatMapWithNext[U](f: (Nothing) ⇒ (Input) ⇒ ParseResult[U]): ParseResult[U]
    Definition Classes
    NoSuccessParseResult
  11. def get: Nothing

    Returns the embedded result.

    Returns the embedded result.

    Definition Classes
    NoSuccessParseResult
  12. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
  13. def getOrElse[B >: Nothing](default: ⇒ B): B
    Definition Classes
    ParseResult
  14. def isEmpty: Boolean
    Definition Classes
    ParseResult
  15. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  16. def map[U](f: (Nothing) ⇒ U): NoSuccess

    Functional composition of ParseResults.

    Functional composition of ParseResults.

    f

    the function to be lifted over this result

    returns

    f applied to the result of this ParseResult, packaged up as a new ParseResult

    Definition Classes
    NoSuccessParseResult
  17. def mapPartial[U](f: PartialFunction[Nothing, U], error: (Nothing) ⇒ String): ParseResult[U]

    Partial functional composition of ParseResults.

    Partial functional composition of ParseResults.

    f

    the partial function to be lifted over this result

    error

    a function that takes the same argument as f and produces an error message to explain why f wasn't applicable (it is called when this is the case)

    returns

    if f f is defined at the result in this ParseResult, f applied to the result of this ParseResult, packaged up as a new ParseResult. If f is not defined, Failure.

    Definition Classes
    NoSuccessParseResult
  18. val msg: String
    Definition Classes
    FailureNoSuccess
  19. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  20. val next: Input
    Definition Classes
    FailureNoSuccessParseResult
  21. final def notify(): Unit
    Definition Classes
    AnyRef
  22. final def notifyAll(): Unit
    Definition Classes
    AnyRef
  23. val successful: Boolean
    Definition Classes
    NoSuccessParseResult
  24. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  25. def toString(): String

    The toString method of a Failure yields an error message.

    The toString method of a Failure yields an error message.

    Definition Classes
    Failure → AnyRef → Any
  26. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  27. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  28. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Serializable

Inherited from java.io.Serializable

Inherited from Product

Inherited from Equals

Inherited from NoSuccess

Inherited from ParseResult[Nothing]

Inherited from AnyRef

Inherited from Any

Ungrouped