Основные элементы языка
Синтаксис языка CLIPS можно разбить на три основных группы элементов, предназначенных для написания программ:
Ø примитивные типы данных;
Ø функции, использующиеся для обработки данных;
Ø конструкторы, предназначенные для создания таких структур языка, как факты, правила, классы и т. д.
Рассмотрим каждую из этих трех групп более подробно.
Типы данных
CLIPS поддерживает 8 примитивных типов данных: float, integer, symbol, string, external-address, fact-address, instance-name, instance-address.
Для хранения численной информации предназначаются типы float и integer, для символической — symbol и string.
Число в CLIPS может состоять только из символов цифр (0—9), десятичной точки (.), знака (+ или -) и экспоненциального символа (е) с соответствующим знаком, в случае представления числа в экспоненциальной форме. Ниже приведены примеры допустимых в CLIPS представлений целых и вещественных типов:
Пример 4.1. Представление чисел в CLIPS
Целые: 237 15 +12 -32
Вещественные: 237еЗ 15.09 +12.0 -32.3е-7
Определение целого значения можно представить таким образом:
Определение 4.1. Представление целого числа
<целое> ::= [+ | -] <цифра>+
<цифра> : := 0 | 1 │ 2 | 3 | 4 │ 5 │ 6 | 7 | 8 | 9
Вещественное значение имеет следующий синтаксис:
Определение 4.2. Представление вещественного числа
<вещественное> ::= <целое> <экспонента> |
<целое> . [экспонента] |
<беззнаковое-целое> [экспонента] |
<целое> . <беззнаковое-целое> [экспонента]
<беззнаковое-целое> ::= <цифра>+
<экспонента> : : = е | E <целое>
Если последовательность символов не соответствует приведенным выше определениям целого или вещественного числа, то данная последовательность воспринимается CLIPS как значение типа symbol.
Значением типа symbol может быть любая последовательность символов, начинающаяся с любого не управляющего ASCII-символа. Значение типа symbol заканчивается ограничителем. Ограничителями являются любые неотображаемые символы (например, пробел, символ табуляции или перехода на другую строку), двойные кавычки, открывающая или закрывающая круглая скобка, символы &, |, < и ~. Точка с запятой (;) является символом начала комментариев и также может ограничивать значение типа symbol. Символы-ограничители не могут содержаться в значении symbol, за исключением <, который может быть первым символом значения. Значение типа symbol не может начинаться с символа ? или $?, но может содержать эти символы. CLIPS является языком, чувствительным к регистру.
Замечание
Значения типов float и integer являются частным случаем значения типа symbol. Другими словами, они удовлетворяют всем ограничениям, налагаемым на значение типа symbol.
Ниже приведены несколько примеров значений типа symbol:
Дата добавления: 2021-12-14; просмотров: 284;