next up previous
Next: Operator indications Up: Type Analysis Previous: Analyze declarators

Determining the types yielded by expressions

Operator identification (also called overload resolution) is the process of determining the type of value yielded by each expression in the program.

Instantiate modules[50]:
$/Type/Expression.gnrc :inst
This macro is defined in definitions 29, 49, 50, and 51.
This macro is invoked in definition 3.

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 [*].



Subsections
next up previous
Next: Operator indications Up: Type Analysis Previous: Analyze declarators
2008-08-30