org.kiama.example.iswim.compiler

Parser

trait Parser extends JavaTokenParsers with PackratParsers

Linear Supertypes
PackratParsers, JavaTokenParsers, RegexParsers, Parsers, AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Hide All
  2. Show all
  1. Parser
  2. PackratParsers
  3. JavaTokenParsers
  4. RegexParsers
  5. Parsers
  6. AnyRef
  7. 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. case class Pos(s: String) extends Positional with Product with Serializable

  4. abstract type _$4

    Definition Classes
    PackratParsers
  5. abstract type _$4

    Definition Classes
    PackratParsers
  6. abstract type _$4

    Definition Classes
    PackratParsers
  7. abstract type _$5

    Definition Classes
    PackratParsers
  8. abstract type _$5

    Definition Classes
    PackratParsers
  9. abstract type _$5

    Definition Classes
    PackratParsers
  10. abstract type _$6

    Definition Classes
    PackratParsers
  11. abstract type _$6

    Definition Classes
    PackratParsers
  12. abstract type _$6

    Definition Classes
    PackratParsers
  13. abstract type _$7

    Definition Classes
    PackratParsers
  14. abstract type _$7

    Definition Classes
    PackratParsers
  15. abstract type _$7

    Definition Classes
    PackratParsers
  16. abstract type _$8

    Definition Classes
    PackratParsers
  17. abstract type _$8

    Definition Classes
    PackratParsers
  18. abstract type _$8

    Definition Classes
    PackratParsers
  19. abstract type _$9

    Definition Classes
    PackratParsers
  20. abstract type _$9

    Definition Classes
    PackratParsers
  21. abstract type _$9

    Definition Classes
    PackratParsers

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. lazy val applic: PackratParser[Expr]

  15. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  16. def bindexpr(rhsexpr: PackratParser[Expr]): PackratParser[Binding]

    Parse let and letrec expressions

  17. lazy val blockexpr: PackratParser[Expr]

    Parse code blocks

  18. lazy val callccexpr: PackratParser[Expr]

    Continuation handling.

  19. def chainl1[T, U](first: ⇒ Parser[T], p: ⇒ Parser[U], q: ⇒ Parser[(T, U) ⇒ T]): Parser[T]

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

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

    Definition Classes
    Parsers
  22. def clone(): AnyRef

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

    Definition Classes
    Parsers
  24. def decimalNumber: Parser[String]

    Definition Classes
    JavaTokenParsers
  25. def elem(e: Elem): Parser[Elem]

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

    Definition Classes
    Parsers
  27. lazy val emptyexpr: PackratParser[Expr]

    Parse tuple / record expressions

  28. final def eq(arg0: AnyRef): Boolean

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

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

    Definition Classes
    Parsers
  31. lazy val expr: PackratParser[Expr]

  32. lazy val exprstmt: PackratParser[Stmt]

  33. lazy val factor: PackratParser[Expr]

  34. def failure(msg: String): Parser[Nothing]

    Definition Classes
    Parsers
  35. def finalize(): Unit

    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  36. def floatingPointNumber: Parser[String]

    Definition Classes
    JavaTokenParsers
  37. final def getClass(): java.lang.Class[_]

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

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

    Override handleWhiteSpace to ensure it handles comments appropriately.

    Override handleWhiteSpace to ensure it handles comments appropriately. Simply using a whiteSpace regex to recognise comments doesn't work with very long comments - which appear to make Java's regex implementation fail.

    Attributes
    protected
    Definition Classes
    Parser → RegexParsers
  40. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  41. def ident: Parser[String]

    Definition Classes
    JavaTokenParsers
  42. lazy val identRegex: Regex

  43. lazy val ifelseexpr: PackratParser[Expr]

    Parse if .

    Parse if ... then ... else ...

  44. lazy val importstmt: PackratParser[Stmt]

  45. lazy val intRegex: Regex

  46. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  47. def keyword(k: String): Parser[Pos]

  48. lazy val lambdaexpr: PackratParser[Expr]

    Parse lambda (fun) expressions

  49. var lastNoSuccess: NoSuccess

    Definition Classes
    Parsers
  50. lazy val letexpr: PackratParser[Expr]

  51. lazy val letrecexpr: PackratParser[Expr]

  52. lazy val letrecstmt: PackratParser[Stmt]

  53. lazy val letstmt: PackratParser[Stmt]

    Parse toplevel statements

  54. lazy val liter: Parser[Expr]

    Literals, identifiers, keywords and other atomic phrases

  55. implicit def literal(s: String): Parser[String]

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

    Definition Classes
    Parsers
  57. lazy val matchclause: PackratParser[MatchClause]

  58. lazy val matchexpr: PackratParser[Expr]

  59. def memo[T](p: Parser[T]): PackratParser[T]

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

    Definition Classes
    Parsers
  61. lazy val mkrefexpr: PackratParser[Expr]

  62. final def ne(arg0: AnyRef): Boolean

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

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

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

    Definition Classes
    AnyRef
  66. def operator(op: String): Parser[Pos]

  67. def opt[T](p: ⇒ Parser[T]): Parser[Option[T]]

    Definition Classes
    Parsers
  68. lazy val parenexpr: PackratParser[Expr]

    Precedence based infix expression parsers.

    Precedence based infix expression parsers. Ordered from highest to lowest precedence.

  69. def parse[T](p: Parser[T], in: Reader): ParseResult[T]

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

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

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

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

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

    Definition Classes
    RegexParsers
  75. implicit def parser2packrat[T](p: ⇒ Parser[T]): PackratParser[T]

    Definition Classes
    PackratParsers
  76. lazy val pattern: PackratParser[(Pos, List[Variable])]

  77. def phrase[T](p: Parser[T]): PackratParser[T]

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

    Definition Classes
    RegexParsers → Parsers
  79. lazy val primstmt: PackratParser[Stmt]

    Primitives

  80. implicit def regex(r: Regex): Parser[String]

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

    Definition Classes
    Parsers
  82. 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.

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

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

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

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

    Definition Classes
    Parsers
  87. val reserved: HashSet[String]

    Identifiers - keywords and names.

  88. lazy val returnexpr: PackratParser[Expr]

    Parse return expressions

  89. def skipWhitespace: Boolean

    Definition Classes
    RegexParsers
  90. lazy val start: PackratParser[IswimProg]

    Top level parsers

  91. def stringLiteral: Parser[String]

    Definition Classes
    JavaTokenParsers
  92. def success[T](v: T): Parser[T]

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

    Definition Classes
    AnyRef
  94. lazy val term1: PackratParser[Expr]

  95. lazy val term2: PackratParser[Expr]

  96. lazy val term3: PackratParser[Expr]

  97. lazy val term4: PackratParser[Expr]

  98. lazy val throwtoexpr: PackratParser[Expr]

  99. def toString(): String

    Definition Classes
    AnyRef → Any
  100. lazy val tupleexpr: PackratParser[Expr]

  101. lazy val valexpr: PackratParser[Expr]

    References.

  102. lazy val variable: Parser[Variable]

  103. final def wait(): Unit

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws()
  106. lazy val whileexpr: PackratParser[Expr]

    Parse while expression

  107. val whiteSpace: Regex

    Attributes
    protected
    Definition Classes
    RegexParsers
  108. def wholeNumber: Parser[String]

    Definition Classes
    JavaTokenParsers

Inherited from PackratParsers

Inherited from JavaTokenParsers

Inherited from RegexParsers

Inherited from Parsers

Inherited from AnyRef

Inherited from Any