Существует достаточно большое семейство продукционных языков, рассматриваемый – типичный среди них, имеет синтаксис, сходный с большинством.
Факты имеют следующую фреймоподобную структуру:
(<имя факта>:[{<слот>}+])
{}+ - может быть много
[] – необязательный параметр.
База фактов хранится в ОП.
Продукционная часть:
<продукционная часть>::={<секция продукций>}+
<секция продукций>::=section <имя секции>
[<описатели>]
[<правила селекции>]
{множество продукций}+
<описатели>::=main | parallel
Главная секция (main) может быть одна. Описатель parallel обозначает, что выполняется не одна продукция, а все, у которых левая часть истинна. По умолчанию задан режим поочередной обработки продукций.
<продукция>::= rule<имя продукции>
[<правила разрешения>]
<левая часть – условие>
<правая часть – действие>
<левая часть>::= condition
{<образец>}+
<правая часть>::= action
{<операция>}+
|