В Паскале имеется стандартное условие EOF, которое позволяет узнать, есть ли возможность считать еще какие-то данные из файла. EOF принимает значение TRUE, если курсор находится за последним элементом данных (например за маркером конца последней строки в текстовом файле), в иных случаях EOF принимает значение FALSE. Для файла F1 условие записывается как EOF(F1). Например, если F1 содержит одну строку, EOF будет принимать следующие значения:
Ch
F1
EOF
READ(Ch)
READ(Ch)
?
A
¨
A/
A/
A/_
FALSE
FALSE
TRUE
Необходимо заметить, что различные реализации Паскаль-машины по разному интерпретируют символ конца строки и стоящие перед ним пробелы. Некоторые реализации, например, удаляют все пробелы, которые встречаются между последним не пробелом и концом строки, символ конца строки также может заменяться или не заменяться на пробел.
Таким образом мы не вполне можем контролировать эту ситуацию, в зависимости от реализации Паскаль-машины, пробелы в конце строки могут пропадать или наоборот появляться.
Идентификатором типа TEXT является <идентификатор> описанный в разделе объявлений имеющий <тип> TEXT. Если идентификатор типа TEXT появляется в <выражении WRITE> или в <выражении READ>, он должен стоять первым в <списке идентификаторов> или <списке вывода>. Идентификатор типа TEXT, иной чем INPUT или OUTPUT должен быть описан в <объявлениях>. Только идентификаторы типа TEXT, исключая INPUT и OUTPUT, могут появляться внутри выражений RESET и REWRITE. Только идентификаторы типа TEXT, к которым было применено выражение RESET, могут появляться в <условиях> EOF и EOLN.