ГОСТ Р ИСО/МЭК 8824-4-2003
my-message-paramcters MESSAGE-PARAMETERS : : " j
THE MAXIMUM PRIORITY LEVEL IS 10
THE MAXIMUM MESSAGE BUFFER SIZE IS 2000
THE MAXIMUM REFERENCE BUFFER SIZE IS 100
)
- - Абстрактный синтаксис теперь может быть определен всеми
- - специфицированными переменными ограничениями.
my-mcssagc-Abstract-Sintax ABSTRACT-S1NTAX : : =
mcssage-Abstract-Sinlax (my-message-paramcters)
Л.З Пример определения параметризованного типа, который является конечным
При спецификации параметризованного типа, который представляет родовой список, определяют тип
гак. чтобы результирующая нотация ACH.I была конченной. Например, можно определить:
List1 (ElcmcntTypcParam) : : ™SEQUENCE {
clemElcmcntTypcParam,
nextList1 (ElcmentTvpcParam) OPTIONAL
J
который является конечным, а затем его использовать.
IntegcrUstl- Listl [INTEGER}.
где результирующая нотация ACH.I является такой, какой Вы се обычно определили бы:
IntegerListl :: *=
clem
next
SEQUENCE {
INTEGER,
IntegerListl OPTIONAL
)
Напротив, при
List2 {ElcmentTypcParaml : : = SEQUENCE (
clemElcmcntTypcParam.
nextLisl2 {(0|) ElcmcntTypcParam) OPTIONAL
)
lntcgcrList2 : : - List2 (INTEGER),
где результирующая нотация ACH.I является бесконечной:
lntcgerList2 : : - SEQUENCE {
clemINTEGER
nextSEQUENCE {
clem (01 INTEGER,
next SEQUENCE {
clem |0| |0| INTEGER,
next SEQUENCE {
clem (0| |0| |0| INTEGER,
next SEQUENCE (
. . . - - и так далее
) OPTIONAL
) OPTIONAL
}OPTIONAL
}OPTIONAL
}
A.4 Пример определения параметризованною значения
Если значение параметризованной строки определяется следующим образом:
gencnoBirthdayGrccting (lA5Stnng: name)
lA5String : : • ("С днем рождения”, имя. **| |’*}.
то следующие две строки являются такими же:
greeting1 lA5String : : - gcncrioBirthdayGrccting {"Джои”)
grccting2 lA5String :: » "С днем рождения. Джон 11”
II