vlm | c754e53 | 2005-08-16 16:56:59 +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) |
| 6 | -- .92 |
| 7 | |
| 8 | ModuleCircularReferences |
| 9 | { iso org(3) dod(6) internet (1) private(4) enterprise(1) |
| 10 | spelio(9363) software(1) asn1c(5) test(1) 92 } |
| 11 | DEFINITIONS AUTOMATIC TAGS ::= |
| 12 | BEGIN |
| 13 | |
| 14 | Everything ::= SEQUENCE { |
| 15 | ch1 Choice1, |
| 16 | ch2 Choice2, |
| 17 | set Set |
| 18 | } |
| 19 | |
| 20 | -- This type refers to the type directly containing itself. |
| 21 | Choice1 ::= CHOICE { |
| 22 | something Everything, |
| 23 | ..., |
| 24 | some2 Everything |
| 25 | } |
| 26 | |
| 27 | Choice2 ::= CHOICE { |
| 28 | ..., |
| 29 | some3 Everything |
| 30 | } |
| 31 | |
| 32 | Set ::= SET OF SEQUENCE { |
| 33 | int INTEGER, |
| 34 | set Set, |
| 35 | seq Sequence, |
| 36 | set2 Set OPTIONAL, |
| 37 | ..., |
| 38 | set3 Set |
| 39 | } |
| 40 | |
| 41 | Sequence ::= SEQUENCE { |
| 42 | a INTEGER, |
| 43 | seq Sequence OPTIONAL, |
| 44 | ..., |
| 45 | b INTEGER, |
| 46 | set Set OPTIONAL |
| 47 | } |
| 48 | |
| 49 | END |