6.1.3. Subrange types. The set of values determined by a subrange type is a subset of the values of another ordinal type that is called the host type of the subrange type. The subrange type specifies the smallest and the largest value, and includes every value between them. 

SuhrangeType = Constant ...... Constant . 

Both constants must possess the host type. The first constant specifies the smallest value, and must be less than or equal to the second constant which specifies the largest value. 

Examples of suhrange types: 

## 6.2 Structured Types 

l. .N -10 .. +10 Monday .. Friday 

A structured type is characterized by the type(s) of its components and by its structuring method. Moreover, a structured type may contain an indication of the preferred data representation. If a structured type is prefixed with the symbol packed, this has no effect on the meaning of a program (with two exceptions); rather it is a hint to the compiler that storage of values of that type should be economized even at the price of some loss in efficiency of access, and even if this may expand the code necessary for expressing access to components of the structure. The two exceptions are that string types (see Section 6.2.1) are always packed, and that an actual variable parameter (see Section 11.3) must not be a component of a packed structured variable. If a component of a packed structured type also possesses a structured type, the component's type is packed only if the symbol packed is explicitly given in the component's type representation. 

StructuredType = [ "packed" 1 UnpackedStructuredType I StructuredTypeldentifier. UnpackedStructuredType = ArrayType I RecordType I SetType I FileType. StructuredTypeldentiJier = Typeldentifier. 

A structured type identifier is a type identifier that denotes a structured type. 

