Приложение 2 Синтаксис описаний языка Норма
Нотация синтаксиса
В нотации синтаксиса, используемой в данном описании, применяется расширенная форма Бэкуса-Наура.
Обозначения {A}*,{A}+,{A1...,An},[A] означают
{A}* |
::= |
Ж|A|AA... |
{A}+ |
::= |
A|AA... |
{A1...,An} |
::= |
A1|...|An |
[A] |
::= |
Ж|A |
где A-некоторый объект языка, Ж- пусто, |- выбор одной из альтернатив, ...- и так далее.
При определении правил языка синтаксические понятия набираются курсивом, а слова и литеры, воспринимаемые буквально, прямым шрифтом. Альтернативные конструкции перечисляются, как правило, в столбик, каждая альтернатива на отдельной строке.
Иногда используются частично подчеркнутые обозначения синтаксических конструкций, например, имя-множества. Синтаксически это обозначение идентично обозначению имя, а подчеркнутая часть конструкции несет дополнительную семантическую информацию.
Обозначение список-элемент заменяет непустой список элементов, перечисленных через запятую:
список-элемент
элемент{,элемент}*
В каждом конкретном случае определение элемента приводится.
Описания
описание:
описание-области
описание-индексов-областей
описание-скалярных-величин
описание-величин-на-области
описание-индексной-конструкции
описание-индексов-распределения
описание-параметров-области
описание-входных
описание-выходных
описание-внешних
Описание областей
описание-области:
описание-безусловной-области
описание-условной-области
описание-безусловной-области
описание-прямоугольной-области
описание-диагональной-области
область
новая область без имени
имя-области
безусловная-область
новая область без имени
имя-безусловной-области
имя-области
имя-безусловной-области
имя-условной-области
имя-безусловной-области
имя-прямоугольной-области
имя-диагональной-области
Описание параметров области
описание-параметров-области
DOMAIN PARAMETERS список-значение
значение
имя-параметра-области=целое без знака
Описание индексов областей
описание-индексов-областей
INDEX список-имя-индекса
Описание индексов распределения
описание-индексов-распределения
DISTRIBUTION INDEX имя-индекса = простой-диапазон
[имя-индекса=простой-диапазон]
простой-диапазон
цел-константа[..цел-константа]
Описание индексной конструкции
описание-индексной-конструкции
MACRO INDEX имя-индексной-конструкции
[список-явное-инд-выражение]
явное-инд-выражение
имя-индекса[{+,-}конст-выражение]
имя-индекса = конст-выражение
имя-индекса = имя-индекса [{+,-}конст-выражение]
Описание внешних имен
описание-внешних-имен
EXTERNAL FUNCTION список-имя-функции [тип]
EXTERNAL PART список-имя-раздела
Описание областей
описание-области
описание-безусловной-области
описание-условной-области
описание-безусловной-области
описание-прямоугольной-области
описание-диагональной-области
область
новая область без имени
имя-области
безусловная-область
новая область без имени
имя-безусловной-области
имя-области
имя-безусловной-области
имя-условной-области
имя-безусловной-области
имя-прямоугольной-области
имя-диагональной-области
Описание безусловной области
описание-прямоугольной-области
многомерная-область
новая-область
многомерная-область
одномерная-область
[ имя-многомерной-области ]: ( область-произведение )
область-произведение
составляющая-область { ; составляющая-область }+
составляющая-область
многомерная-область
имя-прямоугольной-области
одномерная-область
[ имя-одномерной-области ] : ( имя-индекса = значение )
значение
диапазон
конст-выражение
диапазон
конст-выражение .. конст-выражение
новая-область
[имя-нов-области :] новая-область-без-имени
новая-область-без-имени
имя-безусл-области / список-модификация
модификация
имя-индекса=значение
имя-одномерной-области {{+,-} функция-границ}+
функция-границ
LEFT (конст-выражение)
RIGHT (конст-выражение)
имя-прямоугольной-области
имя-одномерной-области
имя-многомерной-области
имя-нов-области
описание-диагональной-области
имя-диагональной-области :
имя-безусловной-области / список-условие-на-индекс
Описание условной области
описание-условной-области
имя-условной-области , имя-условной-области:
имя-области / условие-на-область
Описание величин
описание-скалярных-величин
VARIABLE список-имя-скаляра [тип]
описание-величин-на-областях
VARIABLE список-определение-величин-на-област [тип]
определение-величин-на-области
список-имя-величины-на-области
DEFINED ON безусловная-область
тип
{REAL , INTEGER , DOUBLE}
|
|