logo
TurboProlog / Документация / TOM_2

Условная компиляция.

Вы используете условную компиляцию, если вам необходимо сгенериро-

вать различные версии одной и той же программы: например, одну версию,

использующую графику, и другую, использующую только текстовый вид.

Синтаксис директив условной компиляции:

[ifdef\ifndef] <constantID>

...

elsedef

...

enddef

<constantID> представляет собой идентификатор константы, объявленной

в разделе констант. Значение константы роли не играет, важно только ее

присутствие. Директива ifdef завершается успешно, если константа опреде-

лена, в то время как директива infdet завершается успешно, если константа

не определена. Часть elsedef является необязательной. Следующая программа

показывает, как использовать директивы условной компиляции, чтобы скомпи-

лировать программу, которая выводит одно из двух сообщений, зависящих от

того, определена ли константа egagraphic.

constants

egagraphic = 1

/* Заметим, что ifdef должно начинаться в первой колонке */

ifdef egagraphic /* Если egagraphic определена, то

используйте эту цель */

goal

graphics(5, 1,1),

write(" \nEGA Graphics "),

readchar(_).

/*Заметим, что elsedst тоже должно начинаться в первой колонке*/

elsedst /*В другом случае используйте следующую цель*/

goal

graphics(1, 1, 1),

write(" \nEGA Graphics "),

readchar(_).

/*Заметим, что enddet должно начинаться в первой колонке*/

enddet