Хорошие продукты и сервисы
Наш Поиск (введите запрос без опечаток)
Наш Поиск по гостам (введите запрос без опечаток)
Поиск
Поиск
Бизнес гороскоп на текущую неделю c 29.12.2025 по 04.01.2026
Открыть шифр замка из трёх цифр с ограничениями

ГОСТ Р ИСО/МЭК8824.4-2003; Страница 15

или поделиться

Ещё ГОСТы из 41757, используйте поиск в верху страницы ГОСТ Р ИСО/МЭК 8824.3-2002 Информационная технология. Абстрактная синтаксическая нотация версии один (АСН 1). Часть 3 Спецификация ограничения ГОСТ Р ИСО/МЭК 8825-93 Информационная технология. Взаимосвязь открытых систем. Спецификация базовых правил кодирования для абстрактно-синтаксической нотации версии один (АСН. 1) ГОСТ Р ИСО/МЭК 8825-93 Информационная технология. Взаимосвязь открытых систем. Спецификация базовых правил кодирования для абстрактно-синтаксической нотации версии один (АСН. 1) Information technology. Open Systems Interconneсtion. Specification of Basic Encoding Rules for Abstract Syntax Notation One (ASN. 1) (Настоящий стандарт определяет набор базовых правил кодирования, который может служить основой для определения синтаксиса передачи для значений, определенных с помощью нотации ГОСТ Р ИСО/МЭК 8824. Базовые правила кодирования применяют также при декодировании полученного с их помощью синтаксиса передачи для определения значений переданных данных. Описываемые базовые правила кодирования используют во время взаимодействия компонентами, предоставляющими услуги уровня представления, когда это требуется контекстом представления) ГОСТ Р ИСО/МЭК 8825.1-2003 Информационная технология. Правила кодирования АСН 1. Часть 1 Спецификация базовых (BER), канонических (CER) и отличительных (DER) правил кодирования
Страница 15

ГОСТ Р ИСО/МЭК 8824-4-2003

А.5 Пример определения множества параметризованных значений

Если два множества параметризованных значений определены следующим образом:

QuestListl{IA5String:extraQuest} IA5String : : = {“Джек” | “Джон” | extraQuest}

QuestList2 {IA5String:ExtraQuests} IA5String : : = {“Джек” | “Джон” | ExtraQuests}

то следующие множества значений обозначают одно и то же множество значений:

SetOfQuestsl IA5String : : = {QuestListl {“Джилл”}}

SetOfQuests2 IA5String : : = {QuestList2 | {{“Джилл”}}}

SetOfQuests3 IA5String : : = {“Джек” | “Джон” | “Джилл”}

и следующие множества значений обозначают одно и то же множество значений:

SetOfQuests4 IA5String : : = {QuestList2 {{“Джилл” | “Мэри”}}}

SetOfQuests5 IA5String : : = {“Джек” | “Джон” | “Джилл” | “Мэри”}

Следует обратить внимание, что множество значений всегда задается в фигурных скобках, даже когда это — ссылка на параметризованное множество значений. Опуская фигурные скобки у ссылки на “identifier”, который был создан в присвоении множества значений, или у ссылки на “ParameterizedValueSetType”, получим нотацию для “Type”, а не для множества значений.

А.6 Пример определения параметризованного класса

Следующий параметризованный класс может использоваться для определения классов ошибок, которые содержат коды ошибок различных типов. Следует обратить внимание, что параметр “ErrorCodeType” используется только как “DummyGovemor” для параметра “ValidErrorCodes”.

GENERIC-ERROR {ErrorCodeType, ErrorCodeType:

ValidErrorCodes} : : = CLASS {

&errorCode ValidErrorCodes

}

WITH SYNTAX {

CODE &errorCode

Определение параметризованного класса может использоваться для определения различных классов, которые совместно используют некоторые характеристики, подобные одному и тому же синтаксису:

ERROR-l : : = GENERIC-ERROR {INTEGER, {l|2|3}}

ERROR-2 : : = GENERIC-ERROR {ErrorCodeString, {StringErrorCodes}}

ERROR-3 : : = GENERIC-ERROR {EnumeratedErrorCode, {fatal|error}}

ErrorCodeString : : = IA5String (SIZE (4))

StringErrorCodes ErrorCodeString : : = {“E00l"|”E002"|"E003"}

EnumeratedErrorCode : : = ENUMERATED {fatal, error, warning}

Определяемые классы тогда могут использоваться следующим образом:

My-Errors ERROR-2 : : = {{CODE “E00l"} | {CODE ”E002"}} fatalError, ERROR-3 : : = {CODE fatal}

А.7 Пример определения множества параметризованных объектов

Определение множества параметризованных объектов AllTypes формирует множество объектов, которые содержит базовое множество объектов BaseTypes и множество дополнительных объектов, которые поставляются как параметр AdditionalTypes.

AllTypes {TYPE-IDENTIFIER: AdditionalTypes} TYPE-IDENTIFIER : : = {

BaseTypes | AdditionalTypes}

BaseTypes TYPE-IDENTIFIER : : = {

{BasicType-l IDENTIFIER BY basic-type-obj-id-value-1} |

{BasicType-2 IDENTIFIER BY basic-type-obj-id-value-2} |

{BasicType-3 IDENTIFIER BY basic-type-obj-id-value-3}

Определение множества параметризованных объектов, AllTypes, может использоваться следующим образом:

{My-All-Types TYPE-IDENTIFIER : : = {AllTypes {

{My-Type-l IDENTIFIER BY my-obj-id-value-l} |

l2