Откройте актуальную версию документа прямо сейчас
Если вы являетесь пользователем интернет-версии системы ГАРАНТ, вы можете открыть этот документ прямо сейчас или запросить по Горячей линии в системе.
Приложение Н
(справочное)
Сводка нотации АСН.1
Следующие элементы определены в разделе 11:
typereference |
BEGIN |
ISO646String |
identifier |
BIT |
MAX |
valuereference |
BMPString |
MIN |
modulereference |
BOOLEAN |
MINUS-INFINITY |
comment |
BY |
NULL |
empty |
CНARACTER |
NumericString |
number |
CHOICE |
OBJECT |
bstring |
CLASS |
ObjectDescriptor |
hstring |
COMPONENT |
OCTET |
cstring |
COMPONENTS |
OF |
": : =" |
CONSTRAINED |
OPTIONAL |
".." |
DEFAULT |
PDV |
"..." |
DEFINITIONS |
PLUS-INFINITY |
"{" |
EMBEDDED |
PRESENT |
"}" |
END |
PrintableString |
"<" |
ENUMERATED |
PRIVATE |
"," |
EXCEPT |
REAL |
"." |
EXPLICIT |
SEQUENCE |
"(" |
EXPORTS |
SET |
")" |
EXTERNAL |
SIZE |
"[" |
FALSE |
STRING |
"]" |
FROM |
SYNTAX |
"-" |
GeneralizedTime |
T61String |
":" |
GeneralString |
TAGS |
";" |
GraphicString |
TeletexString |
"@" |
IA5String |
TRUE |
"|" |
TYPE-IDENTIFIER |
UNION |
"!" |
IDENTIFIER |
UNIQUE |
"^" |
IMPLICIT |
UNIVERSAL |
ABSENT |
IMPORTS |
UniversalString |
ABSTRACT-SYNTAX |
INCLUDES |
UTCTime |
ALL |
INSTANCE |
VideotexString |
APPLICATION |
INTEGER |
VisibleString |
AUTOMATIC |
INTERSECTION |
WITH |
В настоящем стандарте использованы следующие продукции с указанными выше элементами в качестве терминальных символов:
ModuleDefinition : : = ModuleIdentifier
DEFINITIONS
TagDefault
": : ="
BEGIN
ModuleBody
END
ModuleIdentifier : : = modulereference
DefinitiveIdentifier
DefinitiveIdentifier : : = "{" DefinitiveObjIdComponentList "}" | empty
DefinitiveObjIdComponentList : : =
DefinitiveObjIdComponent |
DefinitiveObjIdComponent DefinitiveObjIdComponentList
DefinitiveObjIdComponent : : =
NameForm |
DefinitiveNumberForm |
DefinitiveNameAndNumberForm
DefinitiveNumberForm : : = number
DefinitiveNameAndNumberForm : : = identifier "(" DefinitiveNumberForm")
TagDefault : : = EXPLICIT TAGS |
IMPLICIT TAGS |
AUTOMATIC TAGS |
empty
ExtеnsionDefault : : =
EXTENSIBILITY IMPLIED |
empty
ModuleBody : : = Exports Imports AssignmentList |
empty
Exports : : = EXPORTS SymbolsExported ";" |
empty
SymbolsExported : : = SymbolList |
empty
Imports : : = IMPORTS SymbolsImported ";" |
empty
SymbolsImported : : = SymbolsFromModuleList |
empty
SymbolsFromModuleList : : =
SymbolsFromModule |
SymbolsFromModuleList SymbolsFromModule
SymbolsFromModule : : SymbolList FROM GlobalModuleReference
GlobalModuleReference : : = modulereference AssignedIdentifier
AssignedIdentifier : : = ObjectIdentifierValue |
DefinedValue |
empty
SymbolList : : = Symbol | Symbol "," SymbolList
Symbol : : = Reference | ParameterizedReference
Reference : : =
typereference |
valuereference |
objectclassreference |
objectreference |
objectsetreference
AssignmentList : : = Assignment | AssignmentList Assignment
Assignment : : =
TypeAssignment |
ValueAssignment |
ValueSetTypeAssignment |
ObjectClassAssignment |
ObjectAssignment |
ObjectSetAssignment |
ParameterizedAssignment
Externaltypereference : : =
modulereference
"."
typereference
Externalvaluereference : : =
modulereference
"."
valuereference
DefinedType : : =
Externaltypereference |
typereference |
ParameterizedType |
ParameterizedValueSetType
DefinedValue : : =
Externalvaluereference |
valuereference |
ParameterizedValue
AbsoluteReference : : = "@" GlobalModuleReference
"."
ItemSpec
ItemSpec : : =
typereference |
ItemId "." ComponentId
ItemId : : = ItemSpec
ComponentId : : =
identifier | number | "Н"
TypeAssignment : : = typereference
": : ="
Type
ValueAssignment : : = valuereference
Type
": : = "
Value
ValueSetTypeAssignment : : = typereference
Type
": : = "
ValueSet
ValueSet : : = "{" ElementSetSpec "}"
Type : : = BuiltinType | ReferencedType | ConstrainedType
BuiltinType : : =
BitStringType |
BooleanType |
CharacterStringType |
ChoiceType |
EmbeddedPDVType |
EnumeratedType |
ExternalType |
InstanceOfType |
Integer Type |
NullType |
ObjectClassFieldType |
ObjectIdentifierType |
OctetStringType |
RealType |
SequenceType |
SequenceOfType |
SetType |
SetOfType |
TaggedType
NamedType : : = identifier Type | SelectionType
ReferencedType : : =
DefinedType |
UsefulType |
SelectionType |
TypeFromObject |
ValueSetFromObjects
Value : : = BuiltinValue | ReferencedValue
BuiltinValue : : =
BitStringValue |
BooleanValue |
CharacterStringValue |
ChoiceValue |
EmbeddedPDVValue |
EnumeratedValue |
ExternalValue |
InstanceOfValue |
IntegerValue |
NullValue |
ObjectClassFieldValue |
ObjectIdentifierValue |
OctetStringValue |
RealValue |
SequenceValue |
SequenceOfValue |
SetValue |
SetOfValue |
TaggedValue
ReferencedValue : : =
DefinedValue |
ValueFromObject
NamedValue : : = identifier Value
BooleanType : : = BOOLEAN
BooleanValue : : = TRUE | FALSE
Integer Type : : =
INTEGER |
INTEGER "{" NamedNumberList "}"
NamedNumberList : : =
NamedNumber |
NamedNumberList "," NamedNumber
NamedNumber : : =
identifier "(" SignedNumber ")" |
identifier "(" DefinedValue ")"
SignedNumber : : = number | "-" number
IntegerValue : : = SignedNumber | identifier
EnumeratedType : : =
ENUMERATED "{" Enumerations "}"
Enumerations : : = RootEnumeration |
RootEnumeration "," "..." |
RootEnumeration "," "..." "," AdditionalEnumeration
RootEnumeration : : = Enumeration
AdditionalEnumeration : : = Enumeration
Enumeration : : =
EnumerationItem | EnumerationItem "," Enumeration
EnumerationItem : : =
identifier | NamedNumber
EnumeratedValue : : =
identifier
RealType : : = REAL
RealValue : : =
NumericRealValue | SpecialRealValue
NumericRealValue : : = 0 |
SequenceValue - - Значение ассоциированного типа "последовательность"
SpecialRealValue : : =
PLUS-INFINITY | MINUS-INFINITY
BitStringType : : = BIT STRING | BIT STRING "{" NamedBitList "}"
NamedBitList : : = NamedBit | NamedBitList "," NamedBit
NamedBit : : = identifier "(" number ")" |
identifier "(" DefinedValue ")"
BitStringValue : : = bstring | hstring | "{" IdentifierList "}" |
"{" "}"
IdentifierList : : = identifier | IdentifierList "," identifier
OctetStringType : : = OCTET STRING
OctetStringValue : : = bstring | hstring
NullType : : = NULL
NullValue : : = NULL
SequenceType : : = SEQUENCE "{" "}" |
SEQUENCE "{" ExtensionAndException OptionalExtensionMarker "}" |
SEQUENCE "{" ComponentTypeLists "}"
ExtensionAndException : : = "..." | "..." ExceptionSpec
OptionalExtensionMarker : : = "," "..." | empty
ComponentTypeLists : : = RootComponentTypeList |
RootComponentTypeList "," ExtensionAndException ExtensionAdditions
OptionalExtensionMarker |
RootComponentTypeList "," ExtensionAndException ExtensionAdditions
ExtensionEndMarker "," RootComponentTypeList |
ExtensionAndException ExtensionAdditions ExtensionEndMarker ","
RootComponentTypeList
RootComponentTypeList : : = ComponentTypeList
ExtensionEndMarker : : = "," "..."
ExtensionAdditions : : = "," ExtensionAdditionList | empty
ExtensionAdditionList : : = ExtensionAddition | ExtensionAdditionList
"," ExtensionAddition
ExtensionAddition : : = ComponentType | ExtensionAdditionGroup
ExtensionAdditionGroup : : = "[[" ComponentTypeList "]]"
ComponentTypeList : : = ComponentType | ComponentTypeList ","
ComponentType
ComponentType : : = NamedType |
NamedType OPTIONAL |
NamedType DEFAULT Value |
COMPONENTS OF Type
SequenceValue : : = "{" Component ValueList "}" | "{" "}"
ComponentValueList : : = NamedValue | ComponentValueList "," NamedValue
SequenceOfType : : = SEQUENCE OF Type
SequenceOfValue : : = "{" ValueList "}" | "{" "}"
ValueList : : = Value | ValueList "," Value
SetType : : = SET "{" "}" |
SET "{" ExtensionAndException OptionalExtensionMarker "}" |
SET "{" ComponentTypeLists "}"
SetValue : : = "{" ComponentValueList "}" | "{" "}"
SetOfType : : = SET OF Type
SetOfValue : : = "{" ValueList "}" | "{" "}"
ChoiceType : : = CHOICE "{" AlternativeTypeLists "}"
AlternativeTypeLists : : =
RootAlternativeTypeList |
RootAlternativeTypeList "," ExtensionAndException
ExtensionAdditionAlternatives OptionalExtensionMarker
RootAlternativeTypeList : : = AlternativeTypeList
ExtensionAdditionAlternatives : : =
"," ExtensionAdditionAlternativesList | empty
ExtensionAdditionAlternativesList : : = ExtensionAdditionAlternative |
ExtensionAdditionAlternativesList ","
ExtensionAdditionAlternative
ExtensionAdditionAlternative : : = ExtensionAdditionAlternatives |
NamedType
ExtensionAdditionAlternatives : : = "[[" AlternativeTypeList "]]"
AlternativeTypeList : : = NamedType | AlternativeTypeList "," NamedType
ChoiceValue : : = identifier ":" Value
SelectionType : : = identifier "<" Type
TaggedType : : = Tag Type |
Tag IMPLICIT Type |
Tag EXPLICIT Type
Tag : : = "[" Class ClassNumber "]"
ClassNumber : : = number | Defined Value
Class : : = UNIVERSAL |
APPLICATION |
PRIVATE |
empty
Tagged Value : : = Value
EmbeddedPDVType : : = EMBEDDED PDV
EmbeddedPDVValue : : = SequenceValue
ExternalType : : = EXTERNAL
ExternalValue : : = SequenceValue
ObjectIdentifierType : : = OBJECT IDENTIFIER
ObjectIdentifierValue : : = "{" ObjIdComponentList "}" |
"{" DefinedValue ObjIdComponentList "}"
Obj IdComponentList : : = ObjIdComponent |
ObjIdComponent ObjIdComponentList
ObjIdComponent : : = NameForm |
NumberForm |
NameAndNumberForm
NameForm : : = identifier
NumberForm : : = number | DefinedValue
NameAndNumberForm : : = identifier "(" NumberForm ")"
CharacterStringType : : = RestrictedCharacterStringType |
UnrestrictedCharacterStringType
RestrictedCharacterStringType : : = BMPString |
GeneralString |
GraphicString |
lA5String |
ISO646String |
NumericString |
PrintableString |
TeletexString |
T61String |
UniversalString |
VideotexString |
VisibleString
RestrictedCharacterStringValue : : = cstring | CharacterStringList |
Quadruple | Tuple
CharacterStringList : : = "{" CharSyms "}"
CharSyms : : = CharsDefn | CharSyms "," CharsDefn
CharsDefn : : = cstring | DefinedValue
Quadruple : : = "{" Group "," Plane "," Row "," Cell "}"
Group : : = number
Plane : : = number
Row : : = number
Cell : : = number
Tuple : : = "{" TableColumn "," TableRow "}"
TableColumn : : = number
TableRow : : = number
UnrestrictedCharacterStringType : : = CHARACTER STRING
CharacterStringValue : : = RestrictedCharacterStringValue |
UnrestrictedCharacterStringValue
UnrestrictedCharacterStringValue : : = SequenceValue
UsefulType : : = typereference
Следующие типы символьных строк определены в 36.1:
NumericString VisibleString
PrintableString ISO646String
TeletexString IA5String
T61String GraphicString
VideotexString GeneralString
UniversalString BMPString
Следующие полезные типы определены в разделах 39-41:
GeneralizedTime
UTCTime
ObjectDescriptor
Следующие продукции используются в разделах 42-45:
ConstrainedType : : =
Type Constraint |
TypeWithConstraint
TypeWithConstraint : : =
SET Constraint OF Type |
SET SizeConstraint OF Type |
SEQUENCE Constraint OF Type |
SEQUENCE SizeConstraint OF Type
Constraint : : = "(" ConstraintSpec ExceptionSpec ")"
ConstraintSpec : : =
SubtypeConstraint |
GeneralConstraint
ExceptionSpec : : = "!" ExceptionIdentification | empty
ExceptionIdentification : : = SignedNumber |
DefinedValue |
Type ":" Value
SubtypeConstraint : : = ElementSetSpec
ElementSetSpecs : : =
RootElementSetSpec |
RootElementSetSpec "," "..." |
RootElementSetSpec "," "..." "," AdditionalElementSetSpec
RootElementSetSpec : : = ElementSetSpec
AdditionalElementSetSpec : : = ElementSetSpec
ElementSetSpec : : = Unions | ALL Exclusions
Unions : : = Intersections |
UElems UnionMark Intersections
UElems : : = Unions
Intersections : : = IntersectionElements | IElems IntersectionMark
IntersectionElements
IElems : : = Intersections
IntersectionElements : : = Elements | Elems Exclusions
Elems : : = Elements
Exclusions : : = EXCEPT Elements
UnionMark : : = "|" | UNION
IntersectionMark : : = "^" INTERSECTION
Elements : : =
SubtypeElements |
ObjectSetElements |
"(" ElementSetSpec ")"
SubtypeElements : : =
SingleValue |
ContainedSubtype |
ValueRange |
PermittedAlphabet |
SizeConstraint |
TypeConstraint |
InnerTypeConstraints
SingleValue : : = Value
ContainedSubtype : : = Includes Type
Includes : : = INCLUDES | empty
ValueRange : : = LowerEndpoint ". ." UpperEndpoint
LowerEndpoint : : = LowerEndValue | LowerEndValue "<"
UpperEndpoint : : = UpperEndValue | "<" UpperEndValue
LowerEndValue : : = Value | MIN
UpperEndValue : : = Value | MAX
SizeConstraint : : = SIZE Constraint
PermittedAlphabet : : = FROM Constraint
TypeConstraint : : = Type
InnerTypeConstraints : : =
WITH COMPONENT SingleTypeConstraint |
WITH COMPONENTS MultipleTypeConstraints
SingleTypeConstraint : : = Constraint
MultipleTypeConstraints : : = FullSpecification | PartialSpecification
FullSpecification : : "{" TypeConstraints "}"
PartialSpecification : : = "{" "..." "," TypeConstraints "}"
TypeConstraints : : =
NamedConstraint |
NamedConstraint "," TypeConstraints
NamedConstraint : : =
identifier ComponentConstraint
ComponentConstraint : : = ValueConstraint PresenceConstraint
ValueConstraint : : = Constraint | empty
PresenceConstraint : : = PRESENT | ABSENT | OPTIONAL | empty
_____________________________
* Оригиналы и проекты международных стандартов - во ВНИИКИ Госстандарта России.
<< Приложение G. Руководство по модели расширения типа АСН.1 |
||
Содержание Государственный стандарт РФ ГОСТ Р ИСО/МЭК 8824-1-2001 "Информационная технология. Абстрактная синтаксическая нотация версии... |
Если вы являетесь пользователем интернет-версии системы ГАРАНТ, вы можете открыть этот документ прямо сейчас или запросить по Горячей линии в системе.