Ссылки на доменную структуру осуществляются
Ссылки на доменную структуру осуществляются по имени функтора.
В одном объявлении можно описать несколько альтернативных вариантов структуры, разделяя варианты точкой с запятой или служебным словом
or.
310
Примеры объявления структур:
domains
d1,d2,d3=symbol
fr=fruits(d1,d2,d3); pot(d1)
Раздел описания предикатов
predicates содержит перечень предикатов пользователя, используемых в программе. Описание предиката содержит имя предиката и список доменов его аргументов:
(,...)
Здесь ,...- имена стандартных доменов или имена доменов, объявленных в разделе
domains.
Один и тот же предикат может иметь различное число аргументов, такие предикаты объявляются для каждого варианта отдельно. В программе допускается использовать не более 300 предикатов, число аргументов у предиката не должно превышать 50.
Примеры объявления предикатов:
predicates
add(integer,integer,integer)
Ik(fr)
Ik(d1,d2)
В разделе
database описываются предикаты динамической базы данных. Перечисленные здесь предикаты после подстановки в них вместо переменных констант (т.е. превращения их в факты) могут быть помещены и, если потребуется, удалены во время выполнения программы в динамическую базу данных. Делается это с помощью стандартных (встроенных в систему) предикатов: assert, asserta, assertz, consult, retract, retractall. В программе можно использовать несколько разделов
database, при этом каждому из них можно назначить уникальное имя. Если имя разделу
database не назначено, компилятор по умолчанию назначает имя
dbasedom.
Раздел
database имеет следующий формат:
database [-]
dbpred1(...)
dbpred2(...)
В разделе
clauses описываются утверждения, каждое из которых является правилом или фактом. В конце каждого утверждения ставится точка.
Факт состоит из имени предиката и заключенного в скобки списка аргументов - констант.
Правило состоит из заголовка - предиката, объявленного в разделе
predicates, за которым следует сперва двоеточие с дефисом (:-), а затем список вызовов предикатов (пользовательских и/или стандартных), разделенных запятыми или точками с запятой.
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий