1Set DEFINITIONS IMPLICIT TAGS ::=
2
3BEGIN
4
5IMPORTS Seq1 FROM SeqSetLib;
6
7Set ::=  SET
8{
9  bool  BOOLEAN,
10  boolCon [20] BOOLEAN,
11  boolPri [PRIVATE 21] BOOLEAN,
12  boolApp  [APPLICATION 22] BOOLEAN,
13  boolExpCon [30] EXPLICIT BOOLEAN,
14  boolExpPri [PRIVATE 31] EXPLICIT BOOLEAN,
15  boolExpApp  [APPLICATION 32] EXPLICIT BOOLEAN
16}
17
18Set1 ::= SET
19{
20  bool1  BOOLEAN,
21  int1  INTEGER,
22  set1  SetIn
23}
24
25Set2 ::= SET
26{
27  set2  SetIn,
28  bool2  BOOLEAN,
29  int2  INTEGER
30}
31
32Set3 ::= SET
33{
34  bool3  BOOLEAN,
35  set3  SetIn,
36  int3  INTEGER
37}
38
39SetDef1 ::= SET
40{
41  bool1  BOOLEAN DEFAULT TRUE,
42  int1  INTEGER,
43  set1  SetIn DEFAULT {}
44}
45
46SetDef2 ::= SET
47{
48  set2  SetIn DEFAULT {},
49  bool2  BOOLEAN,
50  int2  INTEGER
51}
52
53SetDef3 ::= SET
54{
55  bool3  BOOLEAN DEFAULT TRUE,
56  set3  SetIn DEFAULT {},
57  int3  INTEGER DEFAULT 17
58}
59
60SetOpt1 ::= SET
61{
62  bool1  BOOLEAN OPTIONAL,
63  int1  INTEGER,
64  set1  SetIn OPTIONAL
65}
66
67SetOpt2 ::= SET
68{
69  set2  SetIn OPTIONAL,
70  bool2  BOOLEAN,
71  int2  INTEGER
72}
73
74SetOpt3 ::= SET
75{
76  bool3  BOOLEAN OPTIONAL,
77  set3  SetIn OPTIONAL,
78  int3  INTEGER OPTIONAL
79}
80
81SetIn ::= SET
82{
83  boolIn  BOOLEAN OPTIONAL,
84  intIn  INTEGER OPTIONAL
85}
86
87
88SetS1 ::= SET
89{
90  boolS1  BOOLEAN,
91  intS1  INTEGER,
92  setS1  SET { boolIn BOOLEAN,
93               intIn  INTEGER }
94}
95
96SetS2 ::= SET
97{
98  setS2  SET { boolIn BOOLEAN,
99               intIn  INTEGER },
100  boolS2  BOOLEAN,
101  intS2  INTEGER
102
103}
104
105SetS3 ::= SET
106{
107  boolS3  BOOLEAN,
108  setS3  SET { boolIn BOOLEAN,
109               intIn  INTEGER },
110  intS3  INTEGER
111
112}
113
114
115SetImp1 ::= SET
116{
117  seq  Seq1,
118  bool  BOOLEAN,
119  int  INTEGER
120}
121
122
123SetImp2 ::= SET
124{
125  bool  BOOLEAN,
126  seq  Seq1,
127  int  INTEGER
128}
129
130
131SetImp3 ::= SET
132{
133  bool  BOOLEAN,
134  int  INTEGER,
135  seq  Seq1
136}
137
138
139
140
141END
142