В качестве базового синтаксиса для определения конструкций языка используется стандартная БНФ-нотация. Ниже приведены правила, используемые для построения определений.
Слово или выражение, заключенное в угловые скобки, называется нетерминальным символом (например, <string>). Нетерминальный символ требует дальнейшего определения. Слова или выражения, не заключенные в угловые скобки, называются терминальными символами, и представляют синтаксис описываемой конструкции языка CLIPS. Терминальные символы (особенно круглые скобки) должны вводиться в командную строку именно так, как показано в определении. Если за нетерминальным символом следует символ *, то это означает, что в данном месте может находиться список из нуля или более элементов этого типа. Если же за нетерминальным символом следует +, то в данном месте может находиться список из одного или более элементов этого типа. Символы * и +, встречающиеся сами по себе (не следующие после нетерминальных символов), являются терминальными. Многоточие, как горизонтальное, так и вертикальное, также используется для отображения списка из одного или более элементов. Элементы, заключенные в квадратные скобки (например, [<комментарии>]), являются необязательными элементами, которые могут входить в определение. Вертикальная черта, разделяющая два или более элемента определения, указывает на то, что в конструкции необходимо использовать один из перечисленных элементов. Символ::= используется для обозначения необходимости замены некоторого нетерминального символа. Например, определение:
|
|
<lexeme>::= <symbol> I <string>
обозначает, что нетерминальный символ <lexeme>, встречающийся в некотором определении, должен быть заменен либо на символ <symbol>, либо на символ <string>. Пробелы, символы табуляции, переходы на другую строку используются только для логического разделения элементов определения и игнорируются CLIPS (кроме строк, заключенных в двойные кавычки).
В приложении 1 обобщен список БНФ-определений общих конструкций языка, приведенных в книге.
ГЛАВА 4. Обзор возможностей CLIPS.
Настоящая глава посвящена обзору возможностей CLIPS, а также описанию основных концепций этой системы и терминов, применяемых в данной книге.