<Заголовок описания интерпретатора>::= Inter <Имя частного интерпретатора>: (<Список формальных аргументов>)
<Имя частного интерпретатора>::= <Идентификатор>
<Тело интерпретатора>::= Begin <Составной оператор> End
<Описание состава>::= Contents <Список имен интерпретаторов>;
<Список имен интерпретаторов>::= <Имя интерпретатора> [,<Список имен интерпретаторов >]
<Имя интерпретатора>::= <Псевдоним>: {<Имя ранее описанного интерпретатора> | <Имя стандартного интерпретатора>} [
<Псевдоним>::= <Идентификатор>
<Число экземпляров >::= <Целое число>
<Имя ранее описанного интерпретатора>::= <Идентификатор>
<Имя стандартного интерпретатора>::= <Идентификатор>
<Установление параметров>::= <Установление параметров
<Описание сигналов>::= Signals <Константное выражение типа
<Описание распределения сигналов>::= <Описание распределения
<Описание распределения ответов>::= <Описание распределения
<Конец описания интерпретатора>::= End Interpretator
Описание языка описания интерпретаторов
Структура описания интерпретатора имеет вид: заголовок, описание частных интерпретаторов, описание состава, описание сигналов, описание распределения сигналов, описание распределения ответов, конец описания интерпретатора.
Заголовок состоит из ключевого слова Interpretator и имени интерпретатора и служит для обозначения начала описания интерпретатора в файле, содержащем несколько компонентов нейрокомпьютера.
Описание частного интерпретатора — это описание процедуры, вычисляющей две величины: ответ и уверенность в ответе. Отметим, что уверенность в ответе имеет смысл только для оценок с уровнем надежности. В остальных случаях интерпретатор ответа может вычислять аналогичную величину, но эта величина не является коэффициентом уверенности в ответе в точном смысле. Отметим, что при описании частного интерпретатора его аргументом, как правило, является число интерпретируемых сигналов. При выполнении частный интерпретатор получает в качестве аргументов массив интерпретируемых сигналов и две действительные переменные для возвращения вычисленных ответа и уверенности в ответе. Формально, при исполнении, частный интерпретатор имеет описание следующего вида:
Pascal:
Procedure Interpretator(Signals: PRealArray; Var Answer, Reliability: Real);
C:
void Interpretator(PRealArray Signals, Real* Answer, Real* Reliability);
В разделе описания состава перечисляются частные интерпретаторы, входящие в состав интерпретатора. Признаком конца раздела служит символ «;».
В необязательном разделе установления параметров производится задание значений параметров (статических переменных) частных интерпретаторов. После ключевого слова SetParameters следует список значений параметров в том порядке, в каком параметры были объявлены при описании частного интерпретатора (для стандартных интерпретаторов порядок параметров указан в табл. 29). При использовании одного оператора задания параметров для задания параметров нескольким экземплярам одного частного интерпретатора после ключевого словаsetparameters указывается столько выражений, задающих значения параметров, сколько необходимо для одного экземпляра. Например, если в блоке описания состава содержится 10 экземпляров двоичного интерпретатора на 15 интерпретируемых сигналов — myint: binarycoded(15)[10], то после ключевого слова setparameters должно быть только одно выражение:
MyInt[I:1..10] SetParameters 0.01*I