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