-- OK: Everything is fine -- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) -- .spelio.software.asn1c.test (9363.1.5.1) -- .99 ModuleClassSample { iso org(3) dod(6) internet (1) private(4) enterprise(1) spelio(9363) software(1) asn1c(5) test(1) 99 } DEFINITIONS ::= BEGIN SAMPLE-CLASS ::= CLASS { &id RELATIVE-OID UNIQUE, &code ENUMERATED { request, response, status } DEFAULT request, &Type OPTIONAL } WITH SYNTAX { [TYPE &Type] [WITH CODE &code] IDENTIFIED BY &id } SampleClassObjectSet SAMPLE-CLASS ::= { request-Whatever | respond-Stuff | request-Status | request-Salt } request-Whatever SAMPLE-CLASS ::= { IDENTIFIED BY request-whatever } respond-Stuff SAMPLE-CLASS ::= { WITH CODE 1 IDENTIFIED BY response-stuff } request-Status SAMPLE-CLASS ::= { TYPE SampleType WITH CODE 2 IDENTIFIED BY request-id } request-Salt SAMPLE-CLASS ::= { TYPE Salt IDENTIFIED BY request-salt } request-id RELATIVE-OID ::= { 1 1 1 } request-salt RELATIVE-OID ::= { 1 1 1 } request-whatever RELATIVE-OID ::= { 1 1 5 } response-stuff RELATIVE-OID ::= { 2 0 1 } SampleType ::= SEQUENCE { ... } Salt ::= SET { ... } END