org.kiama.example.lambda2

Analysis

object Analysis extends AnyRef

Analyses for typed lambda calculus expressions. A simple free variable analysis plus name and type analysis. There are two versions of the latter here: one (tipe) that constructs an explicit environment separate from the AST, and one (tipe2) that represents names by references to the nodes of their binding lambda expressions.

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Hide All
  2. Show all
  1. Analysis
  2. AnyRef
  3. Any
Visibility
  1. Public
  2. All

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 decl : (Var) ⇒ Option[Lam]

    The declaration (if any) of an identifier use.

  9. val env : (Exp) ⇒ List[(Idn, Type)]

    The environment of an expression is the list of variable names that are visible in that expression and their types.

  10. def eq (arg0: AnyRef): Boolean

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

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

    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  13. val fv : (Exp) ⇒ Set[Idn]

    The variables that are free in the given expression.

  14. def getClass (): java.lang.Class[_]

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

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

    Attributes
    final
    Definition Classes
    Any
  17. def lookup (name: Idn): (Exp) ⇒ Option[Lam]

    For a given variable reference, return the lambda node that binds it if there is one, otherwise return None.

  18. def ne (arg0: AnyRef): Boolean

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

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

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

    Attributes
    final
    Definition Classes
    AnyRef
  22. val tipe : (Exp) ⇒ Type

    The type of an expression.

    The type of an expression. Checks constituent names and types. Uses the env attribute to get the bound variables and their types.

  23. val tipe2 : (Exp) ⇒ Type

    The type of an expression.

    The type of an expression. Checks constituent names and types. Uses the lookup attribute to get the lambda node that binds a name. For other cases it behaves like tipe.

  24. def toString (): String

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

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

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

    Attributes
    final
    Definition Classes
    AnyRef
    Annotations
    @throws()

Inherited from AnyRef

Inherited from Any