org.kiama.util

WhitespaceParser

trait WhitespaceParser extends RegexParsers with PackratParsers

Support for defining the form of whitespace using a parser, rather than a regular expression. This version is useful particularly in cases where the form of comments requires more power than a regular expression can provide (e.g., for nested comments).

Source
ParserUtilities.scala
Linear Supertypes
PackratParsers, RegexParsers, Parsers, AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Hide All
  2. Show all
  1. WhitespaceParser
  2. PackratParsers
  3. RegexParsers
  4. Parsers
  5. AnyRef
  6. Any
Visibility
  1. Public
  2. All

Type Members

  1. type Elem = Char

    Definition Classes
    RegexParsers → Parsers
  2. type Input = Reader[Elem]

    Definition Classes
    Parsers
  3. abstract type _$4

    Definition Classes
    PackratParsers
  4. abstract type _$4

    Definition Classes
    PackratParsers
  5. abstract type _$4

    Definition Classes
    PackratParsers
  6. abstract type _$5

    Definition Classes
    PackratParsers
  7. abstract type _$5

    Definition Classes
    PackratParsers
  8. abstract type _$5

    Definition Classes
    PackratParsers
  9. abstract type _$6

    Definition Classes
    PackratParsers
  10. abstract type _$6

    Definition Classes
    PackratParsers
  11. abstract type _$6

    Definition Classes
    PackratParsers
  12. abstract type _$7

    Definition Classes
    PackratParsers
  13. abstract type _$7

    Definition Classes
    PackratParsers
  14. abstract type _$7

    Definition Classes
    PackratParsers
  15. abstract type _$8

    Definition Classes
    PackratParsers
  16. abstract type _$8

    Definition Classes
    PackratParsers
  17. abstract type _$8

    Definition Classes
    PackratParsers
  18. abstract type _$9

    Definition Classes
    PackratParsers
  19. abstract type _$9

    Definition Classes
    PackratParsers
  20. abstract type _$9

    Definition Classes
    PackratParsers

