9. Компиляция и управление компиляцией
59
9.1.1. Проверка результата ввода/вывода (*$I+*)
Если генерация кода проверки результата выполнения операции ввода/вывода
выключена, выполнение программы будет продолжено независимо от результата
операции. Предполагается, что программист сам принял необходимые меры анализа
хода выполнения программы.
При включенной генерации кода для проверки операций ввода/вывода,
применение функции IOresult бессмысленно, потому что в случае ошибки выполнение
программы будет остановлено до выполнения функции.
9.1.2. Modula-2 в UniPascal-е (*$M-*)
Этой директивой можно настроить компилятор так, чтобы он принимал Modula-
2 подобные операторы. При выключенном состоянии компилятор будет допускать
только операторы, описанные до сих пор. При включенном состоянии компилятор
считает, что входной поток содержит операторы, принадлежащие языку, подобному
Modula-2. Здесь даются только синтаксические определения операторов UniPascal-я при
включенном состоянии директивы (*$M+*).
StatementList =
Statement {';' Statement }.
IfStatement =
'if' Expression 'then'
   StatementList {
'elsif' Expression 'then'
   StatementList } [
'else'
   StatementList ]
'end'.
CaseStatement =
'case' Selector 'of'
  ['|']{ CnstList ':' StatementList '|'}
['else' ':' StatementList ]
'end'.
WhileStatement =
'while' Expression 'do'
   StatementList
'end'.
RepeatStatement =
'repeat' Statemen {';'
   Statement }
'until ' Expression.
ForStatement =
'for' Variable ':=' Expression ('to'| 'downto') Expression
'do'
 StatementList
 'end'.
WithStatement =
'with' VariableRef {',' VariableRef } 'do'
    StatementList
'end'.
Block =
[ Declarations ]
'begin'
   Statement { ';'
<<  <  GO  >  >>

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