org.kiama.example.iswim.compiler

Syntax

object Syntax extends AnyRef

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Hide All
  2. Show all
  1. Syntax
  2. AnyRef
  3. Any
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. class Expr extends Iswim

    Attributes
    sealed abstract
  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. class Iswim extends Attributable with Positional

    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. class Stmt extends Iswim

    Attributes
    sealed abstract
  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. 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 asInstanceOf [T0] : T0

    Attributes
    final
    Definition Classes
    Any
  7. def clone (): AnyRef

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Attributes
    final
    Definition Classes
    AnyRef
    Annotations
    @throws()

Inherited from AnyRef

Inherited from Any