Определение 5.2. Синтаксис конструктора deftemplate

(deftemplate <имя-шаблона>[<необязательные-комментарии>] [<определение-слота>*])

<определение-слота>::= <определение-простого-слота>|<определение-составного-слота>

<определение-простого-слота>::= (slot <имя-поля> <атрибуты-шаблона>)

<определение-составного-слота>::= (multislot <имя-поля> <атрибуты-шаблона>)

<атрибуты-шаблона>::= <атрибут-значение-по-умолчанию>|<атрибут-ограничения>

<атрибут-значение-по-умолчанию>::= (default?DERIVE I?NONE |<Выражение>)|

(default-dynamic <Выражение>)

Заметим еще раз, что имена шаблонов и слотов должны быть значениями типа symbol, кроме того, на имена шаблонов распространяется запрет на использование некоторых слов, зарезервированных системой, перечислен­ных выше.

Комментарии являются необязательными и, как правило, описывают на­значения шаблона. Комментарии необходимо заключать в кавычки. Кроме данного типа комментариев в конструкторе deftempiate также применимы обычные комментарии CLIPS, начинающиеся с символа;. Отличие этих комментариев заключается в том, что комментарии, начинающиеся с сим­вола;, полностью игнорируются системой CLIPS, а комментарии, следую­щие после имени шаблона и заключенные в кавычки, сохраняются в базе знаний системы. Эти комментарии доступны при просматривании опреде­ления шаблона. Определим в среде CLIPS следующий шаблон:


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: