vlm | ffa901e | 2004-08-18 04:54:10 +0000 | [diff] [blame] | 1 | |
| 2 | -- OK: Everything is fine |
| 3 | |
| 4 | -- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) |
| 5 | -- .spelio.software.asn1c.test (9363.1.5.1) |
vlm | 63c808c | 2004-09-15 11:44:13 +0000 | [diff] [blame] | 6 | -- .50 1 |
| 7 | -- .50 2 |
vlm | ffa901e | 2004-08-18 04:54:10 +0000 | [diff] [blame] | 8 | |
| 9 | ModuleNestedConstraintsCheck |
| 10 | { iso org(3) dod(6) internet (1) private(4) enterprise(1) |
vlm | 63c808c | 2004-09-15 11:44:13 +0000 | [diff] [blame] | 11 | spelio(9363) software(1) asn1c(5) test(1) 50 1 } |
vlm | ffa901e | 2004-08-18 04:54:10 +0000 | [diff] [blame] | 12 | DEFINITIONS ::= |
| 13 | BEGIN |
vlm | 63c808c | 2004-09-15 11:44:13 +0000 | [diff] [blame] | 14 | IMPORTS Identifier FROM IdentifierModule; |
vlm | ffa901e | 2004-08-18 04:54:10 +0000 | [diff] [blame] | 15 | |
| 16 | Int1 ::= INTEGER |
| 17 | Int2 ::= Int1 (0..MAX) -- X.680-0207::41.4.4 |
| 18 | Int3 ::= Int2 (MIN..ten) -- Means (0..10) |
| 19 | Int4 ::= Int3 (5..MAX,...,1..4) -- Means (5..10,...,1..4) |
| 20 | Int5 ::= Int4 (MIN..5) -- Means (5) |
vlm | 25e1293 | 2004-09-10 06:07:39 +0000 | [diff] [blame] | 21 | -- Int6 ::= INTEGER (Int5) -- -- Not yet supported |
vlm | ffa901e | 2004-08-18 04:54:10 +0000 | [diff] [blame] | 22 | |
| 23 | ten Int1 ::= other-ten |
| 24 | other-ten Int2 ::= 10 |
| 25 | |
| 26 | -- G.4.3.4 |
| 27 | ExtensibleExtensions ::= INTEGER ((1..256,...) INTERSECTION (1..256)) |
| 28 | |
| 29 | Str1 ::= IA5String |
| 30 | Str2 ::= Str1 (SIZE(MIN..20 | 25..30)) |
| 31 | -- Means (SIZE(0..20 | 25..30)) |
| 32 | Str3 ::= Str2 (SIZE(10..27))(FROM("ABC"|"def")) |
| 33 | -- (SIZE(10..20,25..27))(FROM("ABCdef")) |
vlm | 25e1293 | 2004-09-10 06:07:39 +0000 | [diff] [blame] | 34 | Str4 ::= IA5String ("ABCD"|SIZE(4)) |
| 35 | -- Not PER-visible |
vlm | ffa901e | 2004-08-18 04:54:10 +0000 | [diff] [blame] | 36 | |
| 37 | PER-Visible ::= IA5String (FROM("A".."F")) |
| 38 | PER-Visible-2 ::= PER-Visible (FROM("E".."F")) -- Means (FROM("EF")) |
| 39 | -- The following maintain parent permitted alphabet constraint |
| 40 | Not-PER-Visible-1 ::= PER-Visible (FROM("AB") | SIZE(1..2)) |
| 41 | Not-PER-Visible-2 ::= PER-Visible (FROM("AB",...)) |
| 42 | Not-PER-Visible-3 ::= PER-Visible (FROM("AB"),...) |
vlm | 26afd20 | 2004-08-25 02:08:08 +0000 | [diff] [blame] | 43 | |
vlm | ffa901e | 2004-08-18 04:54:10 +0000 | [diff] [blame] | 44 | SIZE-but-not-FROM ::= PER-Visible (SIZE(1..4) ^ FROM("ABCD",...)) |
| 45 | SIZE-and-FROM ::= PER-Visible (SIZE(1..4) ^ FROM("ABCD")) |
| 46 | Neither-SIZE-nor-FROM ::= PER-Visible (SIZE(1..4) | FROM("ABCD",...)) |
| 47 | |
vlm | 1ba4275 | 2004-10-02 16:44:30 +0000 | [diff] [blame] | 48 | Utf8-4 ::= UTF8String (FROM("A".."Z")) -- Alphabet |
vlm | e4506a3 | 2004-10-02 16:33:46 +0000 | [diff] [blame] | 49 | Utf8-3 ::= Utf8-2 (FROM("A".."Z"|"a".."z")) -- Alphabet and size |
| 50 | Utf8-2 ::= Utf8-1 (SIZE(1..2)) -- Size |
vlm | 21e4600 | 2004-08-20 13:36:32 +0000 | [diff] [blame] | 51 | Utf8-1 ::= UTF8String |
| 52 | |
vlm | 63c808c | 2004-09-15 11:44:13 +0000 | [diff] [blame] | 53 | VisibleIdentifier ::= Identifier |
| 54 | |
| 55 | END |
| 56 | |
| 57 | |
| 58 | IdentifierModule |
| 59 | { iso org(3) dod(6) internet (1) private(4) enterprise(1) |
| 60 | spelio(9363) software(1) asn1c(5) test(1) 50 2 } |
| 61 | DEFINITIONS ::= |
| 62 | BEGIN |
| 63 | EXPORTS Identifier; |
| 64 | |
| 65 | maxIdentifier INTEGER ::= 32 |
| 66 | |
| 67 | Identifier ::= |
| 68 | VisibleString ( FROM |
| 69 | ("A"|"a"|"B"|"b"|"C"|"c"|"D"|"d"|"E"|"e"|"F"|"f"| |
| 70 | "G"|"g"|"H"|"h"|"I"|"i"|"J"|"j"|"K"|"k"|"L"|"l"| |
| 71 | "M"|"m"|"N"|"n"|"O"|"o"|"P"|"p"|"Q"|"q"|"R"|"r"| |
| 72 | "S"|"s"|"T"|"t"|"U"|"u"|"V"|"v"|"W"|"w"|"X"|"x"| |
| 73 | "Y"|"y"|"Z"|"z"|"$"|"_"|"0"|"1"|"2"|"3"|"4"|"5"| |
| 74 | "6"|"7"|"8"|"9") ) (SIZE(1..maxIdentifier)) |
| 75 | |
vlm | ffa901e | 2004-08-18 04:54:10 +0000 | [diff] [blame] | 76 | END |