object SymbolTable extends Environments
Symbol table module containing facilities for creating and manipulating Obr language symbol information.
- Source
- SymbolTable.scala
- Alphabetic
- By Inheritance
- SymbolTable
- Environments
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
-
case class
ArrayType
(size: Int) extends Type with Product with Serializable
An integer array type.
-
case class
BoolType
() extends Type with Product with Serializable
The Boolean type.
-
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.
-
case class
EnumType
(ident: Identifier) extends Type with Product with Serializable
A named enumeration type.
-
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.
-
type
Environment = List[Scope]
- Definition Classes
- Environments
-
case class
ExnType
() extends Type with Product with Serializable
The exception type.
-
case class
IntType
() extends Type with Product with Serializable
The integer type.
-
trait
Named extends AnyRef
- Definition Classes
- Environments
-
trait
NamedEntity extends Entity with Named
- Definition Classes
- Environments
-
case class
RecordType
(fields: Seq[Identifier]) extends Type with Product with Serializable
A record type with the given fields.
-
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.
-
type
Scope = Map[String, Entity]
- Definition Classes
- Environments
-
abstract
class
Type
extends TypeBase
All genuine types know how much storage in bytes is needed to store a value of their type.
-
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.
-
case class
UnknownType
() extends Type with Product with Serializable
A type that we don't know anything about.
-
case class
Variable
(tipe: Type) extends Entity with Product with Serializable
A variable entity of the given type.
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
val
WORDSIZE: Int
The size in bytes of a word used to store both integer and Boolean values.
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
def
define(env: Environment, i: String, e: Entity): Environment
- Definition Classes
- Environments
-
def
enter(env: Environment): Environment
- Definition Classes
- Environments
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
-
def
isDefinedInEnv(env: Environment, i: String): Boolean
- Definition Classes
- Environments
-
def
isDefinedInInner(env: Environment, i: String): Boolean
- Definition Classes
- Environments
-
def
isDefinedInOuter(env: Environment, i: String): Boolean
- Definition Classes
- Environments
-
def
isDefinedInScope(scope: Scope, i: String): Boolean
- Definition Classes
- Environments
-
def
isDefinedInScope(env: Environment, i: String): Boolean
- Definition Classes
- Environments
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
leave(env: Environment): Environment
- Definition Classes
- Environments
-
def
lookup(env: Environment, i: String, e: Entity, scope: Boolean): Entity
- Definition Classes
- Environments
-
val
nameCounter: Counter
- Definition Classes
- Environments
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
-
val
prevLocCounter: Counter
Counter for previously used location.
-
def
reset(): Unit
Reset the symbol table.
-
def
resetEnvironments(): Unit
- Definition Classes
- Environments
-
def
rootenv(bindings: (String, Entity)*): Environment
- Definition Classes
- Environments
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )