Test DEFINITIONS ::= BEGIN CONSTANT mysize ::= 5+5-7.1 CONSTANT mysize2 ::= 5*-5 CONSTANT mysize3 ::= 2^^31-1 CONSTANT wordsize ::= 32 CONSTANT mysize4 ::= 2^^(wordsize -1) - 1 CONSTANT wordsize2 ::= -31 CONSTANT wordsize3234 ::= 5+5 CONSTANT wordsize3234a ::= 5-5 CONSTANT a ::= 4 * (4+3) INTEGER[encoding twos-complement, size 64] NoConstraint[] MyInt[encoding BCD, size wordsize, align-to-next byte] MyInt2[encoding pos-int, size 20, align-to-next word] BCDInt[encoding BCD, size 20, align-to-next word] BCDInt2[encoding BCD, align-to-next word, null-terminated] MyIntAscii[encoding ASCII, size 80] MyIntAscii2[encoding ASCII, size 80] MyIntAscii3[encoding ASCII, size 80] Ascii-String[] BString[] ThisIsAChoice[] ThisIsAnEnum[] MyInt3[encoding twos-complement, length 6, align-to-next dword] MyEnum[encode-what values, encoding twos-complement, size 20] MyEnum2[encode-what indexes, encoding twos-complement, size 20] MyReal[encoding IEEE754-1985-32] MyReal2[encoding IEEE754-1985-64] MyBool[true-value '1'B] My-Bool2[false-value '000'B, align-to-next byte] Sur-Name[size 20] ChoiceEnum[] AnotherEnum[] MySeq [align-to-next byte, optionality manual] { intEnum[], myBool BOOLEAN[true-value '1111'B], intSeq [present-when myBool] { a INTEGER[encoding pos-int, size 6], b[], c ChoiceEnum[], d[] }, myLen [encoding pos-int, size 5], myFld [encoding twos-complement, length-field intSeq.a], new-field2 NULL [pattern '00100'B], name [length-field intSeq.a, present-when intSeq.b>(4+4)/2] , intChoice[determinant-tag intSeq.c, present-when intSeq.b>=2], myParCh[determinant-tag intSeq.c], -- choiceField ChoiceEnum[], myParSeq[] } MyParamChoice [] MyParSeq [optionality uper] { a1 [], a2 [determinant-tag choiceSelector] { first [], sec [], third [] } } BitString1[size 20] BitString2[length 5] Oct[] NullType2[pattern '10101'B, align-to-next byte] MySequenceOf[] MySequenceOf2[] MySequenceOf3[] MySequenceOf3a[] MyPDU[]{ header[] { a[], b[], c BOOLEAN[true-value '11111111'B], len INTEGER[] }, part1[], part2[], part3[], newEnum ChoiceEnum[], part2b [], name [length-field header.len] } MyPDU-Part1[optionality manual]{ a1[], a2[], b2[encoding IEEE754-1985-64, present-when bFlag] } MyPDUPart2[] { a1[length-field len], a2[length-field len], a3[length-field len2], a4[null-terminated], ch1[determinant-tag chSelector], ch2[determinant-tag chSelector] } END