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

object NoSuccess

An extractor so NoSuccess(msg, next) can be used in matches.

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

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. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  8. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  9. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  10. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  11. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  12. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  13. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  14. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  15. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  16. def toString(): String
    Definition Classes
    AnyRef → Any
  17. def unapply[T](x: ParseResult[T]): Option[(String, Input)]
  18. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  19. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  20. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped