Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
A
asn1c
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Libraries
asn1c
Commits
ff7dd147
Commit
ff7dd147
authored
Mar 20, 2005
by
Lev Walkin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ContainedSubtype support
parent
7ec9b4c7
Changes
10
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
743 additions
and
701 deletions
+743
-701
ChangeLog
ChangeLog
+1
-0
TODO
TODO
+0
-3
libasn1parser/asn1p_constr.c
libasn1parser/asn1p_constr.c
+8
-3
libasn1parser/asn1p_constr.h
libasn1parser/asn1p_constr.h
+4
-2
libasn1parser/asn1p_y.c
libasn1parser/asn1p_y.c
+698
-684
libasn1parser/asn1p_y.y
libasn1parser/asn1p_y.y
+17
-7
libasn1print/asn1print.c
libasn1print/asn1print.c
+3
-0
tests/16-constraint-OK.asn1
tests/16-constraint-OK.asn1
+5
-1
tests/16-constraint-OK.asn1.-EF
tests/16-constraint-OK.asn1.-EF
+7
-1
tests/16-constraint-OK.asn1.-EFprint-constraints
tests/16-constraint-OK.asn1.-EFprint-constraints
+0
-0
No files found.
ChangeLog
View file @
ff7dd147
...
...
@@ -4,6 +4,7 @@
* Added extra const qualifiers into the support code.
* More RFC variations supported in crfc2asn1.pl.
* Refined string values compatibility. (Test cases 77, 78).
* Support for ContainedSubtype constraints. (Test case 16).
0.9.12: 2005-Mar-10
...
...
TODO
View file @
ff7dd147
...
...
@@ -16,6 +16,3 @@ which is already completed. Also see #3.2.
3. MINOR:
3.1 Parsing of CONSTRAINED BY clauses
3.2 Support for ContainedSubtype constraint.
libasn1parser/asn1p_constr.c
View file @
ff7dd147
...
...
@@ -22,6 +22,8 @@ void
asn1p_constraint_free
(
asn1p_constraint_t
*
ct
)
{
if
(
ct
)
{
if
(
ct
->
containedSubtype
)
asn1p_value_free
(
ct
->
containedSubtype
);
if
(
ct
->
value
)
asn1p_value_free
(
ct
->
value
);
if
(
ct
->
range_start
)
...
...
@@ -59,9 +61,10 @@ asn1p_constraint_clone(asn1p_constraint_t *src) {
clone
->
type
=
src
->
type
;
clone
->
presence
=
src
->
presence
;
CLONE
(
value
,
asn1p_value_clone
);
CLONE
(
range_start
,
asn1p_value_clone
);
CLONE
(
range_stop
,
asn1p_value_clone
);
CLONE
(
containedSubtype
,
asn1p_value_clone
);
CLONE
(
value
,
asn1p_value_clone
);
CLONE
(
range_start
,
asn1p_value_clone
);
CLONE
(
range_stop
,
asn1p_value_clone
);
for
(
i
=
0
;
i
<
src
->
el_count
;
i
++
)
{
asn1p_constraint_t
*
t
;
...
...
@@ -115,6 +118,8 @@ asn1p_constraint_type2str(enum asn1p_constraint_type_e type) {
switch
(
type
)
{
case
ACT_INVALID
:
return
"INVALID"
;
case
ACT_EL_TYPE
:
return
"ContainedSubtype"
;
case
ACT_EL_VALUE
:
return
"SingleValue"
;
case
ACT_EL_RANGE
:
...
...
libasn1parser/asn1p_constr.h
View file @
ff7dd147
...
...
@@ -11,7 +11,8 @@ typedef struct asn1p_constraint_s {
/*
* Constraint elements.
*/
ACT_EL_VALUE
,
/* 123, "A", T (elementary value) */
ACT_EL_TYPE
,
/* T (contained subtype) */
ACT_EL_VALUE
,
/* 123, "A", (elementary value) */
ACT_EL_RANGE
,
/* 1..2 (elementary range) */
ACT_EL_LLRANGE
,
/* 1<..2 (elementary range) */
ACT_EL_RLRANGE
,
/* 1..<2 (elementary range) */
...
...
@@ -43,8 +44,9 @@ typedef struct asn1p_constraint_s {
}
presence
;
/*
*
A single
values.
*
Separate types and
values.
*/
asn1p_value_t
*
containedSubtype
;
asn1p_value_t
*
value
;
asn1p_value_t
*
range_start
;
asn1p_value_t
*
range_stop
;
...
...
libasn1parser/asn1p_y.c
View file @
ff7dd147
...
...
@@ -204,11 +204,11 @@ typedef union {
#define YYFINAL 41
7
#define YYFINAL 41
8
#define YYFLAG -32768
#define YYNTBASE 116
#define YYTRANSLATE(x) ((unsigned)(x) <= 354 ? yytranslate[x] : 21
7
)
#define YYTRANSLATE(x) ((unsigned)(x) <= 354 ? yytranslate[x] : 21
8
)
static
const
char
yytranslate
[]
=
{
0
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
...
...
@@ -270,65 +270,65 @@ static const short yyprhs[] = { 0,
468
,
471
,
473
,
476
,
478
,
480
,
482
,
484
,
486
,
488
,
490
,
492
,
494
,
496
,
498
,
500
,
502
,
504
,
506
,
508
,
510
,
512
,
514
,
515
,
517
,
519
,
524
,
528
,
533
,
535
,
539
,
545
,
547
,
551
,
555
,
559
,
564
,
568
,
570
,
57
4
,
57
8
,
582
,
586
,
588
,
590
,
592
,
595
,
598
,
602
,
604
,
606
,
608
,
610
,
612
,
614
,
616
,
618
,
62
4
,
626
,
630
,
632
,
63
6
,
637
,
639
,
641
,
643
,
645
,
647
,
649
,
653
,
65
8
,
660
,
664
,
667
,
671
,
673
,
677
,
678
,
680
,
682
,
68
5
,
688
,
692
,
694
,
698
,
700
,
705
,
710
,
712
,
714
,
716
,
718
,
7
19
,
721
,
724
,
729
,
730
,
732
,
734
,
736
,
73
7
,
739
,
741
,
743
,
745
,
747
,
748
,
750
539
,
545
,
547
,
551
,
555
,
559
,
564
,
568
,
570
,
57
2
,
57
6
,
580
,
584
,
588
,
590
,
592
,
594
,
597
,
600
,
604
,
606
,
608
,
610
,
612
,
614
,
616
,
618
,
62
0
,
626
,
628
,
632
,
63
4
,
638
,
639
,
641
,
643
,
645
,
647
,
649
,
651
,
65
5
,
660
,
662
,
666
,
669
,
673
,
675
,
679
,
680
,
682
,
68
4
,
687
,
690
,
694
,
696
,
700
,
702
,
707
,
712
,
714
,
716
,
718
,
7
20
,
721
,
723
,
726
,
731
,
732
,
734
,
736
,
73
8
,
739
,
741
,
743
,
745
,
747
,
749
,
750
,
752
};
static
const
short
yyrhs
[]
=
{
117
,
0
,
118
,
0
,
117
,
118
,
0
,
21
3
,
119
,
34
,
123
,
0
,
118
,
0
,
117
,
118
,
0
,
21
4
,
119
,
34
,
123
,
3
,
21
,
126
,
39
,
0
,
0
,
120
,
0
,
103
,
121
,
104
,
0
,
103
,
104
,
0
,
122
,
0
,
121
,
122
,
0
,
21
6
,
0
,
216
,
105
,
9
,
106
,
0
,
9
,
0
,
0
,
21
7
,
0
,
217
,
105
,
9
,
106
,
0
,
9
,
0
,
0
,
124
,
0
,
125
,
0
,
124
,
125
,
0
,
41
,
84
,
0
,
52
,
84
,
0
,
20
,
84
,
0
,
43
,
53
,
0
,
12
,
57
,
0
,
0
,
127
,
0
,
128
,
0
,
127
,
128
,
0
,
130
,
0
,
135
,
0
,
143
,
0
,
170
,
0
,
138
,
0
,
0
,
38
,
12
,
129
,
0
,
178
,
0
,
54
,
131
,
107
,
0
,
54
,
46
,
0
,
132
,
0
,
131
,
132
,
0
,
133
,
46
,
21
3
,
119
,
0
,
134
,
0
,
133
,
108
,
134
,
0
,
21
3
,
0
,
213
,
103
,
104
,
0
,
216
,
0
,
42
,
136
,
46
,
21
4
,
119
,
0
,
134
,
0
,
133
,
108
,
134
,
0
,
21
4
,
0
,
214
,
103
,
104
,
0
,
217
,
0
,
42
,
136
,
107
,
0
,
42
,
17
,
107
,
0
,
42
,
107
,
0
,
137
,
0
,
136
,
108
,
137
,
0
,
21
3
,
0
,
213
,
103
,
104
,
0
,
21
6
,
0
,
213
,
139
,
3
,
103
,
140
,
104
,
0
,
0
,
136
,
108
,
137
,
0
,
21
4
,
0
,
214
,
103
,
104
,
0
,
21
7
,
0
,
214
,
139
,
3
,
103
,
140
,
104
,
0
,
165
,
0
,
175
,
0
,
0
,
141
,
0
,
142
,
0
,
141
,
108
,
142
,
0
,
102
,
0
,
186
,
0
,
21
3
,
3
,
208
,
87
,
0
,
21
3
,
3
,
163
,
0
,
213
,
3
,
153
,
0
,
21
3
,
103
,
144
,
104
,
3
,
163
,
0
,
145
,
0
,
144
,
108
,
145
,
0
,
21
3
,
0
,
213
,
109
,
216
,
0
,
213
,
109
,
21
3
,
0
,
175
,
109
,
216
,
0
,
147
,
0
,
146
,
108
,
147
,
0
,
163
,
0
,
21
6
,
0
,
0
,
149
,
0
,
150
,
0
,
149
,
108
,
150
,
0
,
21
6
,
163
,
202
,
0
,
108
,
142
,
0
,
102
,
0
,
186
,
0
,
21
4
,
3
,
209
,
87
,
0
,
21
4
,
3
,
163
,
0
,
214
,
3
,
153
,
0
,
21
4
,
103
,
144
,
104
,
3
,
163
,
0
,
145
,
0
,
144
,
108
,
145
,
0
,
21
4
,
0
,
214
,
109
,
217
,
0
,
214
,
109
,
21
4
,
0
,
175
,
109
,
217
,
0
,
147
,
0
,
146
,
108
,
147
,
0
,
163
,
0
,
21
7
,
0
,
0
,
149
,
0
,
150
,
0
,
149
,
108
,
150
,
0
,
21
7
,
163
,
203
,
0
,
30
,
68
,
163
,
0
,
162
,
0
,
152
,
0
,
151
,
108
,
152
,
0
,
21
6
,
163
,
0
,
162
,
0
,
28
,
103
,
155
,
152
,
0
,
21
7
,
163
,
0
,
162
,
0
,
28
,
103
,
155
,
104
,
157
,
0
,
0
,
88
,
0
,
156
,
0
,
155
,
108
,
156
,
0
,
168
,
20
2
,
0
,
168
,
163
,
154
,
202
,
0
,
168
,
168
,
154
,
20
2
,
0
,
0
,
158
,
0
,
0
,
95
,
156
,
0
,
168
,
20
3
,
0
,
168
,
163
,
154
,
203
,
0
,
168
,
168
,
154
,
20
3
,
0
,
0
,
158
,
0
,
0
,
95
,
82
,
103
,
159
,
160
,
104
,
0
,
161
,
0
,
160
,
161
,
0
,
4
,
0
,
168
,
0
,
102
,
0
,
102
,
110
,
173
,
0
,
102
,
110
,
20
7
,
0
,
208
,
164
,
182
,
0
,
177
,
0
,
102
,
110
,
20
8
,
0
,
209
,
164
,
182
,
0
,
177
,
0
,
27
,
103
,
151
,
104
,
0
,
78
,
103
,
148
,
104
,
0
,
79
,
103
,
148
,
104
,
0
,
78
,
182
,
68
,
21
5
,
20
8
,
164
,
0
,
79
,
182
,
68
,
215
,
208
,
164
,
0
,
18
,
0
,
18
,
35
,
25
,
21
6
,
0
,
213
,
103
,
146
,
0
,
79
,
103
,
148
,
104
,
0
,
78
,
182
,
68
,
21
6
,
20
9
,
164
,
0
,
79
,
182
,
68
,
216
,
209
,
164
,
0
,
18
,
0
,
18
,
35
,
25
,
21
7
,
0
,
214
,
103
,
146
,
104
,
0
,
165
,
0
,
56
,
68
,
165
,
0
,
11
,
0
,
11
,
111
,
21
3
,
0
,
214
,
111
,
213
,
0
,
11
,
111
,
21
6
,
0
,
214
,
0
,
214
,
111
,
166
,
0
,
167
,
0
,
11
,
111
,
21
4
,
0
,
215
,
111
,
214
,
0
,
11
,
111
,
21
7
,
0
,
215
,
0
,
215
,
111
,
166
,
0
,
167
,
0
,
166
,
111
,
167
,
0
,
169
,
0
,
169
,
0
,
13
,
0
,
14
,
0
,
21
6
,
139
,
3
,
171
,
0
,
216
,
109
,
171
,
14
,
0
,
21
7
,
139
,
3
,
171
,
0
,
217
,
109
,
171
,
0
,
0
,
103
,
172
,
174
,
0
,
63
,
0
,
45
,
0
,
86
,
0
,
5
,
0
,
7
,
0
,
6
,
0
,
20
7
,
0
,
173
,
0
,
21
6
,
0
,
213
,
111
,
216
,
0
,
4
,
0
,
86
,
0
,
5
,
0
,
7
,
0
,
6
,
0
,
20
8
,
0
,
173
,
0
,
21
7
,
0
,
214
,
111
,
217
,
0
,
4
,
0
,
174
,
4
,
0
,
24
,
0
,
63
,
0
,
76
,
0
,
176
,
0
,
67
,
81
,
0
,
65
,
51
,
0
,
77
,
0
,
44
,
0
,
36
,
71
,
0
,
26
,
81
,
0
,
91
,
0
,
47
,
0
,
178
,
0
,
58
,
0
,
40
,
0
,
22
,
81
,
0
,
175
,
0
,
176
,
20
4
,
0
,
23
,
0
,
48
,
0
,
49
,
175
,
0
,
176
,
20
5
,
0
,
23
,
0
,
48
,
0
,
49
,
0
,
50
,
0
,
59
,
0
,
64
,
0
,
74
,
0
,
83
,
0
,
85
,
0
,
90
,
0
,
92
,
0
,
93
,
0
,
94
,
0
,
66
,
0
,
99
,
0
,
100
,
0
,
97
,
0
,
98
,
...
...
@@ -337,59 +337,59 @@ static const short yyrhs[] = { 117,
106
,
0
,
186
,
0
,
186
,
108
,
102
,
0
,
186
,
108
,
102
,
108
,
186
,
0
,
187
,
0
,
186
,
179
,
187
,
0
,
186
,
180
,
187
,
0
,
187
,
181
,
187
,
0
,
189
,
105
,
185
,
106
,
0
,
105
,
185
,
106
,
0
,
190
,
0
,
19
0
,
188
,
190
,
0
,
61
,
188
,
190
,
0
,
190
,
188
,
6
0
,
0
,
61
,
188
,
60
,
0
,
196
,
0
,
191
,
0
,
101
,
0
,
101
,
112
,
0
,
112
,
101
,
0
,
112
,
101
,
112
,
0
,
80
,
0
,
46
,
0
,
45
,
0
,
86
,
0
,
207
,
0
,
6
,
0
,
216
,
0
,
213
,
0
,
95
,
30
,
103
,
192
,
104
,
0
,
193
,
0
,
192
,
108
,
193
,
0
,
102
,
0
,
216
,
182
,
194
,
0
,
0
,
195
,
0
,
73
,
0
,
15
,
0
,
69
,
0
,
197
,
0
,
198
,
0
,
103
,
213
,
10
4
,
0
,
197
,
103
,
199
,
104
,
0
,
200
,
0
,
199
,
108
,
200
,
0
,
113
,
201
,
0
,
113
,
111
,
201
,
0
,
2
16
,
0
,
201
,
111
,
216
,
0
,
0
,
203
,
0
,
69
,
0
,
33
,
171
,
0
,
103
,
104
,
0
,
103
,
205
,
104
,
0
,
206
,
0
,
205
,
108
,
206
,
0
,
216
,
0
,
216
,
105
,
207
,
106
,
0
,
216
,
105
,
173
,
106
,
0
,
207
,
0
,
102
,
0
,
9
,
0
,
10
,
0
,
0
,
209
,
0
,
210
,
212
,
0
,
114
,
211
,
9
,
115
,
0
,
0
,
89
,
0
,
19
,
0
,
75
,
0
,
0
,
52
,
0
,
41
,
0
,
11
,
0
,
12
,
0
,
12
,
0
,
0
,
216
,
0
,
8
,
0
185
,
106
,
0
,
105
,
185
,
106
,
0
,
190
,
0
,
19
1
,
0
,
190
,
188
,
190
,
0
,
61
,
188
,
190
,
0
,
19
0
,
188
,
60
,
0
,
61
,
188
,
60
,
0
,
197
,
0
,
192
,
0
,
101
,
0
,
101
,
112
,
0
,
112
,
101
,
0
,
112
,
101
,
112
,
0
,
80
,
0
,
46
,
0
,
45
,
0
,
86
,
0
,
208
,
0
,
6
,
0
,
217
,
0
,
214
,
0
,
95
,
30
,
103
,
193
,
104
,
0
,
194
,
0
,
193
,
108
,
194
,
0
,
102
,
0
,
217
,
182
,
195
,
0
,
0
,
196
,
0
,
73
,
0
,
15
,
0
,
69
,
0
,
198
,
0
,
199
,
0
,
10
3
,
214
,
104
,
0
,
198
,
103
,
200
,
104
,
0
,
201
,
0
,
200
,
108
,
201
,
0
,
113
,
202
,
0
,
113
,
111
,
2
02
,
0
,
217
,
0
,
202
,
111
,
217
,
0
,
0
,
204
,
0
,
69
,
0
,
33
,
171
,
0
,
103
,
104
,
0
,
103
,
206
,
104
,
0
,
207
,
0
,
206
,
108
,
207
,
0
,
217
,
0
,
217
,
105
,
208
,
106
,
0
,
217
,
105
,
173
,
106
,
0
,
208
,
0
,
102
,
0
,
9
,
0
,
10
,
0
,
0
,
210
,
0
,
211
,
213
,
0
,
114
,
212
,
9
,
115
,
0
,
0
,
89
,
0
,
19
,
0
,
75
,
0
,
0
,
52
,
0
,
41
,
0
,
11
,
0
,
12
,
0
,
12
,
0
,
0
,
217
,
0
,
8
,
0
};
#endif
#if YYDEBUG != 0
static
const
short
yyrline
[]
=
{
0
,
30
1
,
307
,
313
,
329
,
354
,
356
,
359
,
363
,
368
,
375
,
38
3
,
388
,
392
,
401
,
403
,
411
,
415
,
423
,
427
,
430
,
43
3
,
437
,
457
,
459
,
467
,
471
,
503
,
507
,
516
,
523
,
53
6
,
543
,
545
,
557
,
570
,
577
,
582
,
588
,
594
,
603
,
6
09
,
615
,
622
,
628
,
636
,
640
,
643
,
650
,
656
,
662
,
6
69
,
675
,
684
,
694
,
702
,
710
,
712
,
722
,
725
,
729
,
73
2
,
744
,
756
,
762
,
778
,
787
,
797
,
807
,
812
,
819
,
82
6
,
836
,
842
,
848
,
852
,
875
,
877
,
879
,
885
,
891
,
89
8
,
905
,
910
,
916
,
922
,
928
,
933
,
943
,
945
,
948
,
95
6
,
962
,
971
,
977
,
994
,
996
,
1001
,
1005
,
1010
,
1015
,
102
1
,
1025
,
1036
,
1045
,
1054
,
1065
,
1087
,
1091
,
1097
,
1103
,
11
09
,
1119
,
1129
,
1135
,
1149
,
1173
,
1180
,
1194
,
1203
,
1213
,
122
3
,
1233
,
1241
,
1262
,
1271
,
1280
,
1281
,
1283
,
1290
,
1302
,
131
2
,
1320
,
1320
,
1325
,
1330
,
1335
,
1340
,
1344
,
1348
,
1352
,
135
5
,
1360
,
1372
,
1388
,
1399
,
1413
,
1415
,
1416
,
1417
,
1418
,
14
19
,
1420
,
1421
,
1422
,
1423
,
1424
,
1425
,
1426
,
1432
,
1434
,
143
5
,
1438
,
1445
,
1457
,
1459
,
1463
,
1467
,
1468
,
1469
,
1470
,
147
1
,
1475
,
1476
,
1477
,
1478
,
1482
,
1483
,
1490
,
1490
,
1491
,
149
1
,
1492
,
1494
,
1496
,
1501
,
1505
,
1514
,
1518
,
1523
,
1527
,
153
3
,
1543
,
1547
,
1550
,
1553
,
1558
,
1567
,
1575
,
1581
,
1588
,
159
6
,
1604
,
1613
,
1616
,
1621
,
1623
,
1624
,
1625
,
1628
,
1632
,
163
7
,
1643
,
1648
,
1651
,
1655
,
1666
,
1679
,
1685
,
1689
,
1694
,
170
0
,
1712
,
1714
,
1717
,
1721
,
1724
,
1729
,
1733
,
1741
,
1756
,
176
2
,
1769
,
1782
,
1794
,
1809
,
1813
,
1830
,
1835
,
1838
,
1843
,
18
65
,
1870
,
1875
,
1881
,
1887
,
1895
,
1903
,
1911
,
1918
,
1928
,
193
3
,
1963
,
1965
,
1968
,
1975
,
1981
,
1983
,
1984
,
1985
,
1988
,
199
0
,
1991
,
1994
,
1999
,
2006
,
2013
,
2015
,
201
9
30
2
,
308
,
314
,
330
,
355
,
357
,
360
,
364
,
369
,
376
,
38
4
,
389
,
393
,
402
,
404
,
412
,
416
,
424
,
428
,
431
,
43
4
,
438
,
458
,
460
,
468
,
472
,
504
,
508
,
517
,
524
,
53
7
,
544
,
546
,
558
,
571
,
578
,
583
,
589
,
595
,
604
,
6
10
,
616
,
623
,
629
,
637
,
641
,
644
,
651
,
657
,
663
,
6
70
,
676
,
685
,
695
,
703
,
711
,
713
,
723
,
726
,
730
,
73
3
,
745
,
757
,
763
,
779
,
788
,
798
,
808
,
813
,
820
,
82
7
,
837
,
843
,
849
,
853
,
876
,
878
,
880
,
886
,
892
,
89
9
,
906
,
911
,
917
,
923
,
929
,
934
,
944
,
946
,
949
,
95
7
,
963
,
972
,
978
,
995
,
997
,
1002
,
1006
,
1011
,
1016
,
102
2
,
1026
,
1037
,
1046
,
1055
,
1066
,
1088
,
1092
,
1098
,
1104
,
11
10
,
1120
,
1130
,
1136
,
1150
,
1174
,
1181
,
1195
,
1204
,
1214
,
122
4
,
1234
,
1242
,
1263
,
1272
,
1281
,
1282
,
1284
,
1291
,
1303
,
131
3
,
1321
,
1321
,
1326
,
1331
,
1336
,
1341
,
1345
,
1349
,
1353
,
135
6
,
1361
,
1373
,
1389
,
1400
,
1414
,
1416
,
1417
,
1418
,
1419
,
14
20
,
1421
,
1422
,
1423
,
1424
,
1425
,
1426
,
1427
,
1433
,
1435
,
143
6
,
1439
,
1446
,
1458
,
1460
,
1464
,
1468
,
1469
,
1470
,
1471
,
147
2
,
1476
,
1477
,
1478
,
1479
,
1483
,
1484
,
1491
,
1491
,
1492
,
149
2
,
1493
,
1495
,
1497
,
1502
,
1506
,
1515
,
1519
,
1524
,
1528
,
153
4
,
1544
,
1548
,
1551
,
1554
,
1559
,
1568
,
1576
,
1582
,
1588
,
159
5
,
1603
,
1611
,
1620
,
1623
,
1628
,
1630
,
1631
,
1632
,
1635
,
163
9
,
1644
,
1650
,
1655
,
1658
,
1662
,
1675
,
1689
,
1695
,
1699
,
170
4
,
1710
,
1722
,
1724
,
1727
,
1731
,
1734
,
1739
,
1743
,
1751
,
176
6
,
1772
,
1779
,
1792
,
1804
,
1819
,
1823
,
1840
,
1845
,
1848
,
18
53
,
1875
,
1880
,
1885
,
1891
,
1897
,
1905
,
1913
,
1921
,
1928
,
193
8
,
1943
,
1973
,
1975
,
1978
,
1985
,
1991
,
1993
,
1994
,
1995
,
199
8
,
2000
,
2001
,
2004
,
2009
,
2016
,
2023
,
2025
,
202
9
};
#endif
...
...
@@ -432,12 +432,13 @@ static const char * const yytname[] = { "$","error","$undefined.","TOK_PPEQ",
"Value"
,
"@3"
,
"DefinedValue"
,
"Opaque"
,
"BasicTypeId"
,
"BasicTypeId_UniverationCompatible"
,
"BasicType"
,
"BasicString"
,
"Union"
,
"Intersection"
,
"Except"
,
"optConstraints"
,
"Constraints"
,
"SetOfConstraints"
,
"ElementSetSpecs"
,
"ElementSetSpec"
,
"ConstraintSubtypeElement"
,
"ConstraintRangeSpec"
,
"ConstraintSpec"
,
"ConstraintValue"
,
"WithComponents"
,
"WithComponentsList"
,
"WithComponentsElement"
,
"optPresenceConstraint"
,
"PresenceConstraint"
,
"TableConstraint"
,
"SimpleTableConstraint"
,
"ComponentRelationConstraint"
,
"AtNotationList"
,
"AtNotationElement"
,
"ComponentIdList"
,
"optMarker"
,
"Marker"
,
"UniverationDefinition"
,
"UniverationList"
,
"UniverationElement"
,
"SignedNumber"
,
"optTag"
,
"Tag"
,
"TagTypeValue"
,
"TagClass"
,
"TagPlicit"
,
"TypeRefName"
,
"ObjectClassReference"
,
"optIdentifier"
,
"Identifier"
,
NULL
"ConstraintRangeSpec"
,
"ConstraintSpec"
,
"SingleValue"
,
"ContainedSubtype"
,
"WithComponents"
,
"WithComponentsList"
,
"WithComponentsElement"
,
"optPresenceConstraint"
,
"PresenceConstraint"
,
"TableConstraint"
,
"SimpleTableConstraint"
,
"ComponentRelationConstraint"
,
"AtNotationList"
,
"AtNotationElement"
,
"ComponentIdList"
,
"optMarker"
,
"Marker"
,
"UniverationDefinition"
,
"UniverationList"
,
"UniverationElement"
,
"SignedNumber"
,
"optTag"
,
"Tag"
,
"TagTypeValue"
,
"TagClass"
,
"TagPlicit"
,
"TypeRefName"
,
"ObjectClassReference"
,
"optIdentifier"
,
"Identifier"
,
NULL
};
#endif
...
...
@@ -462,13 +463,13 @@ static const short yyr1[] = { 0,
178
,
178
,
178
,
178
,
178
,
178
,
178
,
179
,
179
,
180
,
180
,
181
,
182
,
182
,
183
,
183
,
184
,
184
,
185
,
185
,
185
,
186
,
186
,
186
,
186
,
187
,
187
,
187
,
187
,
187
,
187
,
187
,
187
,
187
,
18
8
,
188
,
188
,
188
,
189
,
189
,
1
90
,
190
,
190
,
190
,
190
,
190
,
191
,
192
,
192
,
193
,
19
3
,
194
,
194
,
195
,
195
,
195
,
196
,
196
,
197
,
198
,
199
,
199
,
200
,
200
,
201
,
201
,
202
,
202
,
203
,
203
,
204
,
20
4
,
205
,
205
,
206
,
206
,
206
,
206
,
206
,
207
,
20
7
,
208
,
208
,
209
,
210
,
211
,
211
,
211
,
211
,
212
,
21
2
,
212
,
213
,
213
,
214
,
215
,
215
,
216
187
,
187
,
187
,
187
,
18
7
,
188
,
188
,
188
,
188
,
189
,
1
89
,
190
,
190
,
190
,
190
,
190
,
191
,
192
,
193
,
193
,
19
4
,
194
,
195
,
195
,
196
,
196
,
196
,
197
,
197
,
198
,
199
,
200
,
200
,
201
,
201
,
202
,
202
,
203
,
203
,
204
,
204
,
20
5
,
205
,
206
,
206
,
207
,
207
,
207
,
207
,
207
,
20
8
,
208
,
209
,
209
,
210
,
211
,
212
,
212
,
212
,
212
,
21
3
,
213
,
213
,
214
,
214
,
215
,
216
,
216
,
217
};
static
const
short
yyr2
[]
=
{
0
,
...
...
@@ -491,18 +492,18 @@ static const short yyr2[] = { 0,
2
,
1
,
2
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
0
,
1
,
1
,
4
,
3
,
4
,
1
,
3
,
5
,
1
,
3
,
3
,
3
,
4
,
3
,
1
,
3
,
3
,
3
,
3
,
1
,
1
,
1
,
2
,
2
,
3
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
5
,
1
,
3
,
1
,
3
,
0
,
1
,
1
,
1
,
1
,
1
,
1
,
3
,
4
,
1
,
3
,
2
,
3
,
1
,
3
,
0
,
1
,
1
,
2
,
2
,
3
,
1
,
3
,
1
,
4
,
4
,
1
,
1
,
1
,
1
,
0
,
1
,
2
,
4
,
0
,
1
,
1
,
1
,
0
,
1
,
1
,
1
,
1
,
1
,
0
,
1
,
1
5
,
1
,
3
,
3
,
3
,
4
,
3
,
1
,
1
,
3
,
3
,
3
,
3
,
1
,
1
,
1
,
2
,
2
,
3
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
5
,
1
,
3
,
1
,
3
,
0
,
1
,
1
,
1
,
1
,
1
,
1
,
3
,
4
,
1
,
3
,
2
,
3
,
1
,
3
,
0
,
1
,
1
,
2
,
2
,
3
,
1
,
3
,
1
,
4
,
4
,
1
,
1
,
1
,
1
,
0
,
1
,
2
,
4
,
0
,
1
,
1
,
1
,
0
,
1
,
1
,
1
,
1
,
1
,
0
,
1
,
1
};
static
const
short
yydefact
[]
=
{
0
,
26
3
,
264
,
1
,
2
,
5
,
3
,
0
,
0
,
6
,
268
,
26
4
,
265
,
1
,
2
,
5
,
3
,
0
,
0
,
6
,
269
,
13
,
8
,
0
,
9
,
11
,
14
,
7
,
10
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
15
,
16
,
0
,
22
,
20
,
18
,
21
,
19
,
0
,
17
,
12
,
23
,
164
,
0
,
0
,
...
...
@@ -510,283 +511,287 @@ static const short yydefact[] = { 0,
173
,
174
,
175
,
176
,
0
,
24
,
25
,
27
,
28
,
31
,
29
,
30
,
34
,
0
,
0
,
32
,
0
,
47
,
0
,
48
,
50
,
52
,
36
,
0
,
37
,
0
,
40
,
42
,
44
,
4
,
26
,
25
2
,
118
,
265
,
0
,
146
,
0
,
0
,
160
,
153
,
26
,
25
3
,
118
,
266
,
0
,
146
,
0
,
0
,
160
,
153
,
157
,
159
,
147
,
0
,
0
,
148
,
152
,
156
,
0
,
0
,
54
,
55
,
149
,
158
,
122
,
0
,
33
,
46
,
45
,
0
,
0
,
35
,
38
,
0
,
0
,
0
,
0
,
25
6
,
64
,
63
,
0
,
25
3
,
260
,
0
,
161
,
155
,
154
,
151
,
150
,
0
,
0
,
35
,
38
,
0
,
0
,
0
,
0
,
25
7
,
64
,
63
,
0
,
25
4
,
261
,
0
,
161
,
155
,
154
,
151
,
150
,
0
,
66
,
0
,
68
,
0
,
0
,
0
,
49
,
51
,
5
,
41
,
43
,
0
,
25
8
,
259
,
257
,
0
,
118
,
265
,
113
,
0
,
43
,
0
,
25
9
,
260
,
258
,
0
,
118
,
266
,
113
,
0
,
0
,
183
,
183
,
62
,
183
,
116
,
162
,
149
,
107
,
0
,
26
2
,
261
,
254
,
119
,
121
,
0
,
0
,
0
,
0
,
56
,
128
,
129
,
123
,
124
,
126
,
120
,
137
,
139
,
138
,
25
0
,
25
1
,
135
,
134
,
136
,
132
,
130
,
141
,
140
,
0
,
142
,
39
,
0
,
90
,
25
2
,
127
,
0
,
0
,
0
,
0
,
0
,
26
3
,
262
,
255
,
119
,
121
,
0
,
0
,
0
,
0
,
56
,
128
,
129
,
123
,
124
,
126
,
120
,
137
,
139
,
138
,
25
1
,
25
2
,
135
,
134
,
136
,
132
,
130
,
141
,
140
,
0
,
142
,
39
,
0
,
90
,
25
3
,
127
,
0
,
0
,
0
,
0
,
0
,
76
,
0
,
0
,
184
,
185
,
76
,
0
,
106
,
0
,
163
,
25
2
,
252
,
67
,
71
,
70
,
69
,
214
,
211
,
210
,
0
,
2
09
,
212
,
0
,
60
,
0
,
0
,
0
,
57
,
58
,
61
,
192
,
0
,
198
,
204
,
203
,
227
,
228
,
213
,
216
,
215
,
0
,
0
,
0
,
0
,
95
,
0
,
0
,
239
,
88
,
88
,
92
,
238
,
0
,
255
,
0
,
103
,
0
,
83
,
86
,
252
,
117
,
0
,
0
,
0
,
77
,
78
,
82
,
252
,
0
,
189
,
266
,
0
,
0
,
266
,
249
,
241
,
0
,
243
,
248
,
245
,
0
,
72
,
74
,
75
,
65
,
205
,
0
,
0
,
0
,
0
,
0
,
53
,
0
,
180
,
181
,
178
,
179
,
0
,
0
,
182
,
0
,
0
,
0
,
0
,
125
,
144
,
133
,
143
,
131
,
0
,
87
,
96
,
91
,
240
,
89
,
237
,
237
,
114
,
0
,
108
,
0
,
85
,
0
,
252
,
109
,
0
,
237
,
187
,
0
,
252
,
2
67
,
0
,
110
,
252
,
242
,
0
,
0
,
115
,
252
,
206
,
207
,
20
2
,
200
,
0
,
229
,
197
,
59
,
193
,
194
,
195
,
0
,
201
,
199
,
0
,
0
,
231
,
145
,
0
,
93
,
94
,
104
,
105
,
142
,
84
,
186
,
81
,
79
,
80
,
190
,
0
,
188
,
0
,
244
,
0
,
0
,
73
,
208
,
220
,
0
,
218
,
183
,
196
,
0
,
233
,
235
,
230
,
0
,
97
,
0
,
111
,
11
2
,
247
,
246
,
217
,
0
,
222
,
234
,
0
,
232
,
0
,
191
,
219
,
225
,
226
,
224
,
221
,
223
,
236
,
101
,
0
,
99
,
102
,
98
,
100
,
0
,
0
,
0
25
3
,
253
,
67
,
71
,
70
,
69
,
215
,
212
,
211
,
0
,
2
10
,
213
,
0
,
60
,
0
,
0
,
0
,
57
,
58
,
61
,
192
,
0
,
198
,
199
,
205
,
204
,
228
,
229
,
214
,
217
,
216
,
0
,
0
,
0
,
0
,
95
,
0
,
0
,
240
,
88
,
88
,
92
,
239
,
0
,
256
,
0
,
103
,
0
,
83
,
86
,
253
,
117
,
0
,
0
,
0
,
77
,
78
,
82
,
253
,
0
,
189
,
267
,
0
,
0
,
267
,
250
,
242
,
0
,
244
,
249
,
246
,
0
,
72
,
74
,
75
,
65
,
206
,
0
,
0
,
0
,
0
,
0
,
53
,
0
,
180
,
181
,
178
,
179
,
0
,
0
,
182
,
0
,
0
,
0
,
0
,
125
,
144
,
133
,
143
,
131
,
0
,
87
,
96
,
91
,
241
,
89
,
238
,
238
,
114
,
0
,
108
,
0
,
85
,
0
,
253
,
109
,
0
,
238
,
187
,
0
,
2
53
,
268
,
0
,
110
,
253
,
243
,
0
,
0
,
115
,
253
,
207
,
20
8
,
203
,
201
,
0
,
230
,
197
,
59
,
193
,
194
,
195
,
0
,
202
,
200
,
0
,
0
,
232
,
145
,
0
,
93
,
94
,
104
,
105
,
142
,
84
,
186
,
81
,
79
,
80
,
19
0
,
0
,
188
,
0
,
245
,
0
,
0
,
73
,
209
,
221
,
0
,
219
,
183
,
196
,
0
,
234
,
236
,
231
,
0
,
97
,
0
,
11
1
,
112
,
248
,
247
,
218
,
0
,
223
,
235
,
0
,
233
,
0
,
191
,
220
,
226
,
227
,
225
,
222
,
224
,
237
,
101
,
0
,
99
,
102
,
98
,
100
,
0
,
0
,
0
};
static
const
short
yydefgoto
[]
=
{
41
5
,
static
const
short
yydefgoto
[]
=
{
41
6
,
3
,
4
,
8
,
9
,
13
,
14
,
25
,
26
,
27
,
55
,
56
,
57
,
107
,
58
,
74
,
75
,
76
,
77
,
59
,
69
,
70
,
60
,
100
,
227
,
228
,
229
,
61
,
130
,
131
,
281
,
282
,
264
,
265
,
266
,
257
,
258
,
119
,
316
,
192
,
193
,
311
,
312
,
400
,
410
,
411
,
267
,
283
,
155
,
156
,
173
,
174
,
194
,
195
,
62
,
186
,
242
,
187
,
307
,
157
,
103
,
159
,
104
,
298
,
299
,
301
,
203
,
204
,
205
,
269
,
270
,
231
,
288
,
232
,
233
,
234
,
379
,
380
,
406
,
407
,
235
,
236
,
237
,
355
,
356
,
384
,
251
,
252
,
210
,
277
,
278
,
238
,
253
,
122
,
123
,
146
,
163
,
239
,
105
,
330
,
240
70
,
60
,
100
,
227
,
228
,
229
,
61
,
130
,
131
,
282
,
283
,
265
,
266
,
267
,
258
,
259
,
119
,
317
,
192
,
193
,
312
,
313
,
401
,
411
,
412
,
268
,
284
,
155
,
156
,
173
,
174
,
194
,
195
,
62
,
186
,
243
,
187
,
308
,
157
,
103
,
159
,
104
,
299
,
300
,
302
,
203
,
204
,
205
,
270
,
271
,
231
,
289
,
232
,
233
,
234
,
235
,
380
,
381
,
407
,
408
,
236
,
237
,
238
,
356
,
357
,
385
,
252
,
253
,
210
,
278
,
279
,
239
,
254
,
122
,
123
,
146
,
163
,
240
,
105
,
331
,
241
};
static
const
short
yypact
[]
=
{
152
,
-
32768
,
-
32768
,
152
,
-
32768
,
-
74
,
-
32768
,
12
,
5
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
38
,
-
32768
,
-
16
,
54
,
-
32768
,
-
32768
,
44
,
56
,
47
,
72
,
85
,
81
,
141
,
54
,
-
32768
,
64
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
1
32
,
-
32768
,
-
32768
,
407
,
-
32768
,
161
,
33
,
-
32768
,
-
32768
,
-
32768
,
53
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
1
56
,
407
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
33
1
,
636
,
-
32768
,
118
,
-
32768
,
105
,
-
32768
,
1
24
,
-
32768
,
-
32768
,
16
,
-
32768
,
-
23
,
-
32768
,
147
,
-
32768
,
-
32768
,
-
32768
,
-
3
,
140
,
-
32768
,
176
,
-
32768
,
182
,
203
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
2
25
,
198
,
-
32768
,
-
32768
,
-
32768
,
711
,
278
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
17
1
,
283
,
-
32768
,
-
32768
,
-
32768
,
65
,
1
89
,
-
32768
,
-
32768
,
152
,
65
,
194
,
200
,
3
,
-
32768
,
-
32768
,
4
84
,
-
32768
,
84
,
65
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
67
,
-
32768
,
1
92
,
195
,
204
,
248
,
210
,
-
32768
,
-
32768
,
-
74
,
-
32768
,
-
32768
,
163
,
-
32768
,
-
32768
,
-
32768
,
306
,
-
10
,
213
,
282
,
21
5
,
2
53
,
-
1
,
69
,
-
32768
,
-
42
,
-
32768
,
-
32768
,
219
,
-
32768
,
223
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
3
20
,
711
,
319
,
65
,
197
,
-
32768
,
-
32768
,
21
7
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
2
22
,
226
,
-
32768
,
82
,
-
32768
,
29
,
-
32768
,
216
,
311
,
7
,
235
,
233
,
10
,
2
79
,
271
,
-
32768
,
236
,
10
,
276
,
-
32768
,
46
,
-
32768
,
1
,
231
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
27
,
-
32768
,
-
32768
,
318
,
-
32768
,
152
,
279
,
245
,
243
,
-
32768
,
211
,
2
56
,
251
,
27
,
-
32768
,
-
32768
,
255
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
163
,
356
,
319
,
210
,
266
,
163
,
210
,
-
32768
,
274
,
27
4
,
-
32768
,
-
32768
,
561
,
-
32768
,
319
,
254
,
88
,
-
32768
,
-
32768
,
231
,
-
32768
,
279
,
295
,
262
,
261
,
-
32768
,
-
32768
,
231
,
264
,
60
,
319
,
279
,
268
,
319
,
-
32768
,
-
32768
,
93
,
-
32768
,
-
32768
,
272
,
130
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
273
,
285
,
220
,
270
,
288
,
2
77
,
-
32768
,
197
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
279
,
279
,
-
32768
,
279
,
279
,
260
,
280
,
-
32768
,
-
32768
,
383
,
-
32768
,
-
32768
,
317
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
19
,
19
,
-
32768
,
173
,
-
32768
,
7
,
-
32768
,
294
,
231
,
-
32768
,
10
,
19
,
-
32768
,
300
,
231
,
-
32768
,
298
,
-
32768
,
231
,
-
32768
,
49
,
173
,
-
32768
,
1
,
-
32768
,
297
,
-
32768
,
-
32768
,
52
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
304
,
-
32768
,
-
32768
,
11
,
131
,
-
32768
,
-
32768
,
303
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
305
,
561
,
-
32768
,
561
,
-
32768
,
314
,
321
,
-
32768
,
-
32768
,
-
32768
,
137
,
-
3276
8
,
-
42
,
-
32768
,
319
,
301
,
-
32768
,
-
32768
,
280
,
-
32768
,
279
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
52
,
17
,
301
,
319
,
-
32768
,
165
,
211
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
22
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
411
,
41
7
,
-
32768
static
const
short
yypact
[]
=
{
228
,
-
32768
,
-
32768
,
228
,
-
32768
,
-
71
,
-
32768
,
38
,
59
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
49
,
-
32768
,
-
3
,
58
,
-
32768
,
-
32768
,
74
,
54
,
60
,
67
,
112
,
84
,
136
,
58
,
-
32768
,
82
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
1
52
,
-
32768
,
-
32768
,
419
,
-
32768
,
178
,
33
,
-
32768
,
-
32768
,
-
32768
,
61
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
1
81
,
419
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
33
2
,
648
,
-
32768
,
121
,
-
32768
,
144
,
-
32768
,
1
32
,
-
32768
,
-
32768
,
17
,
-
32768
,
-
22
,
-
32768
,
143
,
-
32768
,
-
32768
,
-
32768
,
-
17
,
137
,
-
32768
,
183
,
-
32768
,
194
,
186
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
2
08
,
203
,
-
32768
,
-
32768
,
-
32768
,
723
,
275
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
17
9
,
288
,
-
32768
,
-
32768
,
-
32768
,
184
,
1
90
,
-
32768
,
-
32768
,
228
,
184
,
191
,
193
,
20
,
-
32768
,
-
32768
,
4
96
,
-
32768
,
86
,
184
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
79
,
-
32768
,
1
88
,
195
,
200
,
258
,
355
,
-
32768
,
-
32768
,
-
71
,
-
32768
,
-
32768
,
260
,
-
32768
,
-
32768
,
-
32768
,
284
,
53
,
202
,
263
,
20
5
,
2
38
,
-
15
,
-
14
,
-
32768
,
55
,
-
32768
,
-
32768
,
206
,
-
32768
,
207
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
3
08
,
723
,
304
,
184
,
197
,
-
32768
,
-
32768
,
21
0
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
2
11
,
209
,
-
32768
,
93
,
-
32768
,
29
,
-
32768
,
199
,
292
,
11
,
269
,
214
,
10
,
2
21
,
255
,
-
32768
,
220
,
10
,
259
,
-
32768
,
46
,
-
32768
,
6
,
215
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
62
,
-
32768
,
-
32768
,
298
,
-
32768
,
228
,
221
,
230
,
224
,
-
32768
,
189
,
2
40
,
232
,
62
,
-
32768
,
-
32768
,
-
32768
,
236
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
260
,
336
,
304
,
355
,
246
,
260
,
355
,
-
32768
,
25
4
,
254
,
-
32768
,
-
32768
,
573
,
-
32768
,
304
,
235
,
108
,
-
32768
,
-
32768
,
215
,
-
32768
,
221
,
278
,
243
,
241
,
-
32768
,
-
32768
,
215
,
244
,
72
,
304
,
221
,
248
,
304
,
-
32768
,
-
32768
,
109
,
-
32768
,
-
32768
,
252
,
110
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
247
,
270
,
71
,
250
,
2
66
,
267
,
-
32768
,
197
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
221
,
221
,
-
32768
,
221
,
221
,
176
,
261
,
-
32768
,
-
32768
,
371
,
-
32768
,
-
32768
,
296
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
15
,
15
,
-
32768
,
167
,
-
32768
,
11
,
-
32768
,
277
,
215
,
-
32768
,
10
,
15
,
-
32768
,
282
,
215
,
-
32768
,
279
,
-
32768
,
215
,
-
32768
,
13
,
167
,
-
32768
,
6
,
-
32768
,
274
,
-
32768
,
-
32768
,
52
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
281
,
-
32768
,
-
32768
,
12
,
115
,
-
32768
,
-
32768
,
285
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
286
,
573
,
-
32768
,
573
,
-
32768
,
287
,
295
,
-
32768
,
-
32768
,
-
32768
,
11
8
,
-
32768
,
55
,
-
32768
,
304
,
294
,
-
32768
,
-
32768
,
261
,
-
32768
,
221
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
52
,
23
,
294
,
304
,
-
32768
,
145
,
189
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
22
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
403
,
40
7
,
-
32768
};
static
const
short
yypgoto
[]
=
{
-
32768
,
-
32768
,
423
,
289
,
-
32768
,
-
32768
,
416
,
-
32768
,
-
32768
,
405
,
-
32768
,
-
32768
,
376
,
-
32768
,
-
32768
,
-
32768
,
359
,
-
32768
,
322
,
-
32768
,
-
32768
,
325
,
-
32768
,
371
,
-
32768
,
-
32768
,
145
,
-
32768
,
-
32768
,
275
,
-
32768
,
100
,
234
,
-
32768
,
115
,
-
32768
,
122
,
-
32768
,
196
,
-
32768
,
201
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
34
,
-
187
,
-
80
,
-
183
,
-
52
,
-
32768
,
207
,
-
186
,
-
121
,
-
32768
,
-
137
,
-
32768
,
-
237
,
-
32768
,
-
48
,
-
118
,
-
32768
,
35
,
-
32768
,
-
32768
,
-
32768
,
-
148
,
-
32768
,
-
32768
,
-
178
,
-
166
,
-
4
,
218
,
-
32768
,
-
207
,
-
32768
,
-
32768
,
55
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
66
,
71
,
-
247
,
-
32768
,
-
32768
,
-
32768
,
116
,
-
126
,
-
81
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
31
,
-
32768
,
184
,
-
7
-
32768
,
408
,
271
,
-
32768
,
-
32768
,
399
,
-
32768
,
-
32768
,
387
,
-
32768
,
-
32768
,
358
,
-
32768
,
-
32768
,
-
32768
,
342
,
-
32768
,
305
,
-
32768
,
-
32768
,
309
,
-
32768
,
356
,
-
32768
,
-
32768
,
134
,
-
32768
,
-
32768
,
262
,
-
32768
,
92
,
227
,
-
32768
,
107
,
-
32768
,
114
,
-
32768
,
187
,
-
32768
,
192
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
26
,
-
188
,
-
80
,
-
312
,
-
52
,
-
32768
,
198
,
-
186
,
-
120
,
-
32768
,
-
1
,
-
32768
,
-
244
,
-
32768
,
-
48
,
-
118
,
-
32768
,
69
,
-
32768
,
-
32768
,
-
32768
,
-
148
,
-
32768
,
-
32768
,
-
199
,
-
166
,
-
39
,
212
,
-
32768
,
-
204
,
-
32768
,
-
32768
,
-
32768
,
47
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
56
,
63
,
-
265
,
-
32768
,
-
32768
,
-
32768
,
111
,
-
127
,
-
81
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
31
,
-
32768
,
171
,
-
7
};
#define YYLAST 8
05
#define YYLAST 8
17
static
const
short
yytable
[]
=
{
15
,
121
,
120
,
158
,
230
,
207
,
15
,
208
,
250
,
10
,
188
,
259
,
101
,
101
,
175
,
10
,
102
,
102
,
10
,
10
,
10
,
11
,
143
,
114
,
10
,
117
,
409
,
1
,
2
,
7
,
65
,
5
,
403
,
72
,
5
,
171
,
172
,
79
,
200
,
16
,
263
,
10
,
171
,
172
,
1
,
2
,
10
,
11
,
291
,
65
,
67
,
132
,
247
,
28
,
10
,
180
,
181
,
10
,
180
,
181
,
10
,
10
,
247
,
202
,
1
,
2
,
20
,
79
,
64
,
359
,
360
,
71
,
63
,
10
,
21
,
78
,
1
,
2
,
144
,
200
,
368
,
343
,
361
,
279
,
323
,
115
,
404
,
64
,
248
,
19
,
405
,
63
,
145
,
-
263
,
332
,
22
,
353
,
23
,
248
,
73
,
374
,
124
,
201
,
72
,
202
,
78
,
24
,
309
,
79
,
256
,
314
,
118
,
256
,
29
,
249
,
118
,
12
,
165
,
188
,
132
,
175
,
188
,
383
,
112
,
351
,
161
,
413
,
230
,
286
,
190
,
133
,
30
,
285
,
-
237
,
259
,
158
,
162
,
-
237
,
32
,
287
,
68
,
71
,
17
,
118
,
34
,
139
,
78
,
261
,
275
,
200
,
276
,
275
,
160
,
37
,
378
,
164
,
31
,
294
,
295
,
296
,
297
,
214
,
216
,
1
,
2
,
33
,
176
,
189
,
329
,
409
,
36
,
166
,
206
,
66
,
202
,
167
,
171
,
172
,
171
,
172
,
322
,
10
,
180
,
181
,
1
,
2
,
245
,
390
,
327
,
391
,
246
,
260
,
320
,
362
,
268
,
80
,
321
,
335
,
133
,
268
,
215
,
336
,
280
,
217
,
284
,
10
,
180
,
181
,
1
,
2
,
279
,
375
,
109
,
110
,
412
,
177
,
178
,
179
,
10
,
180
,
181
,
1
,
2
,
401
,
412
,
108
,
217
,
111
,
10
,
180
,
181
,
1
,
2
,
396
,
338
,
386
,
308
,
190
,
339
,
387
,
190
,
394
,
218
,
219
,
366
,
395
,
83
,
84
,
318
,
370
,
116
,
124
,
158
,
372
,
158
,
182
,
290
,
125
,
220
,
1
,
2
,
171
,
172
,
126
,
331
,
218
,
217
,
331
,
10
,
180
,
181
,
1
,
2
,
183
,
127
,
189
,
128
,
221
,
189
,
129
,
342
,
134
,
135
,
222
,
160
,
217
,
136
,
10
,
180
,
181
,
1
,
2
,
223
,
138
,
348
,
349
,
184
,
350
,
141
,
224
,
225
,
168
,
226
,
142
,
169
,
218
,
222
,
170
,
294
,
295
,
296
,
297
,
363
,
185
,
260
,
196
,
-
264
,
197
,
198
,
268
,
352
,
199
,
209
,
212
,
218
,
219
,
211
,
10
,
241
,
280
,
363
,
254
,
284
,
243
,
82
,
244
,
255
,
381
,
262
,
271
,
220
,
272
,
83
,
84
,
274
,
118
,
222
,
385
,
289
,
292
,
189
,
293
,
300
,
85
,
38
,
86
,
302
,
87
,
304
,
221
,
306
,
310
,
315
,
324
,
319
,
222
,
325
,
88
,
189
,
326
,
328
,
89
,
333
,
344
,
223
,
90
,
385
,
337
,
91
,
41
,
42
,
43
,
225
,
346
,
226
,
340
,
341
,
357
,
381
,
92
,
45
,
408
,
345
,
354
,
93
,
46
,
94
,
47
,
95
,
358
,
365
,
160
,
369
,
160
,
371
,
48
,
388
,
96
,
97
,
377
,
382
,
416
,
398
,
389
,
49
,
10
,
50
,
417
,
1
,
2
,
392
,
51
,
98
,
52
,
53
,
54
,
6
,
393
,
191
,
18
,
38
,
35
,
81
,
113
,
99
,
137
,
106
,
140
,
347
,
376
,
273
,
367
,
213
,
364
,
414
,
39
,
317
,
313
,
305
,
40
,
402
,
303
,
373
,
399
,
397
,
41
,
42
,
43
,
334
,
0
,
0
,
44
,
0
,
0
,
0
,
0
,
45
,
0
,
0
,
0
,
0
,
46
,
0
,
47
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
48
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
49
,
0
,
50
,
0
,
0
,
147
,
148
,
51
,
0
,
52
,
53
,
54
,
149
,
0
,
0
,
0
,
85
,
38
,
86
,
0
,
87
,
150
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
88
,
0
,
0
,
0
,
89
,
0
,
0
,
0
,
90
,
0
,
0
,
91
,
41
,
42
,
43
,
0
,
0
,
0
,
0
,
0
,
151
,
0
,
92
,
45
,
0
,
0
,
0
,
93
,
46
,
94
,
47
,
95
,
0
,
0
,
0
,
0
,
0
,
0
,
48
,
0
,
96
,
97
,
152
,
153
,
0
,
0
,
0
,
49
,
0
,
50
,
0
,
154
,
147
,
148
,
51
,
98
,
52
,
53
,
54
,
149
,
0
,
0
,
0
,
85
,
38
,
86
,
0
,
87
,
150
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
88
,
0
,
0
,
0
,
89
,
0
,
0
,
0
,
90
,
0
,
0
,
91
,
41
,
42
,
43
,
0
,
0
,
0
,
0
,
0
,
151
,
0
,
92
,
45
,
0
,
0
,
0
,
93
,
46
,
94
,
47
,
95
,
0
,
0
,
0
,
0
,
0
,
0
,
48
,
0
,
96
,
97
,
152
,
153
,
0
,
0
,
0
,
49
,
0
,
50
,
83
,
84
,
0
,
0
,
51
,
98
,
52
,
53
,
54
,
0
,
0
,
85
,
38
,
86
,
0
,
87
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
121
,
120
,
158
,
230
,
207
,
15
,
208
,
251
,
188
,
260
,
117
,
101
,
101
,
10
,
175
,
102
,
102
,
10
,
10
,
10
,
10
,
180
,
181
,
114
,
10
,
410
,
292
,
1
,
2
,
65
,
5
,
7
,
72
,
5
,
171
,
172
,
79
,
404
,
143
,
264
,
10
,
171
,
172
,
1
,
2
,
10
,
11
,
248
,
65
,
67
,
132
,
360
,
361
,
10
,
180
,
181
,
10
,
11
,
391
,
10
,
392
,
248
,
369
,
324
,
200
,
200
,
79
,
64
,
10
,
20
,
71
,
1
,
2
,
333
,
78
,
362
,
217
,
21
,
10
,
180
,
181
,
280
,
28
,
249
,
344
,
115
,
64
,
201
,
206
,
202
,
202
,
405
,
16
,
375
,
144
,
406
,
118
,
249
,
22
,
354
,
23
,
19
,
72
,
352
,
78
,
63
,
73
,
79
,
145
,
24
,
29
,
257
,
257
,
250
,
276
,
218
,
165
,
188
,
132
,
118
,
188
,
175
,
384
,
112
,
63
,
414
,
161
,
230
,
190
,
133
,
343
,
286
,
-
238
,
260
,
200
,
158
,
-
238
,
162
,
34
,
68
,
71
,
12
,
118
,
30
,
139
,
78
,
262
,
276
,
410
,
277
,
31
,
160
,
17
,
379
,
164
,
-
264
,
222
,
171
,
172
,
202
,
214
,
216
,
287
,
124
,
32
,
176
,
189
,
33
,
295
,
296
,
297
,
298
,
37
,
288
,
10
,
180
,
181
,
1
,
2
,
330
,
323
,
217
,
166
,
10
,
180
,
181
,
167
,
36
,
328
,
66
,
261
,
10
,
363
,
269
,
1
,
2
,
246
,
133
,
269
,
215
,
247
,
281
,
217
,
285
,
10
,
180
,
181
,
1
,
2
,
280
,
376
,
321
,
336
,
339
,
413
,
322
,
337
,
340
,
387
,
80
,
218
,
395
,
388
,
402
,
413
,
396
,
217
,
108
,
10
,
180
,
181
,
1
,
2
,
397
,
111
,
353
,
309
,
190
,
1
,
2
,
190
,
218
,
219
,
310
,
367
,
116
,
315
,
124
,
319
,
371
,
109
,
110
,
158
,
373
,
158
,
291
,
127
,
220
,
128
,
349
,
350
,
222
,
351
,
125
,
332
,
218
,
219
,
332
,
1
,
2
,
171
,
172
,
171
,
172
,
126
,
189
,
221
,
134
,
189
,
83
,
84
,
220
,
222
,
129
,
160
,
295
,
296
,
297
,
298
,
135
,
136
,
223
,
196
,
138
,
141
,
142
,
168
,
197
,
224
,
225
,
221
,
226
,
170
,
169
,
-
265
,
199
,
222
,
198
,
209
,
211
,
212
,
10
,
364
,
255
,
261
,
223
,
256
,
245
,
263
,
269
,
242
,
244
,
272
,
225
,
273
,
226
,
275
,
290
,
118
,
281
,
364
,
294
,
285
,
293
,
82
,
301
,
303
,
382
,
305
,
307
,
311
,
316
,
83
,
84
,
320
,
325
,
326
,
386
,
327
,
329
,
189
,
334
,
345
,
85
,
38
,
86
,
338
,
87
,
341
,
177
,
178
,
179
,
10
,
180
,
181
,
1
,
2
,
88
,
189
,
346
,
342
,
89
,
347
,
355
,
358
,
90
,
386
,
359
,
91
,
41
,
42
,
43
,
366
,
370
,
372
,
378
,
383
,
389
,
382
,
92
,
45
,
409
,
393
,
390
,
93
,
46
,
94
,
47
,
95
,
182
,
394
,
160
,
417
,
160
,
399
,
48
,
418
,
96
,
97
,
191
,
6
,
18
,
35
,
81
,
49
,
113
,
50
,
183
,
137
,
140
,
106
,
51
,
98
,
52
,
53
,
54
,
10
,
348
,
213
,
1
,
2
,
377
,
274
,
368
,
99
,
365
,
415
,
318
,
314
,
306
,
184
,
38
,
403
,
400
,
304
,
335
,
398
,
374
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
39
,
185
,
0
,
0
,
40
,
0
,
0
,
0
,
0
,
0
,
41
,
42
,
43
,
0
,
0
,
0
,
44
,
0
,
0
,
0
,
0
,
45
,
0
,
0
,
0
,
0
,
46
,
0
,
47
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
48
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
49
,
0
,
50
,
0
,
0
,
147
,
148
,
51
,
0
,
52
,
53
,
54
,
149
,
0
,
0
,
0
,
85
,
38
,
86
,
0
,
87
,
150
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
88
,
0
,
0
,
0
,
89
,
0
,
0
,
0
,
90
,
0
,
0
,
91
,
41
,
42
,
43
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
92
,
45
,
0
,
0
,
0
,
93
,
46
,
0
,
151
,
0
,
92
,
45
,
0
,
0
,
0
,
93
,
46
,
94
,
47
,
95
,
0
,
0
,
0
,
0
,
0
,
0
,
48
,
0
,
96
,
97
,
0
,
0
,
0
,
0
,
0
,
49
,
0
,
50
,
1
,
2
,
0
,
0
,
51
,
98
,
52
,
53
,
54
,
0
,
0
,
85
,
38
,
86
,
0
,
87
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
88
,
0
,
0
,
0
,
89
,
0
,
0
,
0
,
90
,
0
,
0
,
91
,
41
,
42
,
43
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
92
,
45
,
0
,
0
,
0
,
93
,
46
,
94
,
47
,
95
,
0
,
0
,
0
,
0
,
0
,
0
,
48
,
0
,
96
,
97
,
0
,
0
,
0
,
0
,
0
,
49
,
0
,
50
,
0
,
0
,
0
,
0
,
51
,
98
,
52
,
53
,
54
0
,
96
,
97
,
152
,
153
,
0
,
0
,
0
,
49
,
0
,
50
,
0
,
154
,
147
,
148
,
51
,
98
,
52
,
53
,
54
,
149
,
0
,
0
,
0
,
85
,
38
,
86
,
0
,
87
,
150
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
88
,
0
,
0
,
0
,
89
,
0
,
0
,
0
,
90
,
0
,
0
,
91
,
41
,
42
,
43
,
0
,
0
,
0
,
0
,
0
,
151
,
0
,
92
,
45
,
0
,
0
,
0
,
93
,
46
,
94
,
47
,
95
,
0
,
0
,
0
,
0
,
0
,
0
,
48
,
0
,
96
,
97
,
152
,
153
,
0
,
0
,
0
,
49
,
0
,
50
,
83
,
84
,
0
,
0
,
51
,
98
,
52
,
53
,
54
,
0
,
0
,
85
,
38
,
86
,
0
,
87
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
88
,
0
,
0
,
0
,
89
,
0
,
0
,
0
,
90
,
0
,
0
,
91
,
41
,
42
,
43
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
92
,
45
,
0
,
0
,
0
,
93
,
46
,
94
,
47
,
95
,
0
,
0
,
0
,
0
,
0
,
0
,
48
,
0
,
96
,
97
,
0
,
0
,
0
,
0
,
0
,
49
,
0
,
50
,
1
,
2
,
0
,
0
,
51
,
98
,
52
,
53
,
54
,
0
,
0
,
85
,
38
,
86
,
0
,
87
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
88
,
0
,
0
,
0
,
89
,
0
,
0
,
0
,
90
,
0
,
0
,
91
,
41
,
42
,
43
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
92
,
45
,
0
,
0
,
0
,
93
,
46
,
94
,
47
,
95
,
0
,
0
,
0
,
0
,
0
,
0
,
48
,
0
,
96
,
97
,
0
,
0
,
0
,
0
,
0
,
49
,
0
,
50
,
0
,
0
,
0
,
0
,
51
,
98
,
52
,
53
,
54
};
static
const
short
yycheck
[]
=
{
7
,
82
,
82
,
121
,
170
,
153
,
13
,
155
,
194
,
8
,
136
,
198
,
64
,
65
,
135
,
8
,
64
,
65
,
8
,
8
,
8
,
9
,
19
,
46
,
8
,
28
,
4
,
11
,
12
,
103
,
37
,
0
,
15
,
40
,
3
,
13
,
14
,
44
,
80
,
34
,
30
,
8
,
13
,
14
,
11
,
12
,
8
,
9
,
226
,
56
,
17
,
99
,
33
,
9
,
8
,
9
,
10
,
8
,
9
,
10
,
8
,
8
,
33
,
105
,
11
,
12
,
12
,
74
,
37
,
316
,
317
,
40
,
37
,
8
,
20
,
44
,
11
,
12
,
75
,
80
,
327
,
288
,
319
,
209
,
262
,
108
,
69
,
56
,
69
,
105
,
73
,
56
,
89
,
103
,
272
,
41
,
303
,
43
,
69
,
46
,
337
,
111
,
103
,
110
,
105
,
74
,
52
,
244
,
115
,
102
,
247
,
114
,
102
,
57
,
194
,
114
,
104
,
124
,
244
,
167
,
241
,
247
,
111
,
107
,
302
,
41
,
104
,
293
,
101
,
136
,
99
,
84
,
212
,
104
,
321
,
253
,
52
,
108
,
53
,
112
,
107
,
110
,
104
,
114
,
3
,
114
,
115
,
199
,
102
,
80
,
104
,
102
,
121
,
21
,
102
,
124
,
84
,
97
,
98
,
99
,
100
,
168
,
169
,
11
,
12
,
84
,
135
,
136
,
108
,
4
,
106
,
104
,
103
,
12
,
105
,
108
,
13
,
14
,
13
,
14
,
260
,
8
,
9
,
10
,
11
,
12
,
104
,
370
,
268
,
372
,
108
,
198
,
104
,
319
,
201
,
39
,
108
,
104
,
167
,
206
,
169
,
108
,
209
,
6
,
211
,
8
,
9
,
10
,
11
,
12
,
336
,
337
,
107
,
108
,
400
,
5
,
6
,
7
,
8
,
9
,
10
,
11
,
12
,
389
,
410
,
107
,
6
,
103
,
8
,
9
,
10
,
11
,
12
,
381
,
104
,
104
,
243
,
244
,
108
,
108
,
247
,
104
,
45
,
46
,
324
,
108
,
11
,
12
,
255
,
330
,
103
,
111
,
370
,
334
,
372
,
45
,
225
,
81
,
61
,
11
,
12
,
13
,
14
,
81
,
271
,
45
,
6
,
274
,
8
,
9
,
10
,
11
,
12
,
63
,
71
,
244
,
51
,
80
,
247
,
81
,
60
,
3
,
111
,
86
,
253
,
6
,
3
,
8
,
9
,
10
,
11
,
12
,
95
,
104
,
298
,
299
,
86
,
301
,
104
,
102
,
103
,
109
,
105
,
103
,
109
,
45
,
86
,
103
,
97
,
98
,
99
,
100
,
319
,
103
,
321
,
9
,
103
,
35
,
103
,
326
,
60
,
68
,
103
,
3
,
45
,
46
,
103
,
8
,
111
,
336
,
337
,
115
,
339
,
111
,
3
,
109
,
25
,
344
,
105
,
68
,
61
,
105
,
11
,
12
,
68
,
114
,
86
,
354
,
30
,
104
,
319
,
108
,
96
,
22
,
23
,
24
,
105
,
26
,
103
,
80
,
4
,
95
,
88
,
68
,
110
,
86
,
104
,
36
,
337
,
108
,
106
,
40
,
104
,
103
,
95
,
44
,
383
,
105
,
47
,
48
,
49
,
50
,
103
,
106
,
105
,
112
,
101
,
4
,
395
,
58
,
59
,
398
,
104
,
113
,
63
,
64
,
65
,
66
,
67
,
82
,
106
,
370
,
102
,
372
,
106
,
74
,
103
,
76
,
77
,
112
,
106
,
0
,
111
,
108
,
83
,
8
,
85
,
0
,
11
,
12
,
106
,
90
,
91
,
92
,
93
,
94
,
3
,
106
,
139
,
13
,
23
,
26
,
56
,
74
,
103
,
110
,
65
,
115
,
293
,
339
,
206
,
326
,
167
,
321
,
410
,
38
,
250
,
246
,
241
,
42
,
395
,
233
,
336
,
387
,
383
,
48
,
49
,
50
,
274
,
-
1
,
-
1
,
54
,
-
1
,
-
1
,
-
1
,
-
1
,
59
,
-
1
,
-
1
,
-
1
,
-
1
,
64
,
-
1
,
66
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
74
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
83
,
-
1
,
85
,
-
1
,
-
1
,
11
,
12
,
90
,
-
1
,
92
,
93
,
94
,
18
,
-
1
,
-
1
,
-
1
,
22
,
23
,
24
,
-
1
,
26
,
27
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
36
,
-
1
,
-
1
,
-
1
,
40
,
-
1
,
-
1
,
-
1
,
44
,
-
1
,
-
1
,
47
,
48
,
49
,
50
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
56
,
-
1
,
58
,
59
,
-
1
,
-
1
,
-
1
,
63
,
64
,
65
,
66
,
67
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
74
,
-
1
,
76
,
77
,
78
,
79
,
-
1
,
-
1
,
-
1
,
83
,
-
1
,
85
,
-
1
,
87
,
11
,
12
,
90
,
91
,
92
,
93
,
94
,
18
,
-
1
,
-
1
,
-
1
,
22
,
23
,
24
,
-
1
,
26
,
27
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
36
,
-
1
,
-
1
,
-
1
,
40
,
-
1
,
-
1
,
-
1
,
44
,
-
1
,
-
1
,
47
,
48
,
49
,
50
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
56
,
-
1
,
58
,
59
,
-
1
,
-
1
,
-
1
,
63
,
64
,
65
,
66
,
67
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
74
,
-
1
,
76
,
77
,
78
,
79
,
-
1
,
-
1
,
-
1
,
83
,
-
1
,
85
,
11
,
12
,
-
1
,
-
1
,
90
,
91
,
92
,
93
,
94
,
-
1
,
-
1
,
22
,
23
,
24
,
-
1
,
26
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
82
,
82
,
121
,
170
,
153
,
13
,
155
,
194
,
136
,
198
,
28
,
64
,
65
,
8
,
135
,
64
,
65
,
8
,
8
,
8
,
8
,
9
,
10
,
46
,
8
,
4
,
226
,
11
,
12
,
37
,
0
,
103
,
40
,
3
,
13
,
14
,
44
,
15
,
19
,
30
,
8
,
13
,
14
,
11
,
12
,
8
,
9
,
33
,
56
,
17
,
99
,
317
,
318
,
8
,
9
,
10
,
8
,
9
,
371
,
8
,
373
,
33
,
328
,
263
,
80
,
80
,
74
,
37
,
8
,
12
,
40
,
11
,
12
,
273
,
44
,
320
,
6
,
20
,
8
,
9
,
10
,
209
,
9
,
69
,
289
,
108
,
56
,
103
,
103
,
105
,
105
,
69
,
34
,
338
,
75
,
73
,
114
,
69
,
41
,
304
,
43
,
105
,
110
,
303
,
74
,
37
,
46
,
115
,
89
,
52
,
57
,
102
,
102
,
194
,
102
,
45
,
124
,
245
,
167
,
114
,
248
,
242
,
111
,
107
,
56
,
104
,
41
,
294
,
136
,
99
,
60
,
212
,
104
,
322
,
80
,
254
,
108
,
52
,
3
,
107
,
110
,
104
,
114
,
84
,
114
,
115
,
199
,
102
,
4
,
104
,
84
,
121
,
104
,
102
,
124
,
103
,
86
,
13
,
14
,
105
,
168
,
169
,
101
,
111
,
53
,
135
,
136
,
84
,
97
,
98
,
99
,
100
,
21
,
112
,
8
,
9
,
10
,
11
,
12
,
108
,
261
,
6
,
104
,
8
,
9
,
10
,
108
,
106
,
269
,
12
,
198
,
8
,
320
,
201
,
11
,
12
,
104
,
167
,
206
,
169
,
108
,
209
,
6
,
211
,
8
,
9
,
10
,
11
,
12
,
337
,
338
,
104
,
104
,
104
,
401
,
108
,
108
,
108
,
104
,
39
,
45
,
104
,
108
,
390
,
411
,
108
,
6
,
107
,
8
,
9
,
10
,
11
,
12
,
382
,
103
,
60
,
244
,
245
,
11
,
12
,
248
,
45
,
46
,
245
,
325
,
103
,
248
,
111
,
256
,
331
,
107
,
108
,
371
,
335
,
373
,
225
,
71
,
61
,
51
,
299
,
300
,
86
,
302
,
81
,
272
,
45
,
46
,
275
,
11
,
12
,
13
,
14
,
13
,
14
,
81
,
245
,
80
,
3
,
248
,
11
,
12
,
61
,
86
,
81
,
254
,
97
,
98
,
99
,
100
,
111
,
3
,
95
,
9
,
104
,
104
,
103
,
109
,
35
,
102
,
103
,
80
,
105
,
103
,
109
,
103
,
68
,
86
,
103
,
103
,
103
,
3
,
8
,
320
,
115
,
322
,
95
,
25
,
109
,
105
,
327
,
111
,
111
,
68
,
103
,
105
,
105
,
68
,
30
,
114
,
337
,
338
,
108
,
340
,
104
,
3
,
96
,
105
,
345
,
103
,
4
,
95
,
88
,
11
,
12
,
110
,
68
,
104
,
355
,
108
,
106
,
320
,
104
,
103
,
22
,
23
,
24
,
105
,
26
,
112
,
5
,
6
,
7
,
8
,
9
,
10
,
11
,
12
,
36
,
338
,
104
,
101
,
40
,
106
,
113
,
4
,
44
,
384
,
82
,
47
,
48
,
49
,
50
,
106
,
102
,
106
,
112
,
106
,
103
,
396
,
58
,
59
,
399
,
106
,
108
,
63
,
64
,
65
,
66
,
67
,
45
,
106
,
371
,
0
,
373
,
111
,
74
,
0
,
76
,
77
,
139
,
3
,
13
,
26
,
56
,
83
,
74
,
85
,
63
,
110
,
115
,
65
,
90
,
91
,
92
,
93
,
94
,
8
,
294
,
167
,
11
,
12
,
340
,
206
,
327
,
103
,
322
,
411
,
251
,
247
,
242
,
86
,
23
,
396
,
388
,
233
,
275
,
384
,
337
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
38
,
103
,
-
1
,
-
1
,
42
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
48
,
49
,
50
,
-
1
,
-
1
,
-
1
,
54
,
-
1
,
-
1
,
-
1
,
-
1
,
59
,
-
1
,
-
1
,
-
1
,
-
1
,
64
,
-
1
,
66
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
74
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
83
,
-
1
,
85
,
-
1
,
-
1
,
11
,
12
,
90
,
-
1
,
92
,
93
,
94
,
18
,
-
1
,
-
1
,
-
1
,
22
,
23
,
24
,
-
1
,
26
,
27
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
36
,
-
1
,
-
1
,
-
1
,
40
,
-
1
,
-
1
,
-
1
,
44
,
-
1
,
-
1
,
47
,
48
,
49
,
50
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
58
,
59
,
-
1
,
-
1
,
-
1
,
63
,
64
,
-
1
,
56
,
-
1
,
58
,
59
,
-
1
,
-
1
,
-
1
,
63
,
64
,
65
,
66
,
67
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
74
,
-
1
,
76
,
77
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
83
,
-
1
,
85
,
11
,
12
,
-
1
,
-
1
,
90
,
91
,
92
,
93
,
94
,
-
1
,
-
1
,
22
,
23
,
24
,
-
1
,
26
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
36
,
-
1
,
-
1
,
-
1
,
40
,
-
1
,
-
1
,
-
1
,
44
,
-
1
,
-
1
,
47
,
48
,
49
,
50
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
58
,
59
,
-
1
,
-
1
,
-
1
,
63
,
64
,
65
,
66
,
67
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
74
,
-
1
,
76
,
77
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
83
,
-
1
,
85
,
-
1
,
-
1
,
-
1
,
-
1
,
90
,
91
,
92
,
93
,
94
-
1
,
76
,
77
,
78
,
79
,
-
1
,
-
1
,
-
1
,
83
,
-
1
,
85
,
-
1
,
87
,
11
,
12
,
90
,
91
,
92
,
93
,
94
,
18
,
-
1
,
-
1
,
-
1
,
22
,
23
,
24
,
-
1
,
26
,
27
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
36
,
-
1
,
-
1
,
-
1
,
40
,
-
1
,
-
1
,
-
1
,
44
,
-
1
,
-
1
,
47
,
48
,
49
,
50
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
56
,
-
1
,
58
,
59
,
-
1
,
-
1
,
-
1
,
63
,
64
,
65
,
66
,
67
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
74
,
-
1
,
76
,
77
,
78
,
79
,
-
1
,
-
1
,
-
1
,
83
,
-
1
,
85
,
11
,
12
,
-
1
,
-
1
,
90
,
91
,
92
,
93
,
94
,
-
1
,
-
1
,
22
,
23
,
24
,
-
1
,
26
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
36
,
-
1
,
-
1
,
-
1
,
40
,
-
1
,
-
1
,
-
1
,
44
,
-
1
,
-
1
,
47
,
48
,
49
,
50
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
58
,
59
,
-
1
,
-
1
,
-
1
,
63
,
64
,
65
,
66
,
67
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
74
,
-
1
,
76
,
77
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
83
,
-
1
,
85
,
11
,
12
,
-
1
,
-
1
,
90
,
91
,
92
,
93
,
94
,
-
1
,
-
1
,
22
,
23
,
24
,
-
1
,
26
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
36
,
-
1
,
-
1
,
-
1
,
40
,
-
1
,
-
1
,
-
1
,
44
,
-
1
,
-
1
,
47
,
48
,
49
,
50
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
58
,
59
,
-
1
,
-
1
,
-
1
,
63
,
64
,
65
,
66
,
67
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
74
,
-
1
,
76
,
77
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
83
,
-
1
,
85
,
-
1
,
-
1
,
-
1
,
-
1
,
90
,
91
,
92
,
93
,
94
};
/* -*-C-*- Note some compilers choke on comments on `#line' lines. */
#line 3 "/usr/share/bison.simple"
...
...
@@ -1332,13 +1337,13 @@ yyreduce:
switch
(
yyn
)
{
case
1
:
#line 30
2
"asn1p_y.y"
#line 30
3
"asn1p_y.y"
{
*
(
void
**
)
param
=
yyvsp
[
0
].
a_grammar
;
;
break
;}
case
2
:
#line 30
8
"asn1p_y.y"
#line 30
9
"asn1p_y.y"
{
yyval
.
a_grammar
=
asn1p_new
();
checkmem
(
yyval
.
a_grammar
);
...
...
@@ -1346,14 +1351,14 @@ case 2:
;
break
;}
case
3
:
#line 31
3
"asn1p_y.y"
#line 31
4
"asn1p_y.y"
{
yyval
.
a_grammar
=
yyvsp
[
-
1
].
a_grammar
;
TQ_ADD
(
&
(
yyval
.
a_grammar
->
modules
),
yyvsp
[
0
].
a_module
,
mod_next
);
;
break
;}
case
4
:
#line 33
4
"asn1p_y.y"
#line 33
5
"asn1p_y.y"
{
if
(
yyvsp
[
-
1
].
a_module
)
{
...
...
@@ -1370,27 +1375,27 @@ case 4:
;
break
;}
case
5
:
#line 35
5
"asn1p_y.y"
#line 35
6
"asn1p_y.y"
{
yyval
.
a_oid
=
0
;
;
break
;}
case
6
:
#line 35
6
"asn1p_y.y"
#line 35
7
"asn1p_y.y"
{
yyval
.
a_oid
=
yyvsp
[
0
].
a_oid
;
;
break
;}
case
7
:
#line 36
0
"asn1p_y.y"
#line 36
1
"asn1p_y.y"
{
yyval
.
a_oid
=
yyvsp
[
-
1
].
a_oid
;
;
break
;}
case
8
:
#line 36
3
"asn1p_y.y"
#line 36
4
"asn1p_y.y"
{
yyval
.
a_oid
=
0
;
;
break
;}
case
9
:
#line 3
69
"asn1p_y.y"
#line 3
70
"asn1p_y.y"
{
yyval
.
a_oid
=
asn1p_oid_new
();
asn1p_oid_add_arc
(
yyval
.
a_oid
,
&
yyvsp
[
0
].
a_oid_arc
);
...
...
@@ -1399,7 +1404,7 @@ case 9:
;
break
;}
case
10
:
#line 37
5
"asn1p_y.y"
#line 37
6
"asn1p_y.y"
{
yyval
.
a_oid
=
yyvsp
[
-
1
].
a_oid
;
asn1p_oid_add_arc
(
yyval
.
a_oid
,
&
yyvsp
[
0
].
a_oid_arc
);
...
...
@@ -1408,74 +1413,74 @@ case 10:
;
break
;}
case
11
:
#line 38
4
"asn1p_y.y"
#line 38
5
"asn1p_y.y"
{
/* iso */
yyval
.
a_oid_arc
.
name
=
yyvsp
[
0
].
tv_str
;
yyval
.
a_oid_arc
.
number
=
-
1
;
;
break
;}
case
12
:
#line 38
8
"asn1p_y.y"
#line 38
9
"asn1p_y.y"
{
/* iso(1) */
yyval
.
a_oid_arc
.
name
=
yyvsp
[
-
3
].
tv_str
;
yyval
.
a_oid_arc
.
number
=
yyvsp
[
-
1
].
a_int
;
;
break
;}
case
13
:
#line 39
2
"asn1p_y.y"
#line 39
3
"asn1p_y.y"
{
/* 1 */
yyval
.
a_oid_arc
.
name
=
0
;
yyval
.
a_oid_arc
.
number
=
yyvsp
[
0
].
a_int
;
;
break
;}
case
14
:
#line 40
2
"asn1p_y.y"
#line 40
3
"asn1p_y.y"
{
yyval
.
a_module_flags
=
MSF_NOFLAGS
;
;
break
;}
case
15
:
#line 40
3
"asn1p_y.y"
#line 40
4
"asn1p_y.y"
{
yyval
.
a_module_flags
=
yyvsp
[
0
].
a_module_flags
;
;
break
;}
case
16
:
#line 41
2
"asn1p_y.y"
#line 41
3
"asn1p_y.y"
{
yyval
.
a_module_flags
=
yyvsp
[
0
].
a_module_flags
;
;
break
;}
case
17
:
#line 41
5
"asn1p_y.y"
#line 41
6
"asn1p_y.y"
{
yyval
.
a_module_flags
=
yyvsp
[
-
1
].
a_module_flags
|
yyvsp
[
0
].
a_module_flags
;
;
break
;}
case
18
:
#line 42
4
"asn1p_y.y"
#line 42
5
"asn1p_y.y"
{
yyval
.
a_module_flags
=
MSF_EXPLICIT_TAGS
;
;
break
;}
case
19
:
#line 42
7
"asn1p_y.y"
#line 42
8
"asn1p_y.y"
{
yyval
.
a_module_flags
=
MSF_IMPLICIT_TAGS
;
;
break
;}
case
20
:
#line 43
0
"asn1p_y.y"
#line 43
1
"asn1p_y.y"
{
yyval
.
a_module_flags
=
MSF_AUTOMATIC_TAGS
;
;
break
;}
case
21
:
#line 43
3
"asn1p_y.y"
#line 43
4
"asn1p_y.y"
{
yyval
.
a_module_flags
=
MSF_EXTENSIBILITY_IMPLIED
;
;
break
;}
case
22
:
#line 43
7
"asn1p_y.y"
#line 43
8
"asn1p_y.y"
{
/* X.680Amd1 specifies TAG and XER */
if
(
strcmp
(
yyvsp
[
-
1
].
tv_str
,
"TAG"
)
==
0
)
{
...
...
@@ -1493,23 +1498,23 @@ case 22:
;
break
;}
case
23
:
#line 45
8
"asn1p_y.y"
#line 45
9
"asn1p_y.y"
{
yyval
.
a_module
=
0
;
;
break
;}
case
24
:
#line 4
59
"asn1p_y.y"
#line 4
60
"asn1p_y.y"
{
yyval
.
a_module
=
yyvsp
[
0
].
a_module
;
;
break
;}
case
25
:
#line 46
8
"asn1p_y.y"
#line 46
9
"asn1p_y.y"
{
yyval
.
a_module
=
yyvsp
[
0
].
a_module
;
;
break
;}
case
26
:
#line 47
1
"asn1p_y.y"
#line 47
2
"asn1p_y.y"
{
yyval
.
a_module
=
yyvsp
[
-
1
].
a_module
;
...
...
@@ -1539,13 +1544,13 @@ case 26:
;
break
;}
case
27
:
#line 50
4
"asn1p_y.y"
#line 50
5
"asn1p_y.y"
{
yyval
.
a_module
=
yyvsp
[
0
].
a_module
;
;
break
;}
case
28
:
#line 50
7
"asn1p_y.y"
#line 50
8
"asn1p_y.y"
{
yyval
.
a_module
=
asn1p_module_new
();
checkmem
(
yyval
.
a_module
);
...
...
@@ -1557,7 +1562,7 @@ case 28:
;
break
;}
case
29
:
#line 51
6
"asn1p_y.y"
#line 51
7
"asn1p_y.y"
{
yyval
.
a_module
=
asn1p_module_new
();
checkmem
(
yyval
.
a_module
);
...
...
@@ -1567,7 +1572,7 @@ case 29:
;
break
;}
case
30
:
#line 52
3
"asn1p_y.y"
#line 52
4
"asn1p_y.y"
{
yyval
.
a_module
=
asn1p_module_new
();
checkmem
(
yyval
.
a_module
);
...
...
@@ -1577,7 +1582,7 @@ case 30:
;
break
;}
case
31
:
#line 53
6
"asn1p_y.y"
#line 53
7
"asn1p_y.y"
{
yyval
.
a_module
=
asn1p_module_new
();
checkmem
(
yyval
.
a_module
);
...
...
@@ -1587,11 +1592,11 @@ case 31:
;
break
;}
case
32
:
#line 54
4
"asn1p_y.y"
#line 54
5
"asn1p_y.y"
{
asn1p_lexer_hack_push_encoding_control
();
;
break
;}
case
33
:
#line 54
5
"asn1p_y.y"
#line 54
6
"asn1p_y.y"
{
fprintf
(
stderr
,
"WARNING: ENCODING-CONTROL %s "
...
...
@@ -1602,7 +1607,7 @@ case 33:
;
break
;}
case
34
:
#line 55
7
"asn1p_y.y"
#line 55
8
"asn1p_y.y"
{
return
yyerror
(
"Attempt to redefine a standard basic type, "
...
...
@@ -1611,19 +1616,19 @@ case 34:
;
break
;}
case
35
:
#line 57
1
"asn1p_y.y"
#line 57
2
"asn1p_y.y"
{
yyval
.
a_module
=
yyvsp
[
-
1
].
a_module
;
;
break
;}
case
36
:
#line 57
7
"asn1p_y.y"
#line 57
8
"asn1p_y.y"
{
return
yyerror
(
"Empty IMPORTS list"
);
;
break
;}
case
37
:
#line 58
3
"asn1p_y.y"
#line 58
4
"asn1p_y.y"
{
yyval
.
a_module
=
asn1p_module_new
();
checkmem
(
yyval
.
a_module
);
...
...
@@ -1631,14 +1636,14 @@ case 37:
;
break
;}
case
38
:
#line 58
8
"asn1p_y.y"
#line 58
9
"asn1p_y.y"
{
yyval
.
a_module
=
yyvsp
[
-
1
].
a_module
;
TQ_ADD
(
&
(
yyval
.
a_module
->
imports
),
yyvsp
[
0
].
a_xports
,
xp_next
);
;
break
;}
case
39
:
#line 59
5
"asn1p_y.y"
#line 59
6
"asn1p_y.y"
{
yyval
.
a_xports
=
yyvsp
[
-
3
].
a_xports
;
yyval
.
a_xports
->
from
=
yyvsp
[
-
1
].
tv_str
;
...
...
@@ -1647,7 +1652,7 @@ case 39:
;
break
;}
case
40
:
#line 60
4
"asn1p_y.y"
#line 60
5
"asn1p_y.y"
{
yyval
.
a_xports
=
asn1p_xports_new
();
checkmem
(
yyval
.
a_xports
);
...
...
@@ -1655,14 +1660,14 @@ case 40:
;
break
;}
case
41
:
#line 6
09
"asn1p_y.y"
#line 6
10
"asn1p_y.y"
{
yyval
.
a_xports
=
yyvsp
[
-
2
].
a_xports
;
TQ_ADD
(
&
(
yyval
.
a_xports
->
members
),
yyvsp
[
0
].
a_expr
,
next
);
;
break
;}
case
42
:
#line 61
6
"asn1p_y.y"
#line 61
7
"asn1p_y.y"
{
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
checkmem
(
yyval
.
a_expr
);
...
...
@@ -1671,7 +1676,7 @@ case 42:
;
break
;}
case
43
:
#line 62
2
"asn1p_y.y"
#line 62
3
"asn1p_y.y"
{
/* Completely equivalent to above */
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
checkmem
(
yyval
.
a_expr
);
...
...
@@ -1680,7 +1685,7 @@ case 43:
;
break
;}
case
44
:
#line 62
8
"asn1p_y.y"
#line 62
9
"asn1p_y.y"
{
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
checkmem
(
yyval
.
a_expr
);
...
...
@@ -1689,19 +1694,19 @@ case 44:
;
break
;}
case
45
:
#line 63
7
"asn1p_y.y"
#line 63
8
"asn1p_y.y"
{
yyval
.
a_xports
=
yyvsp
[
-
1
].
a_xports
;
;
break
;}
case
46
:
#line 64
0
"asn1p_y.y"
#line 64
1
"asn1p_y.y"
{
yyval
.
a_xports
=
0
;
;
break
;}
case
47
:
#line 64
3
"asn1p_y.y"
#line 64
4
"asn1p_y.y"
{
/* Empty EXPORTS clause effectively prohibits export. */
yyval
.
a_xports
=
asn1p_xports_new
();
...
...
@@ -1709,7 +1714,7 @@ case 47:
;
break
;}
case
48
:
#line 65
1
"asn1p_y.y"
#line 65
2
"asn1p_y.y"
{
yyval
.
a_xports
=
asn1p_xports_new
();
assert
(
yyval
.
a_xports
);
...
...
@@ -1717,14 +1722,14 @@ case 48:
;
break
;}
case
49
:
#line 65
6
"asn1p_y.y"
#line 65
7
"asn1p_y.y"
{
yyval
.
a_xports
=
yyvsp
[
-
2
].
a_xports
;
TQ_ADD
(
&
(
yyval
.
a_xports
->
members
),
yyvsp
[
0
].
a_expr
,
next
);
;
break
;}
case
50
:
#line 66
3
"asn1p_y.y"
#line 66
4
"asn1p_y.y"
{
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
checkmem
(
yyval
.
a_expr
);
...
...
@@ -1733,7 +1738,7 @@ case 50:
;
break
;}
case
51
:
#line 6
69
"asn1p_y.y"
#line 6
70
"asn1p_y.y"
{
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
checkmem
(
yyval
.
a_expr
);
...
...
@@ -1742,7 +1747,7 @@ case 51:
;
break
;}
case
52
:
#line 67
5
"asn1p_y.y"
#line 67
6
"asn1p_y.y"
{
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
checkmem
(
yyval
.
a_expr
);
...
...
@@ -1751,7 +1756,7 @@ case 52:
;
break
;}
case
53
:
#line 68
5
"asn1p_y.y"
#line 68
6
"asn1p_y.y"
{
yyval
.
a_expr
=
yyvsp
[
-
4
].
a_expr
;
assert
(
yyval
.
a_expr
->
Identifier
==
0
);
...
...
@@ -1761,7 +1766,7 @@ case 53:
;
break
;}
case
54
:
#line 69
5
"asn1p_y.y"
#line 69
6
"asn1p_y.y"
{
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
checkmem
(
yyval
.
a_expr
);
...
...
@@ -1771,7 +1776,7 @@ case 54:
;
break
;}
case
55
:
#line 70
2
"asn1p_y.y"
#line 70
3
"asn1p_y.y"
{
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
checkmem
(
yyval
.
a_expr
);
...
...
@@ -1780,36 +1785,36 @@ case 55:
;
break
;}
case
56
:
#line 71
1
"asn1p_y.y"
#line 71
2
"asn1p_y.y"
{
;
break
;}
case
57
:
#line 71
2
"asn1p_y.y"
#line 71
3
"asn1p_y.y"
{
;
break
;}
case
58
:
#line 72
3
"asn1p_y.y"
#line 72
4
"asn1p_y.y"
{
;
break
;}
case
59
:
#line 72
5
"asn1p_y.y"
#line 72
6
"asn1p_y.y"
{
;
break
;}
case
60
:
#line 73
0
"asn1p_y.y"
#line 73
1
"asn1p_y.y"
{
;
break
;}
case
61
:
#line 73
2
"asn1p_y.y"
#line 73
3
"asn1p_y.y"
{
;
break
;}
case
62
:
#line 74
8
"asn1p_y.y"
#line 74
9
"asn1p_y.y"
{
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
checkmem
(
yyval
.
a_expr
);
...
...
@@ -1820,7 +1825,7 @@ case 62:
;
break
;}
case
63
:
#line 75
6
"asn1p_y.y"
#line 75
7
"asn1p_y.y"
{
yyval
.
a_expr
=
yyvsp
[
0
].
a_expr
;
yyval
.
a_expr
->
Identifier
=
yyvsp
[
-
2
].
tv_str
;
...
...
@@ -1829,7 +1834,7 @@ case 63:
;
break
;}
case
64
:
#line 76
2
"asn1p_y.y"
#line 76
3
"asn1p_y.y"
{
yyval
.
a_expr
=
yyvsp
[
0
].
a_expr
;
yyval
.
a_expr
->
Identifier
=
yyvsp
[
-
2
].
tv_str
;
...
...
@@ -1838,7 +1843,7 @@ case 64:
;
break
;}
case
65
:
#line 77
8
"asn1p_y.y"
#line 77
9
"asn1p_y.y"
{
yyval
.
a_expr
=
yyvsp
[
0
].
a_expr
;
assert
(
yyval
.
a_expr
->
Identifier
==
0
);
...
...
@@ -1848,7 +1853,7 @@ case 65:
;
break
;}
case
66
:
#line 78
8
"asn1p_y.y"
#line 78
9
"asn1p_y.y"
{
int
ret
;
yyval
.
a_plist
=
asn1p_paramlist_new
(
yylineno
);
...
...
@@ -1860,7 +1865,7 @@ case 66:
;
break
;}
case
67
:
#line 79
7
"asn1p_y.y"
#line 79
8
"asn1p_y.y"
{
int
ret
;
yyval
.
a_plist
=
yyvsp
[
-
2
].
a_plist
;
...
...
@@ -1871,14 +1876,14 @@ case 67:
;
break
;}
case
68
:
#line 80
8
"asn1p_y.y"
#line 80
9
"asn1p_y.y"
{
yyval
.
a_parg
.
governor
=
NULL
;
yyval
.
a_parg
.
argument
=
yyvsp
[
0
].
tv_str
;
;
break
;}
case
69
:
#line 81
2
"asn1p_y.y"
#line 81
3
"asn1p_y.y"
{
int
ret
;
yyval
.
a_parg
.
governor
=
asn1p_ref_new
(
yylineno
);
...
...
@@ -1888,7 +1893,7 @@ case 69:
;
break
;}
case
70
:
#line 8
19
"asn1p_y.y"
#line 8
20
"asn1p_y.y"
{
int
ret
;
yyval
.
a_parg
.
governor
=
asn1p_ref_new
(
yylineno
);
...
...
@@ -1898,7 +1903,7 @@ case 70:
;
break
;}
case
71
:
#line 82
6
"asn1p_y.y"
#line 82
7
"asn1p_y.y"
{
int
ret
;
yyval
.
a_parg
.
governor
=
asn1p_ref_new
(
yylineno
);
...
...
@@ -1909,7 +1914,7 @@ case 71:
;
break
;}
case
72
:
#line 83
7
"asn1p_y.y"
#line 83
8
"asn1p_y.y"
{
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
checkmem
(
yyval
.
a_expr
);
...
...
@@ -1917,20 +1922,20 @@ case 72:
;
break
;}
case
73
:
#line 84
2
"asn1p_y.y"
#line 84
3
"asn1p_y.y"
{
yyval
.
a_expr
=
yyvsp
[
-
2
].
a_expr
;
asn1p_expr_add
(
yyval
.
a_expr
,
yyvsp
[
0
].
a_expr
);
;
break
;}
case
74
:
#line 8
49
"asn1p_y.y"
#line 8
50
"asn1p_y.y"
{
yyval
.
a_expr
=
yyvsp
[
0
].
a_expr
;
;
break
;}
case
75
:
#line 85
2
"asn1p_y.y"
#line 85
3
"asn1p_y.y"
{
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
checkmem
(
yyval
.
a_expr
);
...
...
@@ -1940,15 +1945,15 @@ case 75:
;
break
;}
case
76
:
#line 87
6
"asn1p_y.y"
#line 87
7
"asn1p_y.y"
{
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
;
break
;}
case
77
:
#line 87
7
"asn1p_y.y"
#line 87
8
"asn1p_y.y"
{
yyval
.
a_expr
=
yyvsp
[
0
].
a_expr
;
;
break
;}
case
78
:
#line 88
0
"asn1p_y.y"
#line 88
1
"asn1p_y.y"
{
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
checkmem
(
yyval
.
a_expr
);
...
...
@@ -1956,14 +1961,14 @@ case 78:
;
break
;}
case
79
:
#line 88
5
"asn1p_y.y"
#line 88
6
"asn1p_y.y"
{
yyval
.
a_expr
=
yyvsp
[
-
2
].
a_expr
;
asn1p_expr_add
(
yyval
.
a_expr
,
yyvsp
[
0
].
a_expr
);
;
break
;}
case
80
:
#line 89
2
"asn1p_y.y"
#line 89
3
"asn1p_y.y"
{
yyval
.
a_expr
=
yyvsp
[
-
1
].
a_expr
;
assert
(
yyval
.
a_expr
->
Identifier
==
0
);
...
...
@@ -1972,7 +1977,7 @@ case 80:
;
break
;}
case
81
:
#line 89
8
"asn1p_y.y"
#line 89
9
"asn1p_y.y"
{
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
checkmem
(
yyval
.
a_expr
);
...
...
@@ -1982,13 +1987,13 @@ case 81:
;
break
;}
case
82
:
#line 90
5
"asn1p_y.y"
#line 90
6
"asn1p_y.y"
{
yyval
.
a_expr
=
yyvsp
[
0
].
a_expr
;
;
break
;}
case
83
:
#line 91
1
"asn1p_y.y"
#line 91
2
"asn1p_y.y"
{
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
checkmem
(
yyval
.
a_expr
);
...
...
@@ -1996,14 +2001,14 @@ case 83:
;
break
;}
case
84
:
#line 91
6
"asn1p_y.y"
#line 91
7
"asn1p_y.y"
{
yyval
.
a_expr
=
yyvsp
[
-
2
].
a_expr
;
asn1p_expr_add
(
yyval
.
a_expr
,
yyvsp
[
0
].
a_expr
);
;
break
;}
case
85
:
#line 92
3
"asn1p_y.y"
#line 92
4
"asn1p_y.y"
{
yyval
.
a_expr
=
yyvsp
[
0
].
a_expr
;
assert
(
yyval
.
a_expr
->
Identifier
==
0
);
...
...
@@ -2011,13 +2016,13 @@ case 85:
;
break
;}
case
86
:
#line 92
8
"asn1p_y.y"
#line 92
9
"asn1p_y.y"
{
yyval
.
a_expr
=
yyvsp
[
0
].
a_expr
;
;
break
;}
case
87
:
#line 93
4
"asn1p_y.y"
#line 93
5
"asn1p_y.y"
{
yyval
.
a_expr
=
yyvsp
[
-
2
].
a_expr
;
checkmem
(
yyval
.
a_expr
);
...
...
@@ -2027,15 +2032,15 @@ case 87:
;
break
;}
case
88
:
#line 94
4
"asn1p_y.y"
#line 94
5
"asn1p_y.y"
{
yyval
.
a_int
=
0
;
;
break
;}
case
89
:
#line 94
5
"asn1p_y.y"
#line 94
6
"asn1p_y.y"
{
yyval
.
a_int
=
1
;
;
break
;}
case
90
:
#line 9
49
"asn1p_y.y"
#line 9
50
"asn1p_y.y"
{
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
checkmem
(
yyval
.
a_expr
);
...
...
@@ -2045,14 +2050,14 @@ case 90:
;
break
;}
case
91
:
#line 95
6
"asn1p_y.y"
#line 95
7
"asn1p_y.y"
{
yyval
.
a_expr
=
yyvsp
[
-
2
].
a_expr
;
asn1p_expr_add
(
yyval
.
a_expr
,
yyvsp
[
0
].
a_expr
);
;
break
;}
case
92
:
#line 96
3
"asn1p_y.y"
#line 96
4
"asn1p_y.y"
{
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
checkmem
(
yyval
.
a_expr
);
...
...
@@ -2063,7 +2068,7 @@ case 92:
;
break
;}
case
93
:
#line 97
1
"asn1p_y.y"
#line 97
2
"asn1p_y.y"
{
yyval
.
a_expr
=
yyvsp
[
-
2
].
a_expr
;
yyval
.
a_expr
->
Identifier
=
yyvsp
[
-
3
].
a_refcomp
.
name
;
...
...
@@ -2072,7 +2077,7 @@ case 93:
;
break
;}
case
94
:
#line 97
7
"asn1p_y.y"
#line 97
8
"asn1p_y.y"
{
int
ret
;
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
...
...
@@ -2090,47 +2095,47 @@ case 94:
;
break
;}
case
95
:
#line 99
5
"asn1p_y.y"
#line 99
6
"asn1p_y.y"
{
yyval
.
a_wsynt
=
0
;
;
break
;}
case
96
:
#line 99
6
"asn1p_y.y"
#line 99
7
"asn1p_y.y"
{
yyval
.
a_wsynt
=
yyvsp
[
0
].
a_wsynt
;
;
break
;}
case
97
:
#line 100
3
"asn1p_y.y"
#line 100
4
"asn1p_y.y"
{
asn1p_lexer_hack_enable_with_syntax
();
;
break
;}
case
98
:
#line 100
5
"asn1p_y.y"
#line 100
6
"asn1p_y.y"
{
yyval
.
a_wsynt
=
yyvsp
[
-
1
].
a_wsynt
;
;
break
;}
case
99
:
#line 101
1
"asn1p_y.y"
#line 101
2
"asn1p_y.y"
{
yyval
.
a_wsynt
=
asn1p_wsyntx_new
();
TQ_ADD
(
&
(
yyval
.
a_wsynt
->
chunks
),
yyvsp
[
0
].
a_wchunk
,
next
);
;
break
;}
case
100
:
#line 101
5
"asn1p_y.y"
#line 101
6
"asn1p_y.y"
{
yyval
.
a_wsynt
=
yyvsp
[
-
1
].
a_wsynt
;
TQ_ADD
(
&
(
yyval
.
a_wsynt
->
chunks
),
yyvsp
[
0
].
a_wchunk
,
next
);
;
break
;}
case
101
:
#line 102
2
"asn1p_y.y"
#line 102
3
"asn1p_y.y"
{
yyval
.
a_wchunk
=
asn1p_wsyntx_chunk_frombuf
(
yyvsp
[
0
].
tv_opaque
.
buf
,
yyvsp
[
0
].
tv_opaque
.
len
,
0
);
;
break
;}
case
102
:
#line 102
5
"asn1p_y.y"
#line 102
6
"asn1p_y.y"
{
asn1p_ref_t
*
ref
;
int
ret
;
...
...
@@ -2142,7 +2147,7 @@ case 102:
;
break
;}
case
103
:
#line 103
7
"asn1p_y.y"
#line 103
8
"asn1p_y.y"
{
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
checkmem
(
yyval
.
a_expr
);
...
...
@@ -2153,7 +2158,7 @@ case 103:
;
break
;}
case
104
:
#line 104
5
"asn1p_y.y"
#line 104
6
"asn1p_y.y"
{
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
checkmem
(
yyval
.
a_expr
);
...
...
@@ -2165,7 +2170,7 @@ case 104:
;
break
;}
case
105
:
#line 105
4
"asn1p_y.y"
#line 105
5
"asn1p_y.y"
{
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
checkmem
(
yyval
.
a_expr
);
...
...
@@ -2177,7 +2182,7 @@ case 105:
;
break
;}
case
106
:
#line 106
6
"asn1p_y.y"
#line 106
7
"asn1p_y.y"
{
yyval
.
a_expr
=
yyvsp
[
-
1
].
a_expr
;
yyval
.
a_expr
->
tag
=
yyvsp
[
-
2
].
a_tag
;
...
...
@@ -2199,13 +2204,13 @@ case 106:
;
break
;}
case
107
:
#line 108
8
"asn1p_y.y"
#line 108
9
"asn1p_y.y"
{
yyval
.
a_expr
=
yyvsp
[
0
].
a_expr
;
;
break
;}
case
108
:
#line 109
1
"asn1p_y.y"
#line 109
2
"asn1p_y.y"
{
yyval
.
a_expr
=
yyvsp
[
-
1
].
a_expr
;
assert
(
yyval
.
a_expr
->
expr_type
==
A1TC_INVALID
);
...
...
@@ -2214,7 +2219,7 @@ case 108:
;
break
;}
case
109
:
#line 109
7
"asn1p_y.y"
#line 109
8
"asn1p_y.y"
{
yyval
.
a_expr
=
yyvsp
[
-
1
].
a_expr
;
assert
(
yyval
.
a_expr
->
expr_type
==
A1TC_INVALID
);
...
...
@@ -2223,7 +2228,7 @@ case 109:
;
break
;}
case
110
:
#line 110
3
"asn1p_y.y"
#line 110
4
"asn1p_y.y"
{
yyval
.
a_expr
=
yyvsp
[
-
1
].
a_expr
;
assert
(
yyval
.
a_expr
->
expr_type
==
A1TC_INVALID
);
...
...
@@ -2232,7 +2237,7 @@ case 110:
;
break
;}
case
111
:
#line 11
09
"asn1p_y.y"
#line 11
10
"asn1p_y.y"
{
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
checkmem
(
yyval
.
a_expr
);
...
...
@@ -2245,7 +2250,7 @@ case 111:
;
break
;}
case
112
:
#line 11
19
"asn1p_y.y"
#line 11
20
"asn1p_y.y"
{
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
checkmem
(
yyval
.
a_expr
);
...
...
@@ -2258,7 +2263,7 @@ case 112:
;
break
;}
case
113
:
#line 11
29
"asn1p_y.y"
#line 11
30
"asn1p_y.y"
{
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
checkmem
(
yyval
.
a_expr
);
...
...
@@ -2267,7 +2272,7 @@ case 113:
;
break
;}
case
114
:
#line 113
5
"asn1p_y.y"
#line 113
6
"asn1p_y.y"
{
int
ret
;
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
...
...
@@ -2281,7 +2286,7 @@ case 114:
;
break
;}
case
115
:
#line 11
49
"asn1p_y.y"
#line 11
50
"asn1p_y.y"
{
int
ret
;
yyval
.
a_expr
=
yyvsp
[
-
1
].
a_expr
;
...
...
@@ -2298,7 +2303,7 @@ case 115:
;
break
;}
case
116
:
#line 117
3
"asn1p_y.y"
#line 117
4
"asn1p_y.y"
{
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
checkmem
(
yyval
.
a_expr
);
...
...
@@ -2308,7 +2313,7 @@ case 116:
;
break
;}
case
117
:
#line 118
0
"asn1p_y.y"
#line 118
1
"asn1p_y.y"
{
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
checkmem
(
yyval
.
a_expr
);
...
...
@@ -2318,7 +2323,7 @@ case 117:
;
break
;}
case
118
:
#line 119
5
"asn1p_y.y"
#line 119
6
"asn1p_y.y"
{
int
ret
;
yyval
.
a_ref
=
asn1p_ref_new
(
yylineno
);
...
...
@@ -2329,7 +2334,7 @@ case 118:
;
break
;}
case
119
:
#line 120
3
"asn1p_y.y"
#line 120
4
"asn1p_y.y"
{
int
ret
;
yyval
.
a_ref
=
asn1p_ref_new
(
yylineno
);
...
...
@@ -2342,7 +2347,7 @@ case 119:
;
break
;}
case
120
:
#line 121
3
"asn1p_y.y"
#line 121
4
"asn1p_y.y"
{
int
ret
;
yyval
.
a_ref
=
asn1p_ref_new
(
yylineno
);
...
...
@@ -2355,7 +2360,7 @@ case 120:
;
break
;}
case
121
:
#line 122
3
"asn1p_y.y"
#line 122
4
"asn1p_y.y"
{
int
ret
;
yyval
.
a_ref
=
asn1p_ref_new
(
yylineno
);
...
...
@@ -2368,7 +2373,7 @@ case 121:
;
break
;}
case
122
:
#line 123
3
"asn1p_y.y"
#line 123
4
"asn1p_y.y"
{
int
ret
;
yyval
.
a_ref
=
asn1p_ref_new
(
yylineno
);
...
...
@@ -2379,7 +2384,7 @@ case 122:
;
break
;}
case
123
:
#line 124
1
"asn1p_y.y"
#line 124
2
"asn1p_y.y"
{
int
ret
;
yyval
.
a_ref
=
yyvsp
[
0
].
a_ref
;
...
...
@@ -2401,7 +2406,7 @@ case 123:
;
break
;}
case
124
:
#line 126
3
"asn1p_y.y"
#line 126
4
"asn1p_y.y"
{
int
ret
;
yyval
.
a_ref
=
asn1p_ref_new
(
yylineno
);
...
...
@@ -2412,7 +2417,7 @@ case 124:
;
break
;}
case
125
:
#line 127
1
"asn1p_y.y"
#line 127
2
"asn1p_y.y"
{
int
ret
;
yyval
.
a_ref
=
yyvsp
[
-
2
].
a_ref
;
...
...
@@ -2422,21 +2427,21 @@ case 125:
;
break
;}
case
128
:
#line 128
5
"asn1p_y.y"
#line 128
6
"asn1p_y.y"
{
yyval
.
a_refcomp
.
lex_type
=
RLT_AmpUppercase
;
yyval
.
a_refcomp
.
name
=
yyvsp
[
0
].
tv_str
;
;
break
;}
case
129
:
#line 129
0
"asn1p_y.y"
#line 129
1
"asn1p_y.y"
{
yyval
.
a_refcomp
.
lex_type
=
RLT_Amplowercase
;
yyval
.
a_refcomp
.
name
=
yyvsp
[
0
].
tv_str
;
;
break
;}
case
130
:
#line 130
3
"asn1p_y.y"
#line 130
4
"asn1p_y.y"
{
yyval
.
a_expr
=
yyvsp
[
-
2
].
a_expr
;
assert
(
yyval
.
a_expr
->
Identifier
==
NULL
);
...
...
@@ -2446,7 +2451,7 @@ case 130:
;
break
;}
case
131
:
#line 131
3
"asn1p_y.y"
#line 131
4
"asn1p_y.y"
{
yyval
.
a_value
=
asn1p_value_fromint
(
0
);
checkmem
(
yyval
.
a_value
);
...
...
@@ -2456,11 +2461,11 @@ case 131:
;
break
;}
case
132
:
#line 132
0
"asn1p_y.y"
#line 132
1
"asn1p_y.y"
{
asn1p_lexer_hack_push_opaque_state
();
;
break
;}
case
133
:
#line 132
0
"asn1p_y.y"
#line 132
1
"asn1p_y.y"
{
yyval
.
a_value
=
asn1p_value_frombuf
(
yyvsp
[
0
].
tv_opaque
.
buf
,
yyvsp
[
0
].
tv_opaque
.
len
,
0
);
checkmem
(
yyval
.
a_value
);
...
...
@@ -2468,7 +2473,7 @@ case 133:
;
break
;}
case
134
:
#line 132
5
"asn1p_y.y"
#line 132
6
"asn1p_y.y"
{
yyval
.
a_value
=
asn1p_value_fromint
(
0
);
checkmem
(
yyval
.
a_value
);
...
...
@@ -2476,7 +2481,7 @@ case 134:
;
break
;}
case
135
:
#line 133
0
"asn1p_y.y"
#line 133
1
"asn1p_y.y"
{
yyval
.
a_value
=
asn1p_value_fromint
(
0
);
checkmem
(
yyval
.
a_value
);
...
...
@@ -2484,7 +2489,7 @@ case 135:
;
break
;}
case
136
:
#line 133
5
"asn1p_y.y"
#line 133
6
"asn1p_y.y"
{
yyval
.
a_value
=
asn1p_value_fromint
(
0
);
checkmem
(
yyval
.
a_value
);
...
...
@@ -2492,40 +2497,40 @@ case 136:
;
break
;}
case
137
:
#line 134
0
"asn1p_y.y"
#line 134
1
"asn1p_y.y"
{
yyval
.
a_value
=
_convert_bitstring2binary
(
yyvsp
[
0
].
tv_str
,
'B'
);
checkmem
(
yyval
.
a_value
);
;
break
;}
case
138
:
#line 134
4
"asn1p_y.y"
#line 134
5
"asn1p_y.y"
{
yyval
.
a_value
=
_convert_bitstring2binary
(
yyvsp
[
0
].
tv_str
,
'H'
);
checkmem
(
yyval
.
a_value
);
;
break
;}
case
139
:
#line 134
8
"asn1p_y.y"
#line 134
9
"asn1p_y.y"
{
yyval
.
a_value
=
asn1p_value_frombuf
(
yyvsp
[
0
].
tv_opaque
.
buf
,
yyvsp
[
0
].
tv_opaque
.
len
,
0
);
checkmem
(
yyval
.
a_value
);
;
break
;}
case
140
:
#line 135
2
"asn1p_y.y"
#line 135
3
"asn1p_y.y"
{
yyval
.
a_value
=
yyvsp
[
0
].
a_value
;
;
break
;}
case
141
:
#line 135
5
"asn1p_y.y"
#line 135
6
"asn1p_y.y"
{
yyval
.
a_value
=
yyvsp
[
0
].
a_value
;
;
break
;}
case
142
:
#line 136
1
"asn1p_y.y"
#line 136
2
"asn1p_y.y"
{
asn1p_ref_t
*
ref
;
int
ret
;
...
...
@@ -2539,7 +2544,7 @@ case 142:
;
break
;}
case
143
:
#line 137
2
"asn1p_y.y"
#line 137
3
"asn1p_y.y"
{
asn1p_ref_t
*
ref
;
int
ret
;
...
...
@@ -2556,7 +2561,7 @@ case 143:
;
break
;}
case
144
:
#line 13
89
"asn1p_y.y"
#line 13
90
"asn1p_y.y"
{
yyval
.
tv_opaque
.
len
=
yyvsp
[
0
].
tv_opaque
.
len
+
2
;
yyval
.
tv_opaque
.
buf
=
malloc
(
yyval
.
tv_opaque
.
len
+
1
);
...
...
@@ -2569,7 +2574,7 @@ case 144:
;
break
;}
case
145
:
#line 1
399
"asn1p_y.y"
#line 1
400
"asn1p_y.y"
{
int
newsize
=
yyvsp
[
-
1
].
tv_opaque
.
len
+
yyvsp
[
0
].
tv_opaque
.
len
;
char
*
p
=
malloc
(
newsize
+
1
);
...
...
@@ -2584,71 +2589,71 @@ case 145:
;
break
;}
case
146
:
#line 141
4
"asn1p_y.y"
#line 141
5
"asn1p_y.y"
{
yyval
.
a_type
=
ASN_BASIC_BOOLEAN
;
;
break
;}
case
147
:
#line 141
5
"asn1p_y.y"
#line 141
6
"asn1p_y.y"
{
yyval
.
a_type
=
ASN_BASIC_NULL
;
;
break
;}
case
148
:
#line 141
6
"asn1p_y.y"
#line 141
7
"asn1p_y.y"
{
yyval
.
a_type
=
ASN_BASIC_REAL
;
;
break
;}
case
149
:
#line 141
7
"asn1p_y.y"
#line 141
8
"asn1p_y.y"
{
yyval
.
a_type
=
yyvsp
[
0
].
a_type
;
;
break
;}
case
150
:
#line 141
8
"asn1p_y.y"
#line 141
9
"asn1p_y.y"
{
yyval
.
a_type
=
ASN_BASIC_OCTET_STRING
;
;
break
;}
case
151
:
#line 14
19
"asn1p_y.y"
#line 14
20
"asn1p_y.y"
{
yyval
.
a_type
=
ASN_BASIC_OBJECT_IDENTIFIER
;
;
break
;}
case
152
:
#line 142
0
"asn1p_y.y"
#line 142
1
"asn1p_y.y"
{
yyval
.
a_type
=
ASN_BASIC_RELATIVE_OID
;
;
break
;}
case
153
:
#line 142
1
"asn1p_y.y"
#line 142
2
"asn1p_y.y"
{
yyval
.
a_type
=
ASN_BASIC_EXTERNAL
;
;
break
;}
case
154
:
#line 142
2
"asn1p_y.y"
#line 142
3
"asn1p_y.y"
{
yyval
.
a_type
=
ASN_BASIC_EMBEDDED_PDV
;
;
break
;}
case
155
:
#line 142
3
"asn1p_y.y"
#line 142
4
"asn1p_y.y"
{
yyval
.
a_type
=
ASN_BASIC_CHARACTER_STRING
;
;
break
;}
case
156
:
#line 142
4
"asn1p_y.y"
#line 142
5
"asn1p_y.y"
{
yyval
.
a_type
=
ASN_BASIC_UTCTime
;
;
break
;}
case
157
:
#line 142
5
"asn1p_y.y"
#line 142
6
"asn1p_y.y"
{
yyval
.
a_type
=
ASN_BASIC_GeneralizedTime
;
;
break
;}
case
158
:
#line 142
6
"asn1p_y.y"
#line 142
7
"asn1p_y.y"
{
yyval
.
a_type
=
yyvsp
[
0
].
a_type
;
;
break
;}
case
159
:
#line 143
3
"asn1p_y.y"
#line 143
4
"asn1p_y.y"
{
yyval
.
a_type
=
ASN_BASIC_INTEGER
;
;
break
;}
case
160
:
#line 143
4
"asn1p_y.y"
#line 143
5
"asn1p_y.y"
{
yyval
.
a_type
=
ASN_BASIC_ENUMERATED
;
;
break
;}
case
161
:
#line 143
5
"asn1p_y.y"
#line 143
6
"asn1p_y.y"
{
yyval
.
a_type
=
ASN_BASIC_BIT_STRING
;
;
break
;}
case
162
:
#line 14
39
"asn1p_y.y"
#line 14
40
"asn1p_y.y"
{
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
checkmem
(
yyval
.
a_expr
);
...
...
@@ -2657,7 +2662,7 @@ case 162:
;
break
;}
case
163
:
#line 144
5
"asn1p_y.y"
#line 144
6
"asn1p_y.y"
{
if
(
yyvsp
[
0
].
a_expr
)
{
yyval
.
a_expr
=
yyvsp
[
0
].
a_expr
;
...
...
@@ -2670,91 +2675,91 @@ case 163:
;
break
;}
case
164
:
#line 145
8
"asn1p_y.y"
#line 145
9
"asn1p_y.y"
{
yyval
.
a_type
=
ASN_STRING_BMPString
;
;
break
;}
case
165
:
#line 14
59
"asn1p_y.y"
#line 14
60
"asn1p_y.y"
{
yyval
.
a_type
=
ASN_STRING_GeneralString
;
fprintf
(
stderr
,
"WARNING: GeneralString is not fully supported
\n
"
);
;
break
;}
case
166
:
#line 146
3
"asn1p_y.y"
#line 146
4
"asn1p_y.y"
{
yyval
.
a_type
=
ASN_STRING_GraphicString
;
fprintf
(
stderr
,
"WARNING: GraphicString is not fully supported
\n
"
);
;
break
;}
case
167
:
#line 146
7
"asn1p_y.y"
#line 146
8
"asn1p_y.y"
{
yyval
.
a_type
=
ASN_STRING_IA5String
;
;
break
;}
case
168
:
#line 146
8
"asn1p_y.y"
#line 146
9
"asn1p_y.y"
{
yyval
.
a_type
=
ASN_STRING_ISO646String
;
;
break
;}
case
169
:
#line 14
69
"asn1p_y.y"
#line 14
70
"asn1p_y.y"
{
yyval
.
a_type
=
ASN_STRING_NumericString
;
;
break
;}
case
170
:
#line 147
0
"asn1p_y.y"
#line 147
1
"asn1p_y.y"
{
yyval
.
a_type
=
ASN_STRING_PrintableString
;
;
break
;}
case
171
:
#line 147
1
"asn1p_y.y"
#line 147
2
"asn1p_y.y"
{
yyval
.
a_type
=
ASN_STRING_T61String
;
fprintf
(
stderr
,
"WARNING: T61String is not fully supported
\n
"
);
;
break
;}
case
172
:
#line 147
5
"asn1p_y.y"
#line 147
6
"asn1p_y.y"
{
yyval
.
a_type
=
ASN_STRING_TeletexString
;
;
break
;}
case
173
:
#line 147
6
"asn1p_y.y"
#line 147
7
"asn1p_y.y"
{
yyval
.
a_type
=
ASN_STRING_UniversalString
;
;
break
;}
case
174
:
#line 147
7
"asn1p_y.y"
#line 147
8
"asn1p_y.y"
{
yyval
.
a_type
=
ASN_STRING_UTF8String
;
;
break
;}
case
175
:
#line 147
8
"asn1p_y.y"
#line 147
9
"asn1p_y.y"
{
yyval
.
a_type
=
ASN_STRING_VideotexString
;
fprintf
(
stderr
,
"WARNING: VideotexString is not fully supported
\n
"
);
;
break
;}
case
176
:
#line 148
2
"asn1p_y.y"
#line 148
3
"asn1p_y.y"
{
yyval
.
a_type
=
ASN_STRING_VisibleString
;
;
break
;}
case
177
:
#line 148
3
"asn1p_y.y"
#line 148
4
"asn1p_y.y"
{
yyval
.
a_type
=
ASN_STRING_ObjectDescriptor
;
;
break
;}
case
183
:
#line 149
5
"asn1p_y.y"
#line 149
6
"asn1p_y.y"
{
yyval
.
a_constr
=
0
;
;
break
;}
case
184
:
#line 149
6
"asn1p_y.y"
#line 149
7
"asn1p_y.y"
{
yyval
.
a_constr
=
yyvsp
[
0
].
a_constr
;
;
break
;}
case
185
:
#line 150
2
"asn1p_y.y"
#line 150
3
"asn1p_y.y"
{
CONSTRAINT_INSERT
(
yyval
.
a_constr
,
ACT_CA_SET
,
yyvsp
[
0
].
a_constr
,
0
);
;
break
;}
case
186
:
#line 150
5
"asn1p_y.y"
#line 150
6
"asn1p_y.y"
{
/*
* This is a special case, for compatibility purposes.
...
...
@@ -2764,25 +2769,25 @@ case 186:
;
break
;}
case
187
:
#line 151
5
"asn1p_y.y"
#line 151
6
"asn1p_y.y"
{
yyval
.
a_constr
=
yyvsp
[
-
1
].
a_constr
;
;
break
;}
case
188
:
#line 151
8
"asn1p_y.y"
#line 151
9
"asn1p_y.y"
{
CONSTRAINT_INSERT
(
yyval
.
a_constr
,
ACT_CA_SET
,
yyvsp
[
-
3
].
a_constr
,
yyvsp
[
-
1
].
a_constr
);
;
break
;}
case
189
:
#line 152
4
"asn1p_y.y"
#line 152
5
"asn1p_y.y"
{
yyval
.
a_constr
=
yyvsp
[
0
].
a_constr
;
;
break
;}
case
190
:
#line 152
7
"asn1p_y.y"
#line 152
8
"asn1p_y.y"
{
asn1p_constraint_t
*
ct
;
ct
=
asn1p_constraint_new
(
yylineno
);
...
...
@@ -2791,7 +2796,7 @@ case 190:
;
break
;}
case
191
:
#line 153
3
"asn1p_y.y"
#line 153
4
"asn1p_y.y"
{
asn1p_constraint_t
*
ct
;
ct
=
asn1p_constraint_new
(
yylineno
);
...
...
@@ -2802,31 +2807,31 @@ case 191:
;
break
;}
case
192
:
#line 154
4
"asn1p_y.y"
#line 154
5
"asn1p_y.y"
{
yyval
.
a_constr
=
yyvsp
[
0
].
a_constr
;
;
break
;}
case
193
:
#line 154
7
"asn1p_y.y"
#line 154
8
"asn1p_y.y"
{
CONSTRAINT_INSERT
(
yyval
.
a_constr
,
ACT_CA_UNI
,
yyvsp
[
-
2
].
a_constr
,
yyvsp
[
0
].
a_constr
);
;
break
;}
case
194
:
#line 155
0
"asn1p_y.y"
#line 155
1
"asn1p_y.y"
{
CONSTRAINT_INSERT
(
yyval
.
a_constr
,
ACT_CA_INT
,
yyvsp
[
-
2
].
a_constr
,
yyvsp
[
0
].
a_constr
);
;
break
;}
case
195
:
#line 155
3
"asn1p_y.y"
#line 155
4
"asn1p_y.y"
{
CONSTRAINT_INSERT
(
yyval
.
a_constr
,
ACT_CA_EXC
,
yyvsp
[
-
2
].
a_constr
,
yyvsp
[
0
].
a_constr
);
;
break
;}
case
196
:
#line 15
59
"asn1p_y.y"
#line 15
60
"asn1p_y.y"
{
int
ret
;
yyval
.
a_constr
=
asn1p_constraint_new
(
yylineno
);
...
...
@@ -2837,7 +2842,7 @@ case 196:
;
break
;}
case
197
:
#line 156
7
"asn1p_y.y"
#line 156
8
"asn1p_y.y"
{
int
ret
;
yyval
.
a_constr
=
asn1p_constraint_new
(
yylineno
);
...
...
@@ -2848,7 +2853,7 @@ case 197:
;
break
;}
case
198
:
#line 157
5
"asn1p_y.y"
#line 157
6
"asn1p_y.y"
{
yyval
.
a_constr
=
asn1p_constraint_new
(
yylineno
);
checkmem
(
yyval
.
a_constr
);
...
...
@@ -2857,7 +2862,16 @@ case 198:
;
break
;}
case
199
:
#line 1581 "asn1p_y.y"
#line 1582 "asn1p_y.y"
{
yyval
.
a_constr
=
asn1p_constraint_new
(
yylineno
);
checkmem
(
yyval
.
a_constr
);
yyval
.
a_constr
->
type
=
ACT_EL_TYPE
;
yyval
.
a_constr
->
containedSubtype
=
yyvsp
[
0
].
a_value
;
;
break
;}
case
200
:
#line 1588 "asn1p_y.y"
{
yyval
.
a_constr
=
asn1p_constraint_new
(
yylineno
);
checkmem
(
yyval
.
a_constr
);
...
...
@@ -2866,8 +2880,8 @@ case 199:
yyval
.
a_constr
->
range_stop
=
yyvsp
[
0
].
a_value
;
;
break
;}
case
20
0
:
#line 15
88
"asn1p_y.y"
case
20
1
:
#line 15
95
"asn1p_y.y"
{
yyval
.
a_constr
=
asn1p_constraint_new
(
yylineno
);
checkmem
(
yyval
.
a_constr
);
...
...
@@ -2877,8 +2891,8 @@ case 200:
yyval
.
a_constr
->
range_start
->
type
=
ATV_MIN
;
;
break
;}
case
20
1
:
#line 1
596
"asn1p_y.y"
case
20
2
:
#line 1
603
"asn1p_y.y"
{
yyval
.
a_constr
=
asn1p_constraint_new
(
yylineno
);
checkmem
(
yyval
.
a_constr
);
...
...
@@ -2888,8 +2902,8 @@ case 201:
yyval
.
a_constr
->
range_stop
->
type
=
ATV_MAX
;
;
break
;}
case
20
2
:
#line 16
04
"asn1p_y.y"
case
20
3
:
#line 16
11
"asn1p_y.y"
{
yyval
.
a_constr
=
asn1p_constraint_new
(
yylineno
);
checkmem
(
yyval
.
a_constr
);
...
...
@@ -2900,77 +2914,77 @@ case 202:
yyval
.
a_constr
->
range_stop
->
type
=
ATV_MAX
;
;
break
;}
case
20
3
:
#line 16
13
"asn1p_y.y"
case
20
4
:
#line 16
20
"asn1p_y.y"
{
yyval
.
a_constr
=
yyvsp
[
0
].
a_constr
;
;
break
;}
case
20
4
:
#line 16
16
"asn1p_y.y"
case
20
5
:
#line 16
23
"asn1p_y.y"
{
yyval
.
a_constr
=
yyvsp
[
0
].
a_constr
;
;
break
;}
case
20
5
:
#line 162
2
"asn1p_y.y"
case
20
6
:
#line 162
9
"asn1p_y.y"
{
yyval
.
a_ctype
=
ACT_EL_RANGE
;
;
break
;}
case
20
6
:
#line 16
23
"asn1p_y.y"
case
20
7
:
#line 16
30
"asn1p_y.y"
{
yyval
.
a_ctype
=
ACT_EL_RLRANGE
;
;
break
;}
case
20
7
:
#line 16
24
"asn1p_y.y"
case
20
8
:
#line 16
31
"asn1p_y.y"
{
yyval
.
a_ctype
=
ACT_EL_LLRANGE
;
;
break
;}
case
20
8
:
#line 16
25
"asn1p_y.y"
case
20
9
:
#line 16
32
"asn1p_y.y"
{
yyval
.
a_ctype
=
ACT_EL_ULRANGE
;
;
break
;}
case
2
09
:
#line 16
29
"asn1p_y.y"
case
2
10
:
#line 16
36
"asn1p_y.y"
{
yyval
.
a_ctype
=
ACT_CT_SIZE
;
;
break
;}
case
21
0
:
#line 163
2
"asn1p_y.y"
case
21
1
:
#line 163
9
"asn1p_y.y"
{
yyval
.
a_ctype
=
ACT_CT_FROM
;
;
break
;}
case
21
1
:
#line 16
38
"asn1p_y.y"
case
21
2
:
#line 16
45
"asn1p_y.y"
{
yyval
.
a_value
=
asn1p_value_fromint
(
0
);
checkmem
(
yyval
.
a_value
);
yyval
.
a_value
->
type
=
ATV_FALSE
;
;
break
;}
case
21
2
:
#line 16
43
"asn1p_y.y"
case
21
3
:
#line 16
50
"asn1p_y.y"
{
yyval
.
a_value
=
asn1p_value_fromint
(
1
);
checkmem
(
yyval
.
a_value
);
yyval
.
a_value
->
type
=
ATV_TRUE
;
;
break
;}
case
21
3
:
#line 16
48
"asn1p_y.y"
case
21
4
:
#line 16
55
"asn1p_y.y"
{
yyval
.
a_value
=
yyvsp
[
0
].
a_value
;
;
break
;}
case
21
4
:
#line 165
1
"asn1p_y.y"
case
21
5
:
#line 165
8
"asn1p_y.y"
{
yyval
.
a_value
=
asn1p_value_frombuf
(
yyvsp
[
0
].
tv_opaque
.
buf
,
yyvsp
[
0
].
tv_opaque
.
len
,
0
);
checkmem
(
yyval
.
a_value
);
;
break
;}
case
21
5
:
#line 16
55
"asn1p_y.y"
case
21
6
:
#line 16
62
"asn1p_y.y"
{
asn1p_ref_t
*
ref
;
int
ret
;
...
...
@@ -2983,8 +2997,8 @@ case 215:
free
(
yyvsp
[
0
].
tv_str
);
;
break
;}
case
21
6
:
#line 16
6
6 "asn1p_y.y"
case
21
7
:
#line 16
7
6 "asn1p_y.y"
{
asn1p_ref_t
*
ref
;
int
ret
;
...
...
@@ -2997,34 +3011,34 @@ case 216:
free
(
yyvsp
[
0
].
tv_str
);
;
break
;}
case
21
7
:
#line 16
8
0 "asn1p_y.y"
case
21
8
:
#line 16
9
0 "asn1p_y.y"
{
CONSTRAINT_INSERT
(
yyval
.
a_constr
,
ACT_CT_WCOMPS
,
yyvsp
[
-
1
].
a_constr
,
0
);
;
break
;}
case
21
8
:
#line 16
8
6 "asn1p_y.y"
case
21
9
:
#line 16
9
6 "asn1p_y.y"
{
yyval
.
a_constr
=
yyvsp
[
0
].
a_constr
;
;
break
;}
case
2
19
:
#line 16
8
9 "asn1p_y.y"
case
2
20
:
#line 16
9
9 "asn1p_y.y"
{
CONSTRAINT_INSERT
(
yyval
.
a_constr
,
ACT_CT_WCOMPS
,
yyvsp
[
-
2
].
a_constr
,
yyvsp
[
0
].
a_constr
);
;
break
;}
case
22
0
:
#line 1
69
5 "asn1p_y.y"
case
22
1
:
#line 1
70
5 "asn1p_y.y"
{
yyval
.
a_constr
=
asn1p_constraint_new
(
yylineno
);
checkmem
(
yyval
.
a_constr
);
yyval
.
a_constr
->
type
=
ACT_EL_EXT
;
;
break
;}
case
22
1
:
#line 17
0
0 "asn1p_y.y"
case
22
2
:
#line 17
1
0 "asn1p_y.y"
{
yyval
.
a_constr
=
asn1p_constraint_new
(
yylineno
);
checkmem
(
yyval
.
a_constr
);
...
...
@@ -3033,46 +3047,46 @@ case 221:
yyval
.
a_constr
->
presence
=
yyvsp
[
0
].
a_pres
;
;
break
;}
case
22
2
:
#line 17
1
3 "asn1p_y.y"
case
22
3
:
#line 17
2
3 "asn1p_y.y"
{
yyval
.
a_pres
=
ACPRES_DEFAULT
;
;
break
;}
case
22
3
:
#line 17
1
4 "asn1p_y.y"
case
22
4
:
#line 17
2
4 "asn1p_y.y"
{
yyval
.
a_pres
=
yyvsp
[
0
].
a_pres
;
;
break
;}
case
22
4
:
#line 17
1
8 "asn1p_y.y"
case
22
5
:
#line 17
2
8 "asn1p_y.y"
{
yyval
.
a_pres
=
ACPRES_PRESENT
;
;
break
;}
case
22
5
:
#line 17
2
1 "asn1p_y.y"
case
22
6
:
#line 17
3
1 "asn1p_y.y"
{
yyval
.
a_pres
=
ACPRES_ABSENT
;
;
break
;}
case
22
6
:
#line 17
2
4 "asn1p_y.y"
case
22
7
:
#line 17
3
4 "asn1p_y.y"
{
yyval
.
a_pres
=
ACPRES_OPTIONAL
;
;
break
;}
case
22
7
:
#line 17
3
0 "asn1p_y.y"
case
22
8
:
#line 17
4
0 "asn1p_y.y"
{
yyval
.
a_constr
=
yyvsp
[
0
].
a_constr
;
;
break
;}
case
22
8
:
#line 17
3
3 "asn1p_y.y"
case
22
9
:
#line 17
4
3 "asn1p_y.y"
{
yyval
.
a_constr
=
yyvsp
[
0
].
a_constr
;
;
break
;}
case
2
29
:
#line 17
4
2 "asn1p_y.y"
case
2
30
:
#line 17
5
2 "asn1p_y.y"
{
asn1p_ref_t
*
ref
=
asn1p_ref_new
(
yylineno
);
asn1p_constraint_t
*
ct
;
...
...
@@ -3086,14 +3100,14 @@ case 229:
CONSTRAINT_INSERT
(
yyval
.
a_constr
,
ACT_CA_CRC
,
ct
,
0
);
;
break
;}
case
23
0
:
#line 17
5
7 "asn1p_y.y"
case
23
1
:
#line 17
6
7 "asn1p_y.y"
{
CONSTRAINT_INSERT
(
yyval
.
a_constr
,
ACT_CA_CRC
,
yyvsp
[
-
3
].
a_constr
,
yyvsp
[
-
1
].
a_constr
);
;
break
;}
case
23
1
:
#line 17
6
3 "asn1p_y.y"
case
23
2
:
#line 17
7
3 "asn1p_y.y"
{
yyval
.
a_constr
=
asn1p_constraint_new
(
yylineno
);
checkmem
(
yyval
.
a_constr
);
...
...
@@ -3101,8 +3115,8 @@ case 231:
yyval
.
a_constr
->
value
=
asn1p_value_fromref
(
yyvsp
[
0
].
a_ref
,
0
);
;
break
;}
case
23
2
:
#line 17
6
9 "asn1p_y.y"
case
23
3
:
#line 17
7
9 "asn1p_y.y"
{
asn1p_constraint_t
*
ct
;
ct
=
asn1p_constraint_new
(
yylineno
);
...
...
@@ -3112,8 +3126,8 @@ case 232:
CONSTRAINT_INSERT
(
yyval
.
a_constr
,
ACT_CA_CSV
,
yyvsp
[
-
2
].
a_constr
,
ct
);
;
break
;}
case
23
3
:
#line 17
8
3 "asn1p_y.y"
case
23
4
:
#line 17
9
3 "asn1p_y.y"
{
char
*
p
=
malloc
(
strlen
(
yyvsp
[
0
].
tv_str
)
+
2
);
int
ret
;
...
...
@@ -3126,8 +3140,8 @@ case 233:
free
(
yyvsp
[
0
].
tv_str
);
;
break
;}
case
23
4
:
#line 1
79
4 "asn1p_y.y"
case
23
5
:
#line 1
80
4 "asn1p_y.y"
{
char
*
p
=
malloc
(
strlen
(
yyvsp
[
0
].
tv_str
)
+
3
);
int
ret
;
...
...
@@ -3141,14 +3155,14 @@ case 234:
free
(
yyvsp
[
0
].
tv_str
);
;
break
;}
case
23
5
:
#line 18
1
0 "asn1p_y.y"
case
23
6
:
#line 18
2
0 "asn1p_y.y"
{
yyval
.
tv_str
=
yyvsp
[
0
].
tv_str
;
;
break
;}
case
23
6
:
#line 18
1
3 "asn1p_y.y"
case
23
7
:
#line 18
2
3 "asn1p_y.y"
{
int
l1
=
strlen
(
yyvsp
[
-
2
].
tv_str
);
int
l3
=
strlen
(
yyvsp
[
0
].
tv_str
);
...
...
@@ -3159,61 +3173,61 @@ case 236:
yyval
.
tv_str
[
l1
+
1
+
l3
]
=
'\0'
;
;
break
;}
case
23
7
:
#line 18
3
1 "asn1p_y.y"
case
23
8
:
#line 18
4
1 "asn1p_y.y"
{
yyval
.
a_marker
.
flags
=
EM_NOMARK
;
yyval
.
a_marker
.
default_value
=
0
;
;
break
;}
case
23
8
:
#line 18
3
5 "asn1p_y.y"
case
23
9
:
#line 18
4
5 "asn1p_y.y"
{
yyval
.
a_marker
=
yyvsp
[
0
].
a_marker
;
;
break
;}
case
2
39
:
#line 18
3
9 "asn1p_y.y"
case
2
40
:
#line 18
4
9 "asn1p_y.y"
{
yyval
.
a_marker
.
flags
=
EM_OPTIONAL
;
yyval
.
a_marker
.
default_value
=
0
;
;
break
;}
case
24
0
:
#line 18
4
3 "asn1p_y.y"
case
24
1
:
#line 18
5
3 "asn1p_y.y"
{
yyval
.
a_marker
.
flags
=
EM_DEFAULT
;
yyval
.
a_marker
.
default_value
=
yyvsp
[
0
].
a_value
;
;
break
;}
case
24
1
:
#line 18
6
6 "asn1p_y.y"
case
24
2
:
#line 18
7
6 "asn1p_y.y"
{
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
checkmem
(
yyval
.
a_expr
);
;
break
;}
case
24
2
:
#line 18
7
0 "asn1p_y.y"
case
24
3
:
#line 18
8
0 "asn1p_y.y"
{
yyval
.
a_expr
=
yyvsp
[
-
1
].
a_expr
;
;
break
;}
case
24
3
:
#line 18
7
6 "asn1p_y.y"
case
24
4
:
#line 18
8
6 "asn1p_y.y"
{
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
checkmem
(
yyval
.
a_expr
);
asn1p_expr_add
(
yyval
.
a_expr
,
yyvsp
[
0
].
a_expr
);
;
break
;}
case
24
4
:
#line 18
8
1 "asn1p_y.y"
case
24
5
:
#line 18
9
1 "asn1p_y.y"
{
yyval
.
a_expr
=
yyvsp
[
-
2
].
a_expr
;
asn1p_expr_add
(
yyval
.
a_expr
,
yyvsp
[
0
].
a_expr
);
;
break
;}
case
24
5
:
#line 18
8
8 "asn1p_y.y"
case
24
6
:
#line 18
9
8 "asn1p_y.y"
{
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
checkmem
(
yyval
.
a_expr
);
...
...
@@ -3222,8 +3236,8 @@ case 245:
yyval
.
a_expr
->
Identifier
=
yyvsp
[
0
].
tv_str
;
;
break
;}
case
24
6
:
#line 1
89
5 "asn1p_y.y"
case
24
7
:
#line 1
90
5 "asn1p_y.y"
{
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
checkmem
(
yyval
.
a_expr
);
...
...
@@ -3233,8 +3247,8 @@ case 246:
yyval
.
a_expr
->
value
=
yyvsp
[
-
1
].
a_value
;
;
break
;}
case
24
7
:
#line 19
0
3 "asn1p_y.y"
case
24
8
:
#line 19
1
3 "asn1p_y.y"
{
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
checkmem
(
yyval
.
a_expr
);
...
...
@@ -3244,8 +3258,8 @@ case 247:
yyval
.
a_expr
->
value
=
yyvsp
[
-
1
].
a_value
;
;
break
;}
case
24
8
:
#line 19
1
1 "asn1p_y.y"
case
24
9
:
#line 19
2
1 "asn1p_y.y"
{
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
checkmem
(
yyval
.
a_expr
);
...
...
@@ -3254,8 +3268,8 @@ case 248:
yyval
.
a_expr
->
value
=
yyvsp
[
0
].
a_value
;
;
break
;}
case
2
49
:
#line 19
1
8 "asn1p_y.y"
case
2
50
:
#line 19
2
8 "asn1p_y.y"
{
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
checkmem
(
yyval
.
a_expr
);
...
...
@@ -3265,103 +3279,103 @@ case 249:
yyval
.
a_expr
->
meta_type
=
AMT_VALUE
;
;
break
;}
case
25
0
:
#line 19
2
9 "asn1p_y.y"
case
25
1
:
#line 19
3
9 "asn1p_y.y"
{
yyval
.
a_value
=
asn1p_value_fromint
(
yyvsp
[
0
].
a_int
);
checkmem
(
yyval
.
a_value
);
;
break
;}
case
25
1
:
#line 19
3
3 "asn1p_y.y"
case
25
2
:
#line 19
4
3 "asn1p_y.y"
{
yyval
.
a_value
=
asn1p_value_fromint
(
yyvsp
[
0
].
a_int
);
checkmem
(
yyval
.
a_value
);
;
break
;}
case
25
2
:
#line 19
6
4 "asn1p_y.y"
case
25
3
:
#line 19
7
4 "asn1p_y.y"
{
memset
(
&
yyval
.
a_tag
,
0
,
sizeof
(
yyval
.
a_tag
));
;
break
;}
case
25
3
:
#line 19
6
5 "asn1p_y.y"
case
25
4
:
#line 19
7
5 "asn1p_y.y"
{
yyval
.
a_tag
=
yyvsp
[
0
].
a_tag
;
;
break
;}
case
25
4
:
#line 19
6
9 "asn1p_y.y"
case
25
5
:
#line 19
7
9 "asn1p_y.y"
{
yyval
.
a_tag
=
yyvsp
[
-
1
].
a_tag
;
yyval
.
a_tag
.
tag_mode
=
yyvsp
[
0
].
a_tag
.
tag_mode
;
;
break
;}
case
25
5
:
#line 19
7
6 "asn1p_y.y"
case
25
6
:
#line 19
8
6 "asn1p_y.y"
{
yyval
.
a_tag
=
yyvsp
[
-
2
].
a_tag
;
yyval
.
a_tag
.
tag_value
=
yyvsp
[
-
1
].
a_int
;
;
break
;}
case
25
6
:
#line 19
8
2 "asn1p_y.y"
case
25
7
:
#line 19
9
2 "asn1p_y.y"
{
yyval
.
a_tag
.
tag_class
=
TC_CONTEXT_SPECIFIC
;
;
break
;}
case
25
7
:
#line 19
8
3 "asn1p_y.y"
case
25
8
:
#line 19
9
3 "asn1p_y.y"
{
yyval
.
a_tag
.
tag_class
=
TC_UNIVERSAL
;
;
break
;}
case
25
8
:
#line 19
8
4 "asn1p_y.y"
case
25
9
:
#line 19
9
4 "asn1p_y.y"
{
yyval
.
a_tag
.
tag_class
=
TC_APPLICATION
;
;
break
;}
case
2
59
:
#line 19
8
5 "asn1p_y.y"
case
2
60
:
#line 19
9
5 "asn1p_y.y"
{
yyval
.
a_tag
.
tag_class
=
TC_PRIVATE
;
;
break
;}
case
26
0
:
#line 19
8
9 "asn1p_y.y"
case
26
1
:
#line 19
9
9 "asn1p_y.y"
{
yyval
.
a_tag
.
tag_mode
=
TM_DEFAULT
;
;
break
;}
case
26
1
:
#line
199
0 "asn1p_y.y"
case
26
2
:
#line
200
0 "asn1p_y.y"
{
yyval
.
a_tag
.
tag_mode
=
TM_IMPLICIT
;
;
break
;}
case
26
2
:
#line
199
1 "asn1p_y.y"
case
26
3
:
#line
200
1 "asn1p_y.y"
{
yyval
.
a_tag
.
tag_mode
=
TM_EXPLICIT
;
;
break
;}
case
26
3
:
#line
199
5 "asn1p_y.y"
case
26
4
:
#line
200
5 "asn1p_y.y"
{
checkmem
(
yyvsp
[
0
].
tv_str
);
yyval
.
tv_str
=
yyvsp
[
0
].
tv_str
;
;
break
;}
case
26
4
:
#line
199
9 "asn1p_y.y"
case
26
5
:
#line
200
9 "asn1p_y.y"
{
checkmem
(
yyvsp
[
0
].
tv_str
);
yyval
.
tv_str
=
yyvsp
[
0
].
tv_str
;
;
break
;}
case
26
5
:
#line 20
0
7 "asn1p_y.y"
case
26
6
:
#line 20
1
7 "asn1p_y.y"
{
checkmem
(
yyvsp
[
0
].
tv_str
);
yyval
.
tv_str
=
yyvsp
[
0
].
tv_str
;
;
break
;}
case
26
6
:
#line 20
1
4 "asn1p_y.y"
case
26
7
:
#line 20
2
4 "asn1p_y.y"
{
yyval
.
tv_str
=
0
;
;
break
;}
case
26
7
:
#line 20
1
5 "asn1p_y.y"
case
26
8
:
#line 20
2
5 "asn1p_y.y"
{
yyval
.
tv_str
=
yyvsp
[
0
].
tv_str
;
;
break
;}
case
26
8
:
#line 20
2
0 "asn1p_y.y"
case
26
9
:
#line 20
3
0 "asn1p_y.y"
{
checkmem
(
yyvsp
[
0
].
tv_str
);
yyval
.
tv_str
=
yyvsp
[
0
].
tv_str
;
...
...
@@ -3589,7 +3603,7 @@ yyerrhandle:
}
return
1
;
}
#line 20
2
6 "asn1p_y.y"
#line 20
3
6 "asn1p_y.y"
...
...
libasn1parser/asn1p_y.y
View file @
ff7dd147
...
...
@@ -282,7 +282,8 @@ static asn1p_value_t *
%type <a_constr> ComponentRelationConstraint
%type <a_constr> AtNotationList
%type <a_ref> AtNotationElement
%type <a_value> ConstraintValue
%type <a_value> SingleValue
%type <a_value> ContainedSubtype
%type <a_ctype> ConstraintSpec
%type <a_ctype> ConstraintRangeSpec
%type <a_wsynt> optWithSyntax
...
...
@@ -1572,20 +1573,26 @@ ConstraintSubtypeElement:
ret = asn1p_constraint_insert($$, $2);
checkmem(ret == 0);
}
|
Constraint
Value {
|
Single
Value {
$$ = asn1p_constraint_new(yylineno);
checkmem($$);
$$->type = ACT_EL_VALUE;
$$->value = $1;
}
| ConstraintValue ConstraintRangeSpec ConstraintValue {
| ContainedSubtype {
$$ = asn1p_constraint_new(yylineno);
checkmem($$);
$$->type = ACT_EL_TYPE;
$$->containedSubtype = $1;
}
| SingleValue ConstraintRangeSpec SingleValue {
$$ = asn1p_constraint_new(yylineno);
checkmem($$);
$$->type = $2;
$$->range_start = $1;
$$->range_stop = $3;
}
| TOK_MIN ConstraintRangeSpec
Constraint
Value {
| TOK_MIN ConstraintRangeSpec
Single
Value {
$$ = asn1p_constraint_new(yylineno);
checkmem($$);
$$->type = $2;
...
...
@@ -1593,7 +1600,7 @@ ConstraintSubtypeElement:
$$->range_stop = $3;
$$->range_start->type = ATV_MIN;
}
|
Constraint
Value ConstraintRangeSpec TOK_MAX {
|
Single
Value ConstraintRangeSpec TOK_MAX {
$$ = asn1p_constraint_new(yylineno);
checkmem($$);
$$->type = $2;
...
...
@@ -1634,7 +1641,7 @@ ConstraintSpec:
}
;
Constraint
Value:
Single
Value:
TOK_FALSE {
$$ = asn1p_value_fromint(0);
checkmem($$);
...
...
@@ -1663,7 +1670,10 @@ ConstraintValue:
checkmem($$);
free($1);
}
| TypeRefName {
;
ContainedSubtype:
TypeRefName {
asn1p_ref_t *ref;
int ret;
ref = asn1p_ref_new(yylineno);
...
...
libasn1print/asn1print.c
View file @
ff7dd147
...
...
@@ -284,6 +284,9 @@ asn1print_constraint(asn1p_constraint_t *ct, enum asn1print_flags flags) {
printf
(
"("
);
switch
(
ct
->
type
)
{
case
ACT_EL_TYPE
:
asn1print_value
(
ct
->
value
,
flags
);
break
;
case
ACT_EL_VALUE
:
asn1print_value
(
ct
->
value
,
flags
);
break
;
...
...
tests/16-constraint-OK.asn1
View file @
ff7dd147
...
...
@@ -12,11 +12,15 @@ ModuleTestConstraint
BEGIN
-- external reference
Type1 ::= IA5String (SIZE(1..10,...))(FROM("a".."z"|"#"))
Type0 ::= IA5String (Type6)
Type1 ::= IA5String (SIZE(1..ten,...))(FROM("a".."z"|"#",...))
Type2 ::= IA5String (SIZE (MIN..4)|FROM ("abc"))
Type3 ::= BMPString (SIZE(1))
Type4 ::= INTEGER (1..MAX)
Type5 ::= BOOLEAN (TRUE|FALSE)
Type6 ::= IA5String (Type1)
ten INTEGER ::= 10
v1 Type1 ::= "#value wi
th ""double quotes"""
...
...
tests/16-constraint-OK.asn1.-EF
View file @
ff7dd147
...
...
@@ -3,7 +3,9 @@ ModuleTestConstraint { iso org(3) dod(6) internet(1) private(4) enterprise(1)
DEFINITIONS ::=
BEGIN
Type1 ::= IA5String (SIZE(1..10,...))(FROM("a".."z" | "#"))
Type0 ::= IA5String (((SIZE(1..10))(FROM("a".."z" | "#"))))
Type1 ::= IA5String (SIZE(1..10,...))(FROM("a".."z" | "#",...))
Type2 ::= IA5String (SIZE(MIN..4) | FROM("abc"))
...
...
@@ -13,6 +15,10 @@ Type4 ::= INTEGER (1..MAX)
Type5 ::= BOOLEAN (TRUE | FALSE)
Type6 ::= IA5String ((SIZE(1..10))(FROM("a".."z" | "#")))
ten INTEGER ::= 10
v1 Type1 ::= "#value with ""double quotes"""
END
tests/16-constraint-OK.asn1.-EFprint-constraints
0 → 100644
View file @
ff7dd147
File added
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment