Определение 16.84. Команда mem-requests
(mem-requests) Использование команды release-mem позволяет системе возвращать освободившуюся память операционной системе. Это может помочь операционной системе более эффективно управлять свободной памятью. Обычно команда вызывается автоматически, в случае если для выполнения текущих задач CLIPS не нуждается в большом количестве памяти. Данная команда рекомендуется только опытным программистам, точно оценивающим потребности системы, т. к. чрезмерное освобождение памяти может отрицательно сказаться на скорости работы системы. После выполнения процедуры освобождения памяти команда release-mem возвращает объем освобожденной памяти в байтах. Определение 16.85. Команда release-mem (release-mem) Команда conserve-mem предназначена для включения и выключения режима экономии памяти. Определение 16.86. Команда conserve-mem (conserve-mem on | off) Экономия памяти осуществляется за счет неиспользования определений конструкторов, необходимых для вывода в диалоговое окно (например, с помощью команд ppdefrule, ppdeftemplate и т. д.). Это помогает сильно экономить память в достаточно больших системах. Включение данного режима следует выполнить до загрузки конструкторов в систему.
ЧАСТЬ VI.Приложения. Приложение 1. Основные БНФ-определения Приложение 2. Список основных сообщений об ошибках системы CLIPS. Приложение 3. Список основных предупреждений системы CLIPS Приложение 4. Зарезервированные имена CLIPS Приложение 5. Глоссарий ПРИЛОЖЕНИЕ1. Основные БНФ-определения В данном приложении собраны БНФ-определения наиболее важных определений и конструкторов среды CLIPS.
Определение П1.1. Представление целого числа
<целое>::=[+│ -] <цифра>+ <цифра>::=0│1│2│3│4│5│6│7│8│9
Определение П1.2. Представление вещественного числа
<вещественное>::= <целое> <экспонента> | <целое>. [экспонента] | <беззнаковое-целое> [экспонента] | <целое>. <беззнаковое-целое> [экспонента] <беззнаковое-целое>:: = <цифра>+ <экспонента>::= е | Е <целое>
Определение П1.3. Упорядоченный факт
(данное_типа_symbol [ поле ] *)
Определение П1.4. Синтаксис конструктора deftemplate
(deftemplate <имя-шаблона> [<необязательные-комментарии>] [<определение-слота>*])
<определение-слота>::= <определение-простого-слота>│ <определение-составного-слота
<определение-простого-слота>::= (slot <имя-поля> <атрибуты-шаблона>)
<определение-составного-слота>::= (multislot <имя-поля> <атрибуты-шаблона>)
<атрибуты-шаблона>::= <атрибут-значение-по-умолчанию>| <атрибут-ограничения>
<атрибут-значение-по-умолчанию>::= (default?DERIVE|?NONE | <Выражение>)| (default-dynamic <Выражение>) Определение П1.5. Синтаксис конструктора deffacts
(deffacts <имя-списка-фактов> [<необязательные-комментарии>] [<факт>*]) Определение П1.6. Предопределенные шаблоны и факты
(deftemplate initial-fact) (initial-fact)) Определение П1.7. Синтаксис конструктора defrule (defrule <имя-правила> [<комментарии>] [<определение-свойства-правила>] <предпосьшки >; левая часть правила => <следствие>; правая часть правила ) Определение П1.8. Синтаксис свойств правил <определение-свойства-правила>::= (declare <свойство-правила>) (auto-focus TRUE|FALSE) Определение П1.9. Синтаксис условного элемента <условный-элемент>::= <pattern-CE> │ <assigned-pattern-CE> | <not-CE> | <and-CE> | <or-CE> │ <logical-CE> │ <test-CE> | <exists-CE> │ <forall-CE> Определение П1.10. Синтаксис символьных ограниченийдля неупорядоченного факта (<ограничение-1>... <ограничение-n>)
Определение П1.11. Синтаксис символьных ограничений для шаблона
(<имя-шаблона > (<имя-слота-1> <ограничение-1>) ... (<имя-слота-n> <ограничение-n>)) Определение П1.12. Синтаксис связывающих ограничений
<элемент-1>& <элемент-2>... & элемент -n> <элемент-1>│ <элемент-2>... | <элемент -n> ~ <элемент> Определение П1.13. Синтаксис предикатного ограничения :<вызов-функции>
|