62
9.2. Директивы с параметром
Если выполнена директива Y-, то фрагмент будет интерпретирован в качестве
последовательности:
комментарий
 ") writeln; {"
оператор 
     readln;
комментарий
        "*"
Если выполнена директива Y+, то фрагмент будет интерпретирован в качестве
последовательности:
комментарий
         (*)
оператор 
     writeln;
комментарий
"*) readln; {*"
Таким образом директива позволяет осуществить условную компиляцию типа:
{$ifOpt Y+} ... {$else} ... {$endif}
При использовании условной компиляции этого вида нужно быть осторожными
при составлении комментария, заключенного в (*), {*) и {*}.
иегче всего запоминатюся следующие правила:
*
в первой части условной компиляции (заключенной в (*) и {*) или в (*) и (*))
можно использовать комментарий, заключенный только в фигурных скобках
{ };
*
во второй части условной компиляции (заключенной в {*) и {*}), можно
использовать комментарий, заключенный только в комментарных скобках
(* и *).
9.2. Директивы с параметром
В настоящей реализации UniPascal-я директивы этого вида только две - для
связывания с внешними процедурами (LINK) и для включения в исходный файл
дополнительного файла (INCLUDE). Директивы описываются следующим
синтаксическим правилом:
{$L <полное_имя_связываемого_файла>}
{$I <полное_имя_включаемого_файла>}
9.2.1. Включение файла в текст программы (INCLUDE)
Имя файла, которого необходимо включить в исходный файл программы,
должно быть полным, т.е. компилятор не вставляет автоматически суффикс в имени
файла. При применении директивы включения дополнительного файла следует
соблюдать следующие ограничения:
*
вложение директивы допускается до четвертого уровня;
*
тело каждой процедуры и функции должно находиться полностью в одном
файле;
*
один комментарий должен находиться полностью в одном файле.
9.2.2. Задание файла для связывания (LINK)
При связывании внешних процедур компилятор должен знать с какого файла он
можеть взять генерированный ассемблером код. Файл указывается при помощи
директивы (*$L filename *). Имя файла должно быть задано полностью, т.е. компилятор
не добавляет по умолчанию никакого суффикса. При применении этой директивы
следует соблюдать следующие ограничения:
<<  <  GO  >  >>

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