Operator identification (also called overload resolution) is the process of determining the type of value yielded by each expression in the program.
This process depends on the type system of the language.
The formal description of the type system given in Section 4.1 results in a database of relationships among types and operators that can be used by a standard set of computational roles to implement operator identification.
Each of the basic type identifiers appearing in Section 4.1.1 denotes a definition table key that has the OilType property. The value of the OilType property is the corresponding type in the operator identification database. Section 4.1.1 defines only one database type for a C derived type: void*. All other C derived types are considered program-dependent and must be added to the database by computations over the abstract syntax tree. These computations are discussed in Section .