org.kiama.example.iswim.compiler

Syntax

object Syntax

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Syntax
  2. AnyRef
  3. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Type Members

  1. case class And(l: Expr, r: Expr) extends Expr with Product with Serializable

  2. case class Apply(f: Expr, e: Expr) extends Expr with Product with Serializable

  3. case class Assign(r: Expr, e: Expr) extends Expr with Product with Serializable

  4. case class Binding(v: Variable, e: Expr) extends Iswim with Product with Serializable

    Binding Constructs

  5. case class Block(es: List[Expr]) extends Expr with Product with Serializable

    Blocks

  6. case class BoolVal(b: Boolean) extends Expr with Product with Serializable

    Boolean Expressions

  7. case class CallCC(e: Expr) extends Expr with Product with Serializable

    Continuations

  8. case class Divide(l: Expr, r: Expr) extends Expr with Product with Serializable

  9. case class Empty() extends Expr with Product with Serializable

    Records / Tuples

  10. case class Equal(l: Expr, r: Expr) extends Expr with Product with Serializable

    Integer Comparisons

  11. sealed abstract class Expr extends Iswim

  12. case class ExprStmt(e: Expr) extends Stmt with Product with Serializable

    A simple statement which simply computes a value

  13. case class Greater(l: Expr, r: Expr) extends Expr with Product with Serializable

  14. case class GreaterEq(l: Expr, r: Expr) extends Expr with Product with Serializable

  15. case class If(e: Expr, thn: Expr, els: Expr) extends Expr with Product with Serializable

    Conditionals and Loops

  16. case class Import(fn: String) extends Stmt with Product with Serializable

    Import statement (not used at the moment)

  17. abstract class Iswim extends Attributable with Positioned

    In essence, all program clauses in ISWIM are expressions.

  18. case class IswimProg(bds: List[Stmt]) extends Iswim with Product with Serializable

    A complete ISWIM program

  19. case class Lambda(par: Variable, body: Expr) extends Expr with Product with Serializable

    Function Definition and Application

  20. case class Less(l: Expr, r: Expr) extends Expr with Product with Serializable

  21. case class LessEq(l: Expr, r: Expr) extends Expr with Product with Serializable

  22. case class Let(bind: List[Binding], body: Expr) extends Expr with Product with Serializable

  23. case class LetRec(bind: List[Binding], body: Expr) extends Expr with Product with Serializable

  24. case class LetRecStmt(bind: List[Binding]) extends Stmt with Product with Serializable

  25. case class LetStmt(bind: List[Binding]) extends Stmt with Product with Serializable

  26. case class Match(ctrl: Expr, clauses: List[MatchClause]) extends Expr with Product with Serializable

  27. case class MatchClause(p: Pattern, e: Expr) extends Iswim with Product with Serializable

  28. case class Minus(l: Expr, r: Expr) extends Expr with Product with Serializable

  29. case class MkRef(e: Expr) extends Expr with Product with Serializable

    References

  30. case class Negate(e: Expr) extends Expr with Product with Serializable

  31. case class Not(e: Expr) extends Expr with Product with Serializable

  32. case class NotEqual(l: Expr, r: Expr) extends Expr with Product with Serializable

  33. case class NumVal(i: Int) extends Expr with Product with Serializable

    Integer Expressions

  34. case class Or(l: Expr, r: Expr) extends Expr with Product with Serializable

  35. case class Pattern(ns: List[Variable]) extends Iswim with Product with Serializable

  36. case class Plus(l: Expr, r: Expr) extends Expr with Product with Serializable

  37. case class Primitives(nms: List[Variable]) extends Stmt with Product with Serializable

    In my original Haskell implementation of ISWIM the following were implemented as builtin primitives:

  38. case class Remainder(l: Expr, r: Expr) extends Expr with Product with Serializable

  39. case class Return(res: Expr) extends Expr with Product with Serializable

  40. sealed abstract class Stmt extends Iswim

  41. case class StringVal(s: String) extends Expr with Product with Serializable

    String literals.

  42. case class ThrowTo(e: Expr, c: Expr) extends Expr with Product with Serializable

  43. case class Times(l: Expr, r: Expr) extends Expr with Product with Serializable

  44. case class Tuple(fields: List[Expr]) extends Expr with Product with Serializable

  45. case class Val(e: Expr) extends Expr with Product with Serializable

  46. case class Variable(s: String) extends Expr with Product with Serializable

    Variable Identifiers

  47. case class While(ctrl: Expr, body: Expr) extends Expr with Product with Serializable

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

    Definition Classes
    Any
  7. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  8. final def eq(arg0: AnyRef): Boolean

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

    Definition Classes
    AnyRef → Any
  10. def finalize(): Unit

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

    Definition Classes
    AnyRef → Any
  12. def hashCode(): Int

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

    Definition Classes
    Any
  14. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  15. final def notify(): Unit

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

    Definition Classes
    AnyRef
  17. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  18. def toString(): String

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

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws()

Inherited from AnyRef

Inherited from Any

Ungrouped