Миркес Е. М.
Шрифт:
<Определение типов параметров>::= <Определение типа параметра> [<Определение типов параметров>]
<Определение типа параметра>::= ParamDef<Имя типа параметра> <Минимальное значение> <Максимальное значение>
<Минимальное значение>::= <Константное выражение типа Real>
<Максимальное значение>::= <Константное выражение типа Real>
<Установление значений статических переменных>::= <Установление параметров Подсети> [;<Установление значений статических переменных>]
<Описание методов>::= <Описание функционирования вперед> <Описание функционирования назад>
<Описание функционирования вперед>::= Forw [<Описание переменных>] <Тело метода>
<Тело метода>::= Begin<Составной оператор> End
<Описание функционирования назад>::= Back[<Описание переменных>] <Тело метода>
<Конец описания элемента>::= End<Имя элемента>
<Описание блока>::= <Заголовок описания блока> <Описание состава> <Описание сигналов и параметров> [<Описание статических переменных>] [<Установление значений статических переменных>] <Описание связей> [<Определение типов параметров>] <Конец описания блока>
<Заголовок описания блока>::= {<Описание каскада> | <Описание слоя> | <Описание цикла с фиксированным числом шагов> | <Описание цикла по условию>}
<Описание каскада>::=Cascad<Имя блока> [( <Список формальных аргументов блока>)]
<Имя блока>::= <Идентификатор>
<Список формальных аргументов блока>::= {<Список формальных аргументов> | <Аргумент — подсеть>} [;<Список формальных аргументов блока>]
<Аргумент — подсеть>::= <Список имен аргументов — подсетей>: Block
<Список имен аргументов — подсетей>::= <Имя аргумента — подсети> [,<Список имен аргументов — подсетей>]
<Имя аргумента — подсети>::= <Идентификатор>
<Описание слоя>::=Layer<Имя блока> [( <Список формальных аргументов блока>)]
<Описание цикла с фиксированным числом шагов>::=Loop<Имя блока> [( <Список формальных аргументов блока>)] <Число повторов цикла>
<Число повторов цикла>::= <Константное выражение типа Long>
<Описание цикла по условию>::=Until<Имя блока> [( <Список формальных аргументов блока>)]: <Выражение типа Logic>
<Описание состава>::= Contents <Список имен подсетей>
<Список имен подсетей>::= <Имя подсети> [,<Список имен подсетей>]
<Имя подсети>::= <Псевдоним>: {<Имя ранее описанной подсети> [( <Список фактических аргументов блока>)] [[ <Число экземпляров>]] | <Имя аргумента — подсети> [[ <Число экземпляров >]]}
<Псевдоним>::= <Идентификатор>
<Число экземпляров >::= <Константное выражение типа Long>
<Имя ранее описанной подсети>::= <Идентификатор>
<Список фактических аргументов блока>::= <Фактический аргумент блока> [,<Список фактических аргументов блока>]
<Фактический аргумент блока>::= {<Фактический аргумент> | <Имя аргумента — подсети>}