54
9.1. Превключваеми директиви
9. Компилация и управление на компилацията
Compilation =
Program | Unit | InterfaceUnit | ImplmntUnit.
Компилаторът от UniPascal може да компилира следните обекти (Compilation),
които са в съответствие със синтаксиса на UniPascal:
*
програма
(Program);
*
модул
(Unit);
*
модул-описание
(InterfaceUnit);
*
модул-реализация
(ImplmntUnit).
Някои от възможностите на UniPascal се управляват чрез така наречените
директиви на компилатора. Директивите на компилатора се записват като коментар със
специален синтаксис:
CompilerOption =
'{$' directive '}' | '(*$' directive '*)'.
Както се вижда от синтактичното правило, това е коментар, започващ със знака
'$', последван от директивата (една директива, а не няколко). Всяка директива трябва
да бъде записана изцяло на един ред.
Въпреки че всички реализации на Pascal използват този синтаксис за управление
на работата на компилатора, всички те се различават в по-голямата си част по
директивите си. Някои от тях (например UCSD) просто игнорират директива, която не
'познават', други (като Turbo Pascal) съобщават за грешка в този случай, а трети (в това
число UniPascal) само предупреждават потребителя за това.
Повечето директиви се състоят от една буква, последвана непосредствено (без
интервали) от знака + или -, като по този начин се включва или изключва съответната
възможност на компилатора. Такива директиви ще бъдат наричани превключваеми. За
тях е направено малко изключение по отношение на синтаксиса на записване, като той
е малко по-свободен. В случая се има в предвид това, че ако трябва да се превключат
няколко възможности едновременно, не е нужно да се изписват толкова управляващи
коментара, колкото са те. Достатъчно е да се напишат в един коментар, но трябва да
бъдат разделени със запетаи. Всички символи след последния превключвател се
приемат за коментар. Ако в някоя от директивите е допусната грешка (или директивата
не съществува в UniPascal), всички останали директиви след нея се игнорират.
Другият вид директиви са тези, които след еднобуквения спецификатор на
директивата очакват параметър (отделен с поне един интервал).
Последният вид директиви са тези, свързани с условната компилация. При тях
след знака '$' следва една от специалните думи, евентуално последвана от параметър
(виж глава "Условна компилация").
9.1. Превключваеми директиви
В дадения по-долу списък на превключваемите директиви (подреден по азбучен
ред) след името (буквата) на директивата е поставен знак + или - в зависимост от
стойността на ключа по премълчаване. Например (*$I+*) означава, че директивата I е
включена по премълчаване.
9.1.1. Проверка на резултата на вход/изхода (*$I+*)
Този ключ разрешава (+) или забранява (-) генерацията на код за проверка на
резултата от входно/изходните операции. Ако е изключен, то програмата продължава
изпълнението си при входно/изходна грешка. Предполага се, че програмистът е взел
необходимите мерки в програмата си.
<<  <  GO  >  >>

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