1 ModuleNestedConstraintsCheck { iso org(3) dod(6) internet(1) private(4)
2 enterprise(1) spelio(9363) software(1) asn1c(5) test(1) 50 1 }
7 -- Practical constraints (Int1): (MIN..MAX)
8 -- OER-visible constraints (Int1): (MIN..MAX)
9 -- PER-visible constraints (Int1): (MIN..MAX)
11 Int2 ::= Int1 (0..MAX)
12 -- Combined constraints: (0..MAX)
13 -- Practical constraints (Int1): (0..MAX)
14 -- OER-visible constraints (Int1): (0..MAX)
15 -- PER-visible constraints (Int1): (0..MAX)
17 Int3 ::= Int2 (MIN..10)
18 -- Combined constraints: (0..MAX) (MIN..10)
19 -- Practical constraints (Int1): (0..10)
20 -- OER-visible constraints (Int1): (0..10)
21 -- PER-visible constraints (Int1): (0..10)
23 Int4 ::= Int3 (5..MAX,...,1..4)
24 -- Combined constraints: (0..MAX) (MIN..10) (5..MAX,...,1..4)
25 -- Practical constraints (Int1): (1..10,...)
26 -- OER-visible constraints (Int1): (0..10)
27 -- PER-visible constraints (Int1): (1..10,...)
29 Int5 ::= Int4 (MIN..5)
30 -- Combined constraints: (0..MAX) (MIN..10) (5..MAX) (MIN..5)
31 -- Practical constraints (Int1): (5)
32 -- OER-visible constraints (Int1): (5)
33 -- PER-visible constraints (Int1): (5)
36 -- Practical constraints (Int1): (MIN..MAX)
37 -- OER-visible constraints (Int1): (MIN..MAX)
38 -- PER-visible constraints (Int1): (MIN..MAX)
41 -- Practical constraints (Int1): (MIN..MAX)
42 -- OER-visible constraints (Int1): (MIN..MAX)
43 -- PER-visible constraints (Int1): (MIN..MAX)
45 ExtensibleExtensions ::= INTEGER (1..256) (1..255,...)
46 -- Combined constraints: (1..256) (1..255,...)
47 -- Practical constraints (ExtensibleExtensions): (1..255,...)
48 -- OER-visible constraints (ExtensibleExtensions): (1..256)
49 -- PER-visible constraints (ExtensibleExtensions): (1..255,...)
52 -- Practical constraints (Str1): (MIN..MAX) (SIZE(0..MAX)) (FROM("
\0".."
\7f"))
53 -- OER-visible constraints (Str1): (MIN..MAX) (SIZE(0..MAX))
54 -- PER-visible constraints (Str1): (MIN..MAX) (SIZE(0..MAX)) (FROM("
\0".."
\7f"))
56 Str2 ::= Str1 (SIZE(MIN..20 | 25..30))
57 -- Combined constraints: (SIZE(MIN..20 | 25..30))
58 -- Practical constraints (Str1): (MIN..MAX) (SIZE(0..20 | 25..30)) (FROM("
\0".."
\7f"))
59 -- OER-visible constraints (Str1): (MIN..MAX) (SIZE(0..20 | 25..30))
60 -- PER-visible constraints (Str1): (MIN..MAX) (SIZE(0..20 | 25..30)) (FROM("
\0".."
\7f"))
62 Str3 ::= Str2 (SIZE(10..27)) (FROM("ABC" | "def"))
63 -- Combined constraints: (SIZE(MIN..20 | 25..30)) (SIZE(10..27)) (FROM("ABC" | "def"))
64 -- Practical constraints (Str1): (MIN..MAX) (SIZE(10..20 | 25..27)) (FROM("A".."C" | "d".."f"))
65 -- OER-visible constraints (Str1): (MIN..MAX) (SIZE(10..20 | 25..27))
66 -- PER-visible constraints (Str1): (MIN..MAX) (SIZE(10..20 | 25..27)) (FROM("A".."C" | "d".."f"))
68 Str4 ::= IA5String ("ABCD" | SIZE(4))
69 -- Combined constraints: ("ABCD" | SIZE(4))
70 -- Practical constraints (Str4): (MIN..MAX) (SIZE(0..MAX)) (FROM("
\0".."
\7f"))
71 -- OER-visible constraints (Str4): (MIN..MAX) (SIZE(0..MAX))
72 -- PER-visible constraints (Str4): (MIN..MAX) (SIZE(0..MAX)) (FROM("
\0".."
\7f"))
74 PER-Visible ::= IA5String (FROM("A".."F"))
75 -- Combined constraints: (FROM("A".."F"))
76 -- Practical constraints (PER-Visible): (MIN..MAX) (SIZE(0..MAX)) (FROM("A".."F"))
77 -- OER-visible constraints (PER-Visible): (MIN..MAX) (SIZE(0..MAX))
78 -- PER-visible constraints (PER-Visible): (MIN..MAX) (SIZE(0..MAX)) (FROM("A".."F"))
80 PER-Visible-2 ::= PER-Visible (FROM("E".."F"))
81 -- Combined constraints: (FROM("A".."F")) (FROM("E".."F"))
82 -- Practical constraints (PER-Visible): (MIN..MAX) (SIZE(0..MAX)) (FROM("E".."F"))
83 -- OER-visible constraints (PER-Visible): (MIN..MAX) (SIZE(0..MAX))
84 -- PER-visible constraints (PER-Visible): (MIN..MAX) (SIZE(0..MAX)) (FROM("E".."F"))
86 Not-PER-Visible-1 ::= PER-Visible (FROM("AB") | SIZE(1..2))
87 -- Combined constraints: (FROM("A".."F")) (FROM("AB") | SIZE(1..2))
88 -- Practical constraints (PER-Visible): (MIN..MAX) (SIZE(0..MAX)) (FROM("A".."F"))
89 -- OER-visible constraints (PER-Visible): (MIN..MAX) (SIZE(0..MAX))
90 -- PER-visible constraints (PER-Visible): (MIN..MAX) (SIZE(0..MAX)) (FROM("A".."F"))
92 Not-PER-Visible-2 ::= PER-Visible (FROM("AB",...))
93 -- Combined constraints: (FROM("A".."F")) (FROM("AB",...))
94 -- Practical constraints (PER-Visible): (MIN..MAX) (SIZE(0..MAX)) (FROM("A".."B",...))
95 -- OER-visible constraints (PER-Visible): (MIN..MAX) (SIZE(0..MAX))
96 -- PER-visible constraints (PER-Visible): (MIN..MAX) (SIZE(0..MAX)) (FROM("A".."F"))
98 Not-PER-Visible-3 ::= PER-Visible (FROM("AB"),...)
99 -- Combined constraints: (FROM("A".."F")) (FROM("AB"),...)
100 -- Practical constraints (PER-Visible): (MIN..MAX) (SIZE(0..MAX)) (FROM("A".."B",...))
101 -- OER-visible constraints (PER-Visible): (MIN..MAX) (SIZE(0..MAX))
102 -- PER-visible constraints (PER-Visible): (MIN..MAX) (SIZE(0..MAX)) (FROM("A".."F"))
104 SIZE-but-not-FROM ::= PER-Visible (SIZE(1..4) ^ FROM("ABCD",...))
105 -- Combined constraints: (FROM("A".."F")) (SIZE(1..4) ^ FROM("ABCD",...))
106 -- Practical constraints (PER-Visible): (MIN..MAX) (SIZE(1..4)) (FROM("A".."D",...))
107 -- OER-visible constraints (PER-Visible): (MIN..MAX) (SIZE(1..4))
108 -- PER-visible constraints (PER-Visible): (MIN..MAX) (SIZE(1..4)) (FROM("A".."F"))
110 SIZE-and-FROM ::= PER-Visible (SIZE(1..4) ^ FROM("ABCD"))
111 -- Combined constraints: (FROM("A".."F")) (SIZE(1..4) ^ FROM("ABCD"))
112 -- Practical constraints (PER-Visible): (MIN..MAX) (SIZE(1..4)) (FROM("A".."D"))
113 -- OER-visible constraints (PER-Visible): (MIN..MAX) (SIZE(1..4))
114 -- PER-visible constraints (PER-Visible): (MIN..MAX) (SIZE(1..4)) (FROM("A".."D"))
116 Neither-SIZE-nor-FROM ::= PER-Visible (SIZE(1..4) | FROM("ABCD",...))
117 -- Combined constraints: (FROM("A".."F")) (SIZE(1..4) | FROM("ABCD",...))
118 -- Practical constraints (PER-Visible): (MIN..MAX) (SIZE(0..MAX)) (FROM("A".."F"))
119 -- OER-visible constraints (PER-Visible): (MIN..MAX) (SIZE(0..MAX))
120 -- PER-visible constraints (PER-Visible): (MIN..MAX) (SIZE(0..MAX)) (FROM("A".."F"))
122 Utf8-4 ::= UTF8String (FROM("A".."Z"))
123 -- Combined constraints: (FROM("A".."Z"))
124 -- Practical constraints (Utf8-4): (MIN..MAX) (SIZE(0..MAX)) (FROM("A".."Z"))
125 -- OER-visible constraints (Utf8-4): (MIN..MAX)
126 -- PER-visible constraints (Utf8-4):
128 Utf8-3 ::= Utf8-2 (FROM("A".."Z" | "a".."z"))
129 -- Combined constraints: (SIZE(1..2)) (FROM("A".."Z" | "a".."z"))
130 -- Practical constraints (Utf8-1): (MIN..MAX) (SIZE(1..2)) (FROM("A".."Z" | "a".."z"))
131 -- OER-visible constraints (Utf8-1): (MIN..MAX)
132 -- PER-visible constraints (Utf8-1):
134 Utf8-2 ::= Utf8-1 (SIZE(1..2))
135 -- Combined constraints: (SIZE(1..2))
136 -- Practical constraints (Utf8-1): (MIN..MAX) (SIZE(1..2)) (FROM("
\0".."ÿ"))
137 -- OER-visible constraints (Utf8-1): (MIN..MAX)
138 -- PER-visible constraints (Utf8-1):
140 Utf8-1 ::= UTF8String
141 -- Practical constraints (Utf8-1): (MIN..MAX) (SIZE(0..MAX)) (FROM("
\0".."ÿ"))
142 -- OER-visible constraints (Utf8-1): (MIN..MAX) (SIZE(0..MAX))
143 -- PER-visible constraints (Utf8-1):
145 VisibleIdentifier ::= Identifier
146 -- 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))
147 -- Practical constraints (Identifier): (MIN..MAX) (SIZE(1..32)) (FROM("$" | "0".."9" | "A".."Z" | "_" | "a".."z"))
148 -- OER-visible constraints (Identifier): (MIN..MAX) (SIZE(1..32))
149 -- PER-visible constraints (Identifier): (MIN..MAX) (SIZE(1..32)) (FROM("$" | "0".."9" | "A".."Z" | "_" | "a".."z"))
151 Sequence ::= SEQUENCE {
152 int1-c Int1 (-2..MAX)
153 -- Combined constraints: (-2..MAX)
154 -- Practical constraints (Int1): (-2..MAX)
155 -- OER-visible constraints (Int1): (-2..MAX)
156 -- PER-visible constraints (Int1): (-2..MAX)
158 int4 [2] EXPLICIT Int4
159 -- Combined constraints: (0..MAX) (MIN..10) (5..MAX,...,1..4)
160 -- Practical constraints (Int1): (1..10,...)
161 -- OER-visible constraints (Int1): (0..10)
162 -- PER-visible constraints (Int1): (1..10,...)
165 -- Combined constraints: (0..MAX) (MIN..10) (5..MAX) (MIN..7)
166 -- Practical constraints (Int1): (5..7)
167 -- OER-visible constraints (Int1): (5..7)
168 -- PER-visible constraints (Int1): (5..7)
171 -- Practical constraints (bool): (MIN..MAX)
172 -- OER-visible constraints (bool): (MIN..MAX)
173 -- PER-visible constraints (bool): (MIN..MAX)
177 -- Practical constraints (one):
178 -- OER-visible constraints (one):
179 -- PER-visible constraints (one):
182 -- Practical constraints (two):
183 -- OER-visible constraints (two):
184 -- PER-visible constraints (two):
188 -- Practical constraints (three):
189 -- OER-visible constraints (three):
190 -- PER-visible constraints (three):
193 -- Practical constraints (enum-c): (MIN..MAX)
194 -- OER-visible constraints (enum-c): (MIN..MAX)
195 -- PER-visible constraints (enum-c): (MIN..MAX)
198 -- Practical constraints (null):
199 -- OER-visible constraints (null):
200 -- PER-visible constraints (null):
204 -- Combined constraints: (0..MAX) (MIN..10) (5..MAX) (MIN..5) (5)
205 -- Practical constraints (Int1): (5)
206 -- OER-visible constraints (Int1): (5)
207 -- PER-visible constraints (Int1): (5)
210 -- Practical constraints (Sequence):
211 -- OER-visible constraints (Sequence):
212 -- PER-visible constraints (Sequence):
214 SequenceOf ::= SEQUENCE (SIZE(1..2)) OF Sequence
215 -- Practical constraints (Sequence):
216 -- OER-visible constraints (Sequence):
217 -- PER-visible constraints (Sequence):
219 -- Combined constraints: (SIZE(1..2))
220 -- Practical constraints (SequenceOf): (SIZE(1..2))
221 -- OER-visible constraints (SequenceOf): (SIZE(1..2))
222 -- PER-visible constraints (SequenceOf): (SIZE(1..2))
224 Enum0 ::= ENUMERATED {
226 -- Practical constraints (one):
227 -- OER-visible constraints (one):
228 -- PER-visible constraints (one):
231 -- Practical constraints (two):
232 -- OER-visible constraints (two):
233 -- PER-visible constraints (two):
236 -- Practical constraints (Enum0): (MIN..MAX)
237 -- OER-visible constraints (Enum0): (MIN..MAX)
238 -- PER-visible constraints (Enum0): (MIN..MAX)
240 Enum1 ::= ENUMERATED {
242 -- Practical constraints (one):
243 -- OER-visible constraints (one):
244 -- PER-visible constraints (one):
247 -- Practical constraints (two):
248 -- OER-visible constraints (two):
249 -- PER-visible constraints (two):
252 -- Combined constraints: (0)
253 -- Practical constraints (Enum1): (0)
254 -- OER-visible constraints (Enum1): (0)
255 -- PER-visible constraints (Enum1): (0)
259 IdentifierModule { iso org(3) dod(6) internet(1) private(4) enterprise(1)
260 spelio(9363) software(1) asn1c(5) test(1) 50 2 }
264 maxIdentifier INTEGER ::= 32
265 -- Practical constraints (maxIdentifier): (MIN..MAX)
266 -- OER-visible constraints (maxIdentifier): (MIN..MAX)
267 -- PER-visible constraints (maxIdentifier): (MIN..MAX)
269 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))
270 -- 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))
271 -- Practical constraints (Identifier): (MIN..MAX) (SIZE(1..32)) (FROM("$" | "0".."9" | "A".."Z" | "_" | "a".."z"))
272 -- OER-visible constraints (Identifier): (MIN..MAX) (SIZE(1..32))
273 -- PER-visible constraints (Identifier): (MIN..MAX) (SIZE(1..32)) (FROM("$" | "0".."9" | "A".."Z" | "_" | "a".."z"))