Next: Sanitizer
Up: The kernel language
Previous: The kernel language
  Contents
Typically, upon being read, an Expression will be:
- ``name-sanitized''--in the context of a Sanitizer
to discriminate between local names and global names, and establish
pointers from the local variable occurrences to the abstraction that
introduces them, and from global names to entries in the global symbol
table;
- type-checked--in the context of a TypeChecker
to discover whether it has a type at all, or several possible ones (only
expressions that have a unique unambiguous type are further processed);
- ``sort-sanitized''--in the context of a
Sanitizer to discriminate between those local variables that
are of primitive Java types (int or double) or of
Object type (this is necessary because the set-up means to use
unboxed values of primitive types for efficiency reasons); this second
``sanitization'' phase is also used to compute offsets for local names
(i.e., so-called de Bruijn indices) for each type sort;
- compiled--in the context of a Compiler to
generate the sequence of instructions whose execution in an appropriate
runtime environment will evaluate the expression;
- executed--in the context of a Runtime to
execute its sequence of instructions.
Subsections
Next: Sanitizer
Up: The kernel language
Previous: The kernel language
  Contents
Hassan Ait Kaci
2002-05-26