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 > >>
Вернуться к началу сайта