Abstract Value Members

  1. abstract val whitespaceParser: PackratParser[Any]

    A parser that recognises whitespace.

    A parser that recognises whitespace. Normal whitespace handling is turned off while this parser is applied, since we need to avoid an infinite recursion if the form of whitespace is defined using literal or regex.

    Attributes
    protected

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. final def ==(arg0: AnyRef): Boolean

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

    Definition Classes
    Any
  6. def OnceParser[T](f: (Input) ⇒ ParseResult[T]): Parser[T] with OnceParser[T]

    Definition Classes
    Parsers
  7. def Parser[T](f: (Input) ⇒ ParseResult[T]): Parser[T]

    Definition Classes
    Parsers
  8. def accept[U](expected: String, f: PartialFunction[Elem, U]): Parser[U]

    Definition Classes
    Parsers
  9. def accept[ES](es: ES)(implicit arg0: (ES) ⇒ List[Elem]): Parser[List[Elem]]

    Definition Classes
    Parsers
  10. implicit def accept(e: Elem): Parser[Elem]

    Definition Classes
    Parsers
  11. def acceptIf(p: (Elem) ⇒ Boolean)(err: (Elem) ⇒ String): Parser[Elem]

    Definition Classes
    Parsers
  12. def acceptMatch[U](expected: String, f: PartialFunction[Elem, U]): Parser[U]

    Definition Classes
    Parsers
  13. def acceptSeq[ES](es: ES)(implicit arg0: (ES) ⇒ Iterable[Elem]): Parser[List[Elem]]

    Definition Classes
    Parsers
  14. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  15. def chainl1[T, U](first: ⇒ Parser[T], p: ⇒ Parser[U], q: ⇒ Parser[(T, U) ⇒ T]): Parser[T]

    Definition Classes
    Parsers
  16. def chainl1[T](p: ⇒ Parser[T], q: ⇒ Parser[(T, T) ⇒ T]): Parser[T]

    Definition Classes
    Parsers
  17. def chainr1[T, U](p: ⇒ Parser[T], q: ⇒ Parser[(T, U) ⇒ U], combine: (T, U) ⇒ U, first: U): Parser[U]

    Definition Classes
    Parsers
  18. def clone(): AnyRef

    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  19. def commit[T](p: ⇒ Parser[T]): Parser[T]

    Definition Classes
    Parsers
  20. def elem(e: Elem): Parser[Elem]

    Definition Classes
    Parsers
  21. def elem(kind: String, p: (Elem) ⇒ Boolean): Parser[Elem]

    Definition Classes
    Parsers
  22. final def eq(arg0: AnyRef): Boolean

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

    Definition Classes
    AnyRef → Any
  24. def err(msg: String): Parser[Nothing]

    Definition Classes
    Parsers
  25. def failure(msg: String): Parser[Nothing]

    Definition Classes
    Parsers
  26. def finalize(): Unit

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

    Definition Classes
    AnyRef → Any
  28. def guard[T](p: ⇒ Parser[T]): Parser[T]

    Definition Classes
    Parsers
  29. def handleWhiteSpace(source: CharSequence, offset: Int): Int

    Attributes
    protected
    Definition Classes
    RegexParsers
  30. def hashCode(): Int

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

    Definition Classes
    Any
  32. var lastNoSuccess: NoSuccess

    Definition Classes
    Parsers
  33. implicit def literal(s: String): Parser[String]

    A parser that matches a literal string after skipping any whitespace that is parsed by whitespaceParser.

    A parser that matches a literal string after skipping any whitespace that is parsed by whitespaceParser.

    Definition Classes
    WhitespaceParser → RegexParsers
  34. def log[T](p: ⇒ Parser[T])(name: String): Parser[T]

    Definition Classes
    Parsers
  35. def memo[T](p: Parser[T]): PackratParser[T]

    Definition Classes
    PackratParsers
  36. def mkList[T]: (~[T, List[T]]) ⇒ List[T]

    Definition Classes
    Parsers
  37. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  38. def not[T](p: ⇒ Parser[T]): Parser[Unit]

    Definition Classes
    Parsers
  39. final def notify(): Unit

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

    Definition Classes
    AnyRef
  41. def opt[T](p: ⇒ Parser[T]): Parser[Option[T]]

    Definition Classes
    Parsers
  42. def parse[T](p: Parser[T], in: Reader): ParseResult[T]

    Definition Classes
    RegexParsers
  43. def parse[T](p: Parser[T], in: CharSequence): ParseResult[T]

    Definition Classes
    RegexParsers
  44. def parse[T](p: Parser[T], in: Reader[Char]): ParseResult[T]

    Definition Classes
    RegexParsers
  45. def parseAll[T](p: Parser[T], in: CharSequence): ParseResult[T]

    Definition Classes
    RegexParsers
  46. def parseAll[T](p: Parser[T], in: Reader): ParseResult[T]

    Definition Classes
    RegexParsers
  47. def parseAll[T](p: Parser[T], in: Reader[Char]): ParseResult[T]

    Definition Classes
    RegexParsers
  48. def parseWhitespace(in: Input): ParseResult[Any]

    If we are parsing whitespace already, fail if we are the end of the input, otherwise succeed with no progress.

    If we are parsing whitespace already, fail if we are the end of the input, otherwise succeed with no progress. If we are not already parsing whitespace, then apply the whitespace parser, swallowing any errors from it unless they occur at the end of the input. In other words, an error not at the end is treated as the absence of whitespace.

    Attributes
    protected
  49. implicit def parser2packrat[T](p: ⇒ Parser[T]): PackratParser[T]

    Definition Classes
    PackratParsers
  50. var parsingWhitespace: Boolean

    Are we currently parsing whitespace?

    Are we currently parsing whitespace?

    Attributes
    protected
  51. def phrase[T](p: Parser[T]): PackratParser[T]

    Definition Classes
    PackratParsers → Parsers
  52. def positioned[T <: Positional](p: ⇒ Parser[T]): Parser[T]

    As for positioned in RegexParsers, but uses parseWhitespace to skip whitespace.

    As for positioned in RegexParsers, but uses parseWhitespace to skip whitespace.

    Definition Classes
    WhitespaceParser → RegexParsers → Parsers
  53. implicit def regex(r: Regex): Parser[String]

    A parser that matches a regex string after skipping any whitespace that is parsed by whitespaceParser.

    A parser that matches a regex string after skipping any whitespace that is parsed by whitespaceParser.

    Definition Classes
    WhitespaceParser → RegexParsers
  54. def rep[T](p: ⇒ Parser[T]): Parser[List[T]]

    Definition Classes
    Parsers
  55. def rep1[T](first: ⇒ Parser[T], p0: ⇒ Parser[T]): Parser[List[T]]

    Definition Classes
    Parsers
    Annotations
    @migration
    Migration

    (Changed in version 2.9.0) The p0 call-by-name arguments is evaluated at most once per constructed Parser object, instead of on every need that arises during parsing.

  56. def rep1[T](p: ⇒ Parser[T]): Parser[List[T]]

    Definition Classes
    Parsers
  57. def rep1sep[T](p: ⇒ Parser[T], q: ⇒ Parser[Any]): Parser[List[T]]

    Definition Classes
    Parsers
  58. def repN[T](num: Int, p: ⇒ Parser[T]): Parser[List[T]]

    Definition Classes
    Parsers
  59. def repsep[T](p: ⇒ Parser[T], q: ⇒ Parser[Any]): Parser[List[T]]

    Definition Classes
    Parsers
  60. def skipWhitespace: Boolean

    Definition Classes
    WhitespaceParser → RegexParsers
  61. def success[T](v: T): Parser[T]

    Definition Classes
    Parsers
  62. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  63. def toString(): String

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

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws()
  67. val whiteSpace: Regex

    Attributes
    protected
    Definition Classes
    RegexParsers

Inherited from PackratParsers

Inherited from RegexParsers

Inherited from Parsers

Inherited from AnyRef

Inherited from Any