60
9.1. Переключающие директивы
   Statement }
'end' ident.
Как видно, уже нет необходимости в составном операторе (BEGIN ... END).
июбой сложный оператор заканчивается словом END. Оператор REPEAT UNTIL не
изменяется, но присутствует для полноты описания. Кроме изменения синтаксиса
использование директивы (*$M+*) приводит и к использованию нового
зарезервированного слово ELSIF. И последнее изменение: за зарезервированным
словом END в конце тело процедуры, функции, модуля или программы должно стоять
имя (идентификатор) процедуры, функции, модуля или программы, соответственно,
т.е. изменяется синтаксическое описание блока.
9.1.3. Включение Modula-2 расширения или проверки имен (*$N-*)
Эта директива используется, обычно, в выключенном состоянии. При
включенном состоянии предлагаются две возможности, которые выбираются
состоянием переключателя M:
*
при выключенном состоянии переключателя M компилятор требует, что в
конце процедуры (функции) ее идентификатор следовал за словом END.
Остальные операторы имеют присущий языку Pascal-я синтаксис;
*
при включенном состоянии переключателя M компилятор считает, что
правилен синтаксис, введенный переключателем (*$M+*) и, кроме того, он
требует, что за каждым словом END стояло зарезервированное слово, с
которого начинается сложный оператор.
Например:
{$N+,M-}
{$N+,M+}
procedure TEST; 
procedure TEST;
begin 
begin
if EOF then begin 
  if EOF then
writeln('EOF'); 
    writeln('EOF');
end { if }; 
  end if;
end TEST; 
end TEST;
9.1.4. Автоматическая упаковка (*$P-*)
При включенном состоянии компилятор рассматривает как упакованные все
массивы и записи. При выключенном состоянии компилятор рассматривает как
упакованные только те массивы и записи, описания которых содержат
зарезервированное слово PACKED.
9.1.5. Молчаливая компиляция (*$Q-*)
При выключенном состоянии переключателя компилятор сопровождает каждое
сообщение об ошибке звуковым сигналом, а при включенном не сопровождает
("работает молча").
<<  <  GO  >  >>

Вернуться к началу сайта