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
e596bf05
Commit
e596bf05
authored
Mar 28, 2005
by
Lev Walkin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
WITH COMPONENT[S] pretty-printing
parent
8638f0d6
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
404 additions
and
363 deletions
+404
-363
ChangeLog
ChangeLog
+2
-1
libasn1parser/asn1p_y.c
libasn1parser/asn1p_y.c
+364
-355
libasn1parser/asn1p_y.y
libasn1parser/asn1p_y.y
+9
-4
libasn1print/asn1print.c
libasn1print/asn1print.c
+29
-3
No files found.
ChangeLog
View file @
e596bf05
0.9.13: 2005-Mar-2
4
0.9.13: 2005-Mar-2
8
* Added extra const qualifiers into the support code.
* More RFC variations supported in crfc2asn1.pl.
...
...
@@ -8,6 +8,7 @@
* Parsing support for CONSTRAINED BY. (Test case 79).
* Support for CharsDefn (Quadruple and Tuple, most used in
ASN1-CHARACTER-MODULE) (Test case 80).
* Pretty-printing support for WITH COMPONENT[S]. (Test case 82).
0.9.12: 2005-Mar-10
...
...
libasn1parser/asn1p_y.c
View file @
e596bf05
...
...
@@ -206,7 +206,7 @@ typedef union {
#define YYFINAL 4
29
#define YYFINAL 4
31
#define YYFLAG -32768
#define YYNTBASE 118
...
...
@@ -275,12 +275,12 @@ static const short yyprhs[] = { 0,
534
,
539
,
541
,
545
,
551
,
553
,
557
,
561
,
565
,
569
,
574
,
578
,
580
,
582
,
586
,
590
,
594
,
598
,
600
,
602
,
603
,
609
,
611
,
614
,
617
,
621
,
623
,
625
,
627
,
629
,
631
,
633
,
635
,
637
,
64
3
,
645
,
649
,
651
,
655
,
656
,
6
58
,
660
,
662
,
664
,
666
,
668
,
672
,
677
,
679
,
683
,
68
6
,
690
,
692
,
696
,
697
,
699
,
701
,
704
,
707
,
711
,
71
3
,
717
,
719
,
724
,
729
,
731
,
733
,
735
,
737
,
738
,
74
0
,
743
,
748
,
749
,
751
,
753
,
755
,
756
,
758
,
760
,
76
2
,
764
,
766
,
767
,
769
631
,
633
,
635
,
637
,
64
1
,
647
,
649
,
653
,
655
,
659
,
6
60
,
662
,
664
,
666
,
668
,
670
,
672
,
676
,
681
,
683
,
68
7
,
690
,
694
,
696
,
700
,
701
,
703
,
705
,
708
,
711
,
71
5
,
717
,
721
,
723
,
728
,
733
,
735
,
737
,
739
,
741
,
74
2
,
744
,
747
,
752
,
753
,
755
,
757
,
759
,
760
,
762
,
76
4
,
766
,
768
,
770
,
771
,
773
};
static
const
short
yyrhs
[]
=
{
119
,
...
...
@@ -347,20 +347,21 @@ static const short yyrhs[] = { 119,
0
,
0
,
33
,
27
,
105
,
191
,
177
,
0
,
103
,
0
,
103
,
114
,
0
,
114
,
103
,
0
,
114
,
103
,
114
,
0
,
82
,
0
,
48
,
0
,
47
,
0
,
88
,
0
,
212
,
0
,
176
,
0
,
221
,
0
,
218
,
0
,
97
,
32
,
105
,
197
,
106
,
0
,
198
,
0
,
197
,
110
,
198
,
0
,
104
,
0
,
221
,
185
,
199
,
0
,
0
,
200
,
0
,
75
,
0
,
17
,
0
,
71
,
0
,
202
,
0
,
203
,
0
,
105
,
218
,
106
,
0
,
202
,
105
,
204
,
106
,
0
,
205
,
0
,
204
,
110
,
205
,
0
,
115
,
206
,
0
,
115
,
113
,
206
,
0
,
221
,
0
,
206
,
113
,
221
,
0
,
0
,
208
,
0
,
71
,
0
,
35
,
173
,
0
,
105
,
106
,
0
,
105
,
210
,
106
,
0
,
211
,
0
,
210
,
110
,
211
,
0
,
221
,
0
,
221
,
107
,
212
,
108
,
0
,
221
,
107
,
175
,
108
,
0
,
212
,
0
,
104
,
0
,
9
,
0
,
12
,
0
,
0
,
214
,
0
,
215
,
217
,
0
,
116
,
216
,
9
,
117
,
0
,
0
,
91
,
0
,
21
,
0
,
77
,
0
,
0
,
54
,
0
,
43
,
0
,
13
,
0
,
14
,
0
,
14
,
0
,
0
,
221
,
0
,
8
,
0
176
,
0
,
221
,
0
,
218
,
0
,
97
,
31
,
187
,
0
,
97
,
32
,
105
,
197
,
106
,
0
,
198
,
0
,
197
,
110
,
198
,
0
,
104
,
0
,
221
,
185
,
199
,
0
,
0
,
200
,
0
,
75
,
0
,
17
,
0
,
71
,
0
,
202
,
0
,
203
,
0
,
105
,
218
,
106
,
0
,
202
,
105
,
204
,
106
,
0
,
205
,
0
,
204
,
110
,
205
,
0
,
115
,
206
,
0
,
115
,
113
,
206
,
0
,
221
,
0
,
206
,
113
,
221
,
0
,
0
,
208
,
0
,
71
,
0
,
35
,
173
,
0
,
105
,
106
,
0
,
105
,
210
,
106
,
0
,
211
,
0
,
210
,
110
,
211
,
0
,
221
,
0
,
221
,
107
,
212
,
108
,
0
,
221
,
107
,
175
,
108
,
0
,
212
,
0
,
104
,
0
,
9
,
0
,
12
,
0
,
0
,
214
,
0
,
215
,
217
,
0
,
116
,
216
,
9
,
117
,
0
,
0
,
91
,
0
,
21
,
0
,
77
,
0
,
0
,
54
,
0
,
43
,
0
,
13
,
0
,
14
,
0
,
14
,
0
,
0
,
221
,
0
,
8
,
0
};
#endif
...
...
@@ -389,12 +390,12 @@ static const short yyrline[] = { 0,
1564
,
1569
,
1573
,
1579
,
1589
,
1593
,
1596
,
1599
,
1602
,
1607
,
1616
,
1624
,
1630
,
1636
,
1643
,
1651
,
1659
,
1668
,
1671
,
1674
,
1675
,
1685
,
1687
,
1688
,
1689
,
1692
,
1696
,
1701
,
1707
,
1712
,
1715
,
1718
,
1731
,
1745
,
17
51
,
1755
,
1760
,
1766
,
1778
,
1780
,
178
3
,
1787
,
1790
,
1795
,
1799
,
1807
,
1822
,
1828
,
1835
,
1848
,
18
60
,
1875
,
1879
,
1896
,
1901
,
1904
,
1909
,
1931
,
1936
,
1941
,
194
7
,
1953
,
1961
,
1969
,
1977
,
1984
,
1994
,
1999
,
2029
,
2031
,
203
4
,
2041
,
2047
,
2049
,
2050
,
2051
,
2054
,
2056
,
2057
,
2060
,
2065
,
207
2
,
2079
,
2081
,
2085
1715
,
1718
,
1731
,
1745
,
17
49
,
1754
,
1758
,
1763
,
1770
,
1783
,
178
5
,
1788
,
1792
,
1795
,
1800
,
1804
,
1812
,
1827
,
1833
,
1840
,
18
53
,
1865
,
1880
,
1884
,
1901
,
1906
,
1909
,
1914
,
1936
,
1941
,
194
6
,
1952
,
1958
,
1966
,
1974
,
1982
,
1989
,
1999
,
2004
,
2034
,
203
6
,
2039
,
2046
,
2052
,
2054
,
2055
,
2056
,
2059
,
2061
,
2062
,
2065
,
207
0
,
2077
,
2084
,
2086
,
2090
};
#endif
...
...
@@ -438,12 +439,12 @@ static const char * const yytname[] = { "$","error","$undefined.","TOK_PPEQ",
"BasicTypeId_UniverationCompatible"
,
"BasicType"
,
"BasicString"
,
"Union"
,
"Intersection"
,
"Except"
,
"optConstraints"
,
"Constraints"
,
"SetOfConstraints"
,
"ElementSetSpecs"
,
"ElementSetSpec"
,
"ConstraintSubtypeElement"
,
"@4"
,
"ConstraintRangeSpec"
,
"ConstraintSpec"
,
"SingleValue"
,
"ContainedSubtype"
,
"
WithComponents"
,
"WithComponentsList"
,
"WithComponentsElemen
t"
,
"
optPresenceConstraint"
,
"PresenceConstraint"
,
"TableConstraint"
,
"Simple
TableConstraint"
,
"
ComponentRelationConstraint"
,
"AtNotationList"
,
"AtNotationElement"
,
"ComponentIdLis
t"
,
"
optMarker"
,
"Marker"
,
"UniverationDefinition"
,
"UniverationList"
,
"UniverationElemen
t"
,
"
SignedNumber"
,
"optTag"
,
"Tag"
,
"TagTypeValue"
,
"TagClass"
,
"TagPlicit"
,
"TypeRefName
"
,
"ObjectClassReference"
,
"optIdentifier"
,
"Identifier"
,
NULL
"SingleValue"
,
"ContainedSubtype"
,
"
InnerTypeConstraint"
,
"WithComponentsLis
t"
,
"
WithComponentsElement"
,
"optPresenceConstraint"
,
"PresenceConstraint"
,
"
TableConstraint"
,
"
SimpleTableConstraint"
,
"ComponentRelationConstraint"
,
"AtNotationList"
,
"AtNotationElemen
t"
,
"
ComponentIdList"
,
"optMarker"
,
"Marker"
,
"UniverationDefinition"
,
"UniverationLis
t"
,
"
UniverationElement"
,
"SignedNumber"
,
"optTag"
,
"Tag"
,
"TagTypeValue"
,
"TagClass
"
,
"
TagPlicit"
,
"TypeRefName"
,
"
ObjectClassReference"
,
"optIdentifier"
,
"Identifier"
,
NULL
};
#endif
...
...
@@ -470,12 +471,12 @@ static const short yyr1[] = { 0,
187
,
188
,
188
,
188
,
189
,
189
,
189
,
189
,
189
,
190
,
190
,
190
,
190
,
190
,
190
,
190
,
190
,
190
,
190
,
191
,
190
,
192
,
192
,
192
,
192
,
193
,
193
,
194
,
194
,
194
,
194
,
194
,
195
,
196
,
19
7
,
197
,
198
,
198
,
199
,
199
,
200
,
200
,
200
,
201
,
201
,
202
,
203
,
204
,
204
,
205
,
205
,
20
6
,
206
,
207
,
207
,
208
,
208
,
209
,
209
,
210
,
210
,
21
1
,
211
,
211
,
211
,
211
,
212
,
212
,
213
,
213
,
21
4
,
215
,
216
,
216
,
216
,
216
,
217
,
217
,
217
,
218
,
218
,
219
,
220
,
220
,
221
194
,
194
,
195
,
196
,
19
6
,
197
,
197
,
198
,
198
,
199
,
199
,
200
,
200
,
200
,
201
,
201
,
202
,
203
,
204
,
204
,
205
,
20
5
,
206
,
206
,
207
,
207
,
208
,
208
,
209
,
209
,
210
,
21
0
,
211
,
211
,
211
,
211
,
211
,
212
,
212
,
213
,
21
3
,
214
,
215
,
216
,
216
,
216
,
216
,
217
,
217
,
217
,
218
,
21
8
,
21
9
,
220
,
220
,
221
};
static
const
short
yyr2
[]
=
{
0
,
...
...
@@ -501,16 +502,16 @@ static const short yyr2[] = { 0,
4
,
1
,
3
,
5
,
1
,
3
,
3
,
3
,
3
,
4
,
3
,
1
,
1
,
3
,
3
,
3
,
3
,
1
,
1
,
0
,
5
,
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
1
,
1
,
1
,
3
,
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
,
27
0
,
271
,
1
,
2
,
5
,
3
,
0
,
0
,
6
,
275
,
27
1
,
272
,
1
,
2
,
5
,
3
,
0
,
0
,
6
,
276
,
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
,
167
,
0
,
0
,
...
...
@@ -518,180 +519,181 @@ static const short yydefact[] = { 0,
176
,
177
,
178
,
179
,
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
,
2
59
,
118
,
272
,
0
,
149
,
0
,
0
,
163
,
156
,
26
,
2
60
,
118
,
273
,
0
,
149
,
0
,
0
,
163
,
156
,
160
,
162
,
150
,
0
,
0
,
151
,
155
,
159
,
0
,
0
,
54
,
55
,
152
,
161
,
122
,
0
,
33
,
46
,
45
,
0
,
0
,
35
,
38
,
0
,
0
,
0
,
0
,
26
3
,
64
,
63
,
0
,
26
0
,
267
,
0
,
164
,
158
,
157
,
154
,
153
,
0
,
0
,
35
,
38
,
0
,
0
,
0
,
0
,
26
4
,
64
,
63
,
0
,
26
1
,
268
,
0
,
164
,
158
,
157
,
154
,
153
,
0
,
66
,
0
,
68
,
0
,
0
,
0
,
49
,
51
,
5
,
41
,
43
,
0
,
26
5
,
266
,
264
,
0
,
118
,
272
,
113
,
0
,
43
,
0
,
26
6
,
267
,
265
,
0
,
118
,
273
,
113
,
0
,
0
,
186
,
186
,
62
,
186
,
116
,
165
,
152
,
107
,
0
,
2
69
,
268
,
261
,
119
,
121
,
0
,
0
,
0
,
0
,
56
,
128
,
129
,
123
,
124
,
126
,
120
,
137
,
144
,
138
,
25
7
,
145
,
146
,
25
8
,
135
,
134
,
136
,
132
,
130
,
141
,
139
,
140
,
0
,
142
,
39
,
0
,
90
,
2
59
,
127
,
0
,
0
,
2
70
,
269
,
262
,
119
,
121
,
0
,
0
,
0
,
0
,
56
,
128
,
129
,
123
,
124
,
126
,
120
,
137
,
144
,
138
,
25
8
,
145
,
146
,
25
9
,
135
,
134
,
136
,
132
,
130
,
141
,
139
,
140
,
0
,
142
,
39
,
0
,
90
,
2
60
,
127
,
0
,
0
,
0
,
0
,
0
,
76
,
0
,
0
,
187
,
188
,
76
,
0
,
106
,
0
,
166
,
2
59
,
259
,
67
,
71
,
70
,
69
,
0
,
106
,
0
,
166
,
2
60
,
260
,
67
,
71
,
70
,
69
,
0
,
0
,
218
,
217
,
0
,
216
,
219
,
0
,
60
,
0
,
0
,
0
,
57
,
58
,
221
,
61
,
195
,
0
,
202
,
203
,
209
,
208
,
234
,
235
,
220
,
223
,
222
,
0
,
0
,
0
,
0
,
95
,
0
,
0
,
246
,
88
,
88
,
92
,
245
,
0
,
262
,
0
,
103
,
0
,
83
,
86
,
259
,
117
,
0
,
0
,
0
,
77
,
78
,
82
,
259
,
0
,
192
,
273
,
0
,
0
,
273
,
256
,
248
,
0
,
250
,
255
,
252
,
0
,
72
,
74
,
75
,
65
,
0
,
0
,
212
,
0
,
0
,
0
,
0
,
0
,
53
,
0
,
183
,
184
,
181
,
182
,
0
,
0
,
185
,
0
,
0
,
0
,
0
,
125
,
147
,
133
,
143
,
131
,
0
,
87
,
96
,
91
,
247
,
89
,
244
,
244
,
114
,
0
,
108
,
0
,
85
,
0
,
259
,
109
,
0
,
244
,
190
,
0
,
259
,
274
,
0
,
110
,
259
,
249
,
0
,
0
,
115
,
259
,
196
,
210
,
213
,
214
,
207
,
205
,
0
,
236
,
201
,
59
,
197
,
198
,
199
,
0
,
206
,
204
,
0
,
0
,
238
,
148
,
0
,
93
,
94
,
104
,
105
,
142
,
84
,
189
,
81
,
79
,
80
,
193
,
0
,
191
,
0
,
251
,
0
,
0
,
73
,
0
,
215
,
227
,
0
,
225
,
186
,
200
,
0
,
240
,
242
,
237
,
0
,
97
,
0
,
111
,
112
,
254
,
253
,
211
,
224
,
0
,
229
,
241
,
0
,
239
,
0
,
194
,
226
,
232
,
233
,
231
,
228
,
230
,
243
,
101
,
0
,
99
,
102
,
98
,
100
,
0
,
0
,
0
208
,
235
,
236
,
220
,
223
,
222
,
0
,
0
,
0
,
0
,
95
,
0
,
0
,
247
,
88
,
88
,
92
,
246
,
0
,
263
,
0
,
103
,
0
,
83
,
86
,
260
,
117
,
0
,
0
,
0
,
77
,
78
,
82
,
260
,
0
,
192
,
274
,
0
,
0
,
274
,
257
,
249
,
0
,
251
,
256
,
253
,
0
,
72
,
74
,
75
,
65
,
0
,
0
,
212
,
0
,
0
,
0
,
0
,
0
,
0
,
53
,
0
,
183
,
184
,
181
,
182
,
0
,
0
,
185
,
0
,
0
,
0
,
0
,
125
,
147
,
133
,
143
,
131
,
0
,
87
,
96
,
91
,
248
,
89
,
245
,
245
,
114
,
0
,
108
,
0
,
85
,
0
,
260
,
109
,
0
,
245
,
190
,
0
,
260
,
275
,
0
,
110
,
260
,
250
,
0
,
0
,
115
,
260
,
196
,
210
,
213
,
214
,
207
,
205
,
224
,
0
,
237
,
201
,
59
,
197
,
198
,
199
,
0
,
206
,
204
,
0
,
0
,
239
,
148
,
0
,
93
,
94
,
104
,
105
,
142
,
84
,
189
,
81
,
79
,
80
,
193
,
0
,
191
,
0
,
252
,
0
,
0
,
73
,
0
,
215
,
228
,
0
,
226
,
186
,
200
,
0
,
241
,
243
,
238
,
0
,
97
,
0
,
111
,
112
,
255
,
254
,
211
,
225
,
0
,
230
,
242
,
0
,
240
,
0
,
194
,
227
,
233
,
234
,
232
,
229
,
231
,
244
,
101
,
0
,
99
,
102
,
98
,
100
,
0
,
0
,
0
};
static
const
short
yydefgoto
[]
=
{
42
7
,
static
const
short
yydefgoto
[]
=
{
42
9
,
3
,
4
,
8
,
9
,
13
,
14
,
25
,
26
,
27
,
55
,
56
,
57
,
107
,
58
,
74
,
75
,
76
,
77
,
59
,
69
,
70
,
60
,
100
,
231
,
232
,
233
,
61
,
130
,
131
,
287
,
288
,
270
,
271
,
272
,
263
,
264
,
119
,
32
4
,
195
,
196
,
3
19
,
320
,
412
,
422
,
423
,
273
,
289
,
155
,
156
,
173
,
174
,
197
,
198
,
62
,
188
,
248
,
189
,
234
,
31
5
,
157
,
103
,
159
,
104
,
30
6
,
307
,
309
,
206
,
207
,
208
,
275
,
276
,
236
,
38
7
,
296
,
237
,
238
,
239
,
240
,
390
,
391
,
4
18
,
419
,
241
,
242
,
243
,
365
,
366
,
395
,
257
,
258
,
288
,
270
,
271
,
272
,
263
,
264
,
119
,
32
5
,
195
,
196
,
3
20
,
321
,
414
,
424
,
425
,
273
,
289
,
155
,
156
,
173
,
174
,
197
,
198
,
62
,
188
,
248
,
189
,
234
,
31
6
,
157
,
103
,
159
,
104
,
30
7
,
308
,
310
,
206
,
207
,
208
,
275
,
276
,
236
,
38
9
,
296
,
237
,
238
,
239
,
240
,
392
,
393
,
4
20
,
421
,
241
,
242
,
243
,
367
,
368
,
397
,
257
,
258
,
213
,
283
,
284
,
244
,
259
,
122
,
123
,
146
,
163
,
245
,
105
,
33
8
,
246
105
,
33
9
,
246
};
static
const
short
yypact
[]
=
{
1
31
,
-
32768
,
-
32768
,
1
31
,
-
32768
,
-
60
,
-
32768
,
15
,
25
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
27
,
-
32768
,
-
1
,
141
,
-
32768
,
-
32768
,
88
,
79
,
62
,
71
,
65
,
89
,
188
,
141
,
-
32768
,
101
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
200
,
-
32768
,
-
32768
,
517
,
-
32768
,
215
,
38
,
-
32768
,
-
32768
,
-
32768
,
61
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
1
90
,
51
7
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
35
5
,
746
,
-
32768
,
146
,
-
32768
,
72
,
-
32768
,
1
52
,
-
32768
,
-
32768
,
34
,
-
32768
,
-
10
,
-
32768
,
156
,
-
32768
,
-
32768
,
-
32768
,
-
3
,
158
,
-
32768
,
182
,
-
32768
,
189
,
216
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
2
42
,
213
,
-
32768
,
-
32768
,
-
32768
,
821
,
294
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
1
85
,
296
,
-
32768
,
-
32768
,
-
32768
,
145
,
1
94
,
-
32768
,
-
32768
,
131
,
145
,
196
,
198
,
5
,
-
32768
,
-
32768
,
5
94
,
-
32768
,
64
,
145
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
66
,
-
32768
,
1
93
,
195
,
202
,
235
,
159
,
-
32768
,
-
32768
,
-
60
,
-
32768
,
-
32768
,
2
37
,
-
32768
,
-
32768
,
-
32768
,
299
,
-
11
,
204
,
273
,
206
,
2
43
,
-
27
,
-
12
,
-
32768
,
-
6
,
-
32768
,
-
32768
,
207
,
-
32768
,
209
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
30
2
,
821
,
309
,
145
,
268
,
-
32768
,
-
32768
,
20
5
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
static
const
short
yypact
[]
=
{
1
66
,
-
32768
,
-
32768
,
1
66
,
-
32768
,
-
69
,
-
32768
,
32
,
14
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
60
,
-
32768
,
-
62
,
132
,
-
32768
,
-
32768
,
55
,
42
,
-
13
,
58
,
65
,
64
,
125
,
132
,
-
32768
,
96
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
135
,
-
32768
,
-
32768
,
507
,
-
32768
,
158
,
9
,
-
32768
,
-
32768
,
-
32768
,
38
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
1
22
,
50
7
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
35
7
,
736
,
-
32768
,
100
,
-
32768
,
80
,
-
32768
,
1
46
,
-
32768
,
-
32768
,
34
,
-
32768
,
-
17
,
-
32768
,
147
,
-
32768
,
-
32768
,
-
32768
,
-
4
,
140
,
-
32768
,
178
,
-
32768
,
184
,
159
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
2
15
,
188
,
-
32768
,
-
32768
,
-
32768
,
811
,
269
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
1
70
,
282
,
-
32768
,
-
32768
,
-
32768
,
168
,
1
80
,
-
32768
,
-
32768
,
166
,
168
,
182
,
186
,
8
,
-
32768
,
-
32768
,
5
84
,
-
32768
,
44
,
168
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
10
,
-
32768
,
1
89
,
191
,
198
,
225
,
465
,
-
32768
,
-
32768
,
-
69
,
-
32768
,
-
32768
,
2
04
,
-
32768
,
-
32768
,
-
32768
,
280
,
-
8
,
199
,
256
,
200
,
2
38
,
-
25
,
-
24
,
-
32768
,
-
44
,
-
32768
,
-
32768
,
205
,
-
32768
,
206
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
30
9
,
811
,
305
,
168
,
202
,
-
32768
,
-
32768
,
20
1
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
208
,
212
,
-
32768
,
-
19
,
-
32768
,
6
,
-
32768
,
211
,
292
,
42
,
254
,
217
,
7
,
453
,
255
,
-
32768
,
219
,
7
,
260
,
-
32768
,
50
,
-
32768
,
12
,
218
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
234
,
306
,
-
32768
,
-
32768
,
-
4
,
-
32768
,
-
32768
,
303
,
-
32768
,
131
,
453
,
230
,
229
,
-
32768
,
-
32768
,
184
,
244
,
238
,
-
4
,
-
32768
,
-
32768
,
-
32768
,
236
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
237
,
342
,
309
,
159
,
251
,
237
,
159
,
-
32768
,
259
,
259
,
-
32768
,
-
32768
,
671
,
-
32768
,
309
,
239
,
83
,
-
32768
,
-
32768
,
218
,
-
32768
,
453
,
283
,
246
,
245
,
-
32768
,
-
32768
,
218
,
252
,
126
,
309
,
453
,
248
,
309
,
-
32768
,
-
32768
,
102
,
-
32768
,
-
32768
,
256
,
110
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
465
,
257
,
250
,
263
,
168
,
262
,
253
,
266
,
-
32768
,
268
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
465
,
465
,
-
32768
,
465
,
453
,
282
,
261
,
-
32768
,
-
32768
,
367
,
-
32768
,
-
32768
,
293
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
8
,
8
,
-
32768
,
225
,
-
32768
,
42
,
-
32768
,
270
,
218
,
-
32768
,
7
,
8
,
-
32768
,
278
,
218
,
-
32768
,
276
,
-
32768
,
218
,
-
32768
,
56
,
225
,
-
32768
,
12
,
-
32768
,
-
32768
,
-
32768
,
271
,
-
32768
,
-
32768
,
46
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
280
,
-
32768
,
-
32768
,
1
,
111
,
-
32768
,
-
32768
,
281
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
279
,
671
,
-
32768
,
671
,
-
32768
,
284
,
286
,
-
32768
,
342
,
-
32768
,
-
32768
,
134
,
-
32768
,
-
6
,
-
32768
,
309
,
277
,
-
32768
,
-
32768
,
261
,
-
32768
,
453
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
367
,
-
32768
,
46
,
17
,
277
,
309
,
-
32768
,
183
,
184
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
13
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
391
,
395
,
-
32768
-
32768
,
207
,
208
,
-
32768
,
50
,
-
32768
,
39
,
-
32768
,
209
,
290
,
12
,
217
,
211
,
7
,
268
,
252
,
-
32768
,
218
,
7
,
254
,
-
32768
,
53
,
-
32768
,
5
,
213
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
229
,
303
,
-
32768
,
-
32768
,
-
1
,
-
32768
,
-
32768
,
216
,
-
32768
,
166
,
268
,
226
,
224
,
-
32768
,
-
32768
,
156
,
237
,
230
,
-
1
,
-
32768
,
-
32768
,
-
32768
,
231
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
204
,
336
,
305
,
465
,
245
,
204
,
465
,
-
32768
,
253
,
253
,
-
32768
,
-
32768
,
661
,
-
32768
,
305
,
233
,
81
,
-
32768
,
-
32768
,
213
,
-
32768
,
268
,
276
,
241
,
242
,
-
32768
,
-
32768
,
213
,
243
,
68
,
305
,
268
,
247
,
305
,
-
32768
,
-
32768
,
82
,
-
32768
,
-
32768
,
248
,
89
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
455
,
249
,
244
,
258
,
286
,
250
,
259
,
257
,
260
,
-
32768
,
202
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
455
,
455
,
-
32768
,
455
,
268
,
448
,
251
,
-
32768
,
-
32768
,
363
,
-
32768
,
-
32768
,
285
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
0
,
0
,
-
32768
,
214
,
-
32768
,
12
,
-
32768
,
264
,
213
,
-
32768
,
7
,
0
,
-
32768
,
272
,
213
,
-
32768
,
270
,
-
32768
,
213
,
-
32768
,
67
,
214
,
-
32768
,
5
,
-
32768
,
-
32768
,
-
32768
,
263
,
-
32768
,
-
32768
,
218
,
19
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
271
,
-
32768
,
-
32768
,
6
,
119
,
-
32768
,
-
32768
,
275
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
274
,
661
,
-
32768
,
661
,
-
32768
,
278
,
279
,
-
32768
,
336
,
-
32768
,
-
32768
,
127
,
-
32768
,
-
44
,
-
32768
,
305
,
277
,
-
32768
,
-
32768
,
251
,
-
32768
,
268
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
363
,
-
32768
,
19
,
17
,
277
,
305
,
-
32768
,
149
,
156
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
28
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
388
,
391
,
-
32768
};
static
const
short
yypgoto
[]
=
{
-
32768
,
-
32768
,
3
96
,
269
,
-
32768
,
-
32768
,
389
,
-
32768
,
-
32768
,
383
,
-
32768
,
-
32768
,
3
54
,
-
32768
,
-
32768
,
-
32768
,
337
,
-
32768
,
297
,
-
32768
,
-
32768
,
30
4
,
-
32768
,
348
,
-
32768
,
-
32768
,
116
,
-
32768
,
-
32768
,
258
,
-
32768
,
80
,
210
,
-
32768
,
84
,
-
32768
,
97
,
-
32768
,
172
,
-
32768
,
177
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
10
,
-
187
,
-
74
,
-
192
,
-
53
,
-
32768
,
1
91
,
-
190
,
-
122
,
-
32768
,
-
169
,
-
32768
,
-
256
,
-
118
,
43
,
-
33
,
-
120
,
-
32768
,
48
,
-
32768
,
-
32768
,
-
32768
,
-
151
,
-
32768
,
-
32768
,
-
205
,
-
16
5
,
-
96
,
-
32768
,
197
,
-
32768
,
-
213
,
-
32768
,
-
32768
,
-
32768
,
29
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
3
9
,
45
,
-
121
,
-
32768
,
-
32768
,
-
32768
,
9
9
,
-
126
,
-
79
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
16
,
-
32768
,
1
61
,
-
7
-
32768
,
3
89
,
255
,
-
32768
,
-
32768
,
380
,
-
32768
,
-
32768
,
370
,
-
32768
,
-
32768
,
3
41
,
-
32768
,
-
32768
,
-
32768
,
327
,
-
32768
,
289
,
-
32768
,
-
32768
,
30
0
,
-
32768
,
346
,
-
32768
,
-
32768
,
110
,
-
32768
,
-
32768
,
246
,
-
32768
,
66
,
210
,
-
32768
,
85
,
-
32768
,
86
,
-
32768
,
165
,
-
32768
,
163
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
3
,
-
189
,
-
73
,
-
186
,
-
54
,
-
32768
,
1
81
,
-
190
,
-
114
,
-
32768
,
-
47
,
-
32768
,
-
251
,
-
118
,
40
,
-
40
,
-
120
,
-
32768
,
33
,
-
32768
,
-
32768
,
-
32768
,
-
150
,
-
32768
,
133
,
-
164
,
-
16
6
,
-
201
,
-
32768
,
193
,
-
32768
,
-
218
,
-
32768
,
-
32768
,
-
32768
,
23
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
3
7
,
43
,
-
152
,
-
32768
,
-
32768
,
-
32768
,
9
3
,
-
128
,
-
80
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
16
,
-
32768
,
1
54
,
-
7
};
#define YYLAST 9
1
7
#define YYLAST 9
0
7
static
const
short
yytable
[]
=
{
15
,
158
,
210
,
121
,
211
,
235
,
15
,
256
,
120
,
10
,
191
,
101
,
101
,
175
,
265
,
10
,
5
,
421
,
190
,
5
,
10
,
171
,
172
,
10
,
11
,
299
,
143
,
117
,
171
,
172
,
65
,
102
,
102
,
72
,
415
,
10
,
11
,
79
,
114
,
269
,
166
,
253
,
10
,
253
,
167
,
7
,
10
,
1
,
2
,
65
,
10
,
1
,
2
,
64
,
10
,
203
,
71
,
67
,
10
,
180
,
78
,
16
,
183
,
331
,
10
,
180
,
132
,
79
,
183
,
10
,
203
,
371
,
64
,
340
,
1
,
2
,
203
,
254
,
204
,
254
,
205
,
317
,
144
,
353
,
322
,
63
,
285
,
251
,
416
,
384
,
78
,
252
,
417
,
209
,
-
270
,
205
,
145
,
28
,
363
,
294
,
115
,
205
,
124
,
72
,
63
,
361
,
19
,
161
,
79
,
73
,
295
,
262
,
-
244
,
118
,
394
,
133
,
-
244
,
165
,
162
,
425
,
32
,
12
,
118
,
255
,
191
,
175
,
71
,
191
,
118
,
193
,
139
,
78
,
190
,
17
,
132
,
190
,
235
,
160
,
29
,
158
,
164
,
291
,
265
,
112
,
1
,
2
,
262
,
68
,
30
,
267
,
389
,
176
,
192
,
10
,
281
,
20
,
282
,
31
,
1
,
2
,
281
,
217
,
219
,
21
,
177
,
178
,
179
,
10
,
180
,
181
,
182
,
183
,
1
,
2
,
178
,
33
,
10
,
180
,
181
,
182
,
183
,
109
,
110
,
133
,
22
,
218
,
23
,
421
,
401
,
328
,
402
,
34
,
330
,
329
,
266
,
24
,
348
,
274
,
171
,
172
,
335
,
372
,
274
,
369
,
370
,
286
,
184
,
290
,
343
,
36
,
358
,
359
,
344
,
360
,
378
,
222
,
346
,
397
,
285
,
385
,
347
,
398
,
424
,
37
,
185
,
302
,
303
,
304
,
305
,
66
,
352
,
80
,
424
,
10
,
180
,
413
,
337
,
183
,
1
,
2
,
406
,
408
,
316
,
193
,
407
,
298
,
193
,
186
,
1
,
2
,
171
,
172
,
171
,
172
,
326
,
108
,
226
,
111
,
376
,
380
,
158
,
116
,
158
,
382
,
187
,
125
,
192
,
83
,
84
,
192
,
339
,
124
,
126
,
339
,
178
,
160
,
10
,
180
,
181
,
182
,
183
,
1
,
2
,
302
,
303
,
304
,
305
,
220
,
178
,
127
,
10
,
180
,
181
,
182
,
183
,
128
,
129
,
134
,
135
,
136
,
138
,
221
,
141
,
142
,
168
,
215
,
169
,
170
,
199
,
-
271
,
200
,
201
,
212
,
202
,
214
,
222
,
223
,
10
,
247
,
261
,
373
,
249
,
266
,
250
,
268
,
277
,
278
,
274
,
260
,
222
,
280
,
224
,
292
,
293
,
118
,
297
,
300
,
286
,
373
,
301
,
290
,
312
,
308
,
192
,
362
,
310
,
314
,
392
,
318
,
323
,
225
,
327
,
333
,
332
,
341
,
334
,
226
,
396
,
82
,
355
,
336
,
192
,
349
,
345
,
350
,
227
,
351
,
354
,
83
,
84
,
226
,
367
,
228
,
229
,
356
,
230
,
364
,
368
,
375
,
85
,
38
,
86
,
379
,
87
,
381
,
388
,
399
,
396
,
393
,
400
,
410
,
428
,
403
,
88
,
404
,
429
,
160
,
89
,
160
,
6
,
392
,
90
,
18
,
420
,
91
,
41
,
42
,
43
,
194
,
35
,
81
,
113
,
140
,
106
,
137
,
92
,
45
,
357
,
377
,
279
,
93
,
46
,
94
,
47
,
95
,
216
,
374
,
386
,
325
,
321
,
405
,
48
,
426
,
96
,
97
,
311
,
414
,
411
,
313
,
409
,
49
,
342
,
50
,
383
,
0
,
0
,
0
,
51
,
98
,
52
,
53
,
54
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
178
,
99
,
10
,
180
,
181
,
182
,
183
,
1
,
2
,
0
,
0
,
0
,
178
,
220
,
10
,
180
,
181
,
182
,
183
,
1
,
2
,
0
,
0
,
0
,
0
,
0
,
0
,
221
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
221
,
0
,
222
,
223
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
222
,
223
,
0
,
0
,
224
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
10
,
0
,
0
,
224
,
0
,
1
,
2
,
0
,
0
,
0
,
225
,
0
,
0
,
0
,
0
,
0
,
226
,
38
,
0
,
0
,
0
,
0
,
225
,
0
,
0
,
227
,
0
,
0
,
226
,
0
,
0
,
0
,
39
,
229
,
0
,
230
,
40
,
227
,
0
,
0
,
0
,
0
,
41
,
42
,
43
,
229
,
0
,
230
,
44
,
0
,
0
,
0
,
0
,
45
,
0
,
0
,
158
,
121
,
210
,
235
,
211
,
15
,
256
,
191
,
120
,
101
,
101
,
265
,
10
,
10
,
10
,
5
,
10
,
190
,
5
,
10
,
175
,
1
,
2
,
102
,
102
,
117
,
10
,
67
,
143
,
65
,
114
,
423
,
72
,
417
,
253
,
7
,
79
,
203
,
269
,
10
,
11
,
10
,
171
,
172
,
19
,
10
,
1
,
2
,
65
,
16
,
1
,
2
,
64
,
171
,
172
,
71
,
203
,
203
,
132
,
78
,
10
,
180
,
205
,
28
,
183
,
300
,
79
,
10
,
11
,
63
,
254
,
64
,
30
,
253
,
10
,
180
,
373
,
354
,
183
,
204
,
209
,
205
,
205
,
285
,
144
,
73
,
161
,
418
,
63
,
78
,
349
,
419
,
115
,
365
,
386
,
166
,
-
271
,
162
,
145
,
167
,
29
,
294
,
72
,
332
,
124
,
360
,
361
,
79
,
362
,
254
,
262
,
118
,
295
,
341
,
133
,
262
,
165
,
68
,
396
,
32
,
118
,
191
,
391
,
255
,
191
,
71
,
132
,
34
,
193
,
139
,
78
,
190
,
175
,
427
,
190
,
235
,
160
,
12
,
158
,
164
,
265
,
291
,
112
,
31
,
-
245
,
20
,
363
,
267
,
-
245
,
33
,
176
,
192
,
423
,
21
,
118
,
251
,
281
,
37
,
282
,
252
,
217
,
219
,
80
,
171
,
172
,
17
,
303
,
304
,
305
,
306
,
281
,
66
,
371
,
372
,
22
,
10
,
23
,
338
,
1
,
2
,
1
,
2
,
133
,
380
,
218
,
24
,
329
,
344
,
109
,
110
,
330
,
345
,
331
,
266
,
347
,
403
,
274
,
404
,
348
,
374
,
336
,
274
,
318
,
36
,
286
,
323
,
290
,
178
,
108
,
10
,
180
,
181
,
182
,
183
,
1
,
2
,
285
,
387
,
171
,
172
,
220
,
10
,
180
,
426
,
399
,
183
,
1
,
2
,
400
,
83
,
84
,
127
,
408
,
426
,
221
,
415
,
409
,
1
,
2
,
171
,
172
,
317
,
193
,
410
,
299
,
193
,
297
,
298
,
222
,
223
,
111
,
116
,
124
,
327
,
303
,
304
,
305
,
306
,
382
,
378
,
125
,
158
,
384
,
158
,
224
,
192
,
126
,
128
,
192
,
340
,
129
,
134
,
340
,
178
,
160
,
10
,
180
,
181
,
182
,
183
,
1
,
2
,
135
,
225
,
136
,
138
,
220
,
141
,
199
,
226
,
142
,
178
,
200
,
10
,
180
,
181
,
182
,
183
,
227
,
168
,
221
,
169
,
170
,
-
272
,
201
,
228
,
229
,
202
,
230
,
212
,
214
,
215
,
10
,
247
,
222
,
223
,
261
,
268
,
250
,
249
,
375
,
277
,
266
,
280
,
278
,
260
,
292
,
274
,
118
,
293
,
224
,
301
,
222
,
302
,
309
,
313
,
311
,
286
,
375
,
315
,
290
,
319
,
324
,
192
,
328
,
333
,
334
,
353
,
394
,
225
,
337
,
335
,
342
,
350
,
346
,
226
,
205
,
351
,
398
,
82
,
352
,
192
,
357
,
356
,
227
,
366
,
369
,
358
,
370
,
83
,
84
,
377
,
229
,
226
,
230
,
381
,
390
,
383
,
395
,
401
,
85
,
38
,
86
,
402
,
87
,
405
,
406
,
430
,
398
,
412
,
431
,
6
,
18
,
194
,
88
,
35
,
81
,
160
,
89
,
160
,
113
,
394
,
90
,
140
,
422
,
91
,
41
,
42
,
43
,
137
,
106
,
359
,
216
,
388
,
322
,
376
,
92
,
45
,
279
,
379
,
326
,
93
,
46
,
94
,
47
,
95
,
428
,
314
,
407
,
355
,
312
,
416
,
48
,
343
,
96
,
97
,
413
,
385
,
411
,
0
,
0
,
49
,
0
,
50
,
0
,
0
,
0
,
0
,
51
,
98
,
52
,
53
,
54
,
178
,
0
,
10
,
180
,
181
,
182
,
183
,
178
,
99
,
10
,
180
,
181
,
182
,
183
,
1
,
2
,
177
,
178
,
179
,
10
,
180
,
181
,
182
,
183
,
1
,
2
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
221
,
0
,
0
,
0
,
0
,
0
,
0
,
222
,
0
,
0
,
0
,
0
,
0
,
0
,
222
,
223
,
0
,
0
,
0
,
0
,
0
,
0
,
364
,
0
,
184
,
0
,
0
,
10
,
0
,
0
,
224
,
0
,
1
,
2
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
185
,
0
,
38
,
0
,
0
,
0
,
226
,
225
,
0
,
0
,
0
,
0
,
0
,
226
,
0
,
0
,
0
,
39
,
0
,
0
,
0
,
40
,
227
,
186
,
0
,
0
,
0
,
41
,
42
,
43
,
229
,
0
,
230
,
44
,
0
,
0
,
0
,
0
,
45
,
0
,
187
,
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
,
...
...
@@ -729,64 +731,63 @@ static const short yytable[] = { 15,
};
static
const
short
yycheck
[]
=
{
7
,
121
,
153
,
82
,
155
,
170
,
13
,
197
,
82
,
8
,
136
,
64
,
65
,
135
,
201
,
8
,
0
,
4
,
136
,
3
,
8
,
15
,
16
,
8
,
9
,
230
,
21
,
30
,
15
,
16
,
37
,
64
,
65
,
40
,
17
,
8
,
9
,
44
,
48
,
32
,
106
,
35
,
8
,
35
,
110
,
105
,
8
,
13
,
14
,
56
,
8
,
13
,
14
,
37
,
8
,
82
,
40
,
19
,
8
,
9
,
44
,
36
,
12
,
268
,
8
,
9
,
99
,
74
,
12
,
8
,
82
,
327
,
56
,
278
,
13
,
14
,
82
,
71
,
105
,
71
,
107
,
250
,
77
,
296
,
253
,
37
,
212
,
106
,
71
,
345
,
74
,
110
,
75
,
105
,
105
,
107
,
91
,
9
,
311
,
103
,
110
,
107
,
113
,
110
,
56
,
310
,
107
,
43
,
115
,
48
,
114
,
104
,
106
,
116
,
113
,
99
,
110
,
124
,
54
,
106
,
55
,
106
,
116
,
197
,
250
,
247
,
110
,
253
,
116
,
136
,
114
,
115
,
250
,
106
,
167
,
253
,
301
,
121
,
59
,
259
,
124
,
215
,
329
,
109
,
13
,
14
,
104
,
109
,
86
,
202
,
104
,
135
,
136
,
8
,
104
,
14
,
106
,
86
,
13
,
14
,
104
,
168
,
169
,
22
,
5
,
6
,
7
,
8
,
9
,
10
,
11
,
12
,
13
,
14
,
6
,
86
,
8
,
9
,
10
,
11
,
12
,
109
,
110
,
167
,
43
,
169
,
45
,
4
,
380
,
106
,
382
,
3
,
266
,
110
,
201
,
54
,
292
,
204
,
15
,
16
,
274
,
327
,
209
,
324
,
325
,
212
,
47
,
214
,
106
,
108
,
306
,
307
,
110
,
309
,
335
,
47
,
106
,
106
,
344
,
345
,
110
,
110
,
412
,
23
,
65
,
99
,
100
,
101
,
102
,
14
,
62
,
41
,
422
,
8
,
9
,
400
,
110
,
12
,
13
,
14
,
106
,
392
,
249
,
250
,
110
,
229
,
253
,
88
,
13
,
14
,
15
,
16
,
15
,
16
,
261
,
109
,
88
,
105
,
332
,
338
,
380
,
105
,
382
,
342
,
105
,
83
,
250
,
13
,
14
,
253
,
277
,
113
,
83
,
280
,
6
,
259
,
8
,
9
,
10
,
11
,
12
,
13
,
14
,
99
,
100
,
101
,
102
,
19
,
6
,
73
,
8
,
9
,
10
,
11
,
12
,
53
,
83
,
3
,
113
,
3
,
106
,
33
,
106
,
105
,
111
,
3
,
111
,
105
,
9
,
105
,
37
,
105
,
105
,
70
,
105
,
47
,
48
,
8
,
113
,
27
,
327
,
113
,
329
,
111
,
107
,
70
,
107
,
334
,
117
,
47
,
70
,
63
,
98
,
27
,
116
,
32
,
106
,
344
,
345
,
110
,
347
,
105
,
98
,
327
,
62
,
107
,
4
,
354
,
97
,
90
,
82
,
112
,
106
,
70
,
106
,
110
,
88
,
364
,
3
,
106
,
108
,
345
,
105
,
107
,
114
,
97
,
103
,
105
,
13
,
14
,
88
,
4
,
104
,
105
,
108
,
107
,
115
,
84
,
108
,
24
,
25
,
26
,
104
,
28
,
108
,
114
,
105
,
394
,
108
,
110
,
113
,
0
,
108
,
38
,
108
,
0
,
380
,
42
,
382
,
3
,
407
,
46
,
13
,
410
,
49
,
50
,
51
,
52
,
139
,
26
,
56
,
74
,
115
,
65
,
110
,
60
,
61
,
301
,
334
,
209
,
65
,
66
,
67
,
68
,
69
,
167
,
329
,
347
,
256
,
252
,
387
,
76
,
422
,
78
,
79
,
238
,
407
,
398
,
247
,
394
,
85
,
280
,
87
,
344
,
-
1
,
-
1
,
-
1
,
92
,
93
,
94
,
95
,
96
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
6
,
105
,
8
,
9
,
10
,
11
,
12
,
13
,
14
,
-
1
,
-
1
,
-
1
,
6
,
19
,
8
,
9
,
10
,
11
,
12
,
13
,
14
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
33
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
33
,
-
1
,
47
,
48
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
47
,
48
,
-
1
,
-
1
,
63
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
8
,
-
1
,
-
1
,
63
,
-
1
,
13
,
14
,
-
1
,
-
1
,
-
1
,
82
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
88
,
25
,
-
1
,
-
1
,
-
1
,
-
1
,
82
,
-
1
,
-
1
,
97
,
-
1
,
-
1
,
88
,
-
1
,
-
1
,
-
1
,
40
,
105
,
-
1
,
107
,
44
,
97
,
-
1
,
-
1
,
-
1
,
-
1
,
50
,
51
,
52
,
105
,
-
1
,
107
,
56
,
-
1
,
-
1
,
-
1
,
-
1
,
61
,
-
1
,
-
1
,
121
,
82
,
153
,
170
,
155
,
13
,
197
,
136
,
82
,
64
,
65
,
201
,
8
,
8
,
8
,
0
,
8
,
136
,
3
,
8
,
135
,
13
,
14
,
64
,
65
,
30
,
8
,
19
,
21
,
37
,
48
,
4
,
40
,
17
,
35
,
105
,
44
,
82
,
32
,
8
,
9
,
8
,
15
,
16
,
107
,
8
,
13
,
14
,
56
,
36
,
13
,
14
,
37
,
15
,
16
,
40
,
82
,
82
,
99
,
44
,
8
,
9
,
107
,
9
,
12
,
230
,
74
,
8
,
9
,
37
,
71
,
56
,
86
,
35
,
8
,
9
,
328
,
296
,
12
,
105
,
105
,
107
,
107
,
212
,
77
,
48
,
43
,
71
,
56
,
74
,
292
,
75
,
110
,
312
,
346
,
106
,
105
,
54
,
91
,
110
,
59
,
103
,
110
,
268
,
113
,
307
,
308
,
115
,
310
,
71
,
104
,
116
,
114
,
278
,
99
,
104
,
124
,
109
,
113
,
55
,
116
,
250
,
104
,
197
,
253
,
110
,
167
,
3
,
136
,
114
,
115
,
250
,
247
,
106
,
253
,
302
,
121
,
106
,
259
,
124
,
330
,
215
,
109
,
86
,
106
,
14
,
311
,
202
,
110
,
86
,
135
,
136
,
4
,
22
,
116
,
106
,
104
,
23
,
106
,
110
,
168
,
169
,
41
,
15
,
16
,
106
,
99
,
100
,
101
,
102
,
104
,
14
,
325
,
326
,
43
,
8
,
45
,
110
,
13
,
14
,
13
,
14
,
167
,
336
,
169
,
54
,
106
,
106
,
109
,
110
,
110
,
110
,
266
,
201
,
106
,
382
,
204
,
384
,
110
,
328
,
274
,
209
,
250
,
108
,
212
,
253
,
214
,
6
,
109
,
8
,
9
,
10
,
11
,
12
,
13
,
14
,
345
,
346
,
15
,
16
,
19
,
8
,
9
,
414
,
106
,
12
,
13
,
14
,
110
,
13
,
14
,
73
,
106
,
424
,
33
,
402
,
110
,
13
,
14
,
15
,
16
,
249
,
250
,
394
,
229
,
253
,
31
,
32
,
47
,
48
,
105
,
105
,
113
,
261
,
99
,
100
,
101
,
102
,
339
,
333
,
83
,
382
,
343
,
384
,
63
,
250
,
83
,
53
,
253
,
277
,
83
,
3
,
280
,
6
,
259
,
8
,
9
,
10
,
11
,
12
,
13
,
14
,
113
,
82
,
3
,
106
,
19
,
106
,
9
,
88
,
105
,
6
,
37
,
8
,
9
,
10
,
11
,
12
,
97
,
111
,
33
,
111
,
105
,
105
,
105
,
104
,
105
,
70
,
107
,
105
,
105
,
3
,
8
,
113
,
47
,
48
,
27
,
107
,
111
,
113
,
328
,
70
,
330
,
70
,
107
,
117
,
98
,
335
,
116
,
27
,
63
,
106
,
47
,
110
,
98
,
105
,
107
,
345
,
346
,
4
,
348
,
97
,
90
,
328
,
112
,
70
,
106
,
62
,
356
,
82
,
108
,
110
,
106
,
105
,
107
,
88
,
107
,
114
,
366
,
3
,
103
,
346
,
106
,
105
,
97
,
115
,
4
,
108
,
84
,
13
,
14
,
108
,
105
,
88
,
107
,
104
,
114
,
108
,
108
,
105
,
24
,
25
,
26
,
110
,
28
,
108
,
108
,
0
,
396
,
113
,
0
,
3
,
13
,
139
,
38
,
26
,
56
,
382
,
42
,
384
,
74
,
409
,
46
,
115
,
412
,
49
,
50
,
51
,
52
,
110
,
65
,
302
,
167
,
348
,
252
,
330
,
60
,
61
,
209
,
335
,
256
,
65
,
66
,
67
,
68
,
69
,
424
,
247
,
389
,
297
,
238
,
409
,
76
,
280
,
78
,
79
,
400
,
345
,
396
,
-
1
,
-
1
,
85
,
-
1
,
87
,
-
1
,
-
1
,
-
1
,
-
1
,
92
,
93
,
94
,
95
,
96
,
6
,
-
1
,
8
,
9
,
10
,
11
,
12
,
6
,
105
,
8
,
9
,
10
,
11
,
12
,
13
,
14
,
5
,
6
,
7
,
8
,
9
,
10
,
11
,
12
,
13
,
14
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
33
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
47
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
47
,
48
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
62
,
-
1
,
47
,
-
1
,
-
1
,
8
,
-
1
,
-
1
,
63
,
-
1
,
13
,
14
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
65
,
-
1
,
25
,
-
1
,
-
1
,
-
1
,
88
,
82
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
88
,
-
1
,
-
1
,
-
1
,
40
,
-
1
,
-
1
,
-
1
,
44
,
97
,
88
,
-
1
,
-
1
,
-
1
,
50
,
51
,
52
,
105
,
-
1
,
107
,
56
,
-
1
,
-
1
,
-
1
,
-
1
,
61
,
-
1
,
105
,
-
1
,
-
1
,
66
,
-
1
,
68
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
76
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
85
,
-
1
,
87
,
-
1
,
-
1
,
13
,
14
,
92
,
-
1
,
...
...
@@ -3084,79 +3085,87 @@ case 223:
case
224
:
#line 1746 "asn1p_y.y"
{
CONSTRAINT_INSERT
(
yyval
.
a_constr
,
ACT_CT_WCOMP
S
,
yyvsp
[
-
1
].
a_constr
,
0
);
CONSTRAINT_INSERT
(
yyval
.
a_constr
,
ACT_CT_WCOMP
,
yyvsp
[
0
].
a_constr
,
0
);
;
break
;}
case
225
:
#line 17
52
"asn1p_y.y"
#line 17
49
"asn1p_y.y"
{
yyval
.
a_constr
=
yyvsp
[
0
].
a_constr
;
CONSTRAINT_INSERT
(
yyval
.
a_constr
,
ACT_CT_WCOMPS
,
yyvsp
[
-
1
].
a_constr
,
0
)
;
;
break
;}
case
226
:
#line 1755 "asn1p_y.y"
{
CONSTRAINT_INSERT
(
yyval
.
a_constr
,
ACT_CT_WCOMPS
,
yyvsp
[
-
2
].
a_constr
,
yyvsp
[
0
].
a_constr
)
;
yyval
.
a_constr
=
yyvsp
[
0
].
a_constr
;
;
break
;}
case
227
:
#line 1761 "asn1p_y.y"
#line 1758 "asn1p_y.y"
{
CONSTRAINT_INSERT
(
yyval
.
a_constr
,
ACT_CT_WCOMPS
,
yyvsp
[
-
2
].
a_constr
,
yyvsp
[
0
].
a_constr
);
;
break
;}
case
228
:
#line 1764 "asn1p_y.y"
{
yyval
.
a_constr
=
asn1p_constraint_new
(
yylineno
);
checkmem
(
yyval
.
a_constr
);
yyval
.
a_constr
->
type
=
ACT_EL_EXT
;
yyval
.
a_constr
->
value
=
asn1p_value_frombuf
(
"..."
,
3
,
0
);
;
break
;}
case
22
8
:
#line 17
66
"asn1p_y.y"
case
22
9
:
#line 17
70
"asn1p_y.y"
{
yyval
.
a_constr
=
asn1p_constraint_new
(
yylineno
);
checkmem
(
yyval
.
a_constr
);
yyval
.
a_constr
->
type
=
ACT_EL_VALUE
;
yyval
.
a_constr
->
value
=
asn1p_value_frombuf
(
yyvsp
[
-
2
].
tv_str
,
strlen
(
yyvsp
[
-
2
].
tv_str
),
0
);
yyval
.
a_constr
->
presence
=
yyvsp
[
0
].
a_pres
;
if
(
yyvsp
[
-
1
].
a_constr
)
asn1p_constraint_insert
(
yyval
.
a_constr
,
yyvsp
[
-
1
].
a_constr
);
;
break
;}
case
2
29
:
#line 17
79
"asn1p_y.y"
case
2
30
:
#line 17
84
"asn1p_y.y"
{
yyval
.
a_pres
=
ACPRES_DEFAULT
;
;
break
;}
case
23
0
:
#line 178
0
"asn1p_y.y"
case
23
1
:
#line 178
5
"asn1p_y.y"
{
yyval
.
a_pres
=
yyvsp
[
0
].
a_pres
;
;
break
;}
case
23
1
:
#line 178
4
"asn1p_y.y"
case
23
2
:
#line 178
9
"asn1p_y.y"
{
yyval
.
a_pres
=
ACPRES_PRESENT
;
;
break
;}
case
23
2
:
#line 17
87
"asn1p_y.y"
case
23
3
:
#line 17
92
"asn1p_y.y"
{
yyval
.
a_pres
=
ACPRES_ABSENT
;
;
break
;}
case
23
3
:
#line 179
0
"asn1p_y.y"
case
23
4
:
#line 179
5
"asn1p_y.y"
{
yyval
.
a_pres
=
ACPRES_OPTIONAL
;
;
break
;}
case
23
4
:
#line 1
796
"asn1p_y.y"
case
23
5
:
#line 1
801
"asn1p_y.y"
{
yyval
.
a_constr
=
yyvsp
[
0
].
a_constr
;
;
break
;}
case
23
5
:
#line 1
799
"asn1p_y.y"
case
23
6
:
#line 1
804
"asn1p_y.y"
{
yyval
.
a_constr
=
yyvsp
[
0
].
a_constr
;
;
break
;}
case
23
6
:
#line 18
08
"asn1p_y.y"
case
23
7
:
#line 18
13
"asn1p_y.y"
{
asn1p_ref_t
*
ref
=
asn1p_ref_new
(
yylineno
);
asn1p_constraint_t
*
ct
;
...
...
@@ -3170,14 +3179,14 @@ case 236:
CONSTRAINT_INSERT
(
yyval
.
a_constr
,
ACT_CA_CRC
,
ct
,
0
);
;
break
;}
case
23
7
:
#line 182
3
"asn1p_y.y"
case
23
8
:
#line 182
8
"asn1p_y.y"
{
CONSTRAINT_INSERT
(
yyval
.
a_constr
,
ACT_CA_CRC
,
yyvsp
[
-
3
].
a_constr
,
yyvsp
[
-
1
].
a_constr
);
;
break
;}
case
23
8
:
#line 18
29
"asn1p_y.y"
case
23
9
:
#line 18
34
"asn1p_y.y"
{
yyval
.
a_constr
=
asn1p_constraint_new
(
yylineno
);
checkmem
(
yyval
.
a_constr
);
...
...
@@ -3185,8 +3194,8 @@ case 238:
yyval
.
a_constr
->
value
=
asn1p_value_fromref
(
yyvsp
[
0
].
a_ref
,
0
);
;
break
;}
case
2
39
:
#line 18
35
"asn1p_y.y"
case
2
40
:
#line 18
40
"asn1p_y.y"
{
asn1p_constraint_t
*
ct
;
ct
=
asn1p_constraint_new
(
yylineno
);
...
...
@@ -3196,8 +3205,8 @@ case 239:
CONSTRAINT_INSERT
(
yyval
.
a_constr
,
ACT_CA_CSV
,
yyvsp
[
-
2
].
a_constr
,
ct
);
;
break
;}
case
24
0
:
#line 18
49
"asn1p_y.y"
case
24
1
:
#line 18
54
"asn1p_y.y"
{
char
*
p
=
malloc
(
strlen
(
yyvsp
[
0
].
tv_str
)
+
2
);
int
ret
;
...
...
@@ -3210,8 +3219,8 @@ case 240:
free
(
yyvsp
[
0
].
tv_str
);
;
break
;}
case
24
1
:
#line 186
0
"asn1p_y.y"
case
24
2
:
#line 186
5
"asn1p_y.y"
{
char
*
p
=
malloc
(
strlen
(
yyvsp
[
0
].
tv_str
)
+
3
);
int
ret
;
...
...
@@ -3225,14 +3234,14 @@ case 241:
free
(
yyvsp
[
0
].
tv_str
);
;
break
;}
case
24
2
:
#line 18
76
"asn1p_y.y"
case
24
3
:
#line 18
81
"asn1p_y.y"
{
yyval
.
tv_str
=
yyvsp
[
0
].
tv_str
;
;
break
;}
case
24
3
:
#line 18
79
"asn1p_y.y"
case
24
4
:
#line 18
84
"asn1p_y.y"
{
int
l1
=
strlen
(
yyvsp
[
-
2
].
tv_str
);
int
l3
=
strlen
(
yyvsp
[
0
].
tv_str
);
...
...
@@ -3243,61 +3252,61 @@ case 243:
yyval
.
tv_str
[
l1
+
1
+
l3
]
=
'\0'
;
;
break
;}
case
24
4
:
#line 1
897
"asn1p_y.y"
case
24
5
:
#line 1
902
"asn1p_y.y"
{
yyval
.
a_marker
.
flags
=
EM_NOMARK
;
yyval
.
a_marker
.
default_value
=
0
;
;
break
;}
case
24
5
:
#line 190
1
"asn1p_y.y"
case
24
6
:
#line 190
6
"asn1p_y.y"
{
yyval
.
a_marker
=
yyvsp
[
0
].
a_marker
;
;
break
;}
case
24
6
:
#line 19
05
"asn1p_y.y"
case
24
7
:
#line 19
10
"asn1p_y.y"
{
yyval
.
a_marker
.
flags
=
EM_OPTIONAL
;
yyval
.
a_marker
.
default_value
=
0
;
;
break
;}
case
24
7
:
#line 19
09
"asn1p_y.y"
case
24
8
:
#line 19
14
"asn1p_y.y"
{
yyval
.
a_marker
.
flags
=
EM_DEFAULT
;
yyval
.
a_marker
.
default_value
=
yyvsp
[
0
].
a_value
;
;
break
;}
case
24
8
:
#line 193
2
"asn1p_y.y"
case
24
9
:
#line 193
7
"asn1p_y.y"
{
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
checkmem
(
yyval
.
a_expr
);
;
break
;}
case
2
49
:
#line 19
36
"asn1p_y.y"
case
2
50
:
#line 19
41
"asn1p_y.y"
{
yyval
.
a_expr
=
yyvsp
[
-
1
].
a_expr
;
;
break
;}
case
25
0
:
#line 194
2
"asn1p_y.y"
case
25
1
:
#line 194
7
"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
25
1
:
#line 19
47
"asn1p_y.y"
case
25
2
:
#line 19
52
"asn1p_y.y"
{
yyval
.
a_expr
=
yyvsp
[
-
2
].
a_expr
;
asn1p_expr_add
(
yyval
.
a_expr
,
yyvsp
[
0
].
a_expr
);
;
break
;}
case
25
2
:
#line 195
4
"asn1p_y.y"
case
25
3
:
#line 195
9
"asn1p_y.y"
{
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
checkmem
(
yyval
.
a_expr
);
...
...
@@ -3306,8 +3315,8 @@ case 252:
yyval
.
a_expr
->
Identifier
=
yyvsp
[
0
].
tv_str
;
;
break
;}
case
25
3
:
#line 196
1
"asn1p_y.y"
case
25
4
:
#line 196
6
"asn1p_y.y"
{
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
checkmem
(
yyval
.
a_expr
);
...
...
@@ -3317,8 +3326,8 @@ case 253:
yyval
.
a_expr
->
value
=
yyvsp
[
-
1
].
a_value
;
;
break
;}
case
25
4
:
#line 19
69
"asn1p_y.y"
case
25
5
:
#line 19
74
"asn1p_y.y"
{
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
checkmem
(
yyval
.
a_expr
);
...
...
@@ -3328,8 +3337,8 @@ case 254:
yyval
.
a_expr
->
value
=
yyvsp
[
-
1
].
a_value
;
;
break
;}
case
25
5
:
#line 19
77
"asn1p_y.y"
case
25
6
:
#line 19
82
"asn1p_y.y"
{
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
checkmem
(
yyval
.
a_expr
);
...
...
@@ -3338,8 +3347,8 @@ case 255:
yyval
.
a_expr
->
value
=
yyvsp
[
0
].
a_value
;
;
break
;}
case
25
6
:
#line 198
4
"asn1p_y.y"
case
25
7
:
#line 198
9
"asn1p_y.y"
{
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
checkmem
(
yyval
.
a_expr
);
...
...
@@ -3349,103 +3358,103 @@ case 256:
yyval
.
a_expr
->
meta_type
=
AMT_VALUE
;
;
break
;}
case
25
7
:
#line
1995
"asn1p_y.y"
case
25
8
:
#line
2000
"asn1p_y.y"
{
yyval
.
a_value
=
asn1p_value_fromint
(
yyvsp
[
0
].
a_int
);
checkmem
(
yyval
.
a_value
);
;
break
;}
case
25
8
:
#line
1999
"asn1p_y.y"
case
25
9
:
#line
2004
"asn1p_y.y"
{
yyval
.
a_value
=
asn1p_value_fromint
(
yyvsp
[
0
].
a_int
);
checkmem
(
yyval
.
a_value
);
;
break
;}
case
2
59
:
#line 203
0
"asn1p_y.y"
case
2
60
:
#line 203
5
"asn1p_y.y"
{
memset
(
&
yyval
.
a_tag
,
0
,
sizeof
(
yyval
.
a_tag
));
;
break
;}
case
26
0
:
#line 203
1
"asn1p_y.y"
case
26
1
:
#line 203
6
"asn1p_y.y"
{
yyval
.
a_tag
=
yyvsp
[
0
].
a_tag
;
;
break
;}
case
26
1
:
#line 20
35
"asn1p_y.y"
case
26
2
:
#line 20
40
"asn1p_y.y"
{
yyval
.
a_tag
=
yyvsp
[
-
1
].
a_tag
;
yyval
.
a_tag
.
tag_mode
=
yyvsp
[
0
].
a_tag
.
tag_mode
;
;
break
;}
case
26
2
:
#line 204
2
"asn1p_y.y"
case
26
3
:
#line 204
7
"asn1p_y.y"
{
yyval
.
a_tag
=
yyvsp
[
-
2
].
a_tag
;
yyval
.
a_tag
.
tag_value
=
yyvsp
[
-
1
].
a_int
;
;
break
;}
case
26
3
:
#line 20
48
"asn1p_y.y"
case
26
4
:
#line 20
53
"asn1p_y.y"
{
yyval
.
a_tag
.
tag_class
=
TC_CONTEXT_SPECIFIC
;
;
break
;}
case
26
4
:
#line 20
49
"asn1p_y.y"
case
26
5
:
#line 20
54
"asn1p_y.y"
{
yyval
.
a_tag
.
tag_class
=
TC_UNIVERSAL
;
;
break
;}
case
26
5
:
#line 205
0
"asn1p_y.y"
case
26
6
:
#line 205
5
"asn1p_y.y"
{
yyval
.
a_tag
.
tag_class
=
TC_APPLICATION
;
;
break
;}
case
26
6
:
#line 205
1
"asn1p_y.y"
case
26
7
:
#line 205
6
"asn1p_y.y"
{
yyval
.
a_tag
.
tag_class
=
TC_PRIVATE
;
;
break
;}
case
26
7
:
#line 20
55
"asn1p_y.y"
case
26
8
:
#line 20
60
"asn1p_y.y"
{
yyval
.
a_tag
.
tag_mode
=
TM_DEFAULT
;
;
break
;}
case
26
8
:
#line 20
56
"asn1p_y.y"
case
26
9
:
#line 20
61
"asn1p_y.y"
{
yyval
.
a_tag
.
tag_mode
=
TM_IMPLICIT
;
;
break
;}
case
2
69
:
#line 20
57
"asn1p_y.y"
case
2
70
:
#line 20
62
"asn1p_y.y"
{
yyval
.
a_tag
.
tag_mode
=
TM_EXPLICIT
;
;
break
;}
case
27
0
:
#line 206
1
"asn1p_y.y"
case
27
1
:
#line 206
6
"asn1p_y.y"
{
checkmem
(
yyvsp
[
0
].
tv_str
);
yyval
.
tv_str
=
yyvsp
[
0
].
tv_str
;
;
break
;}
case
27
1
:
#line 20
65
"asn1p_y.y"
case
27
2
:
#line 20
70
"asn1p_y.y"
{
checkmem
(
yyvsp
[
0
].
tv_str
);
yyval
.
tv_str
=
yyvsp
[
0
].
tv_str
;
;
break
;}
case
27
2
:
#line 207
3
"asn1p_y.y"
case
27
3
:
#line 207
8
"asn1p_y.y"
{
checkmem
(
yyvsp
[
0
].
tv_str
);
yyval
.
tv_str
=
yyvsp
[
0
].
tv_str
;
;
break
;}
case
27
3
:
#line 208
0
"asn1p_y.y"
case
27
4
:
#line 208
5
"asn1p_y.y"
{
yyval
.
tv_str
=
0
;
;
break
;}
case
27
4
:
#line 208
1
"asn1p_y.y"
case
27
5
:
#line 208
6
"asn1p_y.y"
{
yyval
.
tv_str
=
yyvsp
[
0
].
tv_str
;
;
break
;}
case
27
5
:
#line 20
86
"asn1p_y.y"
case
27
6
:
#line 20
91
"asn1p_y.y"
{
checkmem
(
yyvsp
[
0
].
tv_str
);
yyval
.
tv_str
=
yyvsp
[
0
].
tv_str
;
...
...
@@ -3673,7 +3682,7 @@ yyerrhandle:
}
return
1
;
}
#line 209
2
"asn1p_y.y"
#line 209
7
"asn1p_y.y"
...
...
libasn1parser/asn1p_y.y
View file @
e596bf05
...
...
@@ -278,7 +278,7 @@ static asn1p_value_t *
%type <a_constr> ConstraintSubtypeElement /* 1..2 */
%type <a_constr> SimpleTableConstraint
%type <a_constr> TableConstraint
%type <a_constr>
WithComponents
%type <a_constr>
InnerTypeConstraint
%type <a_constr> WithComponentsList
%type <a_constr> WithComponentsElement
%type <a_constr> ComponentRelationConstraint
...
...
@@ -1668,7 +1668,7 @@ ConstraintSubtypeElement:
| TableConstraint {
$$ = $1;
}
|
WithComponents
{
|
InnerTypeConstraint
{
$$ = $1;
}
| TOK_CONSTRAINED TOK_BY '{'
...
...
@@ -1742,8 +1742,11 @@ ContainedSubtype:
}
;
WithComponents:
TOK_WITH TOK_COMPONENTS '{' WithComponentsList '}' {
InnerTypeConstraint:
TOK_WITH TOK_COMPONENT SetOfConstraints {
CONSTRAINT_INSERT($$, ACT_CT_WCOMP, $3, 0);
}
| TOK_WITH TOK_COMPONENTS '{' WithComponentsList '}' {
CONSTRAINT_INSERT($$, ACT_CT_WCOMPS, $4, 0);
}
;
...
...
@@ -1762,6 +1765,7 @@ WithComponentsElement:
$$ = asn1p_constraint_new(yylineno);
checkmem($$);
$$->type = ACT_EL_EXT;
$$->value = asn1p_value_frombuf("...", 3, 0);
}
| Identifier optConstraints optPresenceConstraint {
$$ = asn1p_constraint_new(yylineno);
...
...
@@ -1769,6 +1773,7 @@ WithComponentsElement:
$$->type = ACT_EL_VALUE;
$$->value = asn1p_value_frombuf($1, strlen($1), 0);
$$->presence = $3;
if($2) asn1p_constraint_insert($$, $2);
}
;
...
...
libasn1print/asn1print.c
View file @
e596bf05
...
...
@@ -333,10 +333,36 @@ asn1print_constraint(asn1p_constraint_t *ct, enum asn1print_flags flags) {
printf
(
")"
);
break
;
case
ACT_CT_WCOMP
:
printf
(
"WITH COMPONENT ???"
);
assert
(
ct
->
el_count
!=
0
);
assert
(
ct
->
el_count
==
1
);
printf
(
"WITH COMPONENT ("
);
asn1print_constraint
(
ct
->
elements
[
0
],
flags
);
printf
(
")"
);
break
;
case
ACT_CT_WCOMPS
:
printf
(
"WITH COMPONENTS { ??? }"
);
case
ACT_CT_WCOMPS
:
{
unsigned
int
i
;
printf
(
"WITH COMPONENTS { "
);
for
(
i
=
0
;
i
<
ct
->
el_count
;
i
++
)
{
asn1p_constraint_t
*
cel
=
ct
->
elements
[
i
];
if
(
i
)
printf
(
", "
);
fwrite
(
cel
->
value
->
value
.
string
.
buf
,
1
,
cel
->
value
->
value
.
string
.
size
,
stdout
);
if
(
cel
->
el_count
)
{
assert
(
cel
->
el_count
==
1
);
printf
(
" "
);
asn1print_constraint
(
cel
->
elements
[
0
],
flags
);
}
switch
(
cel
->
presence
)
{
case
ACPRES_DEFAULT
:
break
;
case
ACPRES_PRESENT
:
printf
(
" PRESENT"
);
break
;
case
ACPRES_ABSENT
:
printf
(
" ABSENT"
);
break
;
case
ACPRES_OPTIONAL
:
printf
(
" OPTIONAL"
);
break
;
}
}
printf
(
" }"
);
}
break
;
case
ACT_CT_CTDBY
:
printf
(
"CONSTRAINED BY "
);
...
...
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