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. type _$4

    Attributes
    abstract
    Definition Classes
    PackratParsers
  4. type _$4

    Attributes
    abstract
    Definition Classes
    PackratParsers
  5. type _$4

    Attributes
    abstract
    Definition Classes
    PackratParsers
  6. type _$5

    Attributes
    abstract
    Definition Classes
    PackratParsers
  7. type _$5

    Attributes
    abstract
    Definition Classes
    PackratParsers
  8. type _$5

    Attributes
    abstract
    Definition Classes
    PackratParsers
  9. type _$6

    Attributes
    abstract
    Definition Classes
    PackratParsers
  10. type _$6

    Attributes
    abstract
    Definition Classes
    PackratParsers
  11. type _$6

    Attributes
    abstract
    Definition Classes
    PackratParsers
  12. type _$7

    Attributes
    abstract
    Definition Classes
    PackratParsers
  13. type _$7

    Attributes
    abstract
    Definition Classes
    PackratParsers
  14. type _$7

    Attributes
    abstract
    Definition Classes
    PackratParsers
  15. type _$8

    Attributes
    abstract
    Definition Classes
    PackratParsers
  16. type _$8

    Attributes
    abstract
    Definition Classes
    PackratParsers
  17. type _$8

    Attributes
    abstract
    Definition Classes
    PackratParsers
  18. type _$9

    Attributes
    abstract
    Definition Classes
    PackratParsers
  19. type _$9

    Attributes
    abstract
    Definition Classes
    PackratParsers
  20. type _$9

    Attributes
    abstract
    Definition Classes
    PackratParsers

Abstract Value Members

  1. 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 abstract

Concrete Value Members

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

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

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

    Attributes
    final
    Definition Classes
    AnyRef → Any
  4. def == (arg0: AnyRef): Boolean

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

    Attributes
    final
    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]

    Attributes
    implicit
    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. def asInstanceOf [T0] : T0

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

    Attributes
    final
    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. def getClass (): java.lang.Class[_]

    Attributes
    final
    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. def isInstanceOf [T0] : Boolean

    Attributes
    final
    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.

    Attributes
    implicit
    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. def ne (arg0: AnyRef): Boolean

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

    Definition Classes
    Parsers
  39. def notify (): Unit

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

    Attributes
    final
    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]

    Attributes
    implicit
    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.

    Attributes
    implicit
    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

  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. def synchronized [T0] (arg0: ⇒ T0): T0

    Attributes
    final
    Definition Classes
    AnyRef
  63. def toString (): String

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

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

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

    Attributes
    final
    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