org.kiama.example.iswim.driver

Main

object Main extends Parser with SemanticAnalysis with CodeGenerator

Linear Supertypes
CodeGenerator, SemanticAnalysis, Parser, PackratParsers, JavaTokenParsers, RegexParsers, Parsers, AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Hide All
  2. Show all
  1. Main
  2. CodeGenerator
  3. SemanticAnalysis
  4. Parser
  5. PackratParsers
  6. JavaTokenParsers
  7. RegexParsers
  8. Parsers
  9. AnyRef
  10. 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]

    Definition Classes
    Parser
  15. final def asInstanceOf[T0]: T0

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

    Parse let and letrec expressions

    Parse let and letrec expressions

    Definition Classes
    Parser
  17. lazy val blockexpr: PackratParser[Expr]

    Parse code blocks

    Parse code blocks

    Definition Classes
    Parser
  18. lazy val callccexpr: PackratParser[Expr]

    Continuation handling.

    Continuation handling.

    Definition Classes
    Parser
  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. val code: (Iswim) ⇒ CodeTree

    The following attribute contains the SECD bytecode generated from the ISWIM syntax node it is attached to.

    The following attribute contains the SECD bytecode generated from the ISWIM syntax node it is attached to.

    Definition Classes
    CodeGenerator
  24. def commit[T](p: ⇒ Parser[T]): Parser[T]

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

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

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

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

    Parse tuple / record expressions

    Parse tuple / record expressions

    Definition Classes
    Parser
  29. val envir: (Iswim) ⇒ Map[Variable, Iswim]

    Simple name analysis - using an environment All we need to do here is check that at use sites all variables have been bound by an enclosing let, letrec or function parameter.

    Simple name analysis - using an environment All we need to do here is check that at use sites all variables have been bound by an enclosing let, letrec or function parameter.

    Definition Classes
    SemanticAnalysis
  30. val envirOut: (Iswim) ⇒ Map[Variable, Iswim]

    Definition Classes
    SemanticAnalysis
  31. final def eq(arg0: AnyRef): Boolean

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

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

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

    Definition Classes
    Parser
  35. lazy val exprstmt: PackratParser[Stmt]

    Definition Classes
    Parser
  36. lazy val factor: PackratParser[Expr]

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

    Definition Classes
    Parsers
  38. def finalize(): Unit

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

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

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

    Definition Classes
    Parsers
  42. 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
  43. def hashCode(): Int

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

    Definition Classes
    JavaTokenParsers
  45. lazy val identRegex: Regex

    Definition Classes
    Parser
  46. lazy val ifelseexpr: PackratParser[Expr]

    Parse if .

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

    Definition Classes
    Parser
  47. lazy val importstmt: PackratParser[Stmt]

    Definition Classes
    Parser
  48. lazy val intRegex: Regex

    Definition Classes
    Parser
  49. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  50. val isSemanticallyCorrect: (Iswim) ⇒ Boolean

    Definition Classes
    SemanticAnalysis
  51. def keyword(k: String): Parser[Pos]

    Definition Classes
    Parser
  52. lazy val lambdaexpr: PackratParser[Expr]

    Parse lambda (fun) expressions

    Parse lambda (fun) expressions

    Definition Classes
    Parser
  53. var lastNoSuccess: NoSuccess

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

    Definition Classes
    Parser
  55. lazy val letrecexpr: PackratParser[Expr]

    Definition Classes
    Parser
  56. lazy val letrecstmt: PackratParser[Stmt]

    Definition Classes
    Parser
  57. lazy val letstmt: PackratParser[Stmt]

    Parse toplevel statements

    Parse toplevel statements

    Definition Classes
    Parser
  58. lazy val liter: Parser[Expr]

    Literals, identifiers, keywords and other atomic phrases

    Literals, identifiers, keywords and other atomic phrases

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

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

    Definition Classes
    Parsers
  61. def main(args: Array[String]): Unit

  62. lazy val matchclause: PackratParser[MatchClause]

    Definition Classes
    Parser
  63. lazy val matchexpr: PackratParser[Expr]

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

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

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

    Definition Classes
    Parser
  67. final def ne(arg0: AnyRef): Boolean

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

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

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

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

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

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

    Precedence based infix expression parsers.

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

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

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

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

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

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

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

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

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

    Definition Classes
    Parser
  82. def phrase[T](p: Parser[T]): PackratParser[T]

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

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

    Primitives

    Primitives

    Definition Classes
    Parser
  85. implicit def regex(r: Regex): Parser[String]

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

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

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

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

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

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

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

    Identifiers - keywords and names.

    Identifiers - keywords and names.

    Definition Classes
    Parser
  93. lazy val returnexpr: PackratParser[Expr]

    Parse return expressions

    Parse return expressions

    Definition Classes
    Parser
  94. def skipWhitespace: Boolean

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

    Top level parsers

    Top level parsers

    Definition Classes
    Parser
  96. def stringLiteral: Parser[String]

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

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

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

    Definition Classes
    Parser
  100. lazy val term2: PackratParser[Expr]

    Definition Classes
    Parser
  101. lazy val term3: PackratParser[Expr]

    Definition Classes
    Parser
  102. lazy val term4: PackratParser[Expr]

    Definition Classes
    Parser
  103. lazy val throwtoexpr: PackratParser[Expr]

    Definition Classes
    Parser
  104. def toString(): String

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

    Definition Classes
    Parser
  106. val unreachable: (MatchClause) ⇒ Boolean

    Check for match clauses which are unreachable because they are preceeded by a clauses which match any value.

    Check for match clauses which are unreachable because they are preceeded by a clauses which match any value.

    Definition Classes
    SemanticAnalysis
  107. lazy val valexpr: PackratParser[Expr]

    References.

    References.

    Definition Classes
    Parser
  108. lazy val variable: Parser[Variable]

    Definition Classes
    Parser
  109. final def wait(): Unit

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

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

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

    Parse while expression

    Parse while expression

    Definition Classes
    Parser
  113. val whiteSpace: Regex

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

    Definition Classes
    JavaTokenParsers

Inherited from CodeGenerator

Inherited from SemanticAnalysis

Inherited from Parser

Inherited from PackratParsers

Inherited from JavaTokenParsers

Inherited from RegexParsers

Inherited from Parsers

Inherited from AnyRef

Inherited from Any