Static-environments
Static environments of Leo.
The static semantic requirements on Leo constructs
(expressions, statements, etc.)
are checked in the context of information (e.g. types) about
entities in scope that can be referenced in the constructs being checked.
This information is captured by the notion of static environment,
which is formalized here.
In compiler terminology, these are symbol tables.
Fixtype names defined here include parts sinfo and senv,
which stand for `static information' and `static environment'.
Subtopics
- Var/const-sinfo
- Fixtype of static information for variables and constants.
- Ident-sinfo
- Fixtype of static information for identifiers.
- Function-sinfo
- Fixtype of static information for functions.
- Var/const-sinfo-option
- Fixtype of optional static information for variables and constants.
- Struct-sinfo-option
- Fixtype of optional static information for struct types.
- Struct-sinfo
- Fixtype of static information about struct types.
- Ident-sinfo-option
- Fixtype of optional static information for identifiers.
- Function-sinfo-option
- Fixtype of optional static information about functions.
- Senv-option
- Fixtype of optional static environments.
- Add-var/const-sinfo
- Add information about a variable or constant to a static environment.
- Add-ident-sinfo
- Add information about an identifier to a static environment.
- Senv
- Fixtype of static environments.
- Add-struct-sinfo
- Add information about a struct type to a static environment.
- Add-function-sinfo
- Add information about a function to a static environment.
- Get-var/const-sinfo
- Retrieve information about a variable or constant
from a static environment.
- Get-struct-sinfo
- Retrieve information about a struct type from a static environment.
- Get-function-sinfo
- Retrieve information about a function from a static environment.
- Ident-senv
- Fixtype of static environments for identifiers.
- Get-ident-sinfo
- Retrieve information about an identifier from a static environment.
- Senv-result
- Fixtype of errors and static environments.
- Var/const-sinfo-list
- Fixtype of lists of static information for variables and constants.
- Init-senv
- Initialize a static environment.