is packed, and has a component tyr'~ that either is the same type as the component type of T or else, i I ,; contains another component conformant array schema, is a COI' formant type derived through the component schema from the component type of T. The bound identifiers introduced in the ind,'x type specification denote the smallest and largest values of the index type of the conform ant type. 

## 11.4. Predeclared Procedures 

11.4.1. File handling procedures. There are several predeclared procedures that are specifically defi ned for use with textfiles. These are described in detail in Section 12. The following procedures operate on any file variable f (see Sections 6A.2 and 7.4). 

Rewr it e ( f) causes f to ha\ e an empty sequence and to be in generation mode. 

Put (f) is an error if f i:-. undefined or is not in generation mode, or ifthe buffel variable fi is undefined. Appends the value of ff to th,,' end of the sequence of f. 

Reset (f) causes f to be pl.lced in inspection mode, and the position in its sequen,:e becomes the first position. If the sequence is empty. ' (' f ( f) becomes true and ff becomes totally undefined; otherwise, eaf (f) becomes false and . i takes on the value of the first component of the sequence. 

Get(f) is an error if f i-; undefined or if eaf (f) is true. Causes the position I n the sequence to be advanced to the next component, r any, and ff to take on its value; if no next component e ·,ists, eaf (f) becomes true and fi becomes totally undl'l'incd. 

In each of the following definiti< lIS. all occurrences of f denote the same file non-text file variable, the ~ymbols v, vl, ... , vn represent variables, and e, e 1, ... , en rep' 'sent expressions. Note that the variables v, vl, ... , and vn are n· It actual variable parameters, and thus they may be components of pal k.ed arrays or records. Read and Write oftextfiles are defined in Sel:tion 12. 

