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
c8092cb2
Commit
c8092cb2
authored
Feb 18, 2005
by
Lev Walkin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ContainedSubtype parsing
parent
843a2460
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
834 additions
and
771 deletions
+834
-771
libasn1parser/asn1p_expr.h
libasn1parser/asn1p_expr.h
+1
-2
libasn1parser/asn1p_y.c
libasn1parser/asn1p_y.c
+791
-756
libasn1parser/asn1p_y.y
libasn1parser/asn1p_y.y
+42
-13
No files found.
libasn1parser/asn1p_expr.h
View file @
c8092cb2
...
@@ -31,7 +31,6 @@ typedef enum asn1p_expr_type {
...
@@ -31,7 +31,6 @@ typedef enum asn1p_expr_type {
A1TC_REFERENCE
,
/* Reference to the type defined elsewhere */
A1TC_REFERENCE
,
/* Reference to the type defined elsewhere */
A1TC_EXPORTVAR
,
/* We're exporting this definition */
A1TC_EXPORTVAR
,
/* We're exporting this definition */
A1TC_UNIVERVAL
,
/* A value of an ENUMERATED, INTEGER or BS */
A1TC_UNIVERVAL
,
/* A value of an ENUMERATED, INTEGER or BS */
A1TC_BOOLBITPOS
,
/* A bit position in a BIT STRING */
A1TC_BITVECTOR
,
/* A plain collection of bits */
A1TC_BITVECTOR
,
/* A plain collection of bits */
A1TC_OPAQUE
,
/* Opaque data encoded as a bitvector */
A1TC_OPAQUE
,
/* Opaque data encoded as a bitvector */
A1TC_EXTENSIBLE
,
/* An extension marker "..." */
A1TC_EXTENSIBLE
,
/* An extension marker "..." */
...
@@ -122,7 +121,7 @@ typedef struct asn1p_expr_s {
...
@@ -122,7 +121,7 @@ typedef struct asn1p_expr_s {
asn1p_expr_type_e
expr_type
;
asn1p_expr_type_e
expr_type
;
/*
/*
* Referenced type,
if
defined elsewhere.
* Referenced type, defined elsewhere.
* (If expr_type == A1TC_REFERENCE)
* (If expr_type == A1TC_REFERENCE)
*/
*/
asn1p_ref_t
*
reference
;
asn1p_ref_t
*
reference
;
...
...
libasn1parser/asn1p_y.c
View file @
c8092cb2
...
@@ -204,7 +204,7 @@ typedef union {
...
@@ -204,7 +204,7 @@ typedef union {
#define YYFINAL 41
5
#define YYFINAL 41
7
#define YYFLAG -32768
#define YYFLAG -32768
#define YYNTBASE 116
#define YYNTBASE 116
...
@@ -258,26 +258,26 @@ static const short yyprhs[] = { 0,
...
@@ -258,26 +258,26 @@ static const short yyprhs[] = { 0,
107
,
111
,
113
,
117
,
119
,
123
,
127
,
130
,
132
,
136
,
107
,
111
,
113
,
117
,
119
,
123
,
127
,
130
,
132
,
136
,
138
,
142
,
144
,
151
,
153
,
155
,
156
,
158
,
160
,
164
,
138
,
142
,
144
,
151
,
153
,
155
,
156
,
158
,
160
,
164
,
166
,
168
,
173
,
177
,
181
,
188
,
190
,
194
,
196
,
200
,
166
,
168
,
173
,
177
,
181
,
188
,
190
,
194
,
196
,
200
,
204
,
20
6
,
210
,
212
,
214
,
215
,
217
,
219
,
223
,
227
,
204
,
20
8
,
210
,
214
,
216
,
218
,
219
,
221
,
223
,
227
,
231
,
23
3
,
235
,
239
,
242
,
244
,
250
,
251
,
253
,
255
,
231
,
23
5
,
237
,
239
,
243
,
246
,
248
,
254
,
255
,
257
,
259
,
26
2
,
267
,
272
,
273
,
275
,
276
,
283
,
285
,
288
,
259
,
26
3
,
266
,
271
,
276
,
277
,
279
,
280
,
287
,
289
,
29
0
,
292
,
294
,
298
,
302
,
306
,
308
,
310
,
315
,
320
,
29
2
,
294
,
296
,
298
,
302
,
306
,
310
,
312
,
314
,
319
,
32
5
,
332
,
339
,
341
,
346
,
351
,
353
,
357
,
359
,
363
,
32
4
,
329
,
336
,
343
,
345
,
350
,
355
,
357
,
361
,
363
,
367
,
371
,
37
3
,
377
,
379
,
383
,
385
,
387
,
389
,
391
,
367
,
371
,
37
5
,
377
,
381
,
383
,
387
,
389
,
391
,
393
,
39
6
,
400
,
401
,
405
,
407
,
409
,
411
,
413
,
415
,
417
,
39
5
,
400
,
404
,
405
,
409
,
411
,
413
,
415
,
417
,
419
,
4
19
,
421
,
423
,
427
,
429
,
432
,
434
,
436
,
438
,
440
,
4
21
,
423
,
425
,
427
,
431
,
433
,
436
,
438
,
440
,
442
,
44
3
,
446
,
448
,
450
,
453
,
456
,
458
,
460
,
462
,
464
,
44
4
,
447
,
450
,
452
,
454
,
457
,
460
,
462
,
464
,
466
,
46
7
,
469
,
472
,
474
,
476
,
478
,
480
,
482
,
484
,
486
,
46
8
,
471
,
473
,
476
,
478
,
480
,
482
,
484
,
486
,
488
,
4
88
,
490
,
492
,
494
,
496
,
498
,
500
,
502
,
504
,
506
,
4
90
,
492
,
494
,
496
,
498
,
500
,
502
,
504
,
506
,
508
,
5
08
,
510
,
511
,
513
,
515
,
520
,
524
,
529
,
531
,
535
,
5
10
,
512
,
514
,
515
,
517
,
519
,
524
,
528
,
533
,
535
,
5
41
,
543
,
547
,
551
,
555
,
560
,
564
,
566
,
570
,
574
,
5
39
,
545
,
547
,
551
,
555
,
559
,
564
,
568
,
570
,
574
,
578
,
582
,
58
4
,
586
,
588
,
591
,
594
,
598
,
600
,
602
,
578
,
582
,
58
6
,
588
,
590
,
592
,
595
,
598
,
602
,
604
,
60
4
,
606
,
608
,
610
,
612
,
618
,
620
,
624
,
626
,
630
,
60
6
,
608
,
610
,
612
,
614
,
616
,
618
,
624
,
626
,
630
,
63
1
,
633
,
635
,
637
,
639
,
641
,
643
,
647
,
652
,
654
,
63
2
,
636
,
637
,
639
,
641
,
643
,
645
,
647
,
649
,
653
,
658
,
66
1
,
665
,
667
,
671
,
672
,
674
,
676
,
679
,
682
,
658
,
66
0
,
664
,
667
,
671
,
673
,
677
,
678
,
680
,
682
,
68
6
,
688
,
692
,
694
,
699
,
704
,
706
,
708
,
710
,
712
,
68
5
,
688
,
692
,
694
,
698
,
700
,
705
,
710
,
712
,
714
,
71
3
,
715
,
718
,
723
,
724
,
726
,
728
,
730
,
731
,
733
,
71
6
,
718
,
719
,
721
,
724
,
729
,
730
,
732
,
734
,
736
,
73
5
,
737
,
739
,
741
,
742
,
744
73
7
,
739
,
741
,
743
,
745
,
747
,
748
,
750
};
};
static
const
short
yyrhs
[]
=
{
117
,
static
const
short
yyrhs
[]
=
{
117
,
...
@@ -300,62 +300,63 @@ static const short yyrhs[] = { 117,
...
@@ -300,62 +300,63 @@ static const short yyrhs[] = { 117,
108
,
142
,
0
,
102
,
0
,
186
,
0
,
213
,
3
,
208
,
108
,
142
,
0
,
102
,
0
,
186
,
0
,
213
,
3
,
208
,
87
,
0
,
213
,
3
,
163
,
0
,
213
,
3
,
153
,
0
,
87
,
0
,
213
,
3
,
163
,
0
,
213
,
3
,
153
,
0
,
213
,
103
,
144
,
104
,
3
,
163
,
0
,
145
,
0
,
144
,
213
,
103
,
144
,
104
,
3
,
163
,
0
,
145
,
0
,
144
,
108
,
145
,
0
,
213
,
0
,
213
,
109
,
216
,
0
,
175
,
108
,
145
,
0
,
213
,
0
,
213
,
109
,
216
,
0
,
213
,
109
,
216
,
0
,
147
,
0
,
146
,
108
,
147
,
0
,
163
,
109
,
213
,
0
,
175
,
109
,
216
,
0
,
147
,
0
,
146
,
0
,
216
,
0
,
0
,
149
,
0
,
150
,
0
,
149
,
108
,
108
,
147
,
0
,
163
,
0
,
216
,
0
,
0
,
149
,
0
,
150
,
0
,
216
,
163
,
202
,
0
,
30
,
68
,
163
,
0
,
150
,
0
,
149
,
108
,
150
,
0
,
216
,
163
,
202
,
0
,
162
,
0
,
152
,
0
,
151
,
108
,
152
,
0
,
216
,
163
,
30
,
68
,
163
,
0
,
162
,
0
,
152
,
0
,
151
,
108
,
0
,
162
,
0
,
28
,
103
,
155
,
104
,
157
,
0
,
0
,
152
,
0
,
216
,
163
,
0
,
162
,
0
,
28
,
103
,
155
,
88
,
0
,
156
,
0
,
155
,
108
,
156
,
0
,
168
,
202
,
104
,
157
,
0
,
0
,
88
,
0
,
156
,
0
,
155
,
108
,
0
,
168
,
163
,
154
,
202
,
0
,
168
,
168
,
154
,
202
,
156
,
0
,
168
,
202
,
0
,
168
,
163
,
154
,
202
,
0
,
0
,
0
,
158
,
0
,
0
,
95
,
82
,
103
,
159
,
160
,
168
,
168
,
154
,
202
,
0
,
0
,
158
,
0
,
0
,
95
,
104
,
0
,
161
,
0
,
160
,
161
,
0
,
4
,
0
,
168
,
82
,
103
,
159
,
160
,
104
,
0
,
161
,
0
,
160
,
161
,
0
,
102
,
0
,
102
,
110
,
173
,
0
,
102
,
110
,
207
,
0
,
4
,
0
,
168
,
0
,
102
,
0
,
102
,
110
,
173
,
0
,
208
,
164
,
182
,
0
,
177
,
0
,
178
,
0
,
27
,
0
,
102
,
110
,
207
,
0
,
208
,
164
,
182
,
0
,
177
,
103
,
151
,
104
,
0
,
78
,
103
,
148
,
104
,
0
,
79
,
0
,
178
,
0
,
27
,
103
,
151
,
104
,
0
,
78
,
103
,
103
,
148
,
104
,
0
,
78
,
182
,
68
,
215
,
208
,
164
,
148
,
104
,
0
,
79
,
103
,
148
,
104
,
0
,
78
,
182
,
0
,
79
,
182
,
68
,
215
,
208
,
164
,
0
,
18
,
0
,
68
,
215
,
208
,
164
,
0
,
79
,
182
,
68
,
215
,
208
,
18
,
35
,
25
,
216
,
0
,
213
,
103
,
146
,
104
,
0
,
164
,
0
,
18
,
0
,
18
,
35
,
25
,
216
,
0
,
213
,
165
,
0
,
56
,
68
,
165
,
0
,
11
,
0
,
11
,
111
,
103
,
146
,
104
,
0
,
165
,
0
,
56
,
68
,
165
,
0
,
213
,
0
,
214
,
111
,
213
,
0
,
11
,
111
,
216
,
0
,
11
,
0
,
11
,
111
,
213
,
0
,
214
,
111
,
213
,
0
,
214
,
0
,
214
,
111
,
166
,
0
,
167
,
0
,
166
,
111
,
11
,
111
,
216
,
0
,
214
,
0
,
214
,
111
,
166
,
0
,
167
,
0
,
169
,
0
,
169
,
0
,
13
,
0
,
14
,
0
,
167
,
0
,
166
,
111
,
167
,
0
,
169
,
0
,
169
,
0
,
216
,
139
,
3
,
171
,
0
,
216
,
109
,
171
,
0
,
0
,
13
,
0
,
14
,
0
,
216
,
139
,
3
,
171
,
0
,
216
,
103
,
172
,
174
,
0
,
63
,
0
,
45
,
0
,
86
,
0
,
109
,
171
,
0
,
0
,
103
,
172
,
174
,
0
,
63
,
0
,
5
,
0
,
7
,
0
,
6
,
0
,
207
,
0
,
173
,
0
,
45
,
0
,
86
,
0
,
5
,
0
,
7
,
0
,
6
,
0
,
216
,
0
,
213
,
111
,
216
,
0
,
4
,
0
,
174
,
4
,
207
,
0
,
173
,
0
,
216
,
0
,
213
,
111
,
216
,
0
,
0
,
24
,
0
,
63
,
0
,
76
,
0
,
176
,
0
,
67
,
4
,
0
,
174
,
4
,
0
,
24
,
0
,
63
,
0
,
76
,
81
,
0
,
65
,
51
,
0
,
77
,
0
,
44
,
0
,
36
,
0
,
176
,
0
,
67
,
81
,
0
,
65
,
51
,
0
,
77
,
71
,
0
,
26
,
81
,
0
,
91
,
0
,
47
,
0
,
58
,
0
,
44
,
0
,
36
,
71
,
0
,
26
,
81
,
0
,
91
,
0
,
40
,
0
,
22
,
81
,
0
,
175
,
0
,
176
,
204
,
0
,
47
,
0
,
58
,
0
,
40
,
0
,
22
,
81
,
0
,
0
,
23
,
0
,
48
,
0
,
49
,
0
,
50
,
0
,
59
,
175
,
0
,
176
,
204
,
0
,
23
,
0
,
48
,
0
,
49
,
0
,
64
,
0
,
74
,
0
,
83
,
0
,
85
,
0
,
90
,
0
,
50
,
0
,
59
,
0
,
64
,
0
,
74
,
0
,
83
,
0
,
92
,
0
,
93
,
0
,
94
,
0
,
66
,
0
,
99
,
0
,
85
,
0
,
90
,
0
,
92
,
0
,
93
,
0
,
94
,
0
,
100
,
0
,
97
,
0
,
98
,
0
,
96
,
0
,
0
,
0
,
66
,
0
,
99
,
0
,
100
,
0
,
97
,
0
,
98
,
183
,
0
,
184
,
0
,
80
,
105
,
185
,
106
,
0
,
105
,
0
,
96
,
0
,
0
,
183
,
0
,
184
,
0
,
80
,
105
,
185
,
106
,
0
,
184
,
105
,
185
,
106
,
0
,
186
,
0
,
185
,
106
,
0
,
105
,
185
,
106
,
0
,
184
,
105
,
185
,
186
,
108
,
102
,
0
,
186
,
108
,
102
,
108
,
186
,
0
,
106
,
0
,
186
,
0
,
186
,
108
,
102
,
0
,
186
,
108
,
187
,
0
,
186
,
179
,
187
,
0
,
186
,
180
,
187
,
0
,
102
,
108
,
186
,
0
,
187
,
0
,
186
,
179
,
187
,
0
,
187
,
181
,
187
,
0
,
189
,
105
,
185
,
106
,
0
,
105
,
186
,
180
,
187
,
0
,
187
,
181
,
187
,
0
,
189
,
105
,
185
,
106
,
0
,
190
,
0
,
190
,
188
,
190
,
0
,
61
,
185
,
106
,
0
,
105
,
185
,
106
,
0
,
190
,
0
,
190
,
188
,
190
,
0
,
190
,
188
,
60
,
0
,
61
,
188
,
60
,
188
,
190
,
0
,
61
,
188
,
190
,
0
,
190
,
188
,
60
,
0
,
196
,
0
,
191
,
0
,
101
,
0
,
101
,
112
,
0
,
0
,
61
,
188
,
60
,
0
,
196
,
0
,
191
,
0
,
101
,
112
,
101
,
0
,
112
,
101
,
112
,
0
,
80
,
0
,
46
,
0
,
101
,
112
,
0
,
112
,
101
,
0
,
112
,
101
,
112
,
0
,
207
,
0
,
216
,
0
,
6
,
0
,
45
,
0
,
86
,
0
,
80
,
0
,
46
,
0
,
45
,
0
,
86
,
0
,
207
,
0
,
95
,
30
,
103
,
192
,
104
,
0
,
193
,
0
,
192
,
0
,
6
,
0
,
216
,
0
,
213
,
0
,
95
,
30
,
103
,
108
,
193
,
0
,
102
,
0
,
216
,
182
,
194
,
0
,
0
,
192
,
104
,
0
,
193
,
0
,
192
,
108
,
193
,
0
,
102
,
195
,
0
,
73
,
0
,
15
,
0
,
69
,
0
,
197
,
0
,
0
,
216
,
182
,
194
,
0
,
0
,
195
,
0
,
73
,
0
,
198
,
0
,
103
,
213
,
104
,
0
,
197
,
103
,
199
,
104
,
15
,
0
,
69
,
0
,
197
,
0
,
198
,
0
,
103
,
213
,
0
,
200
,
0
,
199
,
108
,
200
,
0
,
113
,
201
,
0
,
104
,
0
,
197
,
103
,
199
,
104
,
0
,
200
,
0
,
199
,
113
,
111
,
201
,
0
,
216
,
0
,
201
,
111
,
216
,
0
,
108
,
200
,
0
,
113
,
201
,
0
,
113
,
111
,
201
,
0
,
0
,
203
,
0
,
69
,
0
,
33
,
171
,
0
,
103
,
104
,
216
,
0
,
201
,
111
,
216
,
0
,
0
,
203
,
0
,
69
,
0
,
103
,
205
,
104
,
0
,
206
,
0
,
205
,
108
,
206
,
0
,
33
,
171
,
0
,
103
,
104
,
0
,
103
,
205
,
104
,
0
,
216
,
0
,
216
,
105
,
207
,
106
,
0
,
216
,
105
,
0
,
206
,
0
,
205
,
108
,
206
,
0
,
216
,
0
,
216
,
173
,
106
,
0
,
207
,
0
,
102
,
0
,
9
,
0
,
10
,
105
,
207
,
106
,
0
,
216
,
105
,
173
,
106
,
0
,
207
,
0
,
0
,
209
,
0
,
210
,
212
,
0
,
114
,
211
,
9
,
0
,
102
,
0
,
9
,
0
,
10
,
0
,
0
,
209
,
0
,
115
,
0
,
0
,
89
,
0
,
19
,
0
,
75
,
0
,
0
,
210
,
212
,
0
,
114
,
211
,
9
,
115
,
0
,
0
,
89
,
52
,
0
,
41
,
0
,
11
,
0
,
12
,
0
,
12
,
0
,
0
,
19
,
0
,
75
,
0
,
0
,
52
,
0
,
41
,
0
,
0
,
216
,
0
,
8
,
0
11
,
0
,
12
,
0
,
12
,
0
,
0
,
216
,
0
,
8
,
0
};
};
#endif
#endif
...
@@ -369,26 +370,26 @@ static const short yyrline[] = { 0,
...
@@ -369,26 +370,26 @@ static const short yyrline[] = { 0,
609
,
615
,
622
,
628
,
636
,
640
,
643
,
650
,
656
,
662
,
609
,
615
,
622
,
628
,
636
,
640
,
643
,
650
,
656
,
662
,
669
,
675
,
684
,
694
,
702
,
710
,
712
,
722
,
725
,
729
,
669
,
675
,
684
,
694
,
702
,
710
,
712
,
722
,
725
,
729
,
732
,
744
,
756
,
762
,
778
,
787
,
797
,
807
,
812
,
819
,
732
,
744
,
756
,
762
,
778
,
787
,
797
,
807
,
812
,
819
,
82
9
,
835
,
841
,
845
,
857
,
859
,
861
,
867
,
873
,
880
,
82
6
,
836
,
842
,
848
,
852
,
875
,
877
,
879
,
885
,
891
,
8
87
,
892
,
898
,
904
,
910
,
915
,
925
,
927
,
930
,
93
8
,
8
98
,
905
,
910
,
916
,
922
,
928
,
933
,
943
,
945
,
94
8
,
9
44
,
953
,
959
,
976
,
978
,
983
,
987
,
992
,
997
,
1003
,
9
56
,
962
,
971
,
977
,
994
,
996
,
1001
,
1005
,
1010
,
1015
,
10
07
,
1018
,
1027
,
1036
,
1047
,
1069
,
1073
,
1079
,
1085
,
1091
,
10
21
,
1025
,
1036
,
1045
,
1054
,
1065
,
1087
,
1091
,
1097
,
1103
,
1
097
,
1107
,
1117
,
1123
,
1137
,
1161
,
1168
,
1182
,
1191
,
1201
,
1
109
,
1115
,
1125
,
1135
,
1141
,
1155
,
1179
,
1186
,
1200
,
1209
,
121
1
,
1221
,
1229
,
1250
,
1259
,
1268
,
1269
,
1271
,
1278
,
1290
,
121
9
,
1229
,
1239
,
1247
,
1268
,
1277
,
1286
,
1287
,
1289
,
1296
,
130
0
,
1308
,
1308
,
1313
,
1318
,
1323
,
1328
,
1332
,
1336
,
1340
,
130
8
,
1318
,
1326
,
1326
,
1331
,
1336
,
1341
,
1346
,
1350
,
1354
,
13
43
,
1348
,
1360
,
1376
,
1387
,
1401
,
1403
,
1404
,
1405
,
1406
,
13
58
,
1361
,
1366
,
1378
,
1394
,
1405
,
1419
,
1421
,
1422
,
1423
,
14
07
,
1408
,
1409
,
1410
,
1411
,
1412
,
1413
,
1419
,
1421
,
1422
,
14
24
,
1425
,
1426
,
1427
,
1428
,
1429
,
1430
,
1431
,
1437
,
1439
,
14
25
,
1432
,
1444
,
1446
,
1450
,
1454
,
1455
,
1456
,
1457
,
1458
,
14
40
,
1443
,
1450
,
1462
,
1464
,
1468
,
1472
,
1473
,
1474
,
1475
,
14
62
,
1463
,
1464
,
1465
,
1469
,
1470
,
1477
,
1477
,
1478
,
1478
,
14
76
,
1480
,
1481
,
1482
,
1483
,
1487
,
1488
,
1495
,
1495
,
1496
,
14
79
,
1481
,
1483
,
1488
,
1492
,
1501
,
1505
,
1510
,
1514
,
1520
,
14
96
,
1497
,
1499
,
1501
,
1506
,
1510
,
1519
,
1523
,
1528
,
1532
,
153
0
,
1534
,
1537
,
1540
,
1545
,
1554
,
1562
,
1568
,
1575
,
158
3
,
153
8
,
1548
,
1552
,
1555
,
1558
,
1563
,
1572
,
1580
,
1586
,
159
3
,
1
591
,
1600
,
1603
,
1608
,
1610
,
1611
,
1612
,
1615
,
1619
,
1624
,
1
601
,
1609
,
1618
,
1621
,
1626
,
1628
,
1629
,
1630
,
1633
,
1637
,
16
28
,
1639
,
1643
,
1648
,
1655
,
1661
,
1665
,
1670
,
1676
,
1688
,
16
42
,
1648
,
1653
,
1656
,
1660
,
1671
,
1684
,
1690
,
1694
,
1699
,
1
690
,
1693
,
1697
,
1700
,
1705
,
1709
,
1717
,
1732
,
1738
,
1745
,
1
705
,
1717
,
1719
,
1722
,
1726
,
1729
,
1734
,
1738
,
1746
,
1761
,
17
58
,
1770
,
1785
,
1789
,
1806
,
1811
,
1814
,
1819
,
1841
,
1846
,
17
67
,
1774
,
1787
,
1799
,
1814
,
1818
,
1835
,
1840
,
1843
,
1848
,
18
51
,
1857
,
1863
,
1871
,
1879
,
1887
,
1894
,
1904
,
1909
,
1939
,
18
70
,
1875
,
1880
,
1886
,
1892
,
1900
,
1908
,
1916
,
1923
,
1933
,
19
41
,
1944
,
1951
,
1957
,
1959
,
1960
,
1961
,
1964
,
1966
,
1967
,
19
38
,
1968
,
1970
,
1973
,
1980
,
1986
,
1988
,
1989
,
1990
,
1993
,
19
70
,
1975
,
1982
,
1989
,
1991
,
1995
19
95
,
1996
,
1999
,
2004
,
2011
,
2018
,
2020
,
2024
};
};
#endif
#endif
...
@@ -448,26 +449,26 @@ static const short yyr1[] = { 0,
...
@@ -448,26 +449,26 @@ static const short yyr1[] = { 0,
133
,
134
,
134
,
134
,
135
,
135
,
135
,
136
,
136
,
137
,
133
,
134
,
134
,
134
,
135
,
135
,
135
,
136
,
136
,
137
,
137
,
137
,
138
,
139
,
139
,
140
,
140
,
141
,
141
,
142
,
137
,
137
,
138
,
139
,
139
,
140
,
140
,
141
,
141
,
142
,
142
,
143
,
143
,
143
,
143
,
144
,
144
,
145
,
145
,
145
,
142
,
143
,
143
,
143
,
143
,
144
,
144
,
145
,
145
,
145
,
14
6
,
146
,
147
,
147
,
148
,
148
,
149
,
149
,
150
,
150
,
14
5
,
146
,
146
,
147
,
147
,
148
,
148
,
149
,
149
,
150
,
150
,
15
1
,
151
,
152
,
152
,
153
,
154
,
154
,
155
,
155
,
150
,
15
0
,
151
,
151
,
152
,
152
,
153
,
154
,
154
,
155
,
15
6
,
156
,
156
,
157
,
157
,
159
,
158
,
160
,
160
,
161
,
15
5
,
156
,
156
,
156
,
157
,
157
,
159
,
158
,
160
,
160
,
161
,
16
2
,
162
,
162
,
163
,
164
,
164
,
164
,
164
,
164
,
161
,
16
1
,
162
,
162
,
162
,
163
,
164
,
164
,
164
,
164
,
164
,
164
,
164
,
164
,
164
,
164
,
164
,
16
5
,
165
,
165
,
164
,
164
,
164
,
164
,
164
,
164
,
164
,
16
4
,
165
,
165
,
165
,
165
,
165
,
16
6
,
166
,
167
,
168
,
169
,
169
,
170
,
165
,
165
,
165
,
16
5
,
166
,
166
,
167
,
168
,
169
,
169
,
17
1
,
172
,
171
,
171
,
171
,
171
,
171
,
171
,
171
,
171
,
17
0
,
171
,
172
,
171
,
171
,
171
,
171
,
171
,
171
,
171
,
171
,
17
3
,
173
,
174
,
174
,
175
,
175
,
175
,
175
,
175
,
171
,
17
1
,
173
,
173
,
174
,
174
,
175
,
175
,
175
,
175
,
175
,
175
,
175
,
175
,
175
,
175
,
175
,
17
6
,
176
,
176
,
175
,
175
,
175
,
175
,
175
,
175
,
175
,
17
5
,
176
,
176
,
17
7
,
177
,
178
,
178
,
178
,
178
,
178
,
178
,
178
,
178
,
17
6
,
177
,
177
,
178
,
178
,
178
,
178
,
178
,
178
,
178
,
178
,
178
,
178
,
178
,
178
,
178
,
17
9
,
179
,
180
,
180
,
178
,
178
,
178
,
178
,
178
,
178
,
17
8
,
179
,
179
,
180
,
18
1
,
182
,
182
,
183
,
183
,
184
,
184
,
185
,
185
,
185
,
18
0
,
181
,
182
,
182
,
183
,
183
,
184
,
184
,
185
,
185
,
18
6
,
186
,
186
,
186
,
187
,
187
,
187
,
187
,
187
,
187
,
18
5
,
186
,
186
,
186
,
186
,
187
,
187
,
187
,
187
,
187
,
187
,
187
,
187
,
18
8
,
188
,
188
,
188
,
189
,
189
,
190
,
187
,
187
,
187
,
18
7
,
188
,
188
,
188
,
188
,
189
,
189
,
190
,
190
,
190
,
190
,
19
1
,
192
,
192
,
193
,
193
,
194
,
190
,
190
,
190
,
190
,
19
0
,
190
,
191
,
192
,
192
,
193
,
19
4
,
195
,
195
,
195
,
196
,
196
,
197
,
198
,
199
,
199
,
19
3
,
194
,
194
,
195
,
195
,
195
,
196
,
196
,
197
,
198
,
200
,
200
,
201
,
201
,
202
,
202
,
203
,
203
,
204
,
204
,
199
,
199
,
200
,
200
,
201
,
201
,
202
,
202
,
203
,
203
,
20
5
,
205
,
206
,
206
,
206
,
206
,
206
,
207
,
207
,
208
,
20
4
,
204
,
205
,
205
,
206
,
206
,
206
,
206
,
206
,
207
,
20
8
,
209
,
210
,
211
,
211
,
211
,
211
,
212
,
212
,
212
,
20
7
,
208
,
208
,
209
,
210
,
211
,
211
,
211
,
211
,
212
,
213
,
213
,
214
,
215
,
215
,
216
21
2
,
212
,
21
3
,
213
,
214
,
215
,
215
,
216
};
};
static
const
short
yyr2
[]
=
{
0
,
static
const
short
yyr2
[]
=
{
0
,
...
@@ -478,280 +479,290 @@ static const short yyr2[] = { 0,
...
@@ -478,280 +479,290 @@ static const short yyr2[] = { 0,
3
,
1
,
3
,
1
,
3
,
3
,
2
,
1
,
3
,
1
,
3
,
1
,
3
,
1
,
3
,
3
,
2
,
1
,
3
,
1
,
3
,
1
,
6
,
1
,
1
,
0
,
1
,
1
,
3
,
1
,
3
,
1
,
6
,
1
,
1
,
0
,
1
,
1
,
3
,
1
,
1
,
4
,
3
,
3
,
6
,
1
,
3
,
1
,
3
,
3
,
1
,
4
,
3
,
3
,
6
,
1
,
3
,
1
,
3
,
3
,
1
,
3
,
1
,
1
,
0
,
1
,
1
,
3
,
3
,
3
,
3
,
1
,
3
,
1
,
1
,
0
,
1
,
1
,
3
,
3
,
1
,
1
,
3
,
2
,
1
,
5
,
0
,
1
,
1
,
3
,
3
,
1
,
1
,
3
,
2
,
1
,
5
,
0
,
1
,
1
,
2
,
4
,
4
,
0
,
1
,
0
,
6
,
1
,
2
,
1
,
3
,
2
,
4
,
4
,
0
,
1
,
0
,
6
,
1
,
2
,
1
,
1
,
3
,
3
,
3
,
1
,
1
,
4
,
4
,
4
,
1
,
1
,
1
,
3
,
3
,
3
,
1
,
1
,
4
,
4
,
6
,
6
,
1
,
4
,
4
,
1
,
3
,
1
,
3
,
3
,
4
,
6
,
6
,
1
,
4
,
4
,
1
,
3
,
1
,
3
,
3
,
1
,
3
,
1
,
3
,
1
,
1
,
1
,
1
,
4
,
3
,
3
,
1
,
3
,
1
,
3
,
1
,
1
,
1
,
1
,
3
,
0
,
3
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
4
,
3
,
0
,
3
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
3
,
1
,
2
,
1
,
1
,
1
,
1
,
2
,
1
,
1
,
1
,
3
,
1
,
2
,
1
,
1
,
1
,
1
,
2
,
1
,
1
,
2
,
2
,
1
,
1
,
1
,
1
,
2
,
2
,
2
,
1
,
1
,
2
,
2
,
1
,
1
,
1
,
1
,
1
,
2
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
2
,
1
,
2
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
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
,
1
,
0
,
1
,
1
,
4
,
3
,
4
,
1
,
3
,
1
,
3
,
3
,
3
,
4
,
3
,
1
,
3
,
3
,
3
,
5
,
1
,
3
,
3
,
3
,
4
,
3
,
1
,
3
,
3
,
3
,
1
,
1
,
1
,
2
,
2
,
3
,
1
,
1
,
1
,
3
,
3
,
1
,
1
,
1
,
2
,
2
,
3
,
1
,
1
,
1
,
1
,
1
,
1
,
5
,
1
,
3
,
1
,
3
,
0
,
1
,
1
,
1
,
1
,
1
,
1
,
5
,
1
,
3
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
3
,
4
,
1
,
3
,
3
,
0
,
1
,
1
,
1
,
1
,
1
,
1
,
3
,
4
,
2
,
3
,
1
,
3
,
0
,
1
,
1
,
2
,
2
,
3
,
1
,
3
,
2
,
3
,
1
,
3
,
0
,
1
,
1
,
2
,
1
,
3
,
1
,
4
,
4
,
1
,
1
,
1
,
1
,
0
,
2
,
3
,
1
,
3
,
1
,
4
,
4
,
1
,
1
,
1
,
1
,
2
,
4
,
0
,
1
,
1
,
1
,
0
,
1
,
1
,
1
,
0
,
1
,
2
,
4
,
0
,
1
,
1
,
1
,
0
,
1
,
1
,
1
,
0
,
1
,
1
1
,
1
,
1
,
1
,
1
,
0
,
1
,
1
};
};
static
const
short
yydefact
[]
=
{
0
,
static
const
short
yydefact
[]
=
{
0
,
26
1
,
262
,
1
,
2
,
5
,
3
,
0
,
0
,
6
,
266
,
26
3
,
264
,
1
,
2
,
5
,
3
,
0
,
0
,
6
,
268
,
13
,
8
,
0
,
9
,
11
,
14
,
7
,
10
,
0
,
0
,
13
,
8
,
0
,
9
,
11
,
14
,
7
,
10
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
15
,
16
,
0
,
22
,
20
,
0
,
0
,
0
,
0
,
0
,
15
,
16
,
0
,
22
,
20
,
18
,
21
,
19
,
0
,
17
,
12
,
23
,
16
3
,
0
,
0
,
18
,
21
,
19
,
0
,
17
,
12
,
23
,
16
4
,
0
,
0
,
16
4
,
165
,
166
,
0
,
167
,
168
,
176
,
169
,
170
,
171
,
16
5
,
166
,
167
,
0
,
168
,
169
,
177
,
170
,
171
,
172
,
17
2
,
173
,
174
,
175
,
0
,
24
,
25
,
27
,
28
,
31
,
17
3
,
174
,
175
,
176
,
0
,
24
,
25
,
27
,
28
,
31
,
29
,
30
,
34
,
0
,
0
,
32
,
0
,
47
,
0
,
48
,
29
,
30
,
34
,
0
,
0
,
32
,
0
,
47
,
0
,
48
,
50
,
52
,
36
,
0
,
37
,
0
,
40
,
42
,
44
,
4
,
50
,
52
,
36
,
0
,
37
,
0
,
40
,
42
,
44
,
4
,
26
,
25
0
,
118
,
263
,
0
,
146
,
0
,
0
,
159
,
153
,
26
,
25
2
,
119
,
265
,
0
,
147
,
0
,
0
,
160
,
154
,
15
7
,
158
,
147
,
0
,
0
,
148
,
152
,
156
,
0
,
0
,
15
8
,
159
,
148
,
0
,
0
,
149
,
153
,
157
,
0
,
0
,
54
,
55
,
1
49
,
122
,
0
,
33
,
46
,
45
,
0
,
0
,
54
,
55
,
1
50
,
123
,
0
,
33
,
46
,
45
,
0
,
0
,
35
,
38
,
0
,
0
,
0
,
0
,
25
4
,
64
,
63
,
0
,
35
,
38
,
0
,
0
,
0
,
0
,
25
6
,
64
,
63
,
0
,
25
1
,
258
,
0
,
160
,
155
,
154
,
151
,
150
,
0
,
66
,
25
3
,
260
,
0
,
161
,
156
,
155
,
152
,
151
,
0
,
66
,
0
,
68
,
0
,
0
,
0
,
49
,
51
,
5
,
41
,
43
,
0
,
68
,
0
,
0
,
0
,
49
,
51
,
5
,
41
,
43
,
0
,
25
6
,
257
,
255
,
0
,
118
,
263
,
113
,
0
,
0
,
0
,
25
8
,
259
,
257
,
0
,
119
,
265
,
114
,
0
,
0
,
18
2
,
182
,
62
,
182
,
116
,
161
,
149
,
106
,
107
,
0
,
18
3
,
183
,
62
,
183
,
117
,
162
,
150
,
107
,
108
,
0
,
26
0
,
259
,
252
,
119
,
121
,
0
,
0
,
0
,
0
,
56
,
26
2
,
261
,
254
,
120
,
122
,
0
,
0
,
0
,
0
,
56
,
12
8
,
129
,
123
,
124
,
126
,
120
,
137
,
139
,
138
,
248
,
12
9
,
130
,
124
,
125
,
127
,
121
,
138
,
140
,
139
,
250
,
2
49
,
135
,
134
,
136
,
132
,
130
,
141
,
140
,
0
,
142
,
2
51
,
136
,
135
,
137
,
133
,
131
,
142
,
141
,
0
,
143
,
39
,
0
,
89
,
250
,
127
,
0
,
0
,
0
,
0
,
0
,
39
,
0
,
90
,
252
,
128
,
0
,
0
,
0
,
0
,
0
,
7
5
,
0
,
0
,
183
,
184
,
75
,
0
,
105
,
0
,
162
,
7
6
,
0
,
0
,
184
,
185
,
76
,
0
,
106
,
0
,
163
,
25
0
,
250
,
67
,
70
,
69
,
212
,
213
,
209
,
0
,
208
,
25
2
,
252
,
67
,
71
,
70
,
69
,
214
,
211
,
210
,
0
,
2
14
,
0
,
60
,
0
,
0
,
0
,
57
,
58
,
61
,
19
1
,
2
09
,
212
,
0
,
60
,
0
,
0
,
0
,
57
,
58
,
6
1
,
0
,
197
,
203
,
202
,
225
,
226
,
210
,
211
,
0
,
0
,
192
,
0
,
198
,
204
,
203
,
227
,
228
,
213
,
216
,
215
,
0
,
0
,
94
,
0
,
0
,
237
,
87
,
87
,
91
,
236
,
0
,
0
,
0
,
0
,
95
,
0
,
0
,
239
,
88
,
88
,
0
,
253
,
0
,
102
,
0
,
82
,
85
,
250
,
117
,
0
,
92
,
238
,
0
,
255
,
0
,
103
,
0
,
83
,
86
,
252
,
0
,
0
,
76
,
77
,
81
,
250
,
0
,
188
,
264
,
0
,
118
,
0
,
0
,
0
,
77
,
78
,
82
,
252
,
0
,
189
,
0
,
264
,
247
,
239
,
0
,
241
,
246
,
243
,
0
,
71
,
266
,
0
,
0
,
266
,
249
,
241
,
0
,
243
,
248
,
245
,
73
,
74
,
65
,
204
,
0
,
0
,
0
,
0
,
0
,
53
,
0
,
72
,
74
,
75
,
65
,
205
,
0
,
0
,
0
,
0
,
0
,
179
,
180
,
177
,
178
,
0
,
0
,
181
,
0
,
0
,
0
,
53
,
0
,
180
,
181
,
178
,
179
,
0
,
0
,
182
,
0
,
0
,
125
,
144
,
133
,
143
,
131
,
0
,
86
,
95
,
0
,
0
,
0
,
0
,
126
,
145
,
134
,
144
,
132
,
0
,
90
,
238
,
88
,
235
,
235
,
114
,
0
,
108
,
0
,
84
,
87
,
96
,
91
,
240
,
89
,
237
,
237
,
115
,
0
,
109
,
0
,
250
,
109
,
0
,
235
,
186
,
0
,
250
,
265
,
0
,
0
,
85
,
0
,
252
,
110
,
0
,
237
,
187
,
0
,
252
,
110
,
250
,
240
,
0
,
0
,
115
,
250
,
205
,
206
,
201
,
267
,
0
,
111
,
252
,
242
,
0
,
0
,
116
,
252
,
206
,
199
,
0
,
227
,
196
,
59
,
192
,
193
,
194
,
0
,
200
,
207
,
202
,
200
,
0
,
229
,
197
,
59
,
193
,
194
,
195
,
198
,
0
,
0
,
229
,
145
,
0
,
92
,
93
,
103
,
10
4
,
0
,
201
,
199
,
0
,
0
,
231
,
146
,
0
,
93
,
9
4
,
1
42
,
83
,
185
,
80
,
78
,
79
,
189
,
0
,
187
,
0
,
1
04
,
105
,
143
,
84
,
186
,
81
,
79
,
80
,
190
,
0
,
242
,
0
,
0
,
72
,
207
,
218
,
0
,
216
,
182
,
195
,
188
,
0
,
244
,
0
,
0
,
73
,
208
,
220
,
0
,
218
,
0
,
231
,
233
,
228
,
0
,
96
,
0
,
111
,
112
,
245
,
183
,
196
,
0
,
233
,
235
,
230
,
0
,
97
,
0
,
112
,
244
,
215
,
0
,
220
,
232
,
0
,
230
,
0
,
190
,
217
,
113
,
247
,
246
,
217
,
0
,
222
,
234
,
0
,
232
,
0
,
223
,
224
,
222
,
219
,
221
,
234
,
100
,
0
,
98
,
101
,
191
,
219
,
225
,
226
,
224
,
221
,
223
,
236
,
101
,
0
,
9
7
,
99
,
0
,
0
,
0
9
9
,
102
,
98
,
100
,
0
,
0
,
0
};
};
static
const
short
yydefgoto
[]
=
{
41
3
,
static
const
short
yydefgoto
[]
=
{
41
5
,
3
,
4
,
8
,
9
,
13
,
14
,
25
,
26
,
27
,
55
,
3
,
4
,
8
,
9
,
13
,
14
,
25
,
26
,
27
,
55
,
56
,
57
,
106
,
58
,
74
,
75
,
76
,
77
,
59
,
69
,
56
,
57
,
106
,
58
,
74
,
75
,
76
,
77
,
59
,
69
,
70
,
60
,
100
,
22
6
,
227
,
228
,
61
,
129
,
130
,
279
,
70
,
60
,
100
,
22
7
,
228
,
229
,
61
,
129
,
130
,
281
,
28
0
,
262
,
263
,
264
,
255
,
256
,
118
,
314
,
192
,
193
,
28
2
,
264
,
265
,
266
,
257
,
258
,
118
,
316
,
192
,
193
,
3
09
,
310
,
398
,
408
,
409
,
265
,
281
,
154
,
155
,
173
,
3
11
,
312
,
400
,
410
,
411
,
267
,
283
,
154
,
155
,
173
,
174
,
194
,
195
,
62
,
186
,
24
0
,
187
,
305
,
156
,
103
,
174
,
194
,
195
,
62
,
186
,
24
2
,
187
,
307
,
156
,
103
,
158
,
159
,
29
6
,
297
,
299
,
203
,
204
,
205
,
267
,
268
,
158
,
159
,
29
8
,
299
,
301
,
203
,
204
,
205
,
269
,
270
,
23
0
,
286
,
231
,
232
,
233
,
377
,
378
,
404
,
405
,
234
,
23
1
,
288
,
232
,
233
,
234
,
379
,
380
,
406
,
407
,
235
,
23
5
,
236
,
353
,
354
,
382
,
249
,
250
,
210
,
275
,
276
,
23
6
,
237
,
355
,
356
,
384
,
251
,
252
,
210
,
277
,
278
,
23
7
,
251
,
121
,
122
,
145
,
163
,
189
,
104
,
328
,
238
23
8
,
253
,
121
,
122
,
145
,
163
,
239
,
104
,
330
,
240
};
};
static
const
short
yypact
[]
=
{
1
20
,
static
const
short
yypact
[]
=
{
1
48
,
-
32768
,
-
32768
,
1
20
,
-
32768
,
-
64
,
-
32768
,
38
,
-
5
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
1
48
,
-
32768
,
-
58
,
-
32768
,
45
,
43
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
5
5
,
-
32768
,
-
25
,
165
,
-
32768
,
-
32768
,
90
,
49
,
-
32768
,
-
32768
,
5
3
,
-
32768
,
-
13
,
144
,
-
32768
,
-
32768
,
97
,
68
,
60
,
73
,
74
,
82
,
136
,
165
,
-
32768
,
54
,
-
32768
,
-
32768
,
59
,
83
,
84
,
95
,
189
,
144
,
-
32768
,
89
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
1
51
,
-
32768
,
-
32768
,
314
,
-
32768
,
177
,
23
,
-
32768
,
-
32768
,
-
32768
,
1
80
,
-
32768
,
-
32768
,
367
,
-
32768
,
191
,
35
,
-
32768
,
-
32768
,
-
32768
,
159
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
201
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
1
87
,
314
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
1
67
,
367
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
25
6
,
528
,
-
32768
,
114
,
-
32768
,
76
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
25
7
,
581
,
-
32768
,
108
,
-
32768
,
69
,
-
32768
,
1
33
,
-
32768
,
-
32768
,
42
,
-
32768
,
-
20
,
-
32768
,
147
,
-
32768
,
-
32768
,
1
14
,
-
32768
,
-
32768
,
16
,
-
32768
,
-
23
,
-
32768
,
122
,
-
32768
,
-
32768
,
-
32768
,
-
3
,
144
,
-
32768
,
183
,
-
32768
,
185
,
198
,
-
32768
,
-
32768
,
-
32768
,
-
10
,
133
,
-
32768
,
160
,
-
32768
,
165
,
181
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
2
32
,
212
,
-
32768
,
-
32768
,
-
32768
,
545
,
292
,
-
32768
,
-
32768
,
-
32768
,
2
14
,
190
,
-
32768
,
-
32768
,
-
32768
,
598
,
271
,
-
32768
,
-
32768
,
-
32768
,
1
86
,
295
,
-
32768
,
-
32768
,
-
32768
,
101
,
195
,
-
32768
,
-
32768
,
-
32768
,
1
71
,
277
,
-
32768
,
-
32768
,
-
32768
,
231
,
183
,
-
32768
,
-
32768
,
1
20
,
101
,
197
,
199
,
3
,
-
32768
,
-
32768
,
391
,
-
32768
,
-
32768
,
1
48
,
231
,
194
,
182
,
1
,
-
32768
,
-
32768
,
444
,
-
32768
,
113
,
101
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
78
,
-
32768
,
-
32768
,
28
,
231
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
82
,
-
32768
,
200
,
202
,
210
,
263
,
279
,
-
32768
,
-
32768
,
-
64
,
-
32768
,
-
32768
,
185
,
186
,
196
,
350
,
163
,
-
32768
,
-
32768
,
-
58
,
-
32768
,
-
32768
,
1
82
,
-
32768
,
-
32768
,
-
32768
,
306
,
-
22
,
213
,
283
,
226
,
266
,
1
70
,
-
32768
,
-
32768
,
-
32768
,
291
,
-
8
,
199
,
275
,
208
,
245
,
-
1
2
,
-
8
,
-
32768
,
-
32
,
-
32768
,
-
32768
,
228
,
-
32768
,
-
32768
,
233
,
-
1
7
,
75
,
-
32768
,
-
55
,
-
32768
,
-
32768
,
213
,
-
32768
,
-
32768
,
215
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
3
40
,
545
,
336
,
336
,
95
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
3
14
,
598
,
313
,
231
,
297
,
-
32768
,
-
32768
,
2
35
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
2
12
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
2
38
,
239
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
2
16
,
217
,
-
32768
,
1
03
,
-
32768
,
29
,
-
32768
,
236
,
325
,
36
,
237
,
248
,
-
32768
,
1
27
,
-
32768
,
27
,
-
32768
,
220
,
303
,
7
,
221
,
226
,
6
,
142
,
286
,
-
32768
,
250
,
6
,
289
,
-
32768
,
51
,
-
32768
,
51
,
102
,
268
,
-
32768
,
233
,
51
,
273
,
-
32768
,
48
,
-
32768
,
5
,
244
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
57
,
-
32768
,
6
,
225
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
12
,
-
32768
,
330
,
-
32768
,
120
,
142
,
257
,
258
,
-
32768
,
241
,
271
,
-
32768
,
-
32768
,
315
,
-
32768
,
148
,
102
,
240
,
238
,
-
32768
,
272
,
2
65
,
57
,
-
32768
,
-
32768
,
269
,
-
32768
,
-
32768
,
-
32768
,
182
,
371
,
2
53
,
251
,
-
12
,
-
32768
,
-
32768
,
254
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
336
,
279
,
281
,
182
,
279
,
-
32768
,
291
,
291
,
-
32768
,
-
32768
,
170
,
355
,
313
,
163
,
270
,
170
,
163
,
-
32768
,
279
,
279
,
468
,
-
32768
,
336
,
267
,
108
,
-
32768
,
-
32768
,
244
,
-
32768
,
142
,
-
32768
,
-
32768
,
521
,
-
32768
,
313
,
263
,
153
,
-
32768
,
-
32768
,
225
,
313
,
280
,
275
,
-
32768
,
-
32768
,
244
,
284
,
173
,
336
,
142
,
-
32768
,
102
,
306
,
276
,
274
,
-
32768
,
-
32768
,
225
,
278
,
130
,
287
,
336
,
-
32768
,
-
32768
,
110
,
-
32768
,
-
32768
,
282
,
116
,
-
32768
,
313
,
102
,
281
,
313
,
-
32768
,
-
32768
,
154
,
-
32768
,
-
32768
,
282
,
-
32768
,
-
32768
,
-
32768
,
273
,
293
,
170
,
290
,
288
,
294
,
-
32768
,
155
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
269
,
285
,
210
,
286
,
289
,
95
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
142
,
142
,
-
32768
,
142
,
142
,
288
,
-
32768
,
297
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
102
,
102
,
-
32768
,
234
,
285
,
-
32768
,
-
32768
,
392
,
-
32768
,
-
32768
,
319
,
-
32768
,
-
32768
,
102
,
102
,
280
,
283
,
-
32768
,
-
32768
,
391
,
-
32768
,
-
32768
,
316
,
-
32768
,
-
32768
,
-
32768
,
-
17
,
-
17
,
-
32768
,
296
,
-
32768
,
36
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
9
,
9
,
-
32768
,
343
,
-
32768
,
299
,
244
,
-
32768
,
6
,
-
17
,
-
32768
,
308
,
244
,
-
32768
,
30
5
,
7
,
-
32768
,
298
,
225
,
-
32768
,
51
,
9
,
-
32768
,
295
,
22
5
,
-
32768
,
244
,
-
32768
,
61
,
296
,
-
32768
,
5
,
-
32768
,
300
,
-
32768
,
-
32768
,
300
,
-
32768
,
225
,
-
32768
,
56
,
343
,
-
32768
,
6
,
-
32768
,
-
32768
,
43
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
310
,
-
32768
,
296
,
-
32768
,
-
32768
,
30
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
11
,
123
,
-
32768
,
-
32768
,
316
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
301
,
-
32768
,
-
32768
,
11
,
168
,
-
32768
,
-
32768
,
307
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
312
,
468
,
-
32768
,
468
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
304
,
521
,
-
32768
,
315
,
317
,
-
32768
,
-
32768
,
-
32768
,
125
,
-
32768
,
-
32
,
-
32768
,
-
32768
,
521
,
-
32768
,
305
,
308
,
-
32768
,
-
32768
,
-
32768
,
169
,
-
32768
,
336
,
311
,
-
32768
,
-
32768
,
285
,
-
32768
,
142
,
-
32768
,
-
32768
,
-
32768
,
-
55
,
-
32768
,
313
,
302
,
-
32768
,
-
32768
,
283
,
-
32768
,
102
,
-
32768
,
-
32768
,
-
32768
,
43
,
17
,
311
,
336
,
-
32768
,
160
,
241
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
30
,
24
,
302
,
313
,
-
32768
,
125
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
14
,
-
32768
,
-
32768
,
272
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
22
,
-
32768
,
-
32768
,
395
,
424
,
-
32768
-
32768
,
-
32768
,
-
32768
,
-
32768
,
418
,
419
,
-
32768
};
};
static
const
short
yypgoto
[]
=
{
-
32768
,
static
const
short
yypgoto
[]
=
{
-
32768
,
-
32768
,
4
22
,
298
,
-
32768
,
-
32768
,
413
,
-
32768
,
-
32768
,
402
,
-
32768
,
-
32768
,
4
17
,
284
,
-
32768
,
-
32768
,
410
,
-
32768
,
-
32768
,
398
,
-
32768
,
-
32768
,
3
73
,
-
32768
,
-
32768
,
-
32768
,
356
,
-
32768
,
318
,
-
32768
,
-
32768
,
-
32768
,
3
69
,
-
32768
,
-
32768
,
-
32768
,
353
,
-
32768
,
318
,
-
32768
,
-
32768
,
3
24
,
-
32768
,
369
,
-
32768
,
-
32768
,
146
,
-
32768
,
-
32768
,
276
,
-
32768
,
3
19
,
-
32768
,
364
,
-
32768
,
-
32768
,
137
,
-
32768
,
-
32768
,
267
,
-
32768
,
105
,
240
,
-
32768
,
121
,
-
32768
,
129
,
-
32768
,
196
,
-
32768
,
207
,
96
,
230
,
-
32768
,
111
,
-
32768
,
117
,
-
32768
,
192
,
-
32768
,
193
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
44
,
-
183
,
-
65
,
-
129
,
-
53
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
33
,
-
185
,
-
79
,
-
300
,
-
53
,
-
32768
,
2
14
,
-
185
,
-
114
,
-
32768
,
-
160
,
-
32768
,
-
252
,
-
32768
,
-
41
,
-
117
,
2
03
,
-
186
,
-
124
,
-
32768
,
-
165
,
-
32768
,
-
246
,
-
32768
,
-
48
,
-
119
,
-
32768
,
18
,
-
32768
,
-
32768
,
-
32768
,
-
147
,
-
32768
,
-
32768
,
-
204
,
-
168
,
-
32768
,
18
,
-
32768
,
-
32768
,
-
32768
,
-
147
,
-
32768
,
-
32768
,
-
178
,
-
166
,
-
36
,
227
,
-
32768
,
-
207
,
-
32768
,
-
32768
,
67
,
-
32768
,
-
32768
,
-
32768
,
-
200
,
207
,
-
32768
,
-
259
,
-
32768
,
-
32768
,
50
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
77
,
80
,
-
238
,
-
32768
,
-
32768
,
-
32768
,
130
,
-
32768
,
-
32768
,
-
32768
,
60
,
63
,
-
295
,
-
32768
,
-
32768
,
-
32768
,
112
,
-
12
5
,
-
74
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
1
,
-
32768
,
191
,
-
7
-
12
6
,
-
80
,
-
32768
,
-
32768
,
-
32768
,
-
32768
,
31
,
-
32768
,
175
,
-
7
};
};
#define YYLAST 6
36
#define YYLAST 6
89
static
const
short
yytable
[]
=
{
15
,
static
const
short
yytable
[]
=
{
15
,
5
,
229
,
157
,
5
,
207
,
15
,
208
,
120
,
248
,
188
,
157
,
120
,
119
,
230
,
207
,
15
,
208
,
250
,
188
,
175
,
101
,
101
,
10
,
10
,
257
,
245
,
119
,
407
,
10
,
175
,
101
,
101
,
259
,
10
,
10
,
102
,
102
,
116
,
10
,
142
,
289
,
142
,
102
,
102
,
116
,
113
,
171
,
172
,
16
,
65
,
359
,
360
,
113
,
10
,
200
,
409
,
1
,
2
,
343
,
65
,
10
,
401
,
72
,
1
,
2
,
261
,
79
,
64
,
7
,
67
,
5
,
368
,
72
,
5
,
171
,
172
,
79
,
10
,
403
,
171
,
71
,
171
,
172
,
10
,
78
,
10
,
11
,
200
,
65
,
10
,
172
,
247
,
10
,
353
,
7
,
1
,
2
,
291
,
65
,
202
,
10
,
246
,
1
,
2
,
63
,
321
,
64
,
131
,
10
,
180
,
131
,
67
,
10
,
11
,
63
,
10
,
180
,
181
,
10
,
247
,
181
,
245
,
10
,
11
,
359
,
330
,
79
,
200
,
10
,
180
,
10
,
11
,
200
,
10
,
180
,
181
,
79
,
64
,
161
,
390
,
181
,
200
,
202
,
63
,
78
,
357
,
358
,
143
,
341
,
19
,
71
,
391
,
361
,
63
,
78
,
143
,
16
,
248
,
309
,
162
,
-
261
,
307
,
372
,
277
,
312
,
402
,
366
,
114
,
123
,
403
,
263
,
314
,
279
,
323
,
114
,
201
,
64
,
202
,
286
,
144
,
201
,
144
,
202
,
351
,
206
,
349
,
202
,
246
,
28
,
132
,
374
,
19
,
404
,
332
,
-
263
,
248
,
405
,
348
,
349
,
287
,
216
,
72
,
10
,
180
,
181
,
29
,
79
,
254
,
10
,
71
,
350
,
72
,
123
,
117
,
78
,
28
,
79
,
217
,
256
,
10
,
117
,
1
,
2
,
138
,
78
,
165
,
188
,
411
,
117
,
188
,
180
,
181
,
1
,
2
,
249
,
165
,
175
,
188
,
131
,
117
,
160
,
381
,
229
,
164
,
175
,
131
,
32
,
190
,
247
,
68
,
188
,
383
,
111
,
351
,
29
,
413
,
230
,
190
,
409
,
132
,
1
,
2
,
-
235
,
157
,
176
,
257
,
-
235
,
254
,
34
,
217
,
-
237
,
378
,
285
,
157
,
-
237
,
259
,
32
,
171
,
172
,
71
,
218
,
12
,
117
,
30
,
376
,
259
,
283
,
216
,
111
,
10
,
117
,
68
,
30
,
138
,
78
,
261
,
218
,
219
,
12
,
275
,
180
,
181
,
273
,
161
,
274
,
219
,
31
,
284
,
17
,
36
,
160
,
276
,
256
,
164
,
200
,
20
,
17
,
275
,
1
,
2
,
214
,
215
,
273
,
407
,
162
,
33
,
10
,
132
,
285
,
1
,
214
,
216
,
220
,
21
,
176
,
189
,
31
,
177
,
178
,
179
,
2
,
37
,
171
,
172
,
220
,
216
,
20
,
10
,
180
,
181
,
10
,
180
,
181
,
1
,
2
,
108
,
109
,
206
,
33
,
202
,
221
,
166
,
108
,
109
,
21
,
167
,
217
,
218
,
66
,
222
,
322
,
221
,
171
,
172
,
22
,
166
,
23
,
222
,
327
,
167
,
258
,
360
,
320
,
266
,
171
,
172
,
223
,
224
,
266
,
225
,
260
,
34
,
362
,
268
,
36
,
24
,
223
,
132
,
268
,
215
,
325
,
278
,
219
,
282
,
73
,
22
,
243
,
23
,
277
,
373
,
37
,
280
,
66
,
284
,
225
,
80
,
226
,
182
,
10
,
279
,
244
,
318
,
410
,
333
,
217
,
319
,
24
,
334
,
399
,
336
,
375
,
1
,
2
,
412
,
107
,
217
,
110
,
10
,
180
,
181
,
107
,
220
,
410
,
337
,
288
,
80
,
384
,
221
,
392
,
340
,
1
,
2
,
401
,
412
,
115
,
183
,
294
,
295
,
296
,
297
,
385
,
394
,
393
,
306
,
190
,
110
,
222
,
190
,
388
,
216
,
245
,
83
,
84
,
396
,
246
,
308
,
190
,
329
,
10
,
190
,
389
,
10
,
180
,
181
,
224
,
316
,
225
,
83
,
84
,
115
,
124
,
1
,
2
,
123
,
366
,
125
,
73
,
318
,
184
,
370
,
157
,
160
,
157
,
368
,
123
,
221
,
364
,
370
,
82
,
346
,
157
,
126
,
157
,
372
,
218
,
290
,
320
,
335
,
338
,
82
,
347
,
329
,
348
,
124
,
329
,
125
,
83
,
84
,
126
,
292
,
321
,
336
,
339
,
331
,
127
,
185
,
331
,
83
,
84
,
342
,
293
,
294
,
295
,
1
,
2
,
171
,
172
,
85
,
217
,
86
,
128
,
386
,
394
,
133
,
189
,
387
,
395
,
189
,
85
,
135
,
327
,
87
,
127
,
177
,
178
,
179
,
10
,
180
,
181
,
1
,
86
,
134
,
87
,
160
,
141
,
217
,
137
,
10
,
180
,
181
,
2
,
88
,
128
,
350
,
133
,
89
,
134
,
135
,
137
,
90
,
1
,
2
,
88
,
168
,
169
,
222
,
89
,
140
,
170
,
196
,
140
,
141
,
91
,
10
,
180
,
181
,
1
,
2
,
168
,
361
,
90
,
-
264
,
217
,
91
,
10
,
180
,
181
,
1
,
2
,
197
,
169
,
258
,
170
,
92
,
196
,
-
262
,
266
,
197
,
93
,
221
,
198
,
363
,
199
,
260
,
92
,
209
,
212
,
211
,
268
,
93
,
94
,
10
,
95
,
182
,
1
,
2
,
278
,
361
,
198
,
282
,
10
,
94
,
241
,
95
,
218
,
244
,
243
,
255
,
280
,
363
,
209
,
96
,
97
,
199
,
379
,
211
,
38
,
292
,
293
,
294
,
262
,
284
,
96
,
97
,
254
,
271
,
381
,
272
,
117
,
352
,
295
,
183
,
212
,
10
,
383
,
239
,
98
,
242
,
241
,
253
,
274
,
218
,
219
,
292
,
289
,
293
,
385
,
98
,
300
,
189
,
252
,
39
,
260
,
269
,
270
,
40
,
272
,
117
,
99
,
287
,
10
,
180
,
181
,
1
,
2
,
302
,
304
,
220
,
306
,
99
,
290
,
41
,
42
,
43
,
184
,
291
,
298
,
44
,
160
,
300
,
1
,
2
,
171
,
172
,
310
,
222
,
315
,
189
,
294
,
295
,
160
,
302
,
45
,
383
,
304
,
308
,
317
,
46
,
313
,
47
,
296
,
297
,
319
,
324
,
10
,
385
,
221
,
1
,
2
,
325
,
322
,
185
,
324
,
323
,
338
,
379
,
335
,
48
,
406
,
326
,
340
,
326
,
222
,
328
,
333
,
341
,
337
,
381
,
344
,
38
,
331
,
343
,
342
,
339
,
414
,
355
,
49
,
352
,
50
,
344
,
408
,
223
,
345
,
346
,
357
,
354
,
369
,
358
,
224
,
225
,
356
,
146
,
147
,
51
,
363
,
52
,
53
,
54
,
148
,
367
,
160
,
226
,
160
,
365
,
39
,
371
,
382
,
377
,
40
,
388
,
369
,
375
,
85
,
38
,
86
,
380
,
87
,
149
,
386
,
387
,
392
,
389
,
398
,
393
,
41
,
42
,
43
,
416
,
417
,
6
,
390
,
396
,
391
,
415
,
6
,
18
,
88
,
35
,
81
,
112
,
44
,
191
,
18
,
35
,
81
,
45
,
112
,
136
,
105
,
347
,
89
,
139
,
136
,
105
,
90
,
191
,
345
,
91
,
41
,
42
,
46
,
139
,
47
,
213
,
376
,
273
,
367
,
364
,
313
,
303
,
43
,
374
,
213
,
315
,
365
,
271
,
150
,
362
,
92
,
45
,
48
,
317
,
414
,
305
,
402
,
397
,
399
,
373
,
334
,
49
,
311
,
412
,
303
,
93
,
46
,
94
,
47
,
95
,
301
,
400
,
0
,
50
,
0
,
0
,
146
,
147
,
51
,
0
,
52
,
53
,
395
,
397
,
332
,
371
,
48
,
0
,
96
,
97
,
151
,
152
,
54
,
148
,
0
,
0
,
0
,
85
,
38
,
86
,
0
,
87
,
0
,
0
,
0
,
49
,
0
,
50
,
0
,
153
,
146
,
147
,
149
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
88
,
51
,
98
,
52
,
53
,
54
,
148
,
0
,
0
,
0
,
85
,
0
,
0
,
0
,
89
,
0
,
0
,
0
,
90
,
0
,
0
,
38
,
86
,
0
,
87
,
149
,
0
,
0
,
0
,
0
,
0
,
91
,
41
,
42
,
43
,
0
,
0
,
0
,
0
,
0
,
150
,
0
,
0
,
0
,
88
,
0
,
0
,
0
,
89
,
0
,
0
,
0
,
92
,
45
,
0
,
0
,
0
,
93
,
46
,
94
,
47
,
0
,
90
,
0
,
0
,
91
,
41
,
42
,
43
,
0
,
0
,
95
,
0
,
0
,
0
,
0
,
0
,
0
,
48
,
0
,
96
,
0
,
0
,
0
,
150
,
0
,
92
,
45
,
0
,
0
,
0
,
97
,
151
,
152
,
0
,
0
,
0
,
49
,
0
,
50
,
0
,
93
,
46
,
94
,
47
,
95
,
0
,
0
,
0
,
83
,
84
,
153
,
146
,
147
,
51
,
98
,
52
,
53
,
54
,
148
,
0
,
0
,
48
,
0
,
96
,
97
,
151
,
152
,
0
,
0
,
85
,
0
,
0
,
85
,
38
,
86
,
0
,
87
,
149
,
0
,
0
,
49
,
86
,
50
,
87
,
0
,
1
,
2
,
51
,
98
,
52
,
0
,
0
,
0
,
0
,
0
,
0
,
88
,
0
,
0
,
0
,
53
,
54
,
0
,
88
,
0
,
0
,
85
,
89
,
86
,
0
,
89
,
0
,
0
,
0
,
90
,
0
,
0
,
91
,
41
,
42
,
87
,
90
,
0
,
0
,
91
,
0
,
0
,
0
,
0
,
0
,
43
,
0
,
0
,
0
,
0
,
0
,
150
,
0
,
92
,
45
,
88
,
0
,
0
,
0
,
89
,
92
,
0
,
0
,
90
,
0
,
0
,
0
,
0
,
93
,
46
,
94
,
47
,
95
,
0
,
0
,
93
,
91
,
94
,
0
,
95
,
0
,
0
,
0
,
0
,
0
,
0
,
83
,
84
,
0
,
48
,
0
,
96
,
97
,
151
,
152
,
0
,
0
,
92
,
96
,
97
,
0
,
0
,
93
,
0
,
94
,
0
,
0
,
85
,
49
,
86
,
50
,
87
,
0
,
1
,
2
,
0
,
95
,
0
,
0
,
0
,
0
,
0
,
0
,
98
,
0
,
51
,
98
,
52
,
53
,
54
,
0
,
88
,
0
,
0
,
85
,
96
,
97
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
89
,
86
,
0
,
87
,
90
,
0
,
0
,
91
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
98
0
,
0
,
0
,
88
,
0
,
0
,
0
,
89
,
92
,
0
,
0
,
90
,
0
,
93
,
91
,
94
,
0
,
95
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
92
,
96
,
97
,
0
,
0
,
93
,
0
,
94
,
0
,
95
,
0
,
0
,
0
,
0
,
0
,
0
,
98
,
0
,
96
,
97
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
98
};
};
static
const
short
yycheck
[]
=
{
7
,
static
const
short
yycheck
[]
=
{
7
,
0
,
170
,
120
,
3
,
152
,
13
,
154
,
82
,
194
,
135
,
120
,
82
,
82
,
170
,
152
,
13
,
154
,
194
,
135
,
134
,
64
,
65
,
8
,
8
,
198
,
33
,
82
,
4
,
8
,
134
,
64
,
65
,
198
,
8
,
8
,
64
,
65
,
28
,
8
,
19
,
225
,
19
,
64
,
65
,
28
,
46
,
13
,
14
,
34
,
37
,
316
,
317
,
46
,
8
,
80
,
4
,
11
,
12
,
288
,
37
,
8
,
15
,
40
,
11
,
12
,
30
,
44
,
37
,
103
,
17
,
0
,
327
,
40
,
3
,
13
,
14
,
44
,
8
,
15
,
13
,
40
,
13
,
14
,
8
,
44
,
8
,
9
,
80
,
56
,
8
,
14
,
33
,
8
,
303
,
103
,
11
,
12
,
226
,
56
,
105
,
8
,
69
,
11
,
12
,
37
,
260
,
56
,
99
,
8
,
9
,
99
,
17
,
8
,
9
,
37
,
8
,
9
,
10
,
8
,
33
,
10
,
33
,
8
,
9
,
317
,
270
,
74
,
80
,
8
,
9
,
8
,
9
,
80
,
8
,
9
,
10
,
74
,
37
,
41
,
370
,
10
,
80
,
105
,
56
,
74
,
314
,
315
,
75
,
286
,
105
,
40
,
372
,
319
,
56
,
44
,
75
,
34
,
69
,
244
,
52
,
103
,
242
,
335
,
209
,
245
,
69
,
325
,
108
,
111
,
73
,
30
,
247
,
209
,
262
,
108
,
103
,
56
,
105
,
101
,
89
,
103
,
89
,
105
,
301
,
103
,
300
,
105
,
69
,
9
,
99
,
337
,
105
,
69
,
272
,
103
,
69
,
73
,
298
,
299
,
112
,
6
,
109
,
8
,
9
,
10
,
57
,
114
,
102
,
8
,
109
,
301
,
109
,
111
,
114
,
74
,
9
,
114
,
6
,
102
,
8
,
114
,
11
,
12
,
113
,
114
,
123
,
242
,
104
,
114
,
245
,
9
,
10
,
11
,
12
,
194
,
123
,
241
,
244
,
167
,
114
,
120
,
111
,
291
,
123
,
239
,
167
,
53
,
135
,
194
,
107
,
247
,
111
,
107
,
302
,
57
,
104
,
293
,
135
,
4
,
99
,
11
,
12
,
104
,
251
,
134
,
319
,
108
,
102
,
3
,
45
,
104
,
102
,
212
,
253
,
108
,
321
,
53
,
13
,
14
,
109
,
46
,
104
,
114
,
84
,
102
,
199
,
212
,
6
,
107
,
8
,
114
,
107
,
84
,
113
,
114
,
199
,
45
,
46
,
104
,
102
,
9
,
10
,
102
,
41
,
104
,
61
,
84
,
101
,
104
,
106
,
120
,
104
,
102
,
123
,
80
,
12
,
104
,
102
,
11
,
12
,
168
,
169
,
102
,
4
,
52
,
84
,
8
,
167
,
112
,
11
,
168
,
169
,
61
,
20
,
134
,
135
,
84
,
5
,
6
,
7
,
12
,
21
,
13
,
14
,
80
,
6
,
12
,
8
,
9
,
10
,
8
,
9
,
10
,
11
,
12
,
107
,
108
,
103
,
84
,
105
,
86
,
104
,
107
,
108
,
20
,
108
,
45
,
46
,
12
,
95
,
260
,
80
,
13
,
14
,
41
,
104
,
43
,
86
,
268
,
108
,
198
,
317
,
258
,
201
,
13
,
14
,
102
,
103
,
206
,
105
,
198
,
3
,
319
,
201
,
106
,
52
,
95
,
167
,
206
,
169
,
266
,
209
,
61
,
211
,
46
,
41
,
104
,
43
,
334
,
335
,
21
,
209
,
12
,
211
,
103
,
39
,
105
,
45
,
8
,
336
,
108
,
104
,
398
,
104
,
45
,
108
,
52
,
108
,
387
,
104
,
337
,
11
,
12
,
400
,
107
,
6
,
103
,
8
,
9
,
10
,
107
,
80
,
408
,
108
,
224
,
39
,
104
,
86
,
104
,
60
,
11
,
12
,
389
,
410
,
103
,
63
,
97
,
98
,
99
,
100
,
108
,
379
,
108
,
241
,
242
,
103
,
95
,
245
,
368
,
6
,
104
,
11
,
12
,
381
,
108
,
243
,
244
,
108
,
8
,
247
,
370
,
8
,
9
,
10
,
103
,
253
,
105
,
11
,
12
,
103
,
81
,
11
,
12
,
111
,
324
,
81
,
46
,
255
,
86
,
330
,
368
,
251
,
370
,
328
,
111
,
86
,
322
,
332
,
3
,
296
,
370
,
71
,
372
,
334
,
45
,
225
,
104
,
104
,
104
,
3
,
297
,
269
,
299
,
81
,
272
,
81
,
11
,
12
,
71
,
97
,
108
,
108
,
108
,
271
,
51
,
103
,
274
,
11
,
12
,
60
,
98
,
99
,
100
,
11
,
12
,
13
,
14
,
22
,
45
,
24
,
81
,
104
,
104
,
3
,
244
,
108
,
108
,
247
,
22
,
3
,
108
,
26
,
51
,
5
,
6
,
7
,
8
,
9
,
10
,
11
,
24
,
111
,
26
,
253
,
103
,
6
,
104
,
8
,
9
,
10
,
12
,
36
,
81
,
60
,
3
,
40
,
111
,
3
,
104
,
44
,
11
,
12
,
36
,
109
,
109
,
86
,
40
,
104
,
103
,
9
,
104
,
103
,
47
,
8
,
9
,
10
,
11
,
12
,
109
,
317
,
44
,
103
,
6
,
47
,
8
,
9
,
10
,
11
,
12
,
35
,
109
,
319
,
103
,
58
,
9
,
103
,
324
,
35
,
63
,
86
,
103
,
319
,
68
,
321
,
58
,
103
,
3
,
103
,
326
,
63
,
65
,
8
,
67
,
45
,
11
,
12
,
334
,
335
,
103
,
337
,
8
,
65
,
111
,
67
,
45
,
109
,
111
,
25
,
336
,
337
,
103
,
76
,
77
,
68
,
342
,
103
,
23
,
97
,
98
,
99
,
105
,
339
,
76
,
77
,
115
,
68
,
344
,
105
,
114
,
60
,
100
,
63
,
3
,
8
,
352
,
111
,
91
,
109
,
111
,
25
,
68
,
45
,
46
,
104
,
30
,
108
,
354
,
91
,
96
,
319
,
115
,
38
,
105
,
68
,
105
,
42
,
68
,
114
,
103
,
30
,
8
,
9
,
10
,
11
,
12
,
105
,
103
,
61
,
4
,
103
,
104
,
48
,
49
,
50
,
86
,
108
,
96
,
54
,
368
,
105
,
11
,
12
,
13
,
14
,
95
,
86
,
88
,
337
,
97
,
98
,
370
,
103
,
59
,
381
,
4
,
95
,
110
,
64
,
88
,
66
,
99
,
100
,
110
,
68
,
8
,
383
,
80
,
11
,
12
,
104
,
68
,
103
,
108
,
104
,
112
,
393
,
105
,
74
,
396
,
106
,
112
,
108
,
86
,
106
,
104
,
101
,
105
,
395
,
103
,
23
,
104
,
104
,
103
,
101
,
0
,
4
,
83
,
113
,
85
,
106
,
398
,
95
,
104
,
106
,
4
,
113
,
102
,
82
,
102
,
103
,
82
,
11
,
12
,
90
,
106
,
92
,
93
,
94
,
18
,
102
,
370
,
105
,
372
,
106
,
38
,
106
,
106
,
112
,
42
,
103
,
106
,
112
,
22
,
23
,
24
,
106
,
26
,
27
,
103
,
108
,
106
,
108
,
111
,
106
,
48
,
49
,
50
,
0
,
0
,
3
,
106
,
111
,
106
,
0
,
3
,
13
,
36
,
26
,
56
,
74
,
54
,
138
,
13
,
26
,
56
,
59
,
74
,
109
,
65
,
293
,
40
,
114
,
109
,
65
,
44
,
138
,
291
,
47
,
48
,
49
,
64
,
114
,
66
,
167
,
339
,
206
,
326
,
321
,
246
,
233
,
50
,
337
,
167
,
248
,
324
,
206
,
56
,
319
,
58
,
59
,
74
,
250
,
410
,
241
,
395
,
383
,
387
,
336
,
274
,
83
,
244
,
408
,
239
,
63
,
64
,
65
,
66
,
67
,
232
,
393
,
-
1
,
85
,
-
1
,
-
1
,
11
,
12
,
90
,
-
1
,
92
,
93
,
381
,
385
,
272
,
334
,
74
,
-
1
,
76
,
77
,
78
,
79
,
94
,
18
,
-
1
,
-
1
,
-
1
,
22
,
23
,
24
,
-
1
,
26
,
-
1
,
-
1
,
-
1
,
83
,
-
1
,
85
,
-
1
,
87
,
11
,
12
,
27
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
36
,
90
,
91
,
92
,
93
,
94
,
18
,
-
1
,
-
1
,
-
1
,
22
,
-
1
,
-
1
,
-
1
,
40
,
-
1
,
-
1
,
-
1
,
44
,
-
1
,
-
1
,
23
,
24
,
-
1
,
26
,
27
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
47
,
48
,
49
,
50
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
56
,
-
1
,
-
1
,
-
1
,
36
,
-
1
,
-
1
,
-
1
,
40
,
-
1
,
-
1
,
-
1
,
58
,
59
,
-
1
,
-
1
,
-
1
,
63
,
64
,
65
,
66
,
-
1
,
44
,
-
1
,
-
1
,
47
,
48
,
49
,
50
,
-
1
,
-
1
,
67
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
74
,
-
1
,
76
,
-
1
,
-
1
,
-
1
,
56
,
-
1
,
58
,
59
,
-
1
,
-
1
,
-
1
,
77
,
78
,
79
,
-
1
,
-
1
,
-
1
,
83
,
-
1
,
85
,
-
1
,
63
,
64
,
65
,
66
,
67
,
-
1
,
-
1
,
-
1
,
11
,
12
,
87
,
11
,
12
,
90
,
91
,
92
,
93
,
94
,
18
,
-
1
,
-
1
,
74
,
-
1
,
76
,
77
,
78
,
79
,
-
1
,
-
1
,
22
,
-
1
,
-
1
,
22
,
23
,
24
,
-
1
,
26
,
27
,
-
1
,
-
1
,
83
,
24
,
85
,
26
,
-
1
,
11
,
12
,
90
,
91
,
92
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
36
,
-
1
,
-
1
,
-
1
,
93
,
94
,
-
1
,
36
,
-
1
,
-
1
,
22
,
40
,
24
,
-
1
,
40
,
-
1
,
-
1
,
-
1
,
44
,
-
1
,
-
1
,
47
,
48
,
49
,
26
,
44
,
-
1
,
-
1
,
47
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
50
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
56
,
-
1
,
58
,
59
,
36
,
-
1
,
-
1
,
-
1
,
40
,
58
,
-
1
,
-
1
,
44
,
-
1
,
-
1
,
-
1
,
-
1
,
63
,
64
,
65
,
66
,
67
,
-
1
,
-
1
,
63
,
47
,
65
,
-
1
,
67
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
11
,
12
,
-
1
,
74
,
-
1
,
76
,
77
,
78
,
79
,
-
1
,
-
1
,
58
,
76
,
77
,
-
1
,
-
1
,
63
,
-
1
,
65
,
-
1
,
-
1
,
22
,
83
,
24
,
85
,
26
,
-
1
,
11
,
12
,
-
1
,
67
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
91
,
-
1
,
90
,
91
,
92
,
93
,
94
,
-
1
,
36
,
-
1
,
-
1
,
22
,
76
,
77
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
40
,
24
,
-
1
,
26
,
44
,
-
1
,
-
1
,
47
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
91
-
1
,
-
1
,
-
1
,
36
,
-
1
,
-
1
,
-
1
,
40
,
58
,
-
1
,
-
1
,
44
,
-
1
,
63
,
47
,
65
,
-
1
,
67
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
58
,
76
,
77
,
-
1
,
-
1
,
63
,
-
1
,
65
,
-
1
,
67
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
91
,
-
1
,
76
,
77
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
91
};
};
/* -*-C-*- Note some compilers choke on comments on `#line' lines. */
/* -*-C-*- Note some compilers choke on comments on `#line' lines. */
#line 3 "/usr/share/bison.simple"
#line 3 "/usr/share/bison.simple"
...
@@ -1854,6 +1865,16 @@ case 69:
...
@@ -1854,6 +1865,16 @@ case 69:
break
;}
break
;}
case
70
:
case
70
:
#line 819 "asn1p_y.y"
#line 819 "asn1p_y.y"
{
int
ret
;
yyval
.
a_parg
.
governor
=
asn1p_ref_new
(
yylineno
);
ret
=
asn1p_ref_add_component
(
yyval
.
a_parg
.
governor
,
yyvsp
[
-
2
].
tv_str
,
0
);
checkmem
(
ret
==
0
);
yyval
.
a_parg
.
argument
=
yyvsp
[
0
].
tv_str
;
;
break
;}
case
71
:
#line 826 "asn1p_y.y"
{
{
int
ret
;
int
ret
;
yyval
.
a_parg
.
governor
=
asn1p_ref_new
(
yylineno
);
yyval
.
a_parg
.
governor
=
asn1p_ref_new
(
yylineno
);
...
@@ -1863,29 +1884,29 @@ case 70:
...
@@ -1863,29 +1884,29 @@ case 70:
yyval
.
a_parg
.
argument
=
yyvsp
[
0
].
tv_str
;
yyval
.
a_parg
.
argument
=
yyvsp
[
0
].
tv_str
;
;
;
break
;}
break
;}
case
7
1
:
case
7
2
:
#line 83
0
"asn1p_y.y"
#line 83
7
"asn1p_y.y"
{
{
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
checkmem
(
yyval
.
a_expr
);
checkmem
(
yyval
.
a_expr
);
asn1p_expr_add
(
yyval
.
a_expr
,
yyvsp
[
0
].
a_expr
);
asn1p_expr_add
(
yyval
.
a_expr
,
yyvsp
[
0
].
a_expr
);
;
;
break
;}
break
;}
case
7
2
:
case
7
3
:
#line 8
35
"asn1p_y.y"
#line 8
42
"asn1p_y.y"
{
{
yyval
.
a_expr
=
yyvsp
[
-
2
].
a_expr
;
yyval
.
a_expr
=
yyvsp
[
-
2
].
a_expr
;
asn1p_expr_add
(
yyval
.
a_expr
,
yyvsp
[
0
].
a_expr
);
asn1p_expr_add
(
yyval
.
a_expr
,
yyvsp
[
0
].
a_expr
);
;
;
break
;}
break
;}
case
7
3
:
case
7
4
:
#line 84
2
"asn1p_y.y"
#line 84
9
"asn1p_y.y"
{
{
yyval
.
a_expr
=
yyvsp
[
0
].
a_expr
;
yyval
.
a_expr
=
yyvsp
[
0
].
a_expr
;
;
;
break
;}
break
;}
case
7
4
:
case
7
5
:
#line 8
45
"asn1p_y.y"
#line 8
52
"asn1p_y.y"
{
{
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
checkmem
(
yyval
.
a_expr
);
checkmem
(
yyval
.
a_expr
);
...
@@ -1894,31 +1915,31 @@ case 74:
...
@@ -1894,31 +1915,31 @@ case 74:
yyval
.
a_expr
->
meta_type
=
AMT_VALUE
;
yyval
.
a_expr
->
meta_type
=
AMT_VALUE
;
;
;
break
;}
break
;}
case
7
5
:
case
7
6
:
#line 8
58
"asn1p_y.y"
#line 8
76
"asn1p_y.y"
{
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
;
{
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
;
break
;}
break
;}
case
7
6
:
case
7
7
:
#line 8
59
"asn1p_y.y"
#line 8
77
"asn1p_y.y"
{
yyval
.
a_expr
=
yyvsp
[
0
].
a_expr
;
;
{
yyval
.
a_expr
=
yyvsp
[
0
].
a_expr
;
;
break
;}
break
;}
case
7
7
:
case
7
8
:
#line 8
62
"asn1p_y.y"
#line 8
80
"asn1p_y.y"
{
{
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
checkmem
(
yyval
.
a_expr
);
checkmem
(
yyval
.
a_expr
);
asn1p_expr_add
(
yyval
.
a_expr
,
yyvsp
[
0
].
a_expr
);
asn1p_expr_add
(
yyval
.
a_expr
,
yyvsp
[
0
].
a_expr
);
;
;
break
;}
break
;}
case
7
8
:
case
7
9
:
#line 8
67
"asn1p_y.y"
#line 8
85
"asn1p_y.y"
{
{
yyval
.
a_expr
=
yyvsp
[
-
2
].
a_expr
;
yyval
.
a_expr
=
yyvsp
[
-
2
].
a_expr
;
asn1p_expr_add
(
yyval
.
a_expr
,
yyvsp
[
0
].
a_expr
);
asn1p_expr_add
(
yyval
.
a_expr
,
yyvsp
[
0
].
a_expr
);
;
;
break
;}
break
;}
case
79
:
case
80
:
#line 8
74
"asn1p_y.y"
#line 8
92
"asn1p_y.y"
{
{
yyval
.
a_expr
=
yyvsp
[
-
1
].
a_expr
;
yyval
.
a_expr
=
yyvsp
[
-
1
].
a_expr
;
assert
(
yyval
.
a_expr
->
Identifier
==
0
);
assert
(
yyval
.
a_expr
->
Identifier
==
0
);
...
@@ -1926,8 +1947,8 @@ case 79:
...
@@ -1926,8 +1947,8 @@ case 79:
yyval
.
a_expr
->
marker
=
yyvsp
[
0
].
a_marker
;
yyval
.
a_expr
->
marker
=
yyvsp
[
0
].
a_marker
;
;
;
break
;}
break
;}
case
8
0
:
case
8
1
:
#line 8
80
"asn1p_y.y"
#line 8
98
"asn1p_y.y"
{
{
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
checkmem
(
yyval
.
a_expr
);
checkmem
(
yyval
.
a_expr
);
...
@@ -1936,43 +1957,43 @@ case 80:
...
@@ -1936,43 +1957,43 @@ case 80:
asn1p_expr_add
(
yyval
.
a_expr
,
yyvsp
[
0
].
a_expr
);
asn1p_expr_add
(
yyval
.
a_expr
,
yyvsp
[
0
].
a_expr
);
;
;
break
;}
break
;}
case
8
1
:
case
8
2
:
#line
887
"asn1p_y.y"
#line
905
"asn1p_y.y"
{
{
yyval
.
a_expr
=
yyvsp
[
0
].
a_expr
;
yyval
.
a_expr
=
yyvsp
[
0
].
a_expr
;
;
;
break
;}
break
;}
case
8
2
:
case
8
3
:
#line
893
"asn1p_y.y"
#line
911
"asn1p_y.y"
{
{
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
checkmem
(
yyval
.
a_expr
);
checkmem
(
yyval
.
a_expr
);
asn1p_expr_add
(
yyval
.
a_expr
,
yyvsp
[
0
].
a_expr
);
asn1p_expr_add
(
yyval
.
a_expr
,
yyvsp
[
0
].
a_expr
);
;
;
break
;}
break
;}
case
8
3
:
case
8
4
:
#line
898
"asn1p_y.y"
#line
916
"asn1p_y.y"
{
{
yyval
.
a_expr
=
yyvsp
[
-
2
].
a_expr
;
yyval
.
a_expr
=
yyvsp
[
-
2
].
a_expr
;
asn1p_expr_add
(
yyval
.
a_expr
,
yyvsp
[
0
].
a_expr
);
asn1p_expr_add
(
yyval
.
a_expr
,
yyvsp
[
0
].
a_expr
);
;
;
break
;}
break
;}
case
8
4
:
case
8
5
:
#line 9
05
"asn1p_y.y"
#line 9
23
"asn1p_y.y"
{
{
yyval
.
a_expr
=
yyvsp
[
0
].
a_expr
;
yyval
.
a_expr
=
yyvsp
[
0
].
a_expr
;
assert
(
yyval
.
a_expr
->
Identifier
==
0
);
assert
(
yyval
.
a_expr
->
Identifier
==
0
);
yyval
.
a_expr
->
Identifier
=
yyvsp
[
-
1
].
tv_str
;
yyval
.
a_expr
->
Identifier
=
yyvsp
[
-
1
].
tv_str
;
;
;
break
;}
break
;}
case
8
5
:
case
8
6
:
#line 9
10
"asn1p_y.y"
#line 9
28
"asn1p_y.y"
{
{
yyval
.
a_expr
=
yyvsp
[
0
].
a_expr
;
yyval
.
a_expr
=
yyvsp
[
0
].
a_expr
;
;
;
break
;}
break
;}
case
8
6
:
case
8
7
:
#line 9
16
"asn1p_y.y"
#line 9
34
"asn1p_y.y"
{
{
yyval
.
a_expr
=
yyvsp
[
-
2
].
a_expr
;
yyval
.
a_expr
=
yyvsp
[
-
2
].
a_expr
;
checkmem
(
yyval
.
a_expr
);
checkmem
(
yyval
.
a_expr
);
...
@@ -1981,16 +2002,16 @@ case 86:
...
@@ -1981,16 +2002,16 @@ case 86:
assert
(
yyval
.
a_expr
->
meta_type
==
AMT_OBJECT
);
assert
(
yyval
.
a_expr
->
meta_type
==
AMT_OBJECT
);
;
;
break
;}
break
;}
case
8
7
:
case
8
8
:
#line 9
26
"asn1p_y.y"
#line 9
44
"asn1p_y.y"
{
yyval
.
a_int
=
0
;
;
{
yyval
.
a_int
=
0
;
;
break
;}
break
;}
case
8
8
:
case
8
9
:
#line 9
27
"asn1p_y.y"
#line 9
45
"asn1p_y.y"
{
yyval
.
a_int
=
1
;
;
{
yyval
.
a_int
=
1
;
;
break
;}
break
;}
case
89
:
case
90
:
#line 9
31
"asn1p_y.y"
#line 9
49
"asn1p_y.y"
{
{
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
checkmem
(
yyval
.
a_expr
);
checkmem
(
yyval
.
a_expr
);
...
@@ -1999,15 +2020,15 @@ case 89:
...
@@ -1999,15 +2020,15 @@ case 89:
asn1p_expr_add
(
yyval
.
a_expr
,
yyvsp
[
0
].
a_expr
);
asn1p_expr_add
(
yyval
.
a_expr
,
yyvsp
[
0
].
a_expr
);
;
;
break
;}
break
;}
case
9
0
:
case
9
1
:
#line 9
38
"asn1p_y.y"
#line 9
56
"asn1p_y.y"
{
{
yyval
.
a_expr
=
yyvsp
[
-
2
].
a_expr
;
yyval
.
a_expr
=
yyvsp
[
-
2
].
a_expr
;
asn1p_expr_add
(
yyval
.
a_expr
,
yyvsp
[
0
].
a_expr
);
asn1p_expr_add
(
yyval
.
a_expr
,
yyvsp
[
0
].
a_expr
);
;
;
break
;}
break
;}
case
9
1
:
case
9
2
:
#line 9
45
"asn1p_y.y"
#line 9
63
"asn1p_y.y"
{
{
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
checkmem
(
yyval
.
a_expr
);
checkmem
(
yyval
.
a_expr
);
...
@@ -2017,8 +2038,8 @@ case 91:
...
@@ -2017,8 +2038,8 @@ case 91:
yyval
.
a_expr
->
marker
=
yyvsp
[
0
].
a_marker
;
yyval
.
a_expr
->
marker
=
yyvsp
[
0
].
a_marker
;
;
;
break
;}
break
;}
case
9
2
:
case
9
3
:
#line 9
53
"asn1p_y.y"
#line 9
71
"asn1p_y.y"
{
{
yyval
.
a_expr
=
yyvsp
[
-
2
].
a_expr
;
yyval
.
a_expr
=
yyvsp
[
-
2
].
a_expr
;
yyval
.
a_expr
->
Identifier
=
yyvsp
[
-
3
].
a_refcomp
.
name
;
yyval
.
a_expr
->
Identifier
=
yyvsp
[
-
3
].
a_refcomp
.
name
;
...
@@ -2026,8 +2047,8 @@ case 92:
...
@@ -2026,8 +2047,8 @@ case 92:
yyval
.
a_expr
->
unique
=
yyvsp
[
-
1
].
a_int
;
yyval
.
a_expr
->
unique
=
yyvsp
[
-
1
].
a_int
;
;
;
break
;}
break
;}
case
9
3
:
case
9
4
:
#line 9
59
"asn1p_y.y"
#line 9
77
"asn1p_y.y"
{
{
int
ret
;
int
ret
;
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
...
@@ -2044,48 +2065,48 @@ case 93:
...
@@ -2044,48 +2065,48 @@ case 93:
yyval
.
a_expr
->
unique
=
yyvsp
[
-
1
].
a_int
;
yyval
.
a_expr
->
unique
=
yyvsp
[
-
1
].
a_int
;
;
;
break
;}
break
;}
case
9
4
:
case
9
5
:
#line 9
77
"asn1p_y.y"
#line 9
95
"asn1p_y.y"
{
yyval
.
a_wsynt
=
0
;
;
{
yyval
.
a_wsynt
=
0
;
;
break
;}
break
;}
case
9
5
:
case
9
6
:
#line 9
78
"asn1p_y.y"
#line 9
96
"asn1p_y.y"
{
{
yyval
.
a_wsynt
=
yyvsp
[
0
].
a_wsynt
;
yyval
.
a_wsynt
=
yyvsp
[
0
].
a_wsynt
;
;
;
break
;}
break
;}
case
9
6
:
case
9
7
:
#line
985
"asn1p_y.y"
#line
1003
"asn1p_y.y"
{
asn1p_lexer_hack_enable_with_syntax
();
;
{
asn1p_lexer_hack_enable_with_syntax
();
;
break
;}
break
;}
case
9
7
:
case
9
8
:
#line
987
"asn1p_y.y"
#line
1005
"asn1p_y.y"
{
{
yyval
.
a_wsynt
=
yyvsp
[
-
1
].
a_wsynt
;
yyval
.
a_wsynt
=
yyvsp
[
-
1
].
a_wsynt
;
;
;
break
;}
break
;}
case
9
8
:
case
9
9
:
#line
993
"asn1p_y.y"
#line
1011
"asn1p_y.y"
{
{
yyval
.
a_wsynt
=
asn1p_wsyntx_new
();
yyval
.
a_wsynt
=
asn1p_wsyntx_new
();
TQ_ADD
(
&
(
yyval
.
a_wsynt
->
chunks
),
yyvsp
[
0
].
a_wchunk
,
next
);
TQ_ADD
(
&
(
yyval
.
a_wsynt
->
chunks
),
yyvsp
[
0
].
a_wchunk
,
next
);
;
;
break
;}
break
;}
case
99
:
case
100
:
#line
997
"asn1p_y.y"
#line
1015
"asn1p_y.y"
{
{
yyval
.
a_wsynt
=
yyvsp
[
-
1
].
a_wsynt
;
yyval
.
a_wsynt
=
yyvsp
[
-
1
].
a_wsynt
;
TQ_ADD
(
&
(
yyval
.
a_wsynt
->
chunks
),
yyvsp
[
0
].
a_wchunk
,
next
);
TQ_ADD
(
&
(
yyval
.
a_wsynt
->
chunks
),
yyvsp
[
0
].
a_wchunk
,
next
);
;
;
break
;}
break
;}
case
10
0
:
case
10
1
:
#line 10
04
"asn1p_y.y"
#line 10
22
"asn1p_y.y"
{
{
yyval
.
a_wchunk
=
asn1p_wsyntx_chunk_frombuf
(
yyvsp
[
0
].
tv_opaque
.
buf
,
yyvsp
[
0
].
tv_opaque
.
len
,
0
);
yyval
.
a_wchunk
=
asn1p_wsyntx_chunk_frombuf
(
yyvsp
[
0
].
tv_opaque
.
buf
,
yyvsp
[
0
].
tv_opaque
.
len
,
0
);
;
;
break
;}
break
;}
case
10
1
:
case
10
2
:
#line 10
07
"asn1p_y.y"
#line 10
25
"asn1p_y.y"
{
{
asn1p_ref_t
*
ref
;
asn1p_ref_t
*
ref
;
int
ret
;
int
ret
;
...
@@ -2096,8 +2117,8 @@ case 101:
...
@@ -2096,8 +2117,8 @@ case 101:
yyval
.
a_wchunk
=
asn1p_wsyntx_chunk_fromref
(
ref
,
0
);
yyval
.
a_wchunk
=
asn1p_wsyntx_chunk_fromref
(
ref
,
0
);
;
;
break
;}
break
;}
case
10
2
:
case
10
3
:
#line 10
19
"asn1p_y.y"
#line 10
37
"asn1p_y.y"
{
{
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
checkmem
(
yyval
.
a_expr
);
checkmem
(
yyval
.
a_expr
);
...
@@ -2107,8 +2128,8 @@ case 102:
...
@@ -2107,8 +2128,8 @@ case 102:
yyval
.
a_expr
->
meta_type
=
AMT_TYPE
;
yyval
.
a_expr
->
meta_type
=
AMT_TYPE
;
;
;
break
;}
break
;}
case
10
3
:
case
10
4
:
#line 10
27
"asn1p_y.y"
#line 10
45
"asn1p_y.y"
{
{
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
checkmem
(
yyval
.
a_expr
);
checkmem
(
yyval
.
a_expr
);
...
@@ -2119,8 +2140,8 @@ case 103:
...
@@ -2119,8 +2140,8 @@ case 103:
yyval
.
a_expr
->
meta_type
=
AMT_TYPE
;
yyval
.
a_expr
->
meta_type
=
AMT_TYPE
;
;
;
break
;}
break
;}
case
10
4
:
case
10
5
:
#line 10
36
"asn1p_y.y"
#line 10
54
"asn1p_y.y"
{
{
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
checkmem
(
yyval
.
a_expr
);
checkmem
(
yyval
.
a_expr
);
...
@@ -2131,8 +2152,8 @@ case 104:
...
@@ -2131,8 +2152,8 @@ case 104:
yyval
.
a_expr
->
meta_type
=
AMT_TYPE
;
yyval
.
a_expr
->
meta_type
=
AMT_TYPE
;
;
;
break
;}
break
;}
case
10
5
:
case
10
6
:
#line 10
48
"asn1p_y.y"
#line 10
66
"asn1p_y.y"
{
{
yyval
.
a_expr
=
yyvsp
[
-
1
].
a_expr
;
yyval
.
a_expr
=
yyvsp
[
-
1
].
a_expr
;
yyval
.
a_expr
->
tag
=
yyvsp
[
-
2
].
a_tag
;
yyval
.
a_expr
->
tag
=
yyvsp
[
-
2
].
a_tag
;
...
@@ -2153,14 +2174,14 @@ case 105:
...
@@ -2153,14 +2174,14 @@ case 105:
}
}
;
;
break
;}
break
;}
case
10
6
:
case
10
7
:
#line 10
70
"asn1p_y.y"
#line 10
88
"asn1p_y.y"
{
{
yyval
.
a_expr
=
yyvsp
[
0
].
a_expr
;
yyval
.
a_expr
=
yyvsp
[
0
].
a_expr
;
;
;
break
;}
break
;}
case
10
7
:
case
10
8
:
#line 10
73
"asn1p_y.y"
#line 10
91
"asn1p_y.y"
{
{
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
checkmem
(
yyval
.
a_expr
);
checkmem
(
yyval
.
a_expr
);
...
@@ -2168,8 +2189,8 @@ case 107:
...
@@ -2168,8 +2189,8 @@ case 107:
yyval
.
a_expr
->
meta_type
=
AMT_TYPE
;
yyval
.
a_expr
->
meta_type
=
AMT_TYPE
;
;
;
break
;}
break
;}
case
10
8
:
case
10
9
:
#line 10
79
"asn1p_y.y"
#line 10
97
"asn1p_y.y"
{
{
yyval
.
a_expr
=
yyvsp
[
-
1
].
a_expr
;
yyval
.
a_expr
=
yyvsp
[
-
1
].
a_expr
;
assert
(
yyval
.
a_expr
->
expr_type
==
A1TC_INVALID
);
assert
(
yyval
.
a_expr
->
expr_type
==
A1TC_INVALID
);
...
@@ -2177,8 +2198,8 @@ case 108:
...
@@ -2177,8 +2198,8 @@ case 108:
yyval
.
a_expr
->
meta_type
=
AMT_TYPE
;
yyval
.
a_expr
->
meta_type
=
AMT_TYPE
;
;
;
break
;}
break
;}
case
1
09
:
case
1
10
:
#line 1
085
"asn1p_y.y"
#line 1
103
"asn1p_y.y"
{
{
yyval
.
a_expr
=
yyvsp
[
-
1
].
a_expr
;
yyval
.
a_expr
=
yyvsp
[
-
1
].
a_expr
;
assert
(
yyval
.
a_expr
->
expr_type
==
A1TC_INVALID
);
assert
(
yyval
.
a_expr
->
expr_type
==
A1TC_INVALID
);
...
@@ -2186,8 +2207,8 @@ case 109:
...
@@ -2186,8 +2207,8 @@ case 109:
yyval
.
a_expr
->
meta_type
=
AMT_TYPE
;
yyval
.
a_expr
->
meta_type
=
AMT_TYPE
;
;
;
break
;}
break
;}
case
11
0
:
case
11
1
:
#line 1
091
"asn1p_y.y"
#line 1
109
"asn1p_y.y"
{
{
yyval
.
a_expr
=
yyvsp
[
-
1
].
a_expr
;
yyval
.
a_expr
=
yyvsp
[
-
1
].
a_expr
;
assert
(
yyval
.
a_expr
->
expr_type
==
A1TC_INVALID
);
assert
(
yyval
.
a_expr
->
expr_type
==
A1TC_INVALID
);
...
@@ -2195,8 +2216,8 @@ case 110:
...
@@ -2195,8 +2216,8 @@ case 110:
yyval
.
a_expr
->
meta_type
=
AMT_TYPE
;
yyval
.
a_expr
->
meta_type
=
AMT_TYPE
;
;
;
break
;}
break
;}
case
11
1
:
case
11
2
:
#line 1
097
"asn1p_y.y"
#line 1
115
"asn1p_y.y"
{
{
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
checkmem
(
yyval
.
a_expr
);
checkmem
(
yyval
.
a_expr
);
...
@@ -2208,8 +2229,8 @@ case 111:
...
@@ -2208,8 +2229,8 @@ case 111:
asn1p_expr_add
(
yyval
.
a_expr
,
yyvsp
[
0
].
a_expr
);
asn1p_expr_add
(
yyval
.
a_expr
,
yyvsp
[
0
].
a_expr
);
;
;
break
;}
break
;}
case
11
2
:
case
11
3
:
#line 11
07
"asn1p_y.y"
#line 11
25
"asn1p_y.y"
{
{
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
checkmem
(
yyval
.
a_expr
);
checkmem
(
yyval
.
a_expr
);
...
@@ -2221,8 +2242,8 @@ case 112:
...
@@ -2221,8 +2242,8 @@ case 112:
asn1p_expr_add
(
yyval
.
a_expr
,
yyvsp
[
0
].
a_expr
);
asn1p_expr_add
(
yyval
.
a_expr
,
yyvsp
[
0
].
a_expr
);
;
;
break
;}
break
;}
case
11
3
:
case
11
4
:
#line 11
17
"asn1p_y.y"
#line 11
35
"asn1p_y.y"
{
{
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
checkmem
(
yyval
.
a_expr
);
checkmem
(
yyval
.
a_expr
);
...
@@ -2230,8 +2251,8 @@ case 113:
...
@@ -2230,8 +2251,8 @@ case 113:
yyval
.
a_expr
->
meta_type
=
AMT_TYPE
;
yyval
.
a_expr
->
meta_type
=
AMT_TYPE
;
;
;
break
;}
break
;}
case
11
4
:
case
11
5
:
#line 11
23
"asn1p_y.y"
#line 11
41
"asn1p_y.y"
{
{
int
ret
;
int
ret
;
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
...
@@ -2244,8 +2265,8 @@ case 114:
...
@@ -2244,8 +2265,8 @@ case 114:
yyval
.
a_expr
->
meta_type
=
AMT_TYPE
;
yyval
.
a_expr
->
meta_type
=
AMT_TYPE
;
;
;
break
;}
break
;}
case
11
5
:
case
11
6
:
#line 11
37
"asn1p_y.y"
#line 11
55
"asn1p_y.y"
{
{
int
ret
;
int
ret
;
yyval
.
a_expr
=
yyvsp
[
-
1
].
a_expr
;
yyval
.
a_expr
=
yyvsp
[
-
1
].
a_expr
;
...
@@ -2261,8 +2282,8 @@ case 115:
...
@@ -2261,8 +2282,8 @@ case 115:
yyval
.
a_expr
->
meta_type
=
AMT_TYPE
;
yyval
.
a_expr
->
meta_type
=
AMT_TYPE
;
;
;
break
;}
break
;}
case
11
6
:
case
11
7
:
#line 11
61
"asn1p_y.y"
#line 11
79
"asn1p_y.y"
{
{
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
checkmem
(
yyval
.
a_expr
);
checkmem
(
yyval
.
a_expr
);
...
@@ -2271,8 +2292,8 @@ case 116:
...
@@ -2271,8 +2292,8 @@ case 116:
yyval
.
a_expr
->
meta_type
=
AMT_TYPEREF
;
yyval
.
a_expr
->
meta_type
=
AMT_TYPEREF
;
;
;
break
;}
break
;}
case
11
7
:
case
11
8
:
#line 11
68
"asn1p_y.y"
#line 11
86
"asn1p_y.y"
{
{
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
checkmem
(
yyval
.
a_expr
);
checkmem
(
yyval
.
a_expr
);
...
@@ -2281,8 +2302,8 @@ case 117:
...
@@ -2281,8 +2302,8 @@ case 117:
yyval
.
a_expr
->
meta_type
=
AMT_TYPE
;
yyval
.
a_expr
->
meta_type
=
AMT_TYPE
;
;
;
break
;}
break
;}
case
11
8
:
case
11
9
:
#line 1
183
"asn1p_y.y"
#line 1
201
"asn1p_y.y"
{
{
int
ret
;
int
ret
;
yyval
.
a_ref
=
asn1p_ref_new
(
yylineno
);
yyval
.
a_ref
=
asn1p_ref_new
(
yylineno
);
...
@@ -2292,8 +2313,8 @@ case 118:
...
@@ -2292,8 +2313,8 @@ case 118:
free
(
yyvsp
[
0
].
tv_str
);
free
(
yyvsp
[
0
].
tv_str
);
;
;
break
;}
break
;}
case
1
19
:
case
1
20
:
#line 1
191
"asn1p_y.y"
#line 1
209
"asn1p_y.y"
{
{
int
ret
;
int
ret
;
yyval
.
a_ref
=
asn1p_ref_new
(
yylineno
);
yyval
.
a_ref
=
asn1p_ref_new
(
yylineno
);
...
@@ -2305,8 +2326,8 @@ case 119:
...
@@ -2305,8 +2326,8 @@ case 119:
free
(
yyvsp
[
-
2
].
tv_str
);
free
(
yyvsp
[
-
2
].
tv_str
);
;
;
break
;}
break
;}
case
12
0
:
case
12
1
:
#line 12
01
"asn1p_y.y"
#line 12
19
"asn1p_y.y"
{
{
int
ret
;
int
ret
;
yyval
.
a_ref
=
asn1p_ref_new
(
yylineno
);
yyval
.
a_ref
=
asn1p_ref_new
(
yylineno
);
...
@@ -2318,8 +2339,8 @@ case 120:
...
@@ -2318,8 +2339,8 @@ case 120:
free
(
yyvsp
[
-
2
].
tv_str
);
free
(
yyvsp
[
-
2
].
tv_str
);
;
;
break
;}
break
;}
case
12
1
:
case
12
2
:
#line 12
11
"asn1p_y.y"
#line 12
29
"asn1p_y.y"
{
{
int
ret
;
int
ret
;
yyval
.
a_ref
=
asn1p_ref_new
(
yylineno
);
yyval
.
a_ref
=
asn1p_ref_new
(
yylineno
);
...
@@ -2331,8 +2352,8 @@ case 121:
...
@@ -2331,8 +2352,8 @@ case 121:
free
(
yyvsp
[
-
2
].
tv_str
);
free
(
yyvsp
[
-
2
].
tv_str
);
;
;
break
;}
break
;}
case
12
2
:
case
12
3
:
#line 12
21
"asn1p_y.y"
#line 12
39
"asn1p_y.y"
{
{
int
ret
;
int
ret
;
yyval
.
a_ref
=
asn1p_ref_new
(
yylineno
);
yyval
.
a_ref
=
asn1p_ref_new
(
yylineno
);
...
@@ -2342,8 +2363,8 @@ case 122:
...
@@ -2342,8 +2363,8 @@ case 122:
checkmem
(
ret
==
0
);
checkmem
(
ret
==
0
);
;
;
break
;}
break
;}
case
12
3
:
case
12
4
:
#line 12
29
"asn1p_y.y"
#line 12
47
"asn1p_y.y"
{
{
int
ret
;
int
ret
;
yyval
.
a_ref
=
yyvsp
[
0
].
a_ref
;
yyval
.
a_ref
=
yyvsp
[
0
].
a_ref
;
...
@@ -2364,8 +2385,8 @@ case 123:
...
@@ -2364,8 +2385,8 @@ case 123:
}
}
;
;
break
;}
break
;}
case
12
4
:
case
12
5
:
#line 12
51
"asn1p_y.y"
#line 12
69
"asn1p_y.y"
{
{
int
ret
;
int
ret
;
yyval
.
a_ref
=
asn1p_ref_new
(
yylineno
);
yyval
.
a_ref
=
asn1p_ref_new
(
yylineno
);
...
@@ -2375,8 +2396,8 @@ case 124:
...
@@ -2375,8 +2396,8 @@ case 124:
checkmem
(
ret
==
0
);
checkmem
(
ret
==
0
);
;
;
break
;}
break
;}
case
12
5
:
case
12
6
:
#line 12
59
"asn1p_y.y"
#line 12
77
"asn1p_y.y"
{
{
int
ret
;
int
ret
;
yyval
.
a_ref
=
yyvsp
[
-
2
].
a_ref
;
yyval
.
a_ref
=
yyvsp
[
-
2
].
a_ref
;
...
@@ -2385,22 +2406,22 @@ case 125:
...
@@ -2385,22 +2406,22 @@ case 125:
checkmem
(
ret
==
0
);
checkmem
(
ret
==
0
);
;
;
break
;}
break
;}
case
12
8
:
case
12
9
:
#line 12
73
"asn1p_y.y"
#line 12
91
"asn1p_y.y"
{
{
yyval
.
a_refcomp
.
lex_type
=
RLT_AmpUppercase
;
yyval
.
a_refcomp
.
lex_type
=
RLT_AmpUppercase
;
yyval
.
a_refcomp
.
name
=
yyvsp
[
0
].
tv_str
;
yyval
.
a_refcomp
.
name
=
yyvsp
[
0
].
tv_str
;
;
;
break
;}
break
;}
case
1
29
:
case
1
30
:
#line 12
78
"asn1p_y.y"
#line 12
96
"asn1p_y.y"
{
{
yyval
.
a_refcomp
.
lex_type
=
RLT_Amplowercase
;
yyval
.
a_refcomp
.
lex_type
=
RLT_Amplowercase
;
yyval
.
a_refcomp
.
name
=
yyvsp
[
0
].
tv_str
;
yyval
.
a_refcomp
.
name
=
yyvsp
[
0
].
tv_str
;
;
;
break
;}
break
;}
case
13
0
:
case
13
1
:
#line 1
291
"asn1p_y.y"
#line 1
309
"asn1p_y.y"
{
{
yyval
.
a_expr
=
yyvsp
[
-
2
].
a_expr
;
yyval
.
a_expr
=
yyvsp
[
-
2
].
a_expr
;
assert
(
yyval
.
a_expr
->
Identifier
==
NULL
);
assert
(
yyval
.
a_expr
->
Identifier
==
NULL
);
...
@@ -2409,8 +2430,8 @@ case 130:
...
@@ -2409,8 +2430,8 @@ case 130:
yyval
.
a_expr
->
value
=
yyvsp
[
0
].
a_value
;
yyval
.
a_expr
->
value
=
yyvsp
[
0
].
a_value
;
;
;
break
;}
break
;}
case
13
1
:
case
13
2
:
#line 13
01
"asn1p_y.y"
#line 13
19
"asn1p_y.y"
{
{
yyval
.
a_value
=
asn1p_value_fromint
(
0
);
yyval
.
a_value
=
asn1p_value_fromint
(
0
);
checkmem
(
yyval
.
a_value
);
checkmem
(
yyval
.
a_value
);
...
@@ -2419,77 +2440,77 @@ case 131:
...
@@ -2419,77 +2440,77 @@ case 131:
yyval
.
a_value
->
value
.
choice_identifier
.
value
=
yyvsp
[
0
].
a_value
;
yyval
.
a_value
->
value
.
choice_identifier
.
value
=
yyvsp
[
0
].
a_value
;
;
;
break
;}
break
;}
case
13
2
:
case
13
3
:
#line 13
08
"asn1p_y.y"
#line 13
26
"asn1p_y.y"
{
asn1p_lexer_hack_push_opaque_state
();
;
{
asn1p_lexer_hack_push_opaque_state
();
;
break
;}
break
;}
case
13
3
:
case
13
4
:
#line 13
08
"asn1p_y.y"
#line 13
26
"asn1p_y.y"
{
{
yyval
.
a_value
=
asn1p_value_frombuf
(
yyvsp
[
0
].
tv_opaque
.
buf
,
yyvsp
[
0
].
tv_opaque
.
len
,
0
);
yyval
.
a_value
=
asn1p_value_frombuf
(
yyvsp
[
0
].
tv_opaque
.
buf
,
yyvsp
[
0
].
tv_opaque
.
len
,
0
);
checkmem
(
yyval
.
a_value
);
checkmem
(
yyval
.
a_value
);
yyval
.
a_value
->
type
=
ATV_UNPARSED
;
yyval
.
a_value
->
type
=
ATV_UNPARSED
;
;
;
break
;}
break
;}
case
13
4
:
case
13
5
:
#line 13
13
"asn1p_y.y"
#line 13
31
"asn1p_y.y"
{
{
yyval
.
a_value
=
asn1p_value_fromint
(
0
);
yyval
.
a_value
=
asn1p_value_fromint
(
0
);
checkmem
(
yyval
.
a_value
);
checkmem
(
yyval
.
a_value
);
yyval
.
a_value
->
type
=
ATV_NULL
;
yyval
.
a_value
->
type
=
ATV_NULL
;
;
;
break
;}
break
;}
case
13
5
:
case
13
6
:
#line 13
18
"asn1p_y.y"
#line 13
36
"asn1p_y.y"
{
{
yyval
.
a_value
=
asn1p_value_fromint
(
0
);
yyval
.
a_value
=
asn1p_value_fromint
(
0
);
checkmem
(
yyval
.
a_value
);
checkmem
(
yyval
.
a_value
);
yyval
.
a_value
->
type
=
ATV_FALSE
;
yyval
.
a_value
->
type
=
ATV_FALSE
;
;
;
break
;}
break
;}
case
13
6
:
case
13
7
:
#line 13
23
"asn1p_y.y"
#line 13
41
"asn1p_y.y"
{
{
yyval
.
a_value
=
asn1p_value_fromint
(
0
);
yyval
.
a_value
=
asn1p_value_fromint
(
0
);
checkmem
(
yyval
.
a_value
);
checkmem
(
yyval
.
a_value
);
yyval
.
a_value
->
type
=
ATV_TRUE
;
yyval
.
a_value
->
type
=
ATV_TRUE
;
;
;
break
;}
break
;}
case
13
7
:
case
13
8
:
#line 13
28
"asn1p_y.y"
#line 13
46
"asn1p_y.y"
{
{
yyval
.
a_value
=
_convert_bitstring2binary
(
yyvsp
[
0
].
tv_str
,
'B'
);
yyval
.
a_value
=
_convert_bitstring2binary
(
yyvsp
[
0
].
tv_str
,
'B'
);
checkmem
(
yyval
.
a_value
);
checkmem
(
yyval
.
a_value
);
;
;
break
;}
break
;}
case
13
8
:
case
13
9
:
#line 13
32
"asn1p_y.y"
#line 13
50
"asn1p_y.y"
{
{
yyval
.
a_value
=
_convert_bitstring2binary
(
yyvsp
[
0
].
tv_str
,
'H'
);
yyval
.
a_value
=
_convert_bitstring2binary
(
yyvsp
[
0
].
tv_str
,
'H'
);
checkmem
(
yyval
.
a_value
);
checkmem
(
yyval
.
a_value
);
;
;
break
;}
break
;}
case
1
39
:
case
1
40
:
#line 13
36
"asn1p_y.y"
#line 13
54
"asn1p_y.y"
{
{
yyval
.
a_value
=
asn1p_value_frombuf
(
yyvsp
[
0
].
tv_opaque
.
buf
,
yyvsp
[
0
].
tv_opaque
.
len
,
0
);
yyval
.
a_value
=
asn1p_value_frombuf
(
yyvsp
[
0
].
tv_opaque
.
buf
,
yyvsp
[
0
].
tv_opaque
.
len
,
0
);
checkmem
(
yyval
.
a_value
);
checkmem
(
yyval
.
a_value
);
;
;
break
;}
break
;}
case
14
0
:
case
14
1
:
#line 13
40
"asn1p_y.y"
#line 13
58
"asn1p_y.y"
{
{
yyval
.
a_value
=
yyvsp
[
0
].
a_value
;
yyval
.
a_value
=
yyvsp
[
0
].
a_value
;
;
;
break
;}
break
;}
case
14
1
:
case
14
2
:
#line 13
43
"asn1p_y.y"
#line 13
61
"asn1p_y.y"
{
{
yyval
.
a_value
=
yyvsp
[
0
].
a_value
;
yyval
.
a_value
=
yyvsp
[
0
].
a_value
;
;
;
break
;}
break
;}
case
14
2
:
case
14
3
:
#line 13
49
"asn1p_y.y"
#line 13
67
"asn1p_y.y"
{
{
asn1p_ref_t
*
ref
;
asn1p_ref_t
*
ref
;
int
ret
;
int
ret
;
...
@@ -2502,8 +2523,8 @@ case 142:
...
@@ -2502,8 +2523,8 @@ case 142:
free
(
yyvsp
[
0
].
tv_str
);
free
(
yyvsp
[
0
].
tv_str
);
;
;
break
;}
break
;}
case
14
3
:
case
14
4
:
#line 13
60
"asn1p_y.y"
#line 13
78
"asn1p_y.y"
{
{
asn1p_ref_t
*
ref
;
asn1p_ref_t
*
ref
;
int
ret
;
int
ret
;
...
@@ -2519,8 +2540,8 @@ case 143:
...
@@ -2519,8 +2540,8 @@ case 143:
free
(
yyvsp
[
0
].
tv_str
);
free
(
yyvsp
[
0
].
tv_str
);
;
;
break
;}
break
;}
case
14
4
:
case
14
5
:
#line 13
77
"asn1p_y.y"
#line 13
95
"asn1p_y.y"
{
{
yyval
.
tv_opaque
.
len
=
yyvsp
[
0
].
tv_opaque
.
len
+
2
;
yyval
.
tv_opaque
.
len
=
yyvsp
[
0
].
tv_opaque
.
len
+
2
;
yyval
.
tv_opaque
.
buf
=
malloc
(
yyval
.
tv_opaque
.
len
+
1
);
yyval
.
tv_opaque
.
buf
=
malloc
(
yyval
.
tv_opaque
.
len
+
1
);
...
@@ -2532,8 +2553,8 @@ case 144:
...
@@ -2532,8 +2553,8 @@ case 144:
free
(
yyvsp
[
0
].
tv_opaque
.
buf
);
free
(
yyvsp
[
0
].
tv_opaque
.
buf
);
;
;
break
;}
break
;}
case
14
5
:
case
14
6
:
#line 1
387
"asn1p_y.y"
#line 1
405
"asn1p_y.y"
{
{
int
newsize
=
yyvsp
[
-
1
].
tv_opaque
.
len
+
yyvsp
[
0
].
tv_opaque
.
len
;
int
newsize
=
yyvsp
[
-
1
].
tv_opaque
.
len
+
yyvsp
[
0
].
tv_opaque
.
len
;
char
*
p
=
malloc
(
newsize
+
1
);
char
*
p
=
malloc
(
newsize
+
1
);
...
@@ -2547,68 +2568,68 @@ case 145:
...
@@ -2547,68 +2568,68 @@ case 145:
yyval
.
tv_opaque
.
len
=
newsize
;
yyval
.
tv_opaque
.
len
=
newsize
;
;
;
break
;}
break
;}
case
14
6
:
case
14
7
:
#line 14
02
"asn1p_y.y"
#line 14
20
"asn1p_y.y"
{
yyval
.
a_type
=
ASN_BASIC_BOOLEAN
;
;
{
yyval
.
a_type
=
ASN_BASIC_BOOLEAN
;
;
break
;}
break
;}
case
14
7
:
case
14
8
:
#line 14
03
"asn1p_y.y"
#line 14
21
"asn1p_y.y"
{
yyval
.
a_type
=
ASN_BASIC_NULL
;
;
{
yyval
.
a_type
=
ASN_BASIC_NULL
;
;
break
;}
break
;}
case
14
8
:
case
14
9
:
#line 14
04
"asn1p_y.y"
#line 14
22
"asn1p_y.y"
{
yyval
.
a_type
=
ASN_BASIC_REAL
;
;
{
yyval
.
a_type
=
ASN_BASIC_REAL
;
;
break
;}
break
;}
case
1
49
:
case
1
50
:
#line 14
05
"asn1p_y.y"
#line 14
23
"asn1p_y.y"
{
yyval
.
a_type
=
yyvsp
[
0
].
a_type
;
;
{
yyval
.
a_type
=
yyvsp
[
0
].
a_type
;
;
break
;}
break
;}
case
15
0
:
case
15
1
:
#line 14
06
"asn1p_y.y"
#line 14
24
"asn1p_y.y"
{
yyval
.
a_type
=
ASN_BASIC_OCTET_STRING
;
;
{
yyval
.
a_type
=
ASN_BASIC_OCTET_STRING
;
;
break
;}
break
;}
case
15
1
:
case
15
2
:
#line 14
07
"asn1p_y.y"
#line 14
25
"asn1p_y.y"
{
yyval
.
a_type
=
ASN_BASIC_OBJECT_IDENTIFIER
;
;
{
yyval
.
a_type
=
ASN_BASIC_OBJECT_IDENTIFIER
;
;
break
;}
break
;}
case
15
2
:
case
15
3
:
#line 14
08
"asn1p_y.y"
#line 14
26
"asn1p_y.y"
{
yyval
.
a_type
=
ASN_BASIC_RELATIVE_OID
;
;
{
yyval
.
a_type
=
ASN_BASIC_RELATIVE_OID
;
;
break
;}
break
;}
case
15
3
:
case
15
4
:
#line 14
09
"asn1p_y.y"
#line 14
27
"asn1p_y.y"
{
yyval
.
a_type
=
ASN_BASIC_EXTERNAL
;
;
{
yyval
.
a_type
=
ASN_BASIC_EXTERNAL
;
;
break
;}
break
;}
case
15
4
:
case
15
5
:
#line 14
10
"asn1p_y.y"
#line 14
28
"asn1p_y.y"
{
yyval
.
a_type
=
ASN_BASIC_EMBEDDED_PDV
;
;
{
yyval
.
a_type
=
ASN_BASIC_EMBEDDED_PDV
;
;
break
;}
break
;}
case
15
5
:
case
15
6
:
#line 14
11
"asn1p_y.y"
#line 14
29
"asn1p_y.y"
{
yyval
.
a_type
=
ASN_BASIC_CHARACTER_STRING
;
;
{
yyval
.
a_type
=
ASN_BASIC_CHARACTER_STRING
;
;
break
;}
break
;}
case
15
6
:
case
15
7
:
#line 14
12
"asn1p_y.y"
#line 14
30
"asn1p_y.y"
{
yyval
.
a_type
=
ASN_BASIC_UTCTime
;
;
{
yyval
.
a_type
=
ASN_BASIC_UTCTime
;
;
break
;}
break
;}
case
15
7
:
case
15
8
:
#line 14
13
"asn1p_y.y"
#line 14
31
"asn1p_y.y"
{
yyval
.
a_type
=
ASN_BASIC_GeneralizedTime
;
;
{
yyval
.
a_type
=
ASN_BASIC_GeneralizedTime
;
;
break
;}
break
;}
case
15
8
:
case
15
9
:
#line 14
20
"asn1p_y.y"
#line 14
38
"asn1p_y.y"
{
yyval
.
a_type
=
ASN_BASIC_INTEGER
;
;
{
yyval
.
a_type
=
ASN_BASIC_INTEGER
;
;
break
;}
break
;}
case
1
59
:
case
1
60
:
#line 14
21
"asn1p_y.y"
#line 14
39
"asn1p_y.y"
{
yyval
.
a_type
=
ASN_BASIC_ENUMERATED
;
;
{
yyval
.
a_type
=
ASN_BASIC_ENUMERATED
;
;
break
;}
break
;}
case
16
0
:
case
16
1
:
#line 14
22
"asn1p_y.y"
#line 14
40
"asn1p_y.y"
{
yyval
.
a_type
=
ASN_BASIC_BIT_STRING
;
;
{
yyval
.
a_type
=
ASN_BASIC_BIT_STRING
;
;
break
;}
break
;}
case
16
1
:
case
16
2
:
#line 14
26
"asn1p_y.y"
#line 14
44
"asn1p_y.y"
{
{
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
checkmem
(
yyval
.
a_expr
);
checkmem
(
yyval
.
a_expr
);
...
@@ -2616,8 +2637,8 @@ case 161:
...
@@ -2616,8 +2637,8 @@ case 161:
yyval
.
a_expr
->
meta_type
=
AMT_TYPE
;
yyval
.
a_expr
->
meta_type
=
AMT_TYPE
;
;
;
break
;}
break
;}
case
16
2
:
case
16
3
:
#line 14
32
"asn1p_y.y"
#line 14
50
"asn1p_y.y"
{
{
if
(
yyvsp
[
0
].
a_expr
)
{
if
(
yyvsp
[
0
].
a_expr
)
{
yyval
.
a_expr
=
yyvsp
[
0
].
a_expr
;
yyval
.
a_expr
=
yyvsp
[
0
].
a_expr
;
...
@@ -2629,92 +2650,92 @@ case 162:
...
@@ -2629,92 +2650,92 @@ case 162:
yyval
.
a_expr
->
meta_type
=
AMT_TYPE
;
yyval
.
a_expr
->
meta_type
=
AMT_TYPE
;
;
;
break
;}
break
;}
case
16
3
:
case
16
4
:
#line 14
45
"asn1p_y.y"
#line 14
63
"asn1p_y.y"
{
yyval
.
a_type
=
ASN_STRING_BMPString
;
;
{
yyval
.
a_type
=
ASN_STRING_BMPString
;
;
break
;}
break
;}
case
16
4
:
case
16
5
:
#line 14
46
"asn1p_y.y"
#line 14
64
"asn1p_y.y"
{
{
yyval
.
a_type
=
ASN_STRING_GeneralString
;
yyval
.
a_type
=
ASN_STRING_GeneralString
;
fprintf
(
stderr
,
"WARNING: GeneralString is not fully supported
\n
"
);
fprintf
(
stderr
,
"WARNING: GeneralString is not fully supported
\n
"
);
;
;
break
;}
break
;}
case
16
5
:
case
16
6
:
#line 14
50
"asn1p_y.y"
#line 14
68
"asn1p_y.y"
{
{
yyval
.
a_type
=
ASN_STRING_GraphicString
;
yyval
.
a_type
=
ASN_STRING_GraphicString
;
fprintf
(
stderr
,
"WARNING: GraphicString is not fully supported
\n
"
);
fprintf
(
stderr
,
"WARNING: GraphicString is not fully supported
\n
"
);
;
;
break
;}
break
;}
case
16
6
:
case
16
7
:
#line 14
54
"asn1p_y.y"
#line 14
72
"asn1p_y.y"
{
yyval
.
a_type
=
ASN_STRING_IA5String
;
;
{
yyval
.
a_type
=
ASN_STRING_IA5String
;
;
break
;}
break
;}
case
16
7
:
case
16
8
:
#line 14
55
"asn1p_y.y"
#line 14
73
"asn1p_y.y"
{
yyval
.
a_type
=
ASN_STRING_ISO646String
;
;
{
yyval
.
a_type
=
ASN_STRING_ISO646String
;
;
break
;}
break
;}
case
16
8
:
case
16
9
:
#line 14
56
"asn1p_y.y"
#line 14
74
"asn1p_y.y"
{
yyval
.
a_type
=
ASN_STRING_NumericString
;
;
{
yyval
.
a_type
=
ASN_STRING_NumericString
;
;
break
;}
break
;}
case
1
69
:
case
1
70
:
#line 14
57
"asn1p_y.y"
#line 14
75
"asn1p_y.y"
{
yyval
.
a_type
=
ASN_STRING_PrintableString
;
;
{
yyval
.
a_type
=
ASN_STRING_PrintableString
;
;
break
;}
break
;}
case
17
0
:
case
17
1
:
#line 14
58
"asn1p_y.y"
#line 14
76
"asn1p_y.y"
{
{
yyval
.
a_type
=
ASN_STRING_T61String
;
yyval
.
a_type
=
ASN_STRING_T61String
;
fprintf
(
stderr
,
"WARNING: T61String is not fully supported
\n
"
);
fprintf
(
stderr
,
"WARNING: T61String is not fully supported
\n
"
);
;
;
break
;}
break
;}
case
17
1
:
case
17
2
:
#line 14
62
"asn1p_y.y"
#line 14
80
"asn1p_y.y"
{
yyval
.
a_type
=
ASN_STRING_TeletexString
;
;
{
yyval
.
a_type
=
ASN_STRING_TeletexString
;
;
break
;}
break
;}
case
17
2
:
case
17
3
:
#line 14
63
"asn1p_y.y"
#line 14
81
"asn1p_y.y"
{
yyval
.
a_type
=
ASN_STRING_UniversalString
;
;
{
yyval
.
a_type
=
ASN_STRING_UniversalString
;
;
break
;}
break
;}
case
17
3
:
case
17
4
:
#line 14
64
"asn1p_y.y"
#line 14
82
"asn1p_y.y"
{
yyval
.
a_type
=
ASN_STRING_UTF8String
;
;
{
yyval
.
a_type
=
ASN_STRING_UTF8String
;
;
break
;}
break
;}
case
17
4
:
case
17
5
:
#line 14
65
"asn1p_y.y"
#line 14
83
"asn1p_y.y"
{
{
yyval
.
a_type
=
ASN_STRING_VideotexString
;
yyval
.
a_type
=
ASN_STRING_VideotexString
;
fprintf
(
stderr
,
"WARNING: VideotexString is not fully supported
\n
"
);
fprintf
(
stderr
,
"WARNING: VideotexString is not fully supported
\n
"
);
;
;
break
;}
break
;}
case
17
5
:
case
17
6
:
#line 14
69
"asn1p_y.y"
#line 14
87
"asn1p_y.y"
{
yyval
.
a_type
=
ASN_STRING_VisibleString
;
;
{
yyval
.
a_type
=
ASN_STRING_VisibleString
;
;
break
;}
break
;}
case
17
6
:
case
17
7
:
#line 14
70
"asn1p_y.y"
#line 14
88
"asn1p_y.y"
{
yyval
.
a_type
=
ASN_STRING_ObjectDescriptor
;
;
{
yyval
.
a_type
=
ASN_STRING_ObjectDescriptor
;
;
break
;}
break
;}
case
18
2
:
case
18
3
:
#line 1
482
"asn1p_y.y"
#line 1
500
"asn1p_y.y"
{
yyval
.
a_constr
=
0
;
;
{
yyval
.
a_constr
=
0
;
;
break
;}
break
;}
case
18
3
:
case
18
4
:
#line 1
483
"asn1p_y.y"
#line 1
501
"asn1p_y.y"
{
{
yyval
.
a_constr
=
yyvsp
[
0
].
a_constr
;
yyval
.
a_constr
=
yyvsp
[
0
].
a_constr
;
;
;
break
;}
break
;}
case
18
4
:
case
18
5
:
#line 1
489
"asn1p_y.y"
#line 1
507
"asn1p_y.y"
{
{
CONSTRAINT_INSERT
(
yyval
.
a_constr
,
ACT_CA_SET
,
yyvsp
[
0
].
a_constr
,
0
);
CONSTRAINT_INSERT
(
yyval
.
a_constr
,
ACT_CA_SET
,
yyvsp
[
0
].
a_constr
,
0
);
;
;
break
;}
break
;}
case
18
5
:
case
18
6
:
#line 1
492
"asn1p_y.y"
#line 1
510
"asn1p_y.y"
{
{
/*
/*
* This is a special case, for compatibility purposes.
* This is a special case, for compatibility purposes.
...
@@ -2723,26 +2744,26 @@ case 185:
...
@@ -2723,26 +2744,26 @@ case 185:
CONSTRAINT_INSERT
(
yyval
.
a_constr
,
ACT_CT_SIZE
,
yyvsp
[
-
1
].
a_constr
,
0
);
CONSTRAINT_INSERT
(
yyval
.
a_constr
,
ACT_CT_SIZE
,
yyvsp
[
-
1
].
a_constr
,
0
);
;
;
break
;}
break
;}
case
18
6
:
case
18
7
:
#line 15
02
"asn1p_y.y"
#line 15
20
"asn1p_y.y"
{
{
yyval
.
a_constr
=
yyvsp
[
-
1
].
a_constr
;
yyval
.
a_constr
=
yyvsp
[
-
1
].
a_constr
;
;
;
break
;}
break
;}
case
18
7
:
case
18
8
:
#line 15
05
"asn1p_y.y"
#line 15
23
"asn1p_y.y"
{
{
CONSTRAINT_INSERT
(
yyval
.
a_constr
,
ACT_CA_SET
,
yyvsp
[
-
3
].
a_constr
,
yyvsp
[
-
1
].
a_constr
);
CONSTRAINT_INSERT
(
yyval
.
a_constr
,
ACT_CA_SET
,
yyvsp
[
-
3
].
a_constr
,
yyvsp
[
-
1
].
a_constr
);
;
;
break
;}
break
;}
case
18
8
:
case
18
9
:
#line 15
11
"asn1p_y.y"
#line 15
29
"asn1p_y.y"
{
{
yyval
.
a_constr
=
yyvsp
[
0
].
a_constr
;
yyval
.
a_constr
=
yyvsp
[
0
].
a_constr
;
;
;
break
;}
break
;}
case
1
89
:
case
1
90
:
#line 15
14
"asn1p_y.y"
#line 15
32
"asn1p_y.y"
{
{
asn1p_constraint_t
*
ct
;
asn1p_constraint_t
*
ct
;
ct
=
asn1p_constraint_new
(
yylineno
);
ct
=
asn1p_constraint_new
(
yylineno
);
...
@@ -2750,8 +2771,8 @@ case 189:
...
@@ -2750,8 +2771,8 @@ case 189:
CONSTRAINT_INSERT
(
yyval
.
a_constr
,
ACT_CA_CSV
,
yyvsp
[
-
2
].
a_constr
,
ct
);
CONSTRAINT_INSERT
(
yyval
.
a_constr
,
ACT_CA_CSV
,
yyvsp
[
-
2
].
a_constr
,
ct
);
;
;
break
;}
break
;}
case
19
0
:
case
19
1
:
#line 15
20
"asn1p_y.y"
#line 15
38
"asn1p_y.y"
{
{
asn1p_constraint_t
*
ct
;
asn1p_constraint_t
*
ct
;
ct
=
asn1p_constraint_new
(
yylineno
);
ct
=
asn1p_constraint_new
(
yylineno
);
...
@@ -2761,32 +2782,32 @@ case 190:
...
@@ -2761,32 +2782,32 @@ case 190:
CONSTRAINT_INSERT
(
yyval
.
a_constr
,
ACT_CA_CSV
,
ct
,
yyvsp
[
0
].
a_constr
);
CONSTRAINT_INSERT
(
yyval
.
a_constr
,
ACT_CA_CSV
,
ct
,
yyvsp
[
0
].
a_constr
);
;
;
break
;}
break
;}
case
19
1
:
case
19
2
:
#line 15
31
"asn1p_y.y"
#line 15
49
"asn1p_y.y"
{
{
yyval
.
a_constr
=
yyvsp
[
0
].
a_constr
;
yyval
.
a_constr
=
yyvsp
[
0
].
a_constr
;
;
;
break
;}
break
;}
case
19
2
:
case
19
3
:
#line 15
34
"asn1p_y.y"
#line 15
52
"asn1p_y.y"
{
{
CONSTRAINT_INSERT
(
yyval
.
a_constr
,
ACT_CA_UNI
,
yyvsp
[
-
2
].
a_constr
,
yyvsp
[
0
].
a_constr
);
CONSTRAINT_INSERT
(
yyval
.
a_constr
,
ACT_CA_UNI
,
yyvsp
[
-
2
].
a_constr
,
yyvsp
[
0
].
a_constr
);
;
;
break
;}
break
;}
case
19
3
:
case
19
4
:
#line 15
37
"asn1p_y.y"
#line 15
55
"asn1p_y.y"
{
{
CONSTRAINT_INSERT
(
yyval
.
a_constr
,
ACT_CA_INT
,
yyvsp
[
-
2
].
a_constr
,
yyvsp
[
0
].
a_constr
);
CONSTRAINT_INSERT
(
yyval
.
a_constr
,
ACT_CA_INT
,
yyvsp
[
-
2
].
a_constr
,
yyvsp
[
0
].
a_constr
);
;
;
break
;}
break
;}
case
19
4
:
case
19
5
:
#line 15
40
"asn1p_y.y"
#line 15
58
"asn1p_y.y"
{
{
CONSTRAINT_INSERT
(
yyval
.
a_constr
,
ACT_CA_EXC
,
yyvsp
[
-
2
].
a_constr
,
yyvsp
[
0
].
a_constr
);
CONSTRAINT_INSERT
(
yyval
.
a_constr
,
ACT_CA_EXC
,
yyvsp
[
-
2
].
a_constr
,
yyvsp
[
0
].
a_constr
);
;
;
break
;}
break
;}
case
19
5
:
case
19
6
:
#line 15
46
"asn1p_y.y"
#line 15
64
"asn1p_y.y"
{
{
int
ret
;
int
ret
;
yyval
.
a_constr
=
asn1p_constraint_new
(
yylineno
);
yyval
.
a_constr
=
asn1p_constraint_new
(
yylineno
);
...
@@ -2796,8 +2817,8 @@ case 195:
...
@@ -2796,8 +2817,8 @@ case 195:
checkmem
(
ret
==
0
);
checkmem
(
ret
==
0
);
;
;
break
;}
break
;}
case
19
6
:
case
19
7
:
#line 15
54
"asn1p_y.y"
#line 15
72
"asn1p_y.y"
{
{
int
ret
;
int
ret
;
yyval
.
a_constr
=
asn1p_constraint_new
(
yylineno
);
yyval
.
a_constr
=
asn1p_constraint_new
(
yylineno
);
...
@@ -2807,8 +2828,8 @@ case 196:
...
@@ -2807,8 +2828,8 @@ case 196:
checkmem
(
ret
==
0
);
checkmem
(
ret
==
0
);
;
;
break
;}
break
;}
case
19
7
:
case
19
8
:
#line 15
62
"asn1p_y.y"
#line 15
80
"asn1p_y.y"
{
{
yyval
.
a_constr
=
asn1p_constraint_new
(
yylineno
);
yyval
.
a_constr
=
asn1p_constraint_new
(
yylineno
);
checkmem
(
yyval
.
a_constr
);
checkmem
(
yyval
.
a_constr
);
...
@@ -2816,8 +2837,8 @@ case 197:
...
@@ -2816,8 +2837,8 @@ case 197:
yyval
.
a_constr
->
value
=
yyvsp
[
0
].
a_value
;
yyval
.
a_constr
->
value
=
yyvsp
[
0
].
a_value
;
;
;
break
;}
break
;}
case
19
8
:
case
19
9
:
#line 15
68
"asn1p_y.y"
#line 15
86
"asn1p_y.y"
{
{
yyval
.
a_constr
=
asn1p_constraint_new
(
yylineno
);
yyval
.
a_constr
=
asn1p_constraint_new
(
yylineno
);
checkmem
(
yyval
.
a_constr
);
checkmem
(
yyval
.
a_constr
);
...
@@ -2826,8 +2847,8 @@ case 198:
...
@@ -2826,8 +2847,8 @@ case 198:
yyval
.
a_constr
->
range_stop
=
yyvsp
[
0
].
a_value
;
yyval
.
a_constr
->
range_stop
=
yyvsp
[
0
].
a_value
;
;
;
break
;}
break
;}
case
199
:
case
200
:
#line 15
75
"asn1p_y.y"
#line 15
93
"asn1p_y.y"
{
{
yyval
.
a_constr
=
asn1p_constraint_new
(
yylineno
);
yyval
.
a_constr
=
asn1p_constraint_new
(
yylineno
);
checkmem
(
yyval
.
a_constr
);
checkmem
(
yyval
.
a_constr
);
...
@@ -2837,8 +2858,8 @@ case 199:
...
@@ -2837,8 +2858,8 @@ case 199:
yyval
.
a_constr
->
range_start
->
type
=
ATV_MIN
;
yyval
.
a_constr
->
range_start
->
type
=
ATV_MIN
;
;
;
break
;}
break
;}
case
20
0
:
case
20
1
:
#line 1
583
"asn1p_y.y"
#line 1
601
"asn1p_y.y"
{
{
yyval
.
a_constr
=
asn1p_constraint_new
(
yylineno
);
yyval
.
a_constr
=
asn1p_constraint_new
(
yylineno
);
checkmem
(
yyval
.
a_constr
);
checkmem
(
yyval
.
a_constr
);
...
@@ -2848,8 +2869,8 @@ case 200:
...
@@ -2848,8 +2869,8 @@ case 200:
yyval
.
a_constr
->
range_stop
->
type
=
ATV_MAX
;
yyval
.
a_constr
->
range_stop
->
type
=
ATV_MAX
;
;
;
break
;}
break
;}
case
20
1
:
case
20
2
:
#line 1
591
"asn1p_y.y"
#line 1
609
"asn1p_y.y"
{
{
yyval
.
a_constr
=
asn1p_constraint_new
(
yylineno
);
yyval
.
a_constr
=
asn1p_constraint_new
(
yylineno
);
checkmem
(
yyval
.
a_constr
);
checkmem
(
yyval
.
a_constr
);
...
@@ -2860,117 +2881,131 @@ case 201:
...
@@ -2860,117 +2881,131 @@ case 201:
yyval
.
a_constr
->
range_stop
->
type
=
ATV_MAX
;
yyval
.
a_constr
->
range_stop
->
type
=
ATV_MAX
;
;
;
break
;}
break
;}
case
20
2
:
case
20
3
:
#line 16
00
"asn1p_y.y"
#line 16
18
"asn1p_y.y"
{
{
yyval
.
a_constr
=
yyvsp
[
0
].
a_constr
;
yyval
.
a_constr
=
yyvsp
[
0
].
a_constr
;
;
;
break
;}
break
;}
case
20
3
:
case
20
4
:
#line 16
03
"asn1p_y.y"
#line 16
21
"asn1p_y.y"
{
{
yyval
.
a_constr
=
yyvsp
[
0
].
a_constr
;
yyval
.
a_constr
=
yyvsp
[
0
].
a_constr
;
;
;
break
;}
break
;}
case
204
:
#line 1609 "asn1p_y.y"
{
yyval
.
a_ctype
=
ACT_EL_RANGE
;
;
break
;}
case
205
:
case
205
:
#line 16
10
"asn1p_y.y"
#line 16
27
"asn1p_y.y"
{
yyval
.
a_ctype
=
ACT_EL_R
LR
ANGE
;
;
{
yyval
.
a_ctype
=
ACT_EL_RANGE
;
;
break
;}
break
;}
case
206
:
case
206
:
#line 16
11
"asn1p_y.y"
#line 16
28
"asn1p_y.y"
{
yyval
.
a_ctype
=
ACT_EL_
L
LRANGE
;
;
{
yyval
.
a_ctype
=
ACT_EL_
R
LRANGE
;
;
break
;}
break
;}
case
207
:
case
207
:
#line 16
12
"asn1p_y.y"
#line 16
29
"asn1p_y.y"
{
yyval
.
a_ctype
=
ACT_EL_
U
LRANGE
;
;
{
yyval
.
a_ctype
=
ACT_EL_
L
LRANGE
;
;
break
;}
break
;}
case
208
:
case
208
:
#line 1616 "asn1p_y.y"
#line 1630 "asn1p_y.y"
{
{
yyval
.
a_ctype
=
ACT_EL_ULRANGE
;
;
yyval
.
a_ctype
=
ACT_CT_SIZE
;
;
break
;}
break
;}
case
209
:
case
209
:
#line 16
19
"asn1p_y.y"
#line 16
34
"asn1p_y.y"
{
{
yyval
.
a_ctype
=
ACT_CT_
FROM
;
yyval
.
a_ctype
=
ACT_CT_
SIZE
;
;
;
break
;}
break
;}
case
210
:
case
210
:
#line 16
25
"asn1p_y.y"
#line 16
37
"asn1p_y.y"
{
{
yyval
.
a_
value
=
yyvsp
[
0
].
a_value
;
yyval
.
a_
ctype
=
ACT_CT_FROM
;
;
;
break
;}
break
;}
case
211
:
case
211
:
#line 16
28
"asn1p_y.y"
#line 16
43
"asn1p_y.y"
{
{
asn1p_ref_t
*
ref
;
yyval
.
a_value
=
asn1p_value_fromint
(
0
);
int
ret
;
ref
=
asn1p_ref_new
(
yylineno
);
checkmem
(
ref
);
ret
=
asn1p_ref_add_component
(
ref
,
yyvsp
[
0
].
tv_str
,
RLT_lowercase
);
checkmem
(
ret
==
0
);
yyval
.
a_value
=
asn1p_value_fromref
(
ref
,
0
);
checkmem
(
yyval
.
a_value
);
checkmem
(
yyval
.
a_value
);
free
(
yyvsp
[
0
].
tv_str
)
;
yyval
.
a_value
->
type
=
ATV_FALSE
;
;
;
break
;}
break
;}
case
212
:
case
212
:
#line 16
39
"asn1p_y.y"
#line 16
48
"asn1p_y.y"
{
{
yyval
.
a_value
=
asn1p_value_from
buf
(
yyvsp
[
0
].
tv_opaque
.
buf
,
yyvsp
[
0
].
tv_opaque
.
len
,
0
);
yyval
.
a_value
=
asn1p_value_from
int
(
1
);
checkmem
(
yyval
.
a_value
);
checkmem
(
yyval
.
a_value
);
yyval
.
a_value
->
type
=
ATV_TRUE
;
;
;
break
;}
break
;}
case
213
:
case
213
:
#line 16
4
3 "asn1p_y.y"
#line 16
5
3 "asn1p_y.y"
{
{
yyval
.
a_value
=
asn1p_value_fromint
(
0
);
yyval
.
a_value
=
yyvsp
[
0
].
a_value
;
checkmem
(
yyval
.
a_value
);
yyval
.
a_value
->
type
=
ATV_FALSE
;
;
;
break
;}
break
;}
case
214
:
case
214
:
#line 16
48
"asn1p_y.y"
#line 16
56
"asn1p_y.y"
{
{
yyval
.
a_value
=
asn1p_value_from
int
(
1
);
yyval
.
a_value
=
asn1p_value_from
buf
(
yyvsp
[
0
].
tv_opaque
.
buf
,
yyvsp
[
0
].
tv_opaque
.
len
,
0
);
checkmem
(
yyval
.
a_value
);
checkmem
(
yyval
.
a_value
);
yyval
.
a_value
->
type
=
ATV_TRUE
;
;
;
break
;}
break
;}
case
215
:
case
215
:
#line 16
56
"asn1p_y.y"
#line 16
60
"asn1p_y.y"
{
{
CONSTRAINT_INSERT
(
yyval
.
a_constr
,
ACT_CT_WCOMPS
,
yyvsp
[
-
1
].
a_constr
,
0
);
asn1p_ref_t
*
ref
;
int
ret
;
ref
=
asn1p_ref_new
(
yylineno
);
checkmem
(
ref
);
ret
=
asn1p_ref_add_component
(
ref
,
yyvsp
[
0
].
tv_str
,
RLT_lowercase
);
checkmem
(
ret
==
0
);
yyval
.
a_value
=
asn1p_value_fromref
(
ref
,
0
);
checkmem
(
yyval
.
a_value
);
free
(
yyvsp
[
0
].
tv_str
);
;
;
break
;}
break
;}
case
216
:
case
216
:
#line 16
62
"asn1p_y.y"
#line 16
71
"asn1p_y.y"
{
{
yyval
.
a_constr
=
yyvsp
[
0
].
a_constr
;
asn1p_ref_t
*
ref
;
int
ret
;
ref
=
asn1p_ref_new
(
yylineno
);
checkmem
(
ref
);
ret
=
asn1p_ref_add_component
(
ref
,
yyvsp
[
0
].
tv_str
,
RLT_UNKNOWN
);
checkmem
(
ret
==
0
);
yyval
.
a_value
=
asn1p_value_fromref
(
ref
,
0
);
checkmem
(
yyval
.
a_value
);
free
(
yyvsp
[
0
].
tv_str
);
;
;
break
;}
break
;}
case
217
:
case
217
:
#line 16
6
5 "asn1p_y.y"
#line 16
8
5 "asn1p_y.y"
{
{
CONSTRAINT_INSERT
(
yyval
.
a_constr
,
ACT_CT_WCOMPS
,
yyvsp
[
-
2
].
a_constr
,
yyvsp
[
0
].
a_constr
);
CONSTRAINT_INSERT
(
yyval
.
a_constr
,
ACT_CT_WCOMPS
,
yyvsp
[
-
1
].
a_constr
,
0
);
;
;
break
;}
break
;}
case
218
:
case
218
:
#line 1671 "asn1p_y.y"
#line 1691 "asn1p_y.y"
{
yyval
.
a_constr
=
yyvsp
[
0
].
a_constr
;
;
break
;}
case
219
:
#line 1694 "asn1p_y.y"
{
CONSTRAINT_INSERT
(
yyval
.
a_constr
,
ACT_CT_WCOMPS
,
yyvsp
[
-
2
].
a_constr
,
yyvsp
[
0
].
a_constr
);
;
break
;}
case
220
:
#line 1700 "asn1p_y.y"
{
{
yyval
.
a_constr
=
asn1p_constraint_new
(
yylineno
);
yyval
.
a_constr
=
asn1p_constraint_new
(
yylineno
);
checkmem
(
yyval
.
a_constr
);
checkmem
(
yyval
.
a_constr
);
yyval
.
a_constr
->
type
=
ACT_EL_EXT
;
yyval
.
a_constr
->
type
=
ACT_EL_EXT
;
;
;
break
;}
break
;}
case
2
19
:
case
2
21
:
#line 1
676
"asn1p_y.y"
#line 1
705
"asn1p_y.y"
{
{
yyval
.
a_constr
=
asn1p_constraint_new
(
yylineno
);
yyval
.
a_constr
=
asn1p_constraint_new
(
yylineno
);
checkmem
(
yyval
.
a_constr
);
checkmem
(
yyval
.
a_constr
);
...
@@ -2979,46 +3014,46 @@ case 219:
...
@@ -2979,46 +3014,46 @@ case 219:
yyval
.
a_constr
->
presence
=
yyvsp
[
0
].
a_pres
;
yyval
.
a_constr
->
presence
=
yyvsp
[
0
].
a_pres
;
;
;
break
;}
break
;}
case
22
0
:
case
22
2
:
#line 1
689
"asn1p_y.y"
#line 1
718
"asn1p_y.y"
{
yyval
.
a_pres
=
ACPRES_DEFAULT
;
;
{
yyval
.
a_pres
=
ACPRES_DEFAULT
;
;
break
;}
break
;}
case
22
1
:
case
22
3
:
#line 1
690
"asn1p_y.y"
#line 1
719
"asn1p_y.y"
{
yyval
.
a_pres
=
yyvsp
[
0
].
a_pres
;
;
{
yyval
.
a_pres
=
yyvsp
[
0
].
a_pres
;
;
break
;}
break
;}
case
22
2
:
case
22
4
:
#line 1
694
"asn1p_y.y"
#line 1
723
"asn1p_y.y"
{
{
yyval
.
a_pres
=
ACPRES_PRESENT
;
yyval
.
a_pres
=
ACPRES_PRESENT
;
;
;
break
;}
break
;}
case
22
3
:
case
22
5
:
#line 1
697
"asn1p_y.y"
#line 1
726
"asn1p_y.y"
{
{
yyval
.
a_pres
=
ACPRES_ABSENT
;
yyval
.
a_pres
=
ACPRES_ABSENT
;
;
;
break
;}
break
;}
case
22
4
:
case
22
6
:
#line 17
00
"asn1p_y.y"
#line 17
29
"asn1p_y.y"
{
{
yyval
.
a_pres
=
ACPRES_OPTIONAL
;
yyval
.
a_pres
=
ACPRES_OPTIONAL
;
;
;
break
;}
break
;}
case
22
5
:
case
22
7
:
#line 17
06
"asn1p_y.y"
#line 17
35
"asn1p_y.y"
{
{
yyval
.
a_constr
=
yyvsp
[
0
].
a_constr
;
yyval
.
a_constr
=
yyvsp
[
0
].
a_constr
;
;
;
break
;}
break
;}
case
22
6
:
case
22
8
:
#line 17
09
"asn1p_y.y"
#line 17
38
"asn1p_y.y"
{
{
yyval
.
a_constr
=
yyvsp
[
0
].
a_constr
;
yyval
.
a_constr
=
yyvsp
[
0
].
a_constr
;
;
;
break
;}
break
;}
case
22
7
:
case
22
9
:
#line 17
18
"asn1p_y.y"
#line 17
47
"asn1p_y.y"
{
{
asn1p_ref_t
*
ref
=
asn1p_ref_new
(
yylineno
);
asn1p_ref_t
*
ref
=
asn1p_ref_new
(
yylineno
);
asn1p_constraint_t
*
ct
;
asn1p_constraint_t
*
ct
;
...
@@ -3032,14 +3067,14 @@ case 227:
...
@@ -3032,14 +3067,14 @@ case 227:
CONSTRAINT_INSERT
(
yyval
.
a_constr
,
ACT_CA_CRC
,
ct
,
0
);
CONSTRAINT_INSERT
(
yyval
.
a_constr
,
ACT_CA_CRC
,
ct
,
0
);
;
;
break
;}
break
;}
case
2
28
:
case
2
30
:
#line 17
33
"asn1p_y.y"
#line 17
62
"asn1p_y.y"
{
{
CONSTRAINT_INSERT
(
yyval
.
a_constr
,
ACT_CA_CRC
,
yyvsp
[
-
3
].
a_constr
,
yyvsp
[
-
1
].
a_constr
);
CONSTRAINT_INSERT
(
yyval
.
a_constr
,
ACT_CA_CRC
,
yyvsp
[
-
3
].
a_constr
,
yyvsp
[
-
1
].
a_constr
);
;
;
break
;}
break
;}
case
2
29
:
case
2
31
:
#line 17
39
"asn1p_y.y"
#line 17
68
"asn1p_y.y"
{
{
yyval
.
a_constr
=
asn1p_constraint_new
(
yylineno
);
yyval
.
a_constr
=
asn1p_constraint_new
(
yylineno
);
checkmem
(
yyval
.
a_constr
);
checkmem
(
yyval
.
a_constr
);
...
@@ -3047,8 +3082,8 @@ case 229:
...
@@ -3047,8 +3082,8 @@ case 229:
yyval
.
a_constr
->
value
=
asn1p_value_fromref
(
yyvsp
[
0
].
a_ref
,
0
);
yyval
.
a_constr
->
value
=
asn1p_value_fromref
(
yyvsp
[
0
].
a_ref
,
0
);
;
;
break
;}
break
;}
case
23
0
:
case
23
2
:
#line 17
45
"asn1p_y.y"
#line 17
74
"asn1p_y.y"
{
{
asn1p_constraint_t
*
ct
;
asn1p_constraint_t
*
ct
;
ct
=
asn1p_constraint_new
(
yylineno
);
ct
=
asn1p_constraint_new
(
yylineno
);
...
@@ -3058,8 +3093,8 @@ case 230:
...
@@ -3058,8 +3093,8 @@ case 230:
CONSTRAINT_INSERT
(
yyval
.
a_constr
,
ACT_CA_CSV
,
yyvsp
[
-
2
].
a_constr
,
ct
);
CONSTRAINT_INSERT
(
yyval
.
a_constr
,
ACT_CA_CSV
,
yyvsp
[
-
2
].
a_constr
,
ct
);
;
;
break
;}
break
;}
case
23
1
:
case
23
3
:
#line 17
59
"asn1p_y.y"
#line 17
88
"asn1p_y.y"
{
{
char
*
p
=
malloc
(
strlen
(
yyvsp
[
0
].
tv_str
)
+
2
);
char
*
p
=
malloc
(
strlen
(
yyvsp
[
0
].
tv_str
)
+
2
);
int
ret
;
int
ret
;
...
@@ -3072,8 +3107,8 @@ case 231:
...
@@ -3072,8 +3107,8 @@ case 231:
free
(
yyvsp
[
0
].
tv_str
);
free
(
yyvsp
[
0
].
tv_str
);
;
;
break
;}
break
;}
case
23
2
:
case
23
4
:
#line 17
70
"asn1p_y.y"
#line 17
99
"asn1p_y.y"
{
{
char
*
p
=
malloc
(
strlen
(
yyvsp
[
0
].
tv_str
)
+
3
);
char
*
p
=
malloc
(
strlen
(
yyvsp
[
0
].
tv_str
)
+
3
);
int
ret
;
int
ret
;
...
@@ -3087,14 +3122,14 @@ case 232:
...
@@ -3087,14 +3122,14 @@ case 232:
free
(
yyvsp
[
0
].
tv_str
);
free
(
yyvsp
[
0
].
tv_str
);
;
;
break
;}
break
;}
case
23
3
:
case
23
5
:
#line 1
786
"asn1p_y.y"
#line 1
815
"asn1p_y.y"
{
{
yyval
.
tv_str
=
yyvsp
[
0
].
tv_str
;
yyval
.
tv_str
=
yyvsp
[
0
].
tv_str
;
;
;
break
;}
break
;}
case
23
4
:
case
23
6
:
#line 1
789
"asn1p_y.y"
#line 1
818
"asn1p_y.y"
{
{
int
l1
=
strlen
(
yyvsp
[
-
2
].
tv_str
);
int
l1
=
strlen
(
yyvsp
[
-
2
].
tv_str
);
int
l3
=
strlen
(
yyvsp
[
0
].
tv_str
);
int
l3
=
strlen
(
yyvsp
[
0
].
tv_str
);
...
@@ -3105,61 +3140,61 @@ case 234:
...
@@ -3105,61 +3140,61 @@ case 234:
yyval
.
tv_str
[
l1
+
1
+
l3
]
=
'\0'
;
yyval
.
tv_str
[
l1
+
1
+
l3
]
=
'\0'
;
;
;
break
;}
break
;}
case
23
5
:
case
23
7
:
#line 18
07
"asn1p_y.y"
#line 18
36
"asn1p_y.y"
{
{
yyval
.
a_marker
.
flags
=
EM_NOMARK
;
yyval
.
a_marker
.
flags
=
EM_NOMARK
;
yyval
.
a_marker
.
default_value
=
0
;
yyval
.
a_marker
.
default_value
=
0
;
;
;
break
;}
break
;}
case
23
6
:
case
23
8
:
#line 18
11
"asn1p_y.y"
#line 18
40
"asn1p_y.y"
{
yyval
.
a_marker
=
yyvsp
[
0
].
a_marker
;
;
{
yyval
.
a_marker
=
yyvsp
[
0
].
a_marker
;
;
break
;}
break
;}
case
23
7
:
case
23
9
:
#line 18
15
"asn1p_y.y"
#line 18
44
"asn1p_y.y"
{
{
yyval
.
a_marker
.
flags
=
EM_OPTIONAL
;
yyval
.
a_marker
.
flags
=
EM_OPTIONAL
;
yyval
.
a_marker
.
default_value
=
0
;
yyval
.
a_marker
.
default_value
=
0
;
;
;
break
;}
break
;}
case
2
38
:
case
2
40
:
#line 18
19
"asn1p_y.y"
#line 18
48
"asn1p_y.y"
{
{
yyval
.
a_marker
.
flags
=
EM_DEFAULT
;
yyval
.
a_marker
.
flags
=
EM_DEFAULT
;
yyval
.
a_marker
.
default_value
=
yyvsp
[
0
].
a_value
;
yyval
.
a_marker
.
default_value
=
yyvsp
[
0
].
a_value
;
;
;
break
;}
break
;}
case
2
39
:
case
2
41
:
#line 18
42
"asn1p_y.y"
#line 18
71
"asn1p_y.y"
{
{
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
checkmem
(
yyval
.
a_expr
);
checkmem
(
yyval
.
a_expr
);
;
;
break
;}
break
;}
case
24
0
:
case
24
2
:
#line 18
46
"asn1p_y.y"
#line 18
75
"asn1p_y.y"
{
{
yyval
.
a_expr
=
yyvsp
[
-
1
].
a_expr
;
yyval
.
a_expr
=
yyvsp
[
-
1
].
a_expr
;
;
;
break
;}
break
;}
case
24
1
:
case
24
3
:
#line 18
52
"asn1p_y.y"
#line 18
81
"asn1p_y.y"
{
{
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
checkmem
(
yyval
.
a_expr
);
checkmem
(
yyval
.
a_expr
);
asn1p_expr_add
(
yyval
.
a_expr
,
yyvsp
[
0
].
a_expr
);
asn1p_expr_add
(
yyval
.
a_expr
,
yyvsp
[
0
].
a_expr
);
;
;
break
;}
break
;}
case
24
2
:
case
24
4
:
#line 18
57
"asn1p_y.y"
#line 18
86
"asn1p_y.y"
{
{
yyval
.
a_expr
=
yyvsp
[
-
2
].
a_expr
;
yyval
.
a_expr
=
yyvsp
[
-
2
].
a_expr
;
asn1p_expr_add
(
yyval
.
a_expr
,
yyvsp
[
0
].
a_expr
);
asn1p_expr_add
(
yyval
.
a_expr
,
yyvsp
[
0
].
a_expr
);
;
;
break
;}
break
;}
case
24
3
:
case
24
5
:
#line 18
64
"asn1p_y.y"
#line 18
93
"asn1p_y.y"
{
{
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
checkmem
(
yyval
.
a_expr
);
checkmem
(
yyval
.
a_expr
);
...
@@ -3168,8 +3203,8 @@ case 243:
...
@@ -3168,8 +3203,8 @@ case 243:
yyval
.
a_expr
->
Identifier
=
yyvsp
[
0
].
tv_str
;
yyval
.
a_expr
->
Identifier
=
yyvsp
[
0
].
tv_str
;
;
;
break
;}
break
;}
case
24
4
:
case
24
6
:
#line 1
871
"asn1p_y.y"
#line 1
900
"asn1p_y.y"
{
{
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
checkmem
(
yyval
.
a_expr
);
checkmem
(
yyval
.
a_expr
);
...
@@ -3179,8 +3214,8 @@ case 244:
...
@@ -3179,8 +3214,8 @@ case 244:
yyval
.
a_expr
->
value
=
yyvsp
[
-
1
].
a_value
;
yyval
.
a_expr
->
value
=
yyvsp
[
-
1
].
a_value
;
;
;
break
;}
break
;}
case
24
5
:
case
24
7
:
#line 1
879
"asn1p_y.y"
#line 1
908
"asn1p_y.y"
{
{
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
checkmem
(
yyval
.
a_expr
);
checkmem
(
yyval
.
a_expr
);
...
@@ -3190,8 +3225,8 @@ case 245:
...
@@ -3190,8 +3225,8 @@ case 245:
yyval
.
a_expr
->
value
=
yyvsp
[
-
1
].
a_value
;
yyval
.
a_expr
->
value
=
yyvsp
[
-
1
].
a_value
;
;
;
break
;}
break
;}
case
24
6
:
case
24
8
:
#line 1
887
"asn1p_y.y"
#line 1
916
"asn1p_y.y"
{
{
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
checkmem
(
yyval
.
a_expr
);
checkmem
(
yyval
.
a_expr
);
...
@@ -3200,8 +3235,8 @@ case 246:
...
@@ -3200,8 +3235,8 @@ case 246:
yyval
.
a_expr
->
value
=
yyvsp
[
0
].
a_value
;
yyval
.
a_expr
->
value
=
yyvsp
[
0
].
a_value
;
;
;
break
;}
break
;}
case
24
7
:
case
24
9
:
#line 1
894
"asn1p_y.y"
#line 1
923
"asn1p_y.y"
{
{
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
yyval
.
a_expr
=
asn1p_expr_new
(
yylineno
);
checkmem
(
yyval
.
a_expr
);
checkmem
(
yyval
.
a_expr
);
...
@@ -3211,103 +3246,103 @@ case 247:
...
@@ -3211,103 +3246,103 @@ case 247:
yyval
.
a_expr
->
meta_type
=
AMT_VALUE
;
yyval
.
a_expr
->
meta_type
=
AMT_VALUE
;
;
;
break
;}
break
;}
case
2
48
:
case
2
50
:
#line 19
05
"asn1p_y.y"
#line 19
34
"asn1p_y.y"
{
{
yyval
.
a_value
=
asn1p_value_fromint
(
yyvsp
[
0
].
a_int
);
yyval
.
a_value
=
asn1p_value_fromint
(
yyvsp
[
0
].
a_int
);
checkmem
(
yyval
.
a_value
);
checkmem
(
yyval
.
a_value
);
;
;
break
;}
break
;}
case
2
49
:
case
2
51
:
#line 19
09
"asn1p_y.y"
#line 19
38
"asn1p_y.y"
{
{
yyval
.
a_value
=
asn1p_value_fromint
(
yyvsp
[
0
].
a_int
);
yyval
.
a_value
=
asn1p_value_fromint
(
yyvsp
[
0
].
a_int
);
checkmem
(
yyval
.
a_value
);
checkmem
(
yyval
.
a_value
);
;
;
break
;}
break
;}
case
25
0
:
case
25
2
:
#line 19
40
"asn1p_y.y"
#line 19
69
"asn1p_y.y"
{
memset
(
&
yyval
.
a_tag
,
0
,
sizeof
(
yyval
.
a_tag
));
;
{
memset
(
&
yyval
.
a_tag
,
0
,
sizeof
(
yyval
.
a_tag
));
;
break
;}
break
;}
case
25
1
:
case
25
3
:
#line 19
41
"asn1p_y.y"
#line 19
70
"asn1p_y.y"
{
yyval
.
a_tag
=
yyvsp
[
0
].
a_tag
;
;
{
yyval
.
a_tag
=
yyvsp
[
0
].
a_tag
;
;
break
;}
break
;}
case
25
2
:
case
25
4
:
#line 19
45
"asn1p_y.y"
#line 19
74
"asn1p_y.y"
{
{
yyval
.
a_tag
=
yyvsp
[
-
1
].
a_tag
;
yyval
.
a_tag
=
yyvsp
[
-
1
].
a_tag
;
yyval
.
a_tag
.
tag_mode
=
yyvsp
[
0
].
a_tag
.
tag_mode
;
yyval
.
a_tag
.
tag_mode
=
yyvsp
[
0
].
a_tag
.
tag_mode
;
;
;
break
;}
break
;}
case
25
3
:
case
25
5
:
#line 19
52
"asn1p_y.y"
#line 19
81
"asn1p_y.y"
{
{
yyval
.
a_tag
=
yyvsp
[
-
2
].
a_tag
;
yyval
.
a_tag
=
yyvsp
[
-
2
].
a_tag
;
yyval
.
a_tag
.
tag_value
=
yyvsp
[
-
1
].
a_int
;
yyval
.
a_tag
.
tag_value
=
yyvsp
[
-
1
].
a_int
;
;
;
break
;}
break
;}
case
25
4
:
case
25
6
:
#line 19
58
"asn1p_y.y"
#line 19
87
"asn1p_y.y"
{
yyval
.
a_tag
.
tag_class
=
TC_CONTEXT_SPECIFIC
;
;
{
yyval
.
a_tag
.
tag_class
=
TC_CONTEXT_SPECIFIC
;
;
break
;}
break
;}
case
25
5
:
case
25
7
:
#line 19
59
"asn1p_y.y"
#line 19
88
"asn1p_y.y"
{
yyval
.
a_tag
.
tag_class
=
TC_UNIVERSAL
;
;
{
yyval
.
a_tag
.
tag_class
=
TC_UNIVERSAL
;
;
break
;}
break
;}
case
25
6
:
case
25
8
:
#line 19
60
"asn1p_y.y"
#line 19
89
"asn1p_y.y"
{
yyval
.
a_tag
.
tag_class
=
TC_APPLICATION
;
;
{
yyval
.
a_tag
.
tag_class
=
TC_APPLICATION
;
;
break
;}
break
;}
case
25
7
:
case
25
9
:
#line 19
61
"asn1p_y.y"
#line 19
90
"asn1p_y.y"
{
yyval
.
a_tag
.
tag_class
=
TC_PRIVATE
;
;
{
yyval
.
a_tag
.
tag_class
=
TC_PRIVATE
;
;
break
;}
break
;}
case
2
58
:
case
2
60
:
#line 19
65
"asn1p_y.y"
#line 19
94
"asn1p_y.y"
{
yyval
.
a_tag
.
tag_mode
=
TM_DEFAULT
;
;
{
yyval
.
a_tag
.
tag_mode
=
TM_DEFAULT
;
;
break
;}
break
;}
case
2
59
:
case
2
61
:
#line 19
66
"asn1p_y.y"
#line 19
95
"asn1p_y.y"
{
yyval
.
a_tag
.
tag_mode
=
TM_IMPLICIT
;
;
{
yyval
.
a_tag
.
tag_mode
=
TM_IMPLICIT
;
;
break
;}
break
;}
case
26
0
:
case
26
2
:
#line 19
67
"asn1p_y.y"
#line 19
96
"asn1p_y.y"
{
yyval
.
a_tag
.
tag_mode
=
TM_EXPLICIT
;
;
{
yyval
.
a_tag
.
tag_mode
=
TM_EXPLICIT
;
;
break
;}
break
;}
case
26
1
:
case
26
3
:
#line
1971
"asn1p_y.y"
#line
2000
"asn1p_y.y"
{
{
checkmem
(
yyvsp
[
0
].
tv_str
);
checkmem
(
yyvsp
[
0
].
tv_str
);
yyval
.
tv_str
=
yyvsp
[
0
].
tv_str
;
yyval
.
tv_str
=
yyvsp
[
0
].
tv_str
;
;
;
break
;}
break
;}
case
26
2
:
case
26
4
:
#line
1975
"asn1p_y.y"
#line
2004
"asn1p_y.y"
{
{
checkmem
(
yyvsp
[
0
].
tv_str
);
checkmem
(
yyvsp
[
0
].
tv_str
);
yyval
.
tv_str
=
yyvsp
[
0
].
tv_str
;
yyval
.
tv_str
=
yyvsp
[
0
].
tv_str
;
;
;
break
;}
break
;}
case
26
3
:
case
26
5
:
#line
1983
"asn1p_y.y"
#line
2012
"asn1p_y.y"
{
{
checkmem
(
yyvsp
[
0
].
tv_str
);
checkmem
(
yyvsp
[
0
].
tv_str
);
yyval
.
tv_str
=
yyvsp
[
0
].
tv_str
;
yyval
.
tv_str
=
yyvsp
[
0
].
tv_str
;
;
;
break
;}
break
;}
case
26
4
:
case
26
6
:
#line
1990
"asn1p_y.y"
#line
2019
"asn1p_y.y"
{
yyval
.
tv_str
=
0
;
;
{
yyval
.
tv_str
=
0
;
;
break
;}
break
;}
case
26
5
:
case
26
7
:
#line
1991
"asn1p_y.y"
#line
2020
"asn1p_y.y"
{
{
yyval
.
tv_str
=
yyvsp
[
0
].
tv_str
;
yyval
.
tv_str
=
yyvsp
[
0
].
tv_str
;
;
;
break
;}
break
;}
case
26
6
:
case
26
8
:
#line
1996
"asn1p_y.y"
#line
2025
"asn1p_y.y"
{
{
checkmem
(
yyvsp
[
0
].
tv_str
);
checkmem
(
yyvsp
[
0
].
tv_str
);
yyval
.
tv_str
=
yyvsp
[
0
].
tv_str
;
yyval
.
tv_str
=
yyvsp
[
0
].
tv_str
;
...
@@ -3535,7 +3570,7 @@ yyerrhandle:
...
@@ -3535,7 +3570,7 @@ yyerrhandle:
}
}
return
1
;
return
1
;
}
}
#line 20
02
"asn1p_y.y"
#line 20
31
"asn1p_y.y"
...
...
libasn1parser/asn1p_y.y
View file @
c8092cb2
...
@@ -816,6 +816,13 @@ ParameterArgumentName:
...
@@ -816,6 +816,13 @@ ParameterArgumentName:
checkmem(ret == 0);
checkmem(ret == 0);
$$.argument = $3;
$$.argument = $3;
}
}
| TypeRefName ':' TypeRefName {
int ret;
$$.governor = asn1p_ref_new(yylineno);
ret = asn1p_ref_add_component($$.governor, $1, 0);
checkmem(ret == 0);
$$.argument = $3;
}
| BasicTypeId ':' Identifier {
| BasicTypeId ':' Identifier {
int ret;
int ret;
$$.governor = asn1p_ref_new(yylineno);
$$.governor = asn1p_ref_new(yylineno);
...
@@ -851,6 +858,17 @@ ActualParameter:
...
@@ -851,6 +858,17 @@ ActualParameter:
}
}
;
;
/*
| '{' ActualParameter '}' {
$$ = asn1p_expr_new(yylineno);
checkmem($$);
asn1p_expr_add($$, $2);
$$->expr_type = A1TC_PARAMETRIZED;
$$->meta_type = AMT_TYPE;
}
;
*/
/*
/*
* A collection of constructed data type members.
* A collection of constructed data type members.
*/
*/
...
@@ -1622,9 +1640,23 @@ ConstraintSpec:
...
@@ -1622,9 +1640,23 @@ ConstraintSpec:
;
;
ConstraintValue:
ConstraintValue:
SignedNumber {
TOK_FALSE {
$$ = asn1p_value_fromint(0);
checkmem($$);
$$->type = ATV_FALSE;
}
| TOK_TRUE {
$$ = asn1p_value_fromint(1);
checkmem($$);
$$->type = ATV_TRUE;
}
| SignedNumber {
$$ = $1;
$$ = $1;
}
}
| TOK_cstring {
$$ = asn1p_value_frombuf($1.buf, $1.len, 0);
checkmem($$);
}
| Identifier {
| Identifier {
asn1p_ref_t *ref;
asn1p_ref_t *ref;
int ret;
int ret;
...
@@ -1636,19 +1668,16 @@ ConstraintValue:
...
@@ -1636,19 +1668,16 @@ ConstraintValue:
checkmem($$);
checkmem($$);
free($1);
free($1);
}
}
| TOK_cstring {
| TypeRefName {
$$ = asn1p_value_frombuf($1.buf, $1.len, 0);
asn1p_ref_t *ref;
checkmem($$);
int ret;
}
ref = asn1p_ref_new(yylineno);
| TOK_FALSE {
checkmem(ref);
$$ = asn1p_value_fromint(0);
ret = asn1p_ref_add_component(ref, $1, RLT_UNKNOWN);
checkmem($$);
checkmem(ret == 0);
$$->type = ATV_FALSE;
$$ = asn1p_value_fromref(ref, 0);
}
| TOK_TRUE {
$$ = asn1p_value_fromint(1);
checkmem($$);
checkmem($$);
$$->type = ATV_TRUE
;
free($1)
;
}
}
;
;
...
...
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