org.kiama.example.iswim.compiler.Syntax

Primitives

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:

message (string) print a text message to the terminal write (expr) write a text representation of a value to the terminal read () read an integer from the terminal numfields (expr) return the number of fields in a record

In this implementation, we instead intoduce a mechanism for declaring the names of values which we assume will be constructed and pre-loaded into the environment by the the startup pre-amble.

Linear Supertypes
Serializable, Serializable, Stmt, Iswim, Positional, Attributable, Cloneable, Product, Equals, AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Hide All
  2. Show all
  1. Primitives
  2. Serializable
  3. Serializable
  4. Stmt
  5. Iswim
  6. Positional
  7. Attributable
  8. Cloneable
  9. Product
  10. Equals
  11. AnyRef
  12. Any
Visibility
  1. Public
  2. All

Instance Constructors

  1. new Primitives (nms: List[Variable])

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 -> [T, U] (a: (T) ⇒ U)(implicit b: (Primitives.this.type) ⇒ T): U

    Attributes
    final
    Definition Classes
    Attributable
    Annotations
    @inline()
  5. def -> [U] (a: (Primitives.this.type) ⇒ U): U

    Attributes
    final
    Definition Classes
    Attributable
    Annotations
    @inline()
  6. def == (arg0: AnyRef): Boolean

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

    Attributes
    final
    Definition Classes
    Any
  8. def asInstanceOf [T0] : T0

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

    Definition Classes
    Primitives → Equals
  10. def children : Iterator[Attributable]

    Definition Classes
    Attributable
  11. def clone (): Attributable

    Definition Classes
    Attributable → AnyRef
  12. def eq (arg0: AnyRef): Boolean

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

    Definition Classes
    Primitives → Equals → AnyRef → Any
  14. def finalize (): Unit

    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  15. def firstChild [T] : T

    Definition Classes
    Attributable
  16. def getClass (): java.lang.Class[_]

    Attributes
    final
    Definition Classes
    AnyRef → Any
  17. def hasChildren : Boolean

    Definition Classes
    Attributable
  18. def hashCode (): Int

    Definition Classes
    Primitives → AnyRef → Any
  19. var index : Int

    Definition Classes
    Attributable
  20. def initTreeProperties (): Unit

    Definition Classes
    Attributable
  21. def isFirst : Boolean

    Definition Classes
    Attributable
  22. def isInstanceOf [T0] : Boolean

    Attributes
    final
    Definition Classes
    Any
  23. def isLast : Boolean

    Definition Classes
    Attributable
  24. def isRoot : Boolean

    Definition Classes
    Attributable
  25. def lastChild [T] : T

    Definition Classes
    Attributable
  26. def ne (arg0: AnyRef): Boolean

    Attributes
    final
    Definition Classes
    AnyRef
  27. def next [T] : T

    Definition Classes
    Attributable
  28. val nms : List[Variable]

  29. def notify (): Unit

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

    Attributes
    final
    Definition Classes
    AnyRef
  31. def parent [T] : T

    Definition Classes
    Attributable
  32. var parent : Attributable

    Definition Classes
    Attributable
  33. var pos : Position

    Definition Classes
    Positional
  34. def prev [T] : T

    Definition Classes
    Attributable
  35. def productArity : Int

    Definition Classes
    Primitives → Product
  36. def productElement (arg0: Int): Any

    Definition Classes
    Primitives → Product
  37. def productIterator : Iterator[Any]

    Definition Classes
    Product
  38. def productPrefix : String

    Definition Classes
    Primitives → Product
  39. def setPos (newpos: Position): Primitives.this.type

    Definition Classes
    Positional
  40. def synchronized [T0] (arg0: ⇒ T0): T0

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

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

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

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

    Attributes
    final
    Definition Classes
    AnyRef
    Annotations
    @throws()

Deprecated Value Members

  1. def productElements : Iterator[Any]

    Definition Classes
    Product
    Annotations
    @deprecated
    Deprecated

    use productIterator instead

Inherited from Serializable

Inherited from Serializable

Inherited from Stmt

Inherited from Iswim

Inherited from Positional

Inherited from Attributable

Inherited from Cloneable

Inherited from Product

Inherited from Equals

Inherited from AnyRef

Inherited from Any