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

Ссылочные типы и массив trail

Поскольку применение ссылочных типов вызывает ряд дополнительных

проверок, применение ссылочных типов вызывает некоторое увеличение време-

ни выполнения программы. Однако, применение ссылочных типов облегчает ре-

шение целого ряда задач, и поэтому в Турбо Прологе существуют средства

для уменьшения этого времени.

При объявлении ссылочных типов в Турбо Прологе используется массив

trail. Массив trail используется для запоминания ссылочных переменных.

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

Турбо Прологе выполняется перезапись ссылочной записи. При работе с обыч-

ными типами значения передаются с помощью параметров. Вы можете изменить

размер массива Trail с помощью директивы компилятора trail, а также с по-

мощью команды O/C//Trail Array из меню системы.

Поскольку все переменные относящиеся к одному и тому же типу обраба-

тываются одинаково, то объявление какого-нибудь базового типа в качестве

ссылочного является не самым удачным решением. Например, в следующем

фрагменте программы тип refinteger объявляется как ссылочный тип для це-

лого типа. При каждом появлении типа refinteger он будет обрабатываться

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

менные целого типа.

domains

refinteger = reference integer

predicates

p(refinteger)

clauses

p(_).