xtc's representation of types. This package defines a hierarchy of type classes, representing types of the C, Java, and ML programming languages as well as pseudo-types to help with type-checking programs. In particular: These type classes are complemented by a common interface for all {@link xtc.type.Tagged tagged types} (structs, unions, and enums) and for all {@link xtc.type.Constant constant-valued types} (enumerators and the ConstantT pseudo-type).

To model the memory shape of lvalues, this package also defines a separate hierarchy of references: