trait SymbolTable extends L0.SymbolTable
- Alphabetic
- By Inheritance
- 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.
-
type
Environment = List[Scope]
- Definition Classes
- Environments
-
trait
Named extends AnyRef
- Definition Classes
- Environments
-
trait
NamedEntity extends Entity with Named
- Definition Classes
- Environments
-
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.
-
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.
-
case class
Procedure
(ident: String, decl: ProcDecl) extends Entity with NamedEntity with Product with Serializable
A procedure entity represented by a procedure declaration.
-
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
hashCode(): Int
- Definition Classes
- AnyRef → Any
-
lazy val
integerType: BuiltinType
Built-in integer type.
Built-in integer type.
- Definition Classes
- SymbolTable
-
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
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.
-
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.
-
lazy val
writelnProc: BuiltinProc
The built-in WriteLn procedure.