(a) Read(vI, ... ,vn) isequivalenttoRead(g,vl, ... ,vn), where g denotes the textfile program parameter Input. 

(b) Read (f, vI, ... , vn) is equivalent to the statement begin Read(f,vI); ... ;Read(f,vn) end where all occurrences of f denote a single variable. 

(c) Read ( f, v) is an error if f is undefined or if f in not in inspection mode or if eof (f) is true. The effect of Read (f, v) depends on the type of v. 

12.1.1. Char Read. Read (f, v), where v denotes a variable possessing a type that is compatible with type Char, is equivalent to assignment of a value to v followed by Get (f). The value assigned is either the character at the current position of f or the value of ft, the choice being implementation-dependent. (These two values are the same except following explicit assignments to ft.) If eoln (f) is true before Read ( f, v) , then the character at the current file position is' , (blank) . 

12.1.2. Integer Read Read (f, v), where v denotes a variable possessing a type compatible with type Integer, implies the reading from f of a sequence of characters which form a Signedlnteger (see Section 4) and the assignment of the denoted integer value to v. The value must be assignment-compatible with the type of v. Preceding spaces and end-of-line markers are skipped. It is an error if the signed integer is not found. 

12.1.3. Real Read. Read (f, v) , where v denotes a variable possess­ ing the type Real, implies the reading from f of a sequence of charac­ ters which form a SignedNumber (see Section 4) and the assignment of the denoted real value to v. Preceding spaces and end-of-line markers are skipped. It is an error if the signed number is not found. 

## 12.2 Readln 

Let f denote a textfile, and let vI, ... , vn denote variables of type Char or Integer (or subrange of either), or Real. 

ReadIn(vI, ... ,vn) is equivalent to ReadIn(g,vI, ... ,vn), and 

ReadIn is equivalent to ReadIn (g), where g denotes the textfile program parameter Input. 

ReadIn (f, vI, ... , vn) is equivalent to the statement 

begin Read(f,vI, ... ,vn); ReadIn(f) end 

