Миркес Е. М.
Шрифт:
Таблица 13. Элементарные функции, допустимые в языках описания компонент нейрокомпьютера
Имя | Значение |
---|---|
Sin | Синус |
Cos | Косинус |
Tan | Тангенс |
Atan | Арктангенс |
Sh | Гиперболический синус |
Ch | Гиперболический косинус |
Th | Гиперболический тангенс |
Lg | Логарифм двоичный |
Ln | Логарифм натуральный |
Exp | Экспонента |
Sqrt | Квадратный корень |
Sqr | Квадрат |
Abs | Абсолютное значение |
Sign | Знак аргумента (0 — минус) |
Во всех языках описания компонентов все параметры передаются по ссылке (передается не значение аргумента, а его адрес). Если в качестве фактического аргумента указано выражение, то значение выражения помещается интерпретатором (или компилятором) во временную переменную, имеющую тип, совпадающий с типом формального аргумента, а адрес временной переменной передается в качестве фактического аргумента.
Компоненты предобработчик, сеть, оценка и интерпретатор ответа имеют иерархическую структуру. Часть запросов может быть адресована не всему компоненту, а его структурной единице любого уровня. Для точного указания адресата запроса используется полное имя структурной единицы, которое строится по следующему правилу:
1. Имя компонента является полным именем компонента.
2. Полное имя младшей структурной единицы строится путем добавления справа к имени старшей структурной единицы точки, псевдонима младшей структурной единицы и номера экземпляра младшей структурной единицы, если младших структурных единиц с таким псевдонимом несколько.
Иногда при построении описания компонента требуется однозначное имя структурной единицы. В качестве однозначного имени можно использовать полное имя, но такой подход лишает возможности вставлять подготовленные структурные единицы в структуры более высокого уровня. Для этого вводится понятие однозначного имени структурной единицы: в описании структурной единицы A однозначным именем структурной единицы B, являющейся частью структурной единицы A, является полное имя структурной единицы B, из которого исключено полное имя структурной единицы A.
Для описания синтаксиса языков описаний компонентов используется расширенная Бэкусова нормальная форма. Описание синтаксиса языка с помощью БНФ состоит в расшифровке понятий от более сложных к более простым. Каждое предложение БНФ состоит из двух частей, разделенных символами «::=» (два двоеточия, за которыми следует знак равенства). Наиболее подходящим названием для этого разделителя является слово «является» в отличие от «равно» или «присвоить» в языках программирования. Слева от разделителя находится объясняемое понятие, справа — конструкция разъясняющая это понятие. Например, предложение
означает, что объясняемое понятие — <Имя переменной> является идентификатором. Заметим, что порядок предложений в БНФ описания синтаксиса языка не имеет значения. Однако традиционно сложилось так, что БНФ начинают с наиболее сложных понятий.
При описании синтаксиса языка с помощью БНФ используются следующие понятия и обозначения.
Нетерминальным символом называется понятие, которое должно быть раскрыто в пределах данной БНФ. Нетерминальным символом является произвольный набор символов, заключенный в угловые скобки, например <Имя>. Нетерминальный символ раскрыт, если в пределах БНФ встретилось предложение, в котором этот нетерминальный символ стоит в левой части.
Терминальным символом называется понятие, которое не требует раскрытия. Примерами терминальных символов являются буквы, цифры и ключевые слова описываемого языка. Терминальные символы не заключаются в угловые скобки и набраны курсивом, например Имя.
Подмножеством терминальных символов является набор ключевых слов языка. Для удобства ключевые слова набраны полужирным шрифтом, например, Имя.
В прямых квадратных скобках приводятся необязательные части синтаксических конструкций. Например предложение
означает, что целым числом является положительное целое число (знак минус, стоящий в квадратных скобках, опущен как необязательный) или положительное целое число, перед которым стоит знак минус (знак минус, стоящий в квадратных скобках, задействован). Отметим, что квадратные скобки, набранные курсивом, являются терминальными символами.
Набор из нескольких синтаксических конструкций, разделенных символом «|» и заключенных в прямые фигурные скобки задают конструкцию выбора одной и только одной из перечисленных в фигурных скобках конструкций. Например, предложение