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
  • ~

sealed abstract class NoSuccess extends ParseResult[Nothing]

A common super-class for unsuccessful parse results.

Source
Parsers.scala
Linear Supertypes
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. NoSuccess
  2. ParseResult
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def append[U >: Nothing](a: ⇒ ParseResult[U]): ParseResult[U]
    Definition Classes
    ParseResult

Concrete Value Members

  1. def filterWithError(p: (Nothing) ⇒ Boolean, error: (Nothing) ⇒ String, position: Input): ParseResult[Nothing]
    Definition Classes
    NoSuccessParseResult
  2. def flatMapWithNext[U](f: (Nothing) ⇒ (Input) ⇒ ParseResult[U]): ParseResult[U]
    Definition Classes
    NoSuccessParseResult
  3. def get: Nothing

    Returns the embedded result.

    Returns the embedded result.

    Definition Classes
    NoSuccessParseResult
  4. def getOrElse[B >: Nothing](default: ⇒ B): B
    Definition Classes
    ParseResult
  5. def isEmpty: Boolean
    Definition Classes
    ParseResult
  6. 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
  7. 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
  8. val msg: String
  9. val next: Input
    Definition Classes
    NoSuccessParseResult
  10. val successful: Boolean
    Definition Classes
    NoSuccessParseResult