o

org.kiama.example.obr

SymbolTable

object SymbolTable extends Environments

Symbol table module containing facilities for creating and manipulating Obr language symbol information.

Source
SymbolTable.scala
Linear Supertypes
Environments, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. SymbolTable
  2. Environments
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. case class ArrayType (size: Int) extends Type with Product with Serializable

    An integer array type.

  2. case class BoolType () extends Type with Product with Serializable

    The Boolean type.

  3. case class Constant (tipe: Type, value: Int) extends Entity with Product with Serializable

    A constant integer entity with the given type and value.

    A constant integer entity with the given type and value. Can represent an integer or an enumeration constant.

  4. case class EnumType (ident: Identifier) extends Type with Product with Serializable

    A named enumeration type.

  5. case class EnumTypes () extends TypeBase with Product with Serializable

    The following is not an actual type, but it is compatible with every enumeration type - and so is useful when type checking constructs which must take a value of an arbitrary enumeration type.

  6. type Environment = List[Scope]
    Definition Classes
    Environments
  7. case class ExnType () extends Type with Product with Serializable

    The exception type.

  8. case class IntType () extends Type with Product with Serializable

    The integer type.

  9. trait Named extends AnyRef
    Definition Classes
    Environments
  10. trait NamedEntity extends Entity with Named
    Definition Classes
    Environments
  11. case class RecordType (fields: Seq[Identifier]) extends Type with Product with Serializable

    A record type with the given fields.

  12. case class RecordTypes () extends TypeBase with Product with Serializable

    The following is not an actual type, but it is compatible with every record type - and so is useful when type checking constructs which must take a value of an arbitrary record type.

  13. type Scope = Map[String, Entity]
    Definition Classes
    Environments
  14. abstract class Type extends TypeBase

    All genuine types know how much storage in bytes is needed to store a value of their type.

  15. abstract class TypeBase extends AnyRef

    Superclasses of all type representations.

    Superclasses of all type representations.

    TypeBase provides a method which is used to determine if two types are compatible. If either type is unknown then we assume an error has already been raised elsewhere so we say that such an unknown type is compatible with everything.

  16. case class UnknownType () extends Type with Product with Serializable

    A type that we don't know anything about.

  17. case class Variable (tipe: Type) extends Entity with Product with Serializable

    A variable entity of the given type.

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. val WORDSIZE: Int

    The size in bytes of a word used to store both integer and Boolean values.

  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  7. def define(env: Environment, i: String, e: Entity): Environment
    Definition Classes
    Environments
  8. def enter(env: Environment): Environment
    Definition Classes
    Environments
  9. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  10. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  11. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  12. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
  13. def hashCode(): Int
    Definition Classes
    AnyRef → Any
  14. def isDefinedInEnv(env: Environment, i: String): Boolean
    Definition Classes
    Environments
  15. def isDefinedInInner(env: Environment, i: String): Boolean
    Definition Classes
    Environments
  16. def isDefinedInOuter(env: Environment, i: String): Boolean
    Definition Classes
    Environments
  17. def isDefinedInScope(scope: Scope, i: String): Boolean
    Definition Classes
    Environments
  18. def isDefinedInScope(env: Environment, i: String): Boolean
    Definition Classes
    Environments
  19. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  20. def leave(env: Environment): Environment
    Definition Classes
    Environments
  21. def lookup(env: Environment, i: String, e: Entity, scope: Boolean): Entity
    Definition Classes
    Environments
  22. val nameCounter: Counter
    Definition Classes
    Environments
  23. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  24. final def notify(): Unit
    Definition Classes
    AnyRef
  25. final def notifyAll(): Unit
    Definition Classes
    AnyRef
  26. val prevLocCounter: Counter

    Counter for previously used location.

  27. def reset(): Unit

    Reset the symbol table.

  28. def resetEnvironments(): Unit
    Definition Classes
    Environments
  29. def rootenv(bindings: (String, Entity)*): Environment
    Definition Classes
    Environments
  30. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  31. def toString(): String
    Definition Classes
    AnyRef → Any
  32. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  33. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  34. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Environments

Inherited from AnyRef

Inherited from Any

Ungrouped