Учебное пособие по курсу «Нейроинформатика»
Шрифт:
Описание аргументов
S — строка, из которой выделяется фрагмент.
Origin — начальная позиция выделяемого фрагмента в строке S
Leng — длина выделяемого фрагмента.
Выделяет из строки S фрагмент, начинающийся с позиции Origin и длиной Leng символов. Если строка короче чем Origin, то результатом является пустая строка. Если строка длиннее чем Origin символов, но короче чем Origin+Leng символов, то результатом является фрагмент строки S с символа Origin и до конца строки S.
Описание аргументов
S1 — строка, в которой ищется вхождение строки S2.
S2 — строка, вхождение которой ищется.
Функция Pos возвращает номер первого символа в строке S1, начиная с которого, в
Описание аргументов
S — строка, длина которой вычисляется.
Функция Len возвращает длину (число символов) строки S
Описание языка описания компонентов
В табл. 12 приведен список ключевых слов, общих для всех языков описания компонентов нейрокомпьютера. Кроме того, к ключевым словам относятся типы данных, приведенные в табл. 1; обозначения операций, приведенные в табл. 3, 7, 8, 9, 10; названия функций преобразования (табл. 5) и приведения типов (табл. 6); идентификаторы предопределенных констант, приведенные в табл. 11; имена интерфейсных функций, приведенных в разделе «Перечень интерфейсных функций»; имена элементарных функций, приведенных в табл.13; обозначения строковых функций, приведенных в разделе «Строковые функции» и обозначения функций управления памятью из раздела «Функции управления памятью».
Таблица 12. Ключевые слова, общие для всех языков описания компонент нейрокомпьютера.
Ключевое слово | Краткое описание |
---|---|
Begin | Начало описания тела процедуры, или операторных скобок. |
By | Часть оператора цикла с шагом. Предшествует шагу цикла. |
Do | Завершающая часть операторов цикла. |
Else | Часть условного оператора. Предшествует оператору, выполняемому, если условие ложно. |
End | Конец описания тела процедуры или операторных скобок. |
For | Заголовок оператора цикла с шагом. |
Function | Заголовок описания функции. |
Global | Начало блока описания глобальных переменных. |
GoTo | Начало оператора перехода. |
If | Начало условного оператора. |
Include | Предшествует имени файла, целиком вставляемого в это место описания. |
Label | Начало описания меток |
Name | Предшествует имени статической переменной. |
SetParameters | Признак раздела установления значений параметров. |
Static | Начало блока описания статических переменных. |
Then | Часть условного оператора. Предшествует оператору, выполняемому, если условие истинно. |
To | Часть оператора цикла с шагом. Предшествует верхней границе цикла. |
Var | Начало блока описания переменных. |
While | Заголовок оператора цикла по условию. |
Таблица 13. Элементарные функции, допустимые в языках описания компонент нейрокомпьютера
Имя | Значение |
---|---|
Sin | Синус |
Cos | Косинус |
Tan | Тангенс |
Atan | Арктангенс |
Sh | Гиперболический
|
Ch | Гиперболический косинус |
Th | Гиперболический тангенс |
Lg | Логарифм двоичный |
Ln | Логарифм натуральный |
Exp | Экспонента |
Sqrt | Квадратный корень |
Sqr | Квадрат |
Abs | Абсолютное значение |
Sign | Знак аргумента (0 — минус) |
Во всех языках описания компонентов все параметры передаются по ссылке (передается не значение аргумента, а его адрес). Если в качестве фактического аргумента указано выражение, то значение выражения помещается интерпретатором (или компилятором) во временную переменную, имеющую тип, совпадающий с типом формального аргумента, а адрес временной переменной передается в качестве фактического аргумента.
Компоненты предобработчик, сеть, оценка и интерпретатор ответа имеют иерархическую структуру. Часть запросов может быть адресована не всему компоненту, а его структурной единице любого уровня. Для точного указания адресата запроса используется полное имя структурной единицы, которое строится по следующему правилу:
1. Имя компонента является полным именем компонента.
2. Полное имя младшей структурной единицы строится путем добавления справа к имени старшей структурной единицы точки, псевдонима младшей структурной единицы и номера экземпляра младшей структурной единицы, если младших структурных единиц с таким псевдонимом несколько.
Иногда при построении описания компонента требуется однозначное имя структурной единицы. В качестве однозначного имени можно использовать полное имя, но такой подход лишает возможности вставлять подготовленные структурные единицы в структуры более высокого уровня. Для этого вводится понятие однозначного имени структурной единицы: в описании структурной единицы A однозначным именем структурной единицы B, являющейся частью структурной единицы A, является полное имя структурной единицы B, из которого исключено полное имя структурной единицы A.
Для описания синтаксиса языков описаний компонентов используется расширенная Бэкусова нормальная форма. Описание синтаксиса языка с помощью БНФ состоит в расшифровке понятий от более сложных к более простым. Каждое предложение БНФ состоит из двух частей, разделенных символами «::=» (два двоеточия, за которыми следует знак равенства). Наиболее подходящим названием для этого разделителя является слово «является» в отличие от «равно» или «присвоить» в языках программирования. Слева от разделителя находится объясняемое понятие, справа — конструкция разъясняющая это понятие. Например, предложение
означает, что объясняемое понятие — <Имя переменной> является идентификатором. Заметим, что порядок предложений в БНФ описания синтаксиса языка не имеет значения. Однако традиционно сложилось так, что БНФ начинают с наиболее сложных понятий.
При описании синтаксиса языка с помощью БНФ используются следующие понятия и обозначения.
Нетерминальным символом называется понятие, которое должно быть раскрыто в пределах данной БНФ. Нетерминальным символом является произвольный набор символов, заключенный в угловые скобки, например <Имя>. Нетерминальный символ раскрыт, если в пределах БНФ встретилось предложение, в котором этот нетерминальный символ стоит в левой части.