Реферат: Программирование на языке CLIPS
CLIPS> ( reset )
Либо выберите в меню команду Execution=>Reset, либо нажмите <CTRL+U> (последних два варианта возможны в версии, которая работает под Windows).
Затем запустите интерпретатор. Для этого введите эту команду run в командную строку интерпретатора
CLIPS> (run)
Либо выберите в меню команду Execution=>Run, либо нажмите <CTRL+R> (последних два варианта возможны в версии, которая работает под Windows).
В ответ программа должна вывести сообщение hello, world, знакомое всем программистам мира. Для повторного запуска программы повторите команды reset и run.
Если в меню Execution=>Watch ранее был установлен флажок Rules или перед запуском программы на выполнение вы ввели в командную стоку команду watch rules, то на экране появиться результат транссировки процесса выполнения
CLIPS> (run)
FIRE 1 start: f-0
hello, world
В этом сообщении в строке, начинающейся с FIRE, выведена информация об активизированном правиле: start – это имя правила, а f-0 – имя факта, который «удовлетворил» условие в этом правиле. Команда watch позволяет организовать несколько разных режимов трассировки, с деталями которых вы можете познакомиться в Руководстве пользователя. Если перед запуском программы вы ввели
CLIPS> (dribble-on “dribble.dp”)
TRUE
То выведенный протокол трассировки будет сохранен в файле dribble.clp. Сохранение протокола прекратится после ввода команда
CLIPS> (dribble-off)
TRUE
Это очень удобная опция, особенно на этапе освоения языка.
А.2.4. Использование шаблонов
Для определения фактов можно использовать не только списочные структуры, но и шаблоны, которые напоминают простые записи. (Шаблоны в CLIPS не имеют ничего общего с шаблонами C++.) Шаблон выглядит примерно так:
(deftemplate student “a student record”
(slot name (type STRING))
(slot age (type NUMBER) (default 18))
)
Каждое определение шаблона состоит из произвольного имени шаблона, необязательного комментария и некоторого количества определений слотов. Слот включает поле данных, например name, и тип данных, например STRING. Можно указать и значение по умолчанию, как в приведенном выше примере.
Если в программу включено приведенное выше определение шаблона, то выражение
(deffacts students
(student (name fred))
(student (name freda) (age 19))
)