asn1c/tests/50-constraint-OK.asn1.-EFpr...

230 lines
9.7 KiB
Plaintext
Raw Normal View History

ModuleNestedConstraintsCheck { iso org(3) dod(6) internet(1) private(4)
enterprise(1) spelio(9363) software(1) asn1c(5) test(1) 50 1 }
DEFINITIONS ::=
BEGIN
Int1 ::= INTEGER
-- Practical constraints (Int1): (MIN..MAX)
-- PER-visible constraints (Int1): (MIN..MAX)
Int2 ::= Int1 (0..MAX)
-- Combined constraints: (0..MAX)
-- Practical constraints (Int1): (0..MAX)
-- PER-visible constraints (Int1): (0..MAX)
Int3 ::= Int2 (MIN..10)
-- Combined constraints: (0..MAX)(MIN..10)
-- Practical constraints (Int1): (0..10)
-- PER-visible constraints (Int1): (0..10)
Int4 ::= Int3 (5..MAX,...,1..4)
-- Combined constraints: (0..MAX)(MIN..10)(5..MAX,...,1..4)
-- Practical constraints (Int1): (1..10,...)
-- PER-visible constraints (Int1): (1..10,...)
Int5 ::= Int4 (MIN..5)
-- Combined constraints: (0..MAX)(MIN..10)(5..MAX)(MIN..5)
-- Practical constraints (Int1): (5)
-- PER-visible constraints (Int1): (5)
ten Int1 ::= 10
-- Practical constraints (Int1): (MIN..MAX)
-- PER-visible constraints (Int1): (MIN..MAX)
other-ten Int2 ::= 10
-- Practical constraints (Int1): (MIN..MAX)
-- PER-visible constraints (Int1): (MIN..MAX)
ExtensibleExtensions ::= INTEGER ((1..256,...) ^ (1..256))
-- Combined constraints: ((1..256,...) ^ (1..256))
-- Practical constraints (ExtensibleExtensions): (1..256,...)
-- PER-visible constraints (ExtensibleExtensions): (1..256,...)
Str1 ::= IA5String
-- Practical constraints (Str1): (MIN..MAX) (SIZE(0..MAX)) (FROM(""..""))
-- PER-visible constraints (Str1): (MIN..MAX) (SIZE(0..MAX)) (FROM(""..""))
Str2 ::= Str1 (SIZE(MIN..20 | 25..30))
-- Combined constraints: (SIZE(MIN..20 | 25..30))
-- Practical constraints (Str1): (MIN..MAX) (SIZE(0..20 | 25..30)) (FROM(""..""))
-- PER-visible constraints (Str1): (MIN..MAX) (SIZE(0..20 | 25..30)) (FROM(""..""))
Str3 ::= Str2 (SIZE(10..27))(FROM("ABC" | "def"))
-- Combined constraints: (SIZE(MIN..20 | 25..30))(SIZE(10..27))(FROM("ABC" | "def"))
-- Practical constraints (Str1): (MIN..MAX) (SIZE(10..20 | 25..27)) (FROM("A".."C" | "d".."f"))
-- PER-visible constraints (Str1): (MIN..MAX) (SIZE(10..20 | 25..27)) (FROM("A".."C" | "d".."f"))
Str4 ::= IA5String ("ABCD" | SIZE(4))
-- Combined constraints: ("ABCD" | SIZE(4))
-- Practical constraints (Str4): (MIN..MAX) (SIZE(0..MAX)) (FROM(""..""))
-- PER-visible constraints (Str4): (MIN..MAX) (SIZE(0..MAX)) (FROM(""..""))
PER-Visible ::= IA5String (FROM("A".."F"))
-- Combined constraints: (FROM("A".."F"))
-- Practical constraints (PER-Visible): (MIN..MAX) (SIZE(0..MAX)) (FROM("A".."F"))
-- PER-visible constraints (PER-Visible): (MIN..MAX) (SIZE(0..MAX)) (FROM("A".."F"))
PER-Visible-2 ::= PER-Visible (FROM("E".."F"))
-- Combined constraints: (FROM("A".."F"))(FROM("E".."F"))
-- Practical constraints (PER-Visible): (MIN..MAX) (SIZE(0..MAX)) (FROM("E".."F"))
-- PER-visible constraints (PER-Visible): (MIN..MAX) (SIZE(0..MAX)) (FROM("E".."F"))
Not-PER-Visible-1 ::= PER-Visible (FROM("AB") | SIZE(1..2))
-- Combined constraints: (FROM("A".."F"))(FROM("AB") | SIZE(1..2))
-- Practical constraints (PER-Visible): (MIN..MAX) (SIZE(0..MAX)) (FROM("A".."F"))
-- PER-visible constraints (PER-Visible): (MIN..MAX) (SIZE(0..MAX)) (FROM("A".."F"))
Not-PER-Visible-2 ::= PER-Visible (FROM("AB",...))
-- Combined constraints: (FROM("A".."F"))(FROM("AB",...))
-- Practical constraints (PER-Visible): (MIN..MAX) (SIZE(0..MAX)) (FROM("A".."B",...))
-- PER-visible constraints (PER-Visible): (MIN..MAX) (SIZE(0..MAX)) (FROM("A".."F"))
Not-PER-Visible-3 ::= PER-Visible (FROM("AB"),...)
-- Combined constraints: (FROM("A".."F"))(FROM("AB"),...)
-- Practical constraints (PER-Visible): (MIN..MAX) (SIZE(0..MAX)) (FROM("A".."B",...))
-- PER-visible constraints (PER-Visible): (MIN..MAX) (SIZE(0..MAX)) (FROM("A".."F"))
SIZE-but-not-FROM ::= PER-Visible (SIZE(1..4) ^ FROM("ABCD",...))
-- Combined constraints: (FROM("A".."F"))(SIZE(1..4) ^ FROM("ABCD",...))
-- Practical constraints (PER-Visible): (MIN..MAX) (SIZE(1..4)) (FROM("A".."D",...))
-- PER-visible constraints (PER-Visible): (MIN..MAX) (SIZE(1..4)) (FROM("A".."F"))
SIZE-and-FROM ::= PER-Visible (SIZE(1..4) ^ FROM("ABCD"))
-- Combined constraints: (FROM("A".."F"))(SIZE(1..4) ^ FROM("ABCD"))
-- Practical constraints (PER-Visible): (MIN..MAX) (SIZE(1..4)) (FROM("A".."D"))
-- PER-visible constraints (PER-Visible): (MIN..MAX) (SIZE(1..4)) (FROM("A".."D"))
Neither-SIZE-nor-FROM ::= PER-Visible (SIZE(1..4) | FROM("ABCD",...))
-- Combined constraints: (FROM("A".."F"))(SIZE(1..4) | FROM("ABCD",...))
-- Practical constraints (PER-Visible): (MIN..MAX) (SIZE(0..MAX)) (FROM("A".."F"))
-- PER-visible constraints (PER-Visible): (MIN..MAX) (SIZE(0..MAX)) (FROM("A".."F"))
Utf8-4 ::= UTF8String (FROM("A".."Z"))
-- Combined constraints: (FROM("A".."Z"))
-- Practical constraints (Utf8-4): (MIN..MAX) (SIZE(0..MAX)) (FROM("A".."Z"))
-- PER-visible constraints (Utf8-4):
Utf8-3 ::= Utf8-2 (FROM("A".."Z" | "a".."z"))
-- Combined constraints: (SIZE(1..2))(FROM("A".."Z" | "a".."z"))
-- Practical constraints (Utf8-1): (MIN..MAX) (SIZE(1..2)) (FROM("A".."Z" | "a".."z"))
-- PER-visible constraints (Utf8-1):
Utf8-2 ::= Utf8-1 (SIZE(1..2))
-- Combined constraints: (SIZE(1..2))
-- Practical constraints (Utf8-1): (MIN..MAX) (SIZE(1..2)) (FROM("".."<22>"))
-- PER-visible constraints (Utf8-1):
Utf8-1 ::= UTF8String
-- Practical constraints (Utf8-1): (MIN..MAX) (SIZE(0..MAX)) (FROM("".."<22>"))
-- PER-visible constraints (Utf8-1):
VisibleIdentifier ::= Identifier
-- Combined constraints: (FROM("A" | "a" | "B" | "b" | "C" | "c" | "D" | "d" | "E" | "e" | "F" | "f" | "G" | "g" | "H" | "h" | "I" | "i" | "J" | "j" | "K" | "k" | "L" | "l" | "M" | "m" | "N" | "n" | "O" | "o" | "P" | "p" | "Q" | "q" | "R" | "r" | "S" | "s" | "T" | "t" | "U" | "u" | "V" | "v" | "W" | "w" | "X" | "x" | "Y" | "y" | "Z" | "z" | "$" | "_" | "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"))(SIZE(1..32))
-- Practical constraints (Identifier): (MIN..MAX) (SIZE(1..32)) (FROM("$" | "0".."9" | "A".."Z" | "_" | "a".."z"))
-- PER-visible constraints (Identifier): (MIN..MAX) (SIZE(1..32)) (FROM("$" | "0".."9" | "A".."Z" | "_" | "a".."z"))
Sequence ::= SEQUENCE {
int1-c Int1 (-2..MAX)
-- Combined constraints: (-2..MAX)
-- Practical constraints (Int1): (-2..MAX)
-- PER-visible constraints (Int1): (-2..MAX)
DEFAULT 3,
int4 [2] EXPLICIT Int4
-- Combined constraints: (0..MAX)(MIN..10)(5..MAX,...,1..4)
-- Practical constraints (Int1): (1..10,...)
-- PER-visible constraints (Int1): (1..10,...)
,
int4-c Int4 (MIN..7)
-- Combined constraints: (0..MAX)(MIN..10)(5..MAX)(MIN..7)
-- Practical constraints (Int1): (5..7)
-- PER-visible constraints (Int1): (5..7)
,
bool BOOLEAN
-- Practical constraints (bool): (MIN..MAX)
-- PER-visible constraints (bool): (MIN..MAX)
DEFAULT 1,
enum-c ENUMERATED {
one(1)
-- Practical constraints (one):
-- PER-visible constraints (one):
,
two(2)
-- Practical constraints (two):
-- PER-visible constraints (two):
,
...,
three(3)
-- Practical constraints (three):
-- PER-visible constraints (three):
}
-- Practical constraints (enum-c): (MIN..MAX)
-- PER-visible constraints (enum-c): (MIN..MAX)
,
null NULL
-- Practical constraints (null):
-- PER-visible constraints (null):
OPTIONAL,
...,
int5-c Int5 (5)
-- Combined constraints: (0..MAX)(MIN..10)(5..MAX)(MIN..5)(5)
-- Practical constraints (Int1): (5)
-- PER-visible constraints (Int1): (5)
OPTIONAL
}
-- Practical constraints (Sequence):
-- PER-visible constraints (Sequence):
SequenceOf ::= SEQUENCE (SIZE(1..2)) OF Sequence
-- Practical constraints (Sequence):
-- PER-visible constraints (Sequence):
-- Combined constraints: (SIZE(1..2))
-- Practical constraints (SequenceOf): (SIZE(1..2))
-- PER-visible constraints (SequenceOf): (SIZE(1..2))
Enum0 ::= ENUMERATED {
one(0)
-- Practical constraints (one):
-- PER-visible constraints (one):
,
two(1)
-- Practical constraints (two):
-- PER-visible constraints (two):
}
-- Practical constraints (Enum0): (MIN..MAX)
-- PER-visible constraints (Enum0): (MIN..MAX)
Enum1 ::= ENUMERATED {
one(0)
-- Practical constraints (one):
-- PER-visible constraints (one):
,
two(1)
-- Practical constraints (two):
-- PER-visible constraints (two):
} (0)
-- Combined constraints: (0)
-- Practical constraints (Enum1): (0)
-- PER-visible constraints (Enum1): (0)
END
IdentifierModule { iso org(3) dod(6) internet(1) private(4) enterprise(1)
spelio(9363) software(1) asn1c(5) test(1) 50 2 }
DEFINITIONS ::=
BEGIN
maxIdentifier INTEGER ::= 32
-- Practical constraints (maxIdentifier): (MIN..MAX)
-- PER-visible constraints (maxIdentifier): (MIN..MAX)
Identifier ::= VisibleString (FROM("A" | "a" | "B" | "b" | "C" | "c" | "D" | "d" | "E" | "e" | "F" | "f" | "G" | "g" | "H" | "h" | "I" | "i" | "J" | "j" | "K" | "k" | "L" | "l" | "M" | "m" | "N" | "n" | "O" | "o" | "P" | "p" | "Q" | "q" | "R" | "r" | "S" | "s" | "T" | "t" | "U" | "u" | "V" | "v" | "W" | "w" | "X" | "x" | "Y" | "y" | "Z" | "z" | "$" | "_" | "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"))(SIZE(1..32))
-- Combined constraints: (FROM("A" | "a" | "B" | "b" | "C" | "c" | "D" | "d" | "E" | "e" | "F" | "f" | "G" | "g" | "H" | "h" | "I" | "i" | "J" | "j" | "K" | "k" | "L" | "l" | "M" | "m" | "N" | "n" | "O" | "o" | "P" | "p" | "Q" | "q" | "R" | "r" | "S" | "s" | "T" | "t" | "U" | "u" | "V" | "v" | "W" | "w" | "X" | "x" | "Y" | "y" | "Z" | "z" | "$" | "_" | "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"))(SIZE(1..32))
-- Practical constraints (Identifier): (MIN..MAX) (SIZE(1..32)) (FROM("$" | "0".."9" | "A".."Z" | "_" | "a".."z"))
-- PER-visible constraints (Identifier): (MIN..MAX) (SIZE(1..32)) (FROM("$" | "0".."9" | "A".."Z" | "_" | "a".."z"))
END