## 164 Pascal Report 

IdentifiedVariable = PointerVariable 'j" . PointerVariable = Variable. 

An access to an identified varia )Ie implies an access to the pointer variable, at which time it is an errol if the pointer variable is undefined or has the value nil. It is an errol if an identifying pointer value is destroyed when a reference to the variable that the value identifies exists. 

Examples of identified variables: 

## 7.4. Buffer Variables 

pl1 pll.Fatherj pll.Friends1'1' 

A file variable is a variable that poss,_~sses a file type. Every file variable is associated with a so-called buffer variable. 

BufferVariable = FileVariable "I" . FileVariable = Variable. 

If the file variable possesses the type Text, then the buffer variable possesses the type Char; otherwise the buffer variable possesses the component type of the file type p( Issessed by the file variable. The buffer variable is used to access the current component of the file variable. It is an error to perform an) operation that alters the sequence, position, or mode of a file variabl: when a reference to the buffer variable exists. An access or refere, Ice to a buffer variable implies an access or reference to the associatel! file variable. 

Predeclared procedures and fum! ions that manipulate file variables are described in Sections 11.4, 11.5 aud 12. 

When eoln (F) becomes true j )f textfile F (Section 11.5.2), the buffer variable FI becomes the char value space (, '). Thus eoln (F) is the only way to detect an end-of line marker on F. 

Examples of buffer variables: 

Inputl PlI.Friendsl Pll.Friendsll.Childrenl 

