trait SymbolTable extends L3.SymbolTable
- Alphabetic
- By Inheritance
- SymbolTable
- SymbolTable
- SymbolTable
- SymbolTable
- Environments
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
-
trait
Builtin
extends Named
Marker trait for all built-in entities.
Marker trait for all built-in entities.
- Definition Classes
- SymbolTable
-
case class
BuiltinType
(ident: String) extends Type with Named with Builtin with Product with Serializable
A built-in type with an implicit definition that the compiler must have special knowledge about.
A built-in type with an implicit definition that the compiler must have special knowledge about. This mechanism is necessary since the built-in types cannot be defined using source concepts.
- Definition Classes
- SymbolTable
-
case class
Constant
(ident: String, decl: ConstDecl) extends Entity with NamedEntity with Product with Serializable
A user-defined constant entity represented by a constant declaration.
A user-defined constant entity represented by a constant declaration.
- Definition Classes
- SymbolTable
-
case class
IntegerValue
(ident: String, tipe: Type, value: Int) extends Entity with NamedEntity with Builtin with Product with Serializable
A built-in value of some type that is represented by a particular integer value.
A built-in value of some type that is represented by a particular integer value. The type does not have to be INTEGER. In other words, this value cannot be defined using a constant declaration so the compiler has to have special knowledge of them.
- Definition Classes
- SymbolTable
-
case class
Module
(ident: String, decl: ModuleDecl) extends Entity with NamedEntity with Product with Serializable
A user-defined module represented by a module declaration.
A user-defined module represented by a module declaration.
- Definition Classes
- SymbolTable
-
abstract
class
Type
extends Entity
An entity representing by a user-provided type declaration.
An entity representing by a user-provided type declaration.
- Definition Classes
- SymbolTable
-
case class
UserType
(ident: String, tipe: TypeDecl) extends Type with Named with Product with Serializable
A user-defined type.
A user-defined type.
- Definition Classes
- SymbolTable
-
case class
Variable
(ident: String, tipe: TypeDef) extends Entity with NamedEntity with Product with Serializable
A variable entity including a reference to its types' definition.
A variable entity including a reference to its types' definition.
- Definition Classes
- SymbolTable
-
case class
BuiltinProc
(ident: String, params: Seq[ParamInfo]) extends Entity with NamedEntity with Builtin with Product with Serializable
A built-in procedure with its parameter information.
A built-in procedure with its parameter information.
- Definition Classes
- SymbolTable
-
case class
ParamInfo
(mode: Mode, ident: String, tipe: SymbolTable.Type) extends Product with Serializable
Information about a particular parameter.
Information about a particular parameter. Similar to Parameter but the type has been replaced with its definition.
- Definition Classes
- SymbolTable
-
case class
Parameter
(mode: Mode, varr: SymbolTable.Variable) extends Entity with NamedEntity with Product with Serializable
A parameter is a variable augmented with a passing mode.
A parameter is a variable augmented with a passing mode.
- Definition Classes
- SymbolTable
-
case class
Procedure
(ident: String, decl: ProcDecl) extends Entity with NamedEntity with Product with Serializable
A procedure entity represented by a procedure declaration.
A procedure entity represented by a procedure declaration.
- Definition Classes
- SymbolTable
-
case class
ArrayType
(size: Int, elemtype: SymbolTable.Type) extends Type with Product with Serializable
An array type with the given size and element type.
An array type with the given size and element type. Setting size to zero and elemtype to the unknown type means an arbitrary array type.
-
type
Environment = List[Scope]
- Definition Classes
- Environments
-
case class
Field
(ident: String, tipe: SymbolTable.Type) extends Entity with Product with Serializable
A record field.
-
trait
Named extends AnyRef
- Definition Classes
- Environments
-
trait
NamedEntity extends Entity with Named
- Definition Classes
- Environments
-
case class
RecordType
(fields: Seq[Field]) extends Type with Product with Serializable
A record with the given fields.
-
type
Scope = Map[String, Entity]
- Definition Classes
- Environments
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
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
lazy val
booleanType: BuiltinType
Built-in Boolean type.
Built-in Boolean type.
- Definition Classes
- SymbolTable
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
def
defenv: Environment
The default environment.
The default environment.
- Definition Classes
- SymbolTable
-
def
defenvPairs: Seq[(String, Entity)]
The default environment with pre-defined procedures added.
The default environment with pre-defined procedures added.
- Definition Classes
- SymbolTable → SymbolTable
-
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
-
lazy val
falseConstant: IntegerValue
Built-in false constant.
Built-in false constant.
- Definition Classes
- SymbolTable
-
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
hasField(t: Type, f: String): Boolean
Is a given type a record type containing a field called f?
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
-
lazy val
integerType: BuiltinType
Built-in integer type.
Built-in integer type.
- Definition Classes
- SymbolTable
-
def
isArray(e: Entity): Boolean
Return true if the entity is erroneous or is an array.
-
def
isBoolean(e: Type): Boolean
Return true if the given type is Boolean or an unknown type.
Return true if the given type is Boolean or an unknown type.
- Definition Classes
- SymbolTable
-
def
isConstant(e: Entity): Boolean
Return true if the entity is erroneous or is a constant.
Return true if the entity is erroneous or is a constant.
- Definition Classes
- SymbolTable
-
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
-
def
isError(e: Entity): Boolean
Return true if the entity is an error, false otherwise.
Return true if the entity is an error, false otherwise.
- Definition Classes
- SymbolTable
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
isInteger(e: Type): Boolean
Return true if the given type is integer or an unknown type.
Return true if the given type is integer or an unknown type.
- Definition Classes
- SymbolTable
-
def
isModule(e: Entity): Boolean
Return true if the entity is erroneous or is a module.
Return true if the entity is erroneous or is a module.
- Definition Classes
- SymbolTable
-
def
isNotArray(e: Entity): Boolean
Return true if the entity is erroneous or is not an array.
-
def
isNotRecord(e: Entity): Boolean
Return true if the entity is erroneous or is not a record.
-
def
isRecord(e: Entity): Boolean
Return true if the entity is erroneous or is a record.
-
def
isType(e: Entity): Boolean
Return true if the entity is erroneous or is a type.
Return true if the entity is erroneous or is a type.
- Definition Classes
- SymbolTable
-
def
isVariable(e: Entity): Boolean
Parameters are variables too.
Parameters are variables too.
- Definition Classes
- SymbolTable → SymbolTable
-
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
-
lazy val
readProc: BuiltinProc
The built-in Read procedure.
The built-in Read procedure.
- Definition Classes
- SymbolTable
-
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
-
lazy val
trueConstant: IntegerValue
Built-in true constant.
Built-in true constant.
- Definition Classes
- SymbolTable
-
lazy val
unknownType: BuiltinType
A type that is unknown, eg because the typed thing is erroneously defined.
A type that is unknown, eg because the typed thing is erroneously defined.
- Definition Classes
- SymbolTable
-
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( ... )
-
lazy val
writeProc: BuiltinProc
The built-in Write procedure.
The built-in Write procedure.
- Definition Classes
- SymbolTable
-
lazy val
writelnProc: BuiltinProc
The built-in WriteLn procedure.
The built-in WriteLn procedure.
- Definition Classes
- SymbolTable