This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Stop corelist.pl from updating DESCRIPTION
[perl5.git] / perly.act
CommitLineData
0de566d7 1case 2:
4098b6bb 2#line 143 "perly.y"
636def1f 3 { (yyval.ival) = (ps[(2) - (2)].val.ival); ;}
0de566d7
DM
4 break;
5
6 case 3:
636def1f
RGS
7#line 145 "perly.y"
8 {
9 PL_eval_root = (ps[(2) - (2)].val.opval);
10 (yyval.ival) = 0;
11 yyunlex();
12 parser->yychar = YYEOF;
13 ;}
14 break;
15
16 case 4:
17#line 156 "perly.y"
18 { (yyval.ival) = (ps[(1) - (2)].val.ival); newPROG(block_end((ps[(1) - (2)].val.ival),(ps[(2) - (2)].val.opval))); ;}
19 break;
20
21 case 5:
22#line 161 "perly.y"
53a7735b
DM
23 { if (PL_parser->copline > (line_t)IVAL((ps[(1) - (4)].val.i_tkval)))
24 PL_parser->copline = (line_t)IVAL((ps[(1) - (4)].val.i_tkval));
1654d593
DM
25 (yyval.opval) = block_end((ps[(2) - (4)].val.ival), (ps[(3) - (4)].val.opval));
26 TOKEN_GETMAD((ps[(1) - (4)].val.i_tkval),(yyval.opval),'{');
27 TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),'}');
f05e27e5 28 ;}
0de566d7
DM
29 break;
30
636def1f
RGS
31 case 6:
32#line 170 "perly.y"
9a9798c2 33 { (yyval.ival) = block_start(TRUE); ;}
0de566d7
DM
34 break;
35
636def1f
RGS
36 case 7:
37#line 174 "perly.y"
d6447115 38 { (yyval.ival) = (I32) Perl_allocmy(aTHX_ STR_WITH_LEN("$_"), 0); ;}
0d863452
RH
39 break;
40
636def1f
RGS
41 case 8:
42#line 178 "perly.y"
0de566d7 43 {
53a7735b 44 PL_parser->expect = XSTATE; (yyval.ival) = block_start(TRUE);
0de566d7
DM
45 ;}
46 break;
47
636def1f
RGS
48 case 9:
49#line 185 "perly.y"
53a7735b
DM
50 { if (PL_parser->copline > (line_t)IVAL((ps[(1) - (4)].val.i_tkval)))
51 PL_parser->copline = (line_t)IVAL((ps[(1) - (4)].val.i_tkval));
1654d593
DM
52 (yyval.opval) = block_end((ps[(2) - (4)].val.ival), (ps[(3) - (4)].val.opval));
53 TOKEN_GETMAD((ps[(1) - (4)].val.i_tkval),(yyval.opval),'{');
54 TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),'}');
f05e27e5 55 ;}
0de566d7
DM
56 break;
57
636def1f
RGS
58 case 10:
59#line 194 "perly.y"
9a9798c2 60 { (yyval.ival) = block_start(FALSE); ;}
0de566d7
DM
61 break;
62
636def1f
RGS
63 case 11:
64#line 199 "perly.y"
bcabcc50 65 { (yyval.opval) = (OP*)NULL; ;}
0de566d7
DM
66 break;
67
636def1f
RGS
68 case 12:
69#line 201 "perly.y"
f05e27e5
DM
70 {
71 (yyval.opval) = IF_MAD(
72 append_list(OP_LINESEQ,
1654d593
DM
73 (LISTOP*)(ps[(1) - (2)].val.opval), (LISTOP*)(ps[(2) - (2)].val.opval)),
74 (ps[(1) - (2)].val.opval));
f05e27e5 75 ;}
0de566d7
DM
76 break;
77
636def1f
RGS
78 case 13:
79#line 208 "perly.y"
503de470
DM
80 { (yyval.opval) = append_list(OP_LINESEQ,
81 (LISTOP*)(ps[(1) - (2)].val.opval), (LISTOP*)(ps[(2) - (2)].val.opval));
500bedb6 82 PL_pad_reset_pending = TRUE;
503de470
DM
83 if ((ps[(1) - (2)].val.opval) && (ps[(2) - (2)].val.opval))
84 PL_hints |= HINT_BLOCK_SCOPE;
85 ;}
500bedb6
DM
86 break;
87
636def1f
RGS
88 case 14:
89#line 218 "perly.y"
90 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
91 break;
92
93 case 15:
94#line 220 "perly.y"
95 {
96 PL_pad_reset_pending = TRUE;
97 (yyval.opval) = (ps[(1) - (1)].val.opval);
98 ;}
99 break;
100
101 case 16:
102#line 228 "perly.y"
1654d593
DM
103 { (yyval.opval) = newSTATEOP(0, PVAL((ps[(1) - (2)].val.p_tkval)), (ps[(2) - (2)].val.opval));
104 TOKEN_GETMAD((ps[(1) - (2)].val.p_tkval),((LISTOP*)(yyval.opval))->op_first,'L'); ;}
0d863452
RH
105 break;
106
636def1f
RGS
107 case 18:
108#line 232 "perly.y"
1654d593 109 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
0d863452
RH
110 break;
111
636def1f
RGS
112 case 19:
113#line 234 "perly.y"
1654d593 114 { (yyval.opval) = newSTATEOP(0, PVAL((ps[(1) - (2)].val.p_tkval)), (ps[(2) - (2)].val.opval)); ;}
0de566d7
DM
115 break;
116
636def1f
RGS
117 case 20:
118#line 236 "perly.y"
f05e27e5 119 {
1654d593
DM
120 if (PVAL((ps[(1) - (2)].val.p_tkval))) {
121 (yyval.opval) = newSTATEOP(0, PVAL((ps[(1) - (2)].val.p_tkval)), newOP(OP_NULL, 0));
122 TOKEN_GETMAD((ps[(1) - (2)].val.p_tkval),(yyval.opval),'L');
123 TOKEN_GETMAD((ps[(2) - (2)].val.i_tkval),((LISTOP*)(yyval.opval))->op_first,';');
f05e27e5
DM
124 }
125 else {
126 (yyval.opval) = IF_MAD(
127 newOP(OP_NULL, 0),
bcabcc50 128 (OP*)NULL);
53a7735b 129 PL_parser->copline = NOLINE;
1654d593
DM
130 TOKEN_FREE((ps[(1) - (2)].val.p_tkval));
131 TOKEN_GETMAD((ps[(2) - (2)].val.i_tkval),(yyval.opval),';');
f05e27e5 132 }
53a7735b 133 PL_parser->expect = XSTATE;
f05e27e5 134 ;}
0de566d7
DM
135 break;
136
636def1f
RGS
137 case 21:
138#line 253 "perly.y"
f05e27e5 139 {
1654d593 140 (yyval.opval) = newSTATEOP(0, PVAL((ps[(1) - (3)].val.p_tkval)), (ps[(2) - (3)].val.opval));
53a7735b 141 PL_parser->expect = XSTATE;
035e2bcc 142 DO_MAD({
f05e27e5
DM
143 /* sideff might already have a nexstate */
144 OP* op = ((LISTOP*)(yyval.opval))->op_first;
145 if (op) {
146 while (op->op_sibling &&
147 op->op_sibling->op_type == OP_NEXTSTATE)
148 op = op->op_sibling;
1654d593
DM
149 token_getmad((ps[(1) - (3)].val.p_tkval),op,'L');
150 token_getmad((ps[(3) - (3)].val.i_tkval),op,';');
f05e27e5 151 }
035e2bcc 152 })
f05e27e5 153 ;}
0de566d7
DM
154 break;
155
636def1f
RGS
156 case 22:
157#line 269 "perly.y"
4e4da3ac
Z
158 { (yyval.opval) = newSTATEOP(0, NULL,
159 newWHILEOP(0, 1, (LOOP*)(OP*)NULL,
160 NOLINE, (OP*)NULL, (ps[(1) - (1)].val.opval),
702646f2 161 (OP*)NULL, 0)); ;}
0de566d7
DM
162 break;
163
636def1f
RGS
164 case 23:
165#line 274 "perly.y"
4e4da3ac 166 { (yyval.opval) = newSTATEOP(0, PVAL((ps[(1) - (2)].val.p_tkval)), (ps[(2) - (2)].val.opval)); ;}
0de566d7
DM
167 break;
168
636def1f
RGS
169 case 24:
170#line 279 "perly.y"
4e4da3ac 171 { (yyval.opval) = (OP*)NULL; ;}
4098b6bb
JV
172 break;
173
636def1f
RGS
174 case 25:
175#line 281 "perly.y"
4e4da3ac
Z
176 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
177 break;
178
636def1f
RGS
179 case 26:
180#line 283 "perly.y"
1654d593
DM
181 { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[(3) - (3)].val.opval), (ps[(1) - (3)].val.opval));
182 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'i');
f05e27e5 183 ;}
0de566d7
DM
184 break;
185
636def1f
RGS
186 case 27:
187#line 287 "perly.y"
1654d593
DM
188 { (yyval.opval) = newLOGOP(OP_OR, 0, (ps[(3) - (3)].val.opval), (ps[(1) - (3)].val.opval));
189 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'i');
f05e27e5 190 ;}
0de566d7
DM
191 break;
192
636def1f
RGS
193 case 28:
194#line 291 "perly.y"
1654d593
DM
195 { (yyval.opval) = newLOOPOP(OPf_PARENS, 1, scalar((ps[(3) - (3)].val.opval)), (ps[(1) - (3)].val.opval));
196 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'w');
f05e27e5 197 ;}
0de566d7
DM
198 break;
199
636def1f
RGS
200 case 29:
201#line 295 "perly.y"
1654d593
DM
202 { (yyval.opval) = newLOOPOP(OPf_PARENS, 1, (ps[(3) - (3)].val.opval), (ps[(1) - (3)].val.opval));
203 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'w');
f05e27e5 204 ;}
0de566d7
DM
205 break;
206
636def1f
RGS
207 case 30:
208#line 299 "perly.y"
1a9a51d4 209 { (yyval.opval) = newFOROP(0, NULL, (line_t)IVAL((ps[(2) - (3)].val.i_tkval)),
bcabcc50 210 (OP*)NULL, (ps[(3) - (3)].val.opval), (ps[(1) - (3)].val.opval), (OP*)NULL);
1654d593 211 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),((LISTOP*)(yyval.opval))->op_first->op_sibling,'w');
f05e27e5 212 ;}
0de566d7
DM
213 break;
214
636def1f
RGS
215 case 31:
216#line 304 "perly.y"
f20dcd76 217 { (yyval.opval) = newWHENOP((ps[(3) - (3)].val.opval), scope((ps[(1) - (3)].val.opval))); ;}
0de566d7
DM
218 break;
219
636def1f
RGS
220 case 32:
221#line 309 "perly.y"
f20dcd76
VP
222 { (yyval.opval) = (OP*)NULL; ;}
223 break;
224
636def1f
RGS
225 case 33:
226#line 311 "perly.y"
1654d593
DM
227 { ((ps[(2) - (2)].val.opval))->op_flags |= OPf_PARENS; (yyval.opval) = scope((ps[(2) - (2)].val.opval));
228 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
f05e27e5 229 ;}
0de566d7
DM
230 break;
231
636def1f
RGS
232 case 34:
233#line 315 "perly.y"
53a7735b 234 { PL_parser->copline = (line_t)IVAL((ps[(1) - (6)].val.i_tkval));
f6f3a1fe 235 (yyval.opval) = newCONDOP(0, newSTATEOP(OPf_SPECIAL,NULL,(ps[(3) - (6)].val.opval)), scope((ps[(5) - (6)].val.opval)), (ps[(6) - (6)].val.opval));
f05e27e5 236 PL_hints |= HINT_BLOCK_SCOPE;
1654d593
DM
237 TOKEN_GETMAD((ps[(1) - (6)].val.i_tkval),(yyval.opval),'I');
238 TOKEN_GETMAD((ps[(2) - (6)].val.i_tkval),(yyval.opval),'(');
239 TOKEN_GETMAD((ps[(4) - (6)].val.i_tkval),(yyval.opval),')');
f05e27e5 240 ;}
0de566d7
DM
241 break;
242
636def1f
RGS
243 case 35:
244#line 326 "perly.y"
53a7735b 245 { PL_parser->copline = (line_t)IVAL((ps[(1) - (7)].val.i_tkval));
1654d593
DM
246 (yyval.opval) = block_end((ps[(3) - (7)].val.ival),
247 newCONDOP(0, (ps[(4) - (7)].val.opval), scope((ps[(6) - (7)].val.opval)), (ps[(7) - (7)].val.opval)));
248 TOKEN_GETMAD((ps[(1) - (7)].val.i_tkval),(yyval.opval),'I');
249 TOKEN_GETMAD((ps[(2) - (7)].val.i_tkval),(yyval.opval),'(');
250 TOKEN_GETMAD((ps[(5) - (7)].val.i_tkval),(yyval.opval),')');
f05e27e5 251 ;}
0de566d7
DM
252 break;
253
636def1f
RGS
254 case 36:
255#line 334 "perly.y"
53a7735b 256 { PL_parser->copline = (line_t)IVAL((ps[(1) - (7)].val.i_tkval));
1654d593
DM
257 (yyval.opval) = block_end((ps[(3) - (7)].val.ival),
258 newCONDOP(0, (ps[(4) - (7)].val.opval), scope((ps[(6) - (7)].val.opval)), (ps[(7) - (7)].val.opval)));
259 TOKEN_GETMAD((ps[(1) - (7)].val.i_tkval),(yyval.opval),'I');
260 TOKEN_GETMAD((ps[(2) - (7)].val.i_tkval),(yyval.opval),'(');
261 TOKEN_GETMAD((ps[(5) - (7)].val.i_tkval),(yyval.opval),')');
f05e27e5 262 ;}
0de566d7
DM
263 break;
264
636def1f
RGS
265 case 37:
266#line 345 "perly.y"
1654d593
DM
267 { (yyval.opval) = block_end((ps[(3) - (6)].val.ival),
268 newWHENOP((ps[(4) - (6)].val.opval), scope((ps[(6) - (6)].val.opval)))); ;}
0d863452
RH
269 break;
270
636def1f
RGS
271 case 38:
272#line 348 "perly.y"
1654d593 273 { (yyval.opval) = newWHENOP(0, scope((ps[(2) - (2)].val.opval))); ;}
0d863452
RH
274 break;
275
636def1f
RGS
276 case 39:
277#line 353 "perly.y"
bcabcc50 278 { (yyval.opval) = (OP*)NULL; ;}
0de566d7
DM
279 break;
280
636def1f
RGS
281 case 40:
282#line 355 "perly.y"
1654d593
DM
283 { (yyval.opval) = scope((ps[(2) - (2)].val.opval));
284 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
f05e27e5 285 ;}
0de566d7
DM
286 break;
287
636def1f
RGS
288 case 41:
289#line 362 "perly.y"
f05e27e5 290 { OP *innerop;
23527818 291 PL_parser->copline = (line_t)IVAL((ps[(2) - (9)].val.i_tkval));
1654d593
DM
292 (yyval.opval) = block_end((ps[(4) - (9)].val.ival),
293 newSTATEOP(0, PVAL((ps[(1) - (9)].val.p_tkval)),
bcabcc50 294 innerop = newWHILEOP(0, 1, (LOOP*)(OP*)NULL,
1654d593
DM
295 IVAL((ps[(2) - (9)].val.i_tkval)), (ps[(5) - (9)].val.opval), (ps[(8) - (9)].val.opval), (ps[(9) - (9)].val.opval), (ps[(7) - (9)].val.ival))));
296 TOKEN_GETMAD((ps[(1) - (9)].val.p_tkval),innerop,'L');
297 TOKEN_GETMAD((ps[(2) - (9)].val.i_tkval),innerop,'W');
298 TOKEN_GETMAD((ps[(3) - (9)].val.i_tkval),innerop,'(');
299 TOKEN_GETMAD((ps[(6) - (9)].val.i_tkval),innerop,')');
f05e27e5 300 ;}
0de566d7
DM
301 break;
302
636def1f
RGS
303 case 42:
304#line 375 "perly.y"
f05e27e5 305 { OP *innerop;
23527818 306 PL_parser->copline = (line_t)IVAL((ps[(2) - (9)].val.i_tkval));
1654d593
DM
307 (yyval.opval) = block_end((ps[(4) - (9)].val.ival),
308 newSTATEOP(0, PVAL((ps[(1) - (9)].val.p_tkval)),
bcabcc50 309 innerop = newWHILEOP(0, 1, (LOOP*)(OP*)NULL,
1654d593
DM
310 IVAL((ps[(2) - (9)].val.i_tkval)), (ps[(5) - (9)].val.opval), (ps[(8) - (9)].val.opval), (ps[(9) - (9)].val.opval), (ps[(7) - (9)].val.ival))));
311 TOKEN_GETMAD((ps[(1) - (9)].val.p_tkval),innerop,'L');
312 TOKEN_GETMAD((ps[(2) - (9)].val.i_tkval),innerop,'W');
313 TOKEN_GETMAD((ps[(3) - (9)].val.i_tkval),innerop,'(');
314 TOKEN_GETMAD((ps[(6) - (9)].val.i_tkval),innerop,')');
f05e27e5 315 ;}
0de566d7
DM
316 break;
317
636def1f
RGS
318 case 43:
319#line 387 "perly.y"
f05e27e5 320 { OP *innerop;
1654d593
DM
321 (yyval.opval) = block_end((ps[(4) - (10)].val.ival),
322 innerop = newFOROP(0, PVAL((ps[(1) - (10)].val.p_tkval)), (line_t)IVAL((ps[(2) - (10)].val.i_tkval)),
323 (ps[(5) - (10)].val.opval), (ps[(7) - (10)].val.opval), (ps[(9) - (10)].val.opval), (ps[(10) - (10)].val.opval)));
324 TOKEN_GETMAD((ps[(1) - (10)].val.p_tkval),((LISTOP*)innerop)->op_first,'L');
325 TOKEN_GETMAD((ps[(2) - (10)].val.i_tkval),((LISTOP*)innerop)->op_first->op_sibling,'W');
326 TOKEN_GETMAD((ps[(3) - (10)].val.i_tkval),((LISTOP*)innerop)->op_first->op_sibling,'d');
327 TOKEN_GETMAD((ps[(6) - (10)].val.i_tkval),((LISTOP*)innerop)->op_first->op_sibling,'(');
328 TOKEN_GETMAD((ps[(8) - (10)].val.i_tkval),((LISTOP*)innerop)->op_first->op_sibling,')');
f05e27e5 329 ;}
0de566d7
DM
330 break;
331
636def1f
RGS
332 case 44:
333#line 398 "perly.y"
f05e27e5 334 { OP *innerop;
1654d593
DM
335 (yyval.opval) = block_end((ps[(5) - (9)].val.ival),
336 innerop = newFOROP(0, PVAL((ps[(1) - (9)].val.p_tkval)), (line_t)IVAL((ps[(2) - (9)].val.i_tkval)),
337 mod((ps[(3) - (9)].val.opval), OP_ENTERLOOP), (ps[(6) - (9)].val.opval), (ps[(8) - (9)].val.opval), (ps[(9) - (9)].val.opval)));
338 TOKEN_GETMAD((ps[(1) - (9)].val.p_tkval),((LISTOP*)innerop)->op_first,'L');
339 TOKEN_GETMAD((ps[(2) - (9)].val.i_tkval),((LISTOP*)innerop)->op_first->op_sibling,'W');
340 TOKEN_GETMAD((ps[(4) - (9)].val.i_tkval),((LISTOP*)innerop)->op_first->op_sibling,'(');
341 TOKEN_GETMAD((ps[(7) - (9)].val.i_tkval),((LISTOP*)innerop)->op_first->op_sibling,')');
f05e27e5 342 ;}
0de566d7
DM
343 break;
344
636def1f
RGS
345 case 45:
346#line 408 "perly.y"
f05e27e5 347 { OP *innerop;
1654d593
DM
348 (yyval.opval) = block_end((ps[(4) - (8)].val.ival),
349 innerop = newFOROP(0, PVAL((ps[(1) - (8)].val.p_tkval)), (line_t)IVAL((ps[(2) - (8)].val.i_tkval)),
bcabcc50 350 (OP*)NULL, (ps[(5) - (8)].val.opval), (ps[(7) - (8)].val.opval), (ps[(8) - (8)].val.opval)));
1654d593
DM
351 TOKEN_GETMAD((ps[(1) - (8)].val.p_tkval),((LISTOP*)innerop)->op_first,'L');
352 TOKEN_GETMAD((ps[(2) - (8)].val.i_tkval),((LISTOP*)innerop)->op_first->op_sibling,'W');
353 TOKEN_GETMAD((ps[(3) - (8)].val.i_tkval),((LISTOP*)innerop)->op_first->op_sibling,'(');
354 TOKEN_GETMAD((ps[(6) - (8)].val.i_tkval),((LISTOP*)innerop)->op_first->op_sibling,')');
f05e27e5 355 ;}
0de566d7
DM
356 break;
357
636def1f
RGS
358 case 46:
359#line 420 "perly.y"
0de566d7 360 { OP *forop;
53a7735b 361 PL_parser->copline = (line_t)IVAL((ps[(2) - (12)].val.i_tkval));
1654d593 362 forop = newSTATEOP(0, PVAL((ps[(1) - (12)].val.p_tkval)),
bcabcc50 363 newWHILEOP(0, 1, (LOOP*)(OP*)NULL,
1654d593
DM
364 IVAL((ps[(2) - (12)].val.i_tkval)), scalar((ps[(7) - (12)].val.opval)),
365 (ps[(12) - (12)].val.opval), (ps[(10) - (12)].val.opval), (ps[(9) - (12)].val.ival)));
f05e27e5 366#ifdef MAD
f05e27e5
DM
367 forop = newUNOP(OP_NULL, 0, append_elem(OP_LINESEQ,
368 newSTATEOP(0,
63031daf 369 CopLABEL_alloc(((ps[(1) - (12)].val.p_tkval))->tk_lval.pval),
700f8fa5 370 ((ps[(5) - (12)].val.opval) ? (ps[(5) - (12)].val.opval) : newOP(OP_NULL, 0)) ),
f05e27e5
DM
371 forop));
372
1654d593
DM
373 token_getmad((ps[(2) - (12)].val.i_tkval),forop,'3');
374 token_getmad((ps[(3) - (12)].val.i_tkval),forop,'(');
375 token_getmad((ps[(6) - (12)].val.i_tkval),forop,'1');
376 token_getmad((ps[(8) - (12)].val.i_tkval),forop,'2');
377 token_getmad((ps[(11) - (12)].val.i_tkval),forop,')');
378 token_getmad((ps[(1) - (12)].val.p_tkval),forop,'L');
f05e27e5 379#else
1654d593 380 if ((ps[(5) - (12)].val.opval)) {
0de566d7 381 forop = append_elem(OP_LINESEQ,
63031daf 382 newSTATEOP(0, CopLABEL_alloc((ps[(1) - (12)].val.p_tkval)), (ps[(5) - (12)].val.opval)),
0de566d7
DM
383 forop);
384 }
385
f05e27e5
DM
386
387#endif
1654d593 388 (yyval.opval) = block_end((ps[(4) - (12)].val.ival), forop); ;}
0de566d7
DM
389 break;
390
636def1f
RGS
391 case 47:
392#line 450 "perly.y"
1654d593 393 { (yyval.opval) = newSTATEOP(0, PVAL((ps[(1) - (3)].val.p_tkval)),
bcabcc50
NC
394 newWHILEOP(0, 1, (LOOP*)(OP*)NULL,
395 NOLINE, (OP*)NULL, (ps[(2) - (3)].val.opval), (ps[(3) - (3)].val.opval), 0));
1654d593 396 TOKEN_GETMAD((ps[(1) - (3)].val.p_tkval),((LISTOP*)(yyval.opval))->op_first,'L'); ;}
0de566d7
DM
397 break;
398
636def1f
RGS
399 case 48:
400#line 458 "perly.y"
23527818 401 { PL_parser->copline = (line_t) IVAL((ps[(2) - (8)].val.i_tkval));
1654d593
DM
402 (yyval.opval) = block_end((ps[(4) - (8)].val.ival),
403 newSTATEOP(0, PVAL((ps[(1) - (8)].val.p_tkval)),
404 newGIVENOP((ps[(6) - (8)].val.opval), scope((ps[(8) - (8)].val.opval)),
405 (PADOFFSET) (ps[(5) - (8)].val.ival)) )); ;}
0d863452
RH
406 break;
407
636def1f
RGS
408 case 49:
409#line 467 "perly.y"
9a9798c2 410 { (yyval.ival) = (PL_min_intro_pending &&
a034e688
DM
411 PL_max_intro_pending >= PL_min_intro_pending);
412 intro_my(); ;}
0de566d7
DM
413 break;
414
636def1f
RGS
415 case 50:
416#line 473 "perly.y"
bcabcc50 417 { (yyval.opval) = (OP*)NULL; ;}
0de566d7
DM
418 break;
419
636def1f
RGS
420 case 52:
421#line 479 "perly.y"
f05e27e5
DM
422 { YYSTYPE tmplval;
423 (void)scan_num("1", &tmplval);
424 (yyval.opval) = tmplval.opval; ;}
0de566d7
DM
425 break;
426
636def1f
RGS
427 case 54:
428#line 487 "perly.y"
4e4da3ac 429 { (yyval.opval) = invert(scalar((ps[(1) - (1)].val.opval))); ;}
0de566d7
DM
430 break;
431
636def1f
RGS
432 case 55:
433#line 492 "perly.y"
f20dcd76
VP
434 { (yyval.opval) = (ps[(1) - (1)].val.opval); intro_my(); ;}
435 break;
436
636def1f
RGS
437 case 56:
438#line 496 "perly.y"
4098b6bb
JV
439 { (yyval.opval) = (ps[(1) - (1)].val.opval); intro_my(); ;}
440 break;
441
636def1f
RGS
442 case 57:
443#line 500 "perly.y"
4e4da3ac
Z
444 { (yyval.opval) = (ps[(1) - (1)].val.opval); intro_my(); ;}
445 break;
446
636def1f
RGS
447 case 58:
448#line 505 "perly.y"
f05e27e5
DM
449 {
450#ifdef MAD
451 YYSTYPE tmplval;
1a9a51d4 452 tmplval.pval = NULL;
f05e27e5
DM
453 (yyval.p_tkval) = newTOKEN(OP_NULL, tmplval, 0);
454#else
1a9a51d4 455 (yyval.p_tkval) = NULL;
f05e27e5
DM
456#endif
457 ;}
0de566d7
DM
458 break;
459
636def1f
RGS
460 case 60:
461#line 519 "perly.y"
1654d593 462 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
0de566d7
DM
463 break;
464
636def1f
RGS
465 case 61:
466#line 521 "perly.y"
1654d593 467 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
0de566d7
DM
468 break;
469
636def1f
RGS
470 case 62:
471#line 523 "perly.y"
1654d593 472 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
0de566d7
DM
473 break;
474
636def1f
RGS
475 case 63:
476#line 525 "perly.y"
f20dcd76
VP
477 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
478 break;
479
636def1f
RGS
480 case 64:
481#line 527 "perly.y"
4098b6bb
JV
482 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
483 break;
484
636def1f
RGS
485 case 65:
486#line 532 "perly.y"
4e4da3ac
Z
487 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
488 break;
489
636def1f
RGS
490 case 66:
491#line 536 "perly.y"
f05e27e5 492 { (yyval.opval) = newOP(OP_NULL,0);
1654d593 493 TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),'p');
f05e27e5 494 ;}
0de566d7
DM
495 break;
496
636def1f
RGS
497 case 67:
498#line 542 "perly.y"
421f30ed
Z
499 {
500 CV *fmtcv = PL_compcv;
501 SvREFCNT_inc_simple_void(PL_compcv);
f05e27e5 502#ifdef MAD
1654d593
DM
503 (yyval.opval) = newFORM((ps[(2) - (4)].val.ival), (ps[(3) - (4)].val.opval), (ps[(4) - (4)].val.opval));
504 prepend_madprops((ps[(1) - (4)].val.i_tkval)->tk_mad, (yyval.opval), 'F');
505 (ps[(1) - (4)].val.i_tkval)->tk_mad = 0;
506 token_free((ps[(1) - (4)].val.i_tkval));
f05e27e5 507#else
1654d593 508 newFORM((ps[(2) - (4)].val.ival), (ps[(3) - (4)].val.opval), (ps[(4) - (4)].val.opval));
bcabcc50 509 (yyval.opval) = (OP*)NULL;
f05e27e5 510#endif
421f30ed
Z
511 if (CvOUTSIDE(fmtcv) && !CvUNIQUE(CvOUTSIDE(fmtcv))) {
512 SvREFCNT_inc_simple_void(fmtcv);
513 pad_add_anon((SV*)fmtcv, OP_NULL);
514 }
f05e27e5 515 ;}
0de566d7
DM
516 break;
517
636def1f
RGS
518 case 68:
519#line 561 "perly.y"
1654d593 520 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
0de566d7
DM
521 break;
522
636def1f
RGS
523 case 69:
524#line 562 "perly.y"
bcabcc50 525 { (yyval.opval) = (OP*)NULL; ;}
0de566d7
DM
526 break;
527
636def1f
RGS
528 case 70:
529#line 567 "perly.y"
5a5094bd 530 { SvREFCNT_inc_simple_void(PL_compcv);
f05e27e5 531#ifdef MAD
1654d593
DM
532 (yyval.opval) = newMYSUB((ps[(2) - (6)].val.ival), (ps[(3) - (6)].val.opval), (ps[(4) - (6)].val.opval), (ps[(5) - (6)].val.opval), (ps[(6) - (6)].val.opval));
533 token_getmad((ps[(1) - (6)].val.i_tkval),(yyval.opval),'d');
f05e27e5 534#else
1654d593 535 newMYSUB((ps[(2) - (6)].val.ival), (ps[(3) - (6)].val.opval), (ps[(4) - (6)].val.opval), (ps[(5) - (6)].val.opval), (ps[(6) - (6)].val.opval));
bcabcc50 536 (yyval.opval) = (OP*)NULL;
f05e27e5
DM
537#endif
538 ;}
539 break;
540
636def1f
RGS
541 case 71:
542#line 580 "perly.y"
5a5094bd 543 { SvREFCNT_inc_simple_void(PL_compcv);
f05e27e5 544#ifdef MAD
035e2bcc
DM
545 {
546 OP* o = newSVOP(OP_ANONCODE, 0,
547 (SV*)newATTRSUB((ps[(2) - (6)].val.ival), (ps[(3) - (6)].val.opval), (ps[(4) - (6)].val.opval), (ps[(5) - (6)].val.opval), (ps[(6) - (6)].val.opval)));
548 (yyval.opval) = newOP(OP_NULL,0);
549 op_getmad(o,(yyval.opval),'&');
550 op_getmad((ps[(3) - (6)].val.opval),(yyval.opval),'n');
551 op_getmad((ps[(4) - (6)].val.opval),(yyval.opval),'s');
552 op_getmad((ps[(5) - (6)].val.opval),(yyval.opval),'a');
553 token_getmad((ps[(1) - (6)].val.i_tkval),(yyval.opval),'d');
554 append_madprops((ps[(6) - (6)].val.opval)->op_madprop, (yyval.opval), 0);
555 (ps[(6) - (6)].val.opval)->op_madprop = 0;
556 }
f05e27e5 557#else
1654d593 558 newATTRSUB((ps[(2) - (6)].val.ival), (ps[(3) - (6)].val.opval), (ps[(4) - (6)].val.opval), (ps[(5) - (6)].val.opval), (ps[(6) - (6)].val.opval));
bcabcc50 559 (yyval.opval) = (OP*)NULL;
f05e27e5
DM
560#endif
561 ;}
562 break;
563
636def1f
RGS
564 case 72:
565#line 602 "perly.y"
2af555bf 566 { (yyval.ival) = start_subparse(FALSE, 0);
a8ff2fa6 567 SAVEFREESV(PL_compcv); ;}
0de566d7
DM
568 break;
569
636def1f
RGS
570 case 73:
571#line 608 "perly.y"
2af555bf 572 { (yyval.ival) = start_subparse(FALSE, CVf_ANON);
a8ff2fa6 573 SAVEFREESV(PL_compcv); ;}
500bedb6
DM
574 break;
575
636def1f
RGS
576 case 74:
577#line 613 "perly.y"
2af555bf
DM
578 { (yyval.ival) = start_subparse(TRUE, 0);
579 SAVEFREESV(PL_compcv); ;}
580 break;
581
636def1f
RGS
582 case 75:
583#line 618 "perly.y"
1654d593 584 { const char *const name = SvPV_nolen_const(((SVOP*)(ps[(1) - (1)].val.opval))->op_sv);
0de566d7 585 if (strEQ(name, "BEGIN") || strEQ(name, "END")
3c10abe3
AG
586 || strEQ(name, "INIT") || strEQ(name, "CHECK")
587 || strEQ(name, "UNITCHECK"))
0de566d7 588 CvSPECIAL_on(PL_compcv);
1654d593 589 (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
0de566d7
DM
590 break;
591
636def1f
RGS
592 case 76:
593#line 628 "perly.y"
bcabcc50 594 { (yyval.opval) = (OP*)NULL; ;}
0de566d7
DM
595 break;
596
636def1f
RGS
597 case 78:
598#line 634 "perly.y"
bcabcc50 599 { (yyval.opval) = (OP*)NULL; ;}
0de566d7
DM
600 break;
601
636def1f
RGS
602 case 79:
603#line 636 "perly.y"
1654d593
DM
604 { (yyval.opval) = (ps[(2) - (2)].val.opval);
605 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),':');
f05e27e5 606 ;}
0de566d7
DM
607 break;
608
636def1f
RGS
609 case 80:
610#line 640 "perly.y"
f05e27e5
DM
611 { (yyval.opval) = IF_MAD(
612 newOP(OP_NULL, 0),
bcabcc50 613 (OP*)NULL
f05e27e5 614 );
1654d593 615 TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),':');
f05e27e5 616 ;}
0de566d7
DM
617 break;
618
636def1f
RGS
619 case 81:
620#line 650 "perly.y"
1654d593
DM
621 { (yyval.opval) = (ps[(2) - (2)].val.opval);
622 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),':');
f05e27e5 623 ;}
0de566d7
DM
624 break;
625
636def1f
RGS
626 case 82:
627#line 654 "perly.y"
f05e27e5
DM
628 { (yyval.opval) = IF_MAD(
629 newOP(OP_NULL, 0),
bcabcc50 630 (OP*)NULL
f05e27e5 631 );
1654d593 632 TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),':');
f05e27e5 633 ;}
0de566d7
DM
634 break;
635
636def1f
RGS
636 case 83:
637#line 663 "perly.y"
1654d593 638 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
0de566d7
DM
639 break;
640
636def1f
RGS
641 case 84:
642#line 664 "perly.y"
f05e27e5
DM
643 { (yyval.opval) = IF_MAD(
644 newOP(OP_NULL,0),
bcabcc50 645 (OP*)NULL
f05e27e5 646 );
53a7735b 647 PL_parser->expect = XSTATE;
1654d593 648 TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),';');
f05e27e5 649 ;}
0de566d7
DM
650 break;
651
636def1f
RGS
652 case 85:
653#line 674 "perly.y"
f05e27e5 654 {
0f811330
RGS
655#ifdef MAD
656 (yyval.opval) = package((ps[(3) - (4)].val.opval));
657 token_getmad((ps[(1) - (4)].val.i_tkval),(yyval.opval),'o');
658 if ((ps[(2) - (4)].val.opval))
659 package_version((ps[(2) - (4)].val.opval));
660 token_getmad((ps[(4) - (4)].val.i_tkval),(yyval.opval),';');
661#else
6fa4d285 662 package((ps[(3) - (4)].val.opval));
0f811330
RGS
663 if ((ps[(2) - (4)].val.opval))
664 package_version((ps[(2) - (4)].val.opval));
bcabcc50 665 (yyval.opval) = (OP*)NULL;
0f811330 666#endif
f05e27e5 667 ;}
0de566d7
DM
668 break;
669
636def1f
RGS
670 case 86:
671#line 691 "perly.y"
4e4da3ac 672 {
af5050ac
Z
673 int save_3_latefree = (ps[(3) - (5)].val.opval)->op_latefree;
674 (ps[(3) - (5)].val.opval)->op_latefree = 1;
4e4da3ac 675 package((ps[(3) - (5)].val.opval));
af5050ac
Z
676 (ps[(3) - (5)].val.opval)->op_latefree = save_3_latefree;
677 if ((ps[(2) - (5)].val.opval)) {
678 int save_2_latefree = (ps[(2) - (5)].val.opval)->op_latefree;
679 (ps[(2) - (5)].val.opval)->op_latefree = 1;
4e4da3ac 680 package_version((ps[(2) - (5)].val.opval));
af5050ac
Z
681 (ps[(2) - (5)].val.opval)->op_latefree = save_2_latefree;
682 }
4e4da3ac
Z
683 ;}
684 break;
685
636def1f
RGS
686 case 87:
687#line 704 "perly.y"
4e4da3ac
Z
688 { if (PL_parser->copline > (line_t)IVAL((ps[(4) - (8)].val.i_tkval)))
689 PL_parser->copline = (line_t)IVAL((ps[(4) - (8)].val.i_tkval));
690 (yyval.opval) = block_end((ps[(5) - (8)].val.ival), (ps[(7) - (8)].val.opval));
691 TOKEN_GETMAD((ps[(4) - (8)].val.i_tkval),(yyval.opval),'{');
692 TOKEN_GETMAD((ps[(8) - (8)].val.i_tkval),(yyval.opval),'}');
af5050ac
Z
693 op_free((ps[(3) - (8)].val.opval));
694 if ((ps[(2) - (8)].val.opval))
695 op_free((ps[(2) - (8)].val.opval));
4e4da3ac
Z
696 ;}
697 break;
698
636def1f
RGS
699 case 88:
700#line 716 "perly.y"
f05e27e5 701 { CvSPECIAL_on(PL_compcv); /* It's a BEGIN {} */ ;}
0de566d7
DM
702 break;
703
636def1f
RGS
704 case 89:
705#line 718 "perly.y"
5a5094bd 706 { SvREFCNT_inc_simple_void(PL_compcv);
f05e27e5 707#ifdef MAD
1654d593
DM
708 (yyval.opval) = utilize(IVAL((ps[(1) - (7)].val.i_tkval)), (ps[(2) - (7)].val.ival), (ps[(4) - (7)].val.opval), (ps[(5) - (7)].val.opval), (ps[(6) - (7)].val.opval));
709 token_getmad((ps[(1) - (7)].val.i_tkval),(yyval.opval),'o');
710 token_getmad((ps[(7) - (7)].val.i_tkval),(yyval.opval),';');
5486870f
DM
711 if (PL_parser->rsfp_filters &&
712 AvFILLp(PL_parser->rsfp_filters) >= 0)
a22f28a4 713 append_madprops(newMADPROP('!', MAD_NULL, NULL, 0), (yyval.opval), 0);
f05e27e5 714#else
1654d593 715 utilize(IVAL((ps[(1) - (7)].val.i_tkval)), (ps[(2) - (7)].val.ival), (ps[(4) - (7)].val.opval), (ps[(5) - (7)].val.opval), (ps[(6) - (7)].val.opval));
bcabcc50 716 (yyval.opval) = (OP*)NULL;
f05e27e5
DM
717#endif
718 ;}
500bedb6
DM
719 break;
720
636def1f
RGS
721 case 90:
722#line 735 "perly.y"
1654d593
DM
723 { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval));
724 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
f05e27e5 725 ;}
0de566d7
DM
726 break;
727
636def1f
RGS
728 case 91:
729#line 739 "perly.y"
1654d593
DM
730 { (yyval.opval) = newLOGOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval));
731 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
f05e27e5 732 ;}
0de566d7
DM
733 break;
734
636def1f
RGS
735 case 92:
736#line 743 "perly.y"
1654d593
DM
737 { (yyval.opval) = newLOGOP(OP_DOR, 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval));
738 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
f05e27e5 739 ;}
0de566d7
DM
740 break;
741
636def1f
RGS
742 case 94:
743#line 751 "perly.y"
f05e27e5
DM
744 {
745#ifdef MAD
746 OP* op = newNULLLIST();
1654d593
DM
747 token_getmad((ps[(2) - (2)].val.i_tkval),op,',');
748 (yyval.opval) = append_elem(OP_LIST, (ps[(1) - (2)].val.opval), op);
f05e27e5 749#else
1654d593 750 (yyval.opval) = (ps[(1) - (2)].val.opval);
f05e27e5
DM
751#endif
752 ;}
0de566d7
DM
753 break;
754
636def1f
RGS
755 case 95:
756#line 761 "perly.y"
f05e27e5 757 {
1654d593 758 OP* term = (ps[(3) - (3)].val.opval);
f05e27e5 759 DO_MAD(
29522234 760 term = newUNOP(OP_NULL, 0, term);
1654d593 761 token_getmad((ps[(2) - (3)].val.i_tkval),term,',');
f05e27e5 762 )
1654d593 763 (yyval.opval) = append_elem(OP_LIST, (ps[(1) - (3)].val.opval), term);
f05e27e5 764 ;}
0de566d7
DM
765 break;
766
636def1f
RGS
767 case 97:
768#line 774 "perly.y"
1654d593
DM
769 { (yyval.opval) = convert(IVAL((ps[(1) - (3)].val.i_tkval)), OPf_STACKED,
770 prepend_elem(OP_LIST, newGVREF(IVAL((ps[(1) - (3)].val.i_tkval)),(ps[(2) - (3)].val.opval)), (ps[(3) - (3)].val.opval)) );
771 TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'o');
f05e27e5 772 ;}
0de566d7
DM
773 break;
774
636def1f
RGS
775 case 98:
776#line 779 "perly.y"
1654d593
DM
777 { (yyval.opval) = convert(IVAL((ps[(1) - (5)].val.i_tkval)), OPf_STACKED,
778 prepend_elem(OP_LIST, newGVREF(IVAL((ps[(1) - (5)].val.i_tkval)),(ps[(3) - (5)].val.opval)), (ps[(4) - (5)].val.opval)) );
779 TOKEN_GETMAD((ps[(1) - (5)].val.i_tkval),(yyval.opval),'o');
780 TOKEN_GETMAD((ps[(2) - (5)].val.i_tkval),(yyval.opval),'(');
781 TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),')');
f05e27e5 782 ;}
0de566d7
DM
783 break;
784
636def1f
RGS
785 case 99:
786#line 786 "perly.y"
9a9798c2 787 { (yyval.opval) = convert(OP_ENTERSUB, OPf_STACKED,
0de566d7 788 append_elem(OP_LIST,
1654d593
DM
789 prepend_elem(OP_LIST, scalar((ps[(1) - (6)].val.opval)), (ps[(5) - (6)].val.opval)),
790 newUNOP(OP_METHOD, 0, (ps[(3) - (6)].val.opval))));
791 TOKEN_GETMAD((ps[(2) - (6)].val.i_tkval),(yyval.opval),'A');
792 TOKEN_GETMAD((ps[(4) - (6)].val.i_tkval),(yyval.opval),'(');
793 TOKEN_GETMAD((ps[(6) - (6)].val.i_tkval),(yyval.opval),')');
f05e27e5 794 ;}
0de566d7
DM
795 break;
796
636def1f
RGS
797 case 100:
798#line 795 "perly.y"
9a9798c2 799 { (yyval.opval) = convert(OP_ENTERSUB, OPf_STACKED,
1654d593
DM
800 append_elem(OP_LIST, scalar((ps[(1) - (3)].val.opval)),
801 newUNOP(OP_METHOD, 0, (ps[(3) - (3)].val.opval))));
802 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'A');
f05e27e5 803 ;}
0de566d7
DM
804 break;
805
636def1f
RGS
806 case 101:
807#line 801 "perly.y"
f05e27e5
DM
808 { (yyval.opval) = convert(OP_ENTERSUB, OPf_STACKED,
809 append_elem(OP_LIST,
1654d593
DM
810 prepend_elem(OP_LIST, (ps[(2) - (3)].val.opval), (ps[(3) - (3)].val.opval)),
811 newUNOP(OP_METHOD, 0, (ps[(1) - (3)].val.opval))));
f05e27e5 812 ;}
0de566d7
DM
813 break;
814
636def1f
RGS
815 case 102:
816#line 807 "perly.y"
f05e27e5
DM
817 { (yyval.opval) = convert(OP_ENTERSUB, OPf_STACKED,
818 append_elem(OP_LIST,
1654d593
DM
819 prepend_elem(OP_LIST, (ps[(2) - (5)].val.opval), (ps[(4) - (5)].val.opval)),
820 newUNOP(OP_METHOD, 0, (ps[(1) - (5)].val.opval))));
821 TOKEN_GETMAD((ps[(3) - (5)].val.i_tkval),(yyval.opval),'(');
822 TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),')');
f05e27e5 823 ;}
0de566d7
DM
824 break;
825
636def1f
RGS
826 case 103:
827#line 815 "perly.y"
1654d593
DM
828 { (yyval.opval) = convert(IVAL((ps[(1) - (2)].val.i_tkval)), 0, (ps[(2) - (2)].val.opval));
829 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
f05e27e5 830 ;}
0de566d7
DM
831 break;
832
636def1f
RGS
833 case 104:
834#line 819 "perly.y"
1654d593
DM
835 { (yyval.opval) = convert(IVAL((ps[(1) - (4)].val.i_tkval)), 0, (ps[(3) - (4)].val.opval));
836 TOKEN_GETMAD((ps[(1) - (4)].val.i_tkval),(yyval.opval),'o');
837 TOKEN_GETMAD((ps[(2) - (4)].val.i_tkval),(yyval.opval),'(');
838 TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),')');
f05e27e5 839 ;}
0de566d7
DM
840 break;
841
636def1f
RGS
842 case 105:
843#line 825 "perly.y"
5a5094bd 844 { SvREFCNT_inc_simple_void(PL_compcv);
bcabcc50 845 (yyval.opval) = newANONATTRSUB((ps[(2) - (3)].val.ival), 0, (OP*)NULL, (ps[(3) - (3)].val.opval)); ;}
0de566d7
DM
846 break;
847
636def1f
RGS
848 case 106:
849#line 828 "perly.y"
f05e27e5
DM
850 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
851 append_elem(OP_LIST,
1654d593 852 prepend_elem(OP_LIST, (ps[(4) - (5)].val.opval), (ps[(5) - (5)].val.opval)), (ps[(1) - (5)].val.opval)));
f05e27e5 853 ;}
0de566d7
DM
854 break;
855
636def1f
RGS
856 case 109:
857#line 843 "perly.y"
1654d593 858 { (yyval.opval) = newBINOP(OP_GELEM, 0, (ps[(1) - (5)].val.opval), scalar((ps[(3) - (5)].val.opval)));
53a7735b 859 PL_parser->expect = XOPERATOR;
1654d593
DM
860 TOKEN_GETMAD((ps[(2) - (5)].val.i_tkval),(yyval.opval),'{');
861 TOKEN_GETMAD((ps[(4) - (5)].val.i_tkval),(yyval.opval),';');
862 TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),'}');
f05e27e5 863 ;}
0de566d7
DM
864 break;
865
636def1f
RGS
866 case 110:
867#line 850 "perly.y"
1654d593
DM
868 { (yyval.opval) = newBINOP(OP_AELEM, 0, oopsAV((ps[(1) - (4)].val.opval)), scalar((ps[(3) - (4)].val.opval)));
869 TOKEN_GETMAD((ps[(2) - (4)].val.i_tkval),(yyval.opval),'[');
870 TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),']');
f05e27e5 871 ;}
0de566d7
DM
872 break;
873
636def1f
RGS
874 case 111:
875#line 855 "perly.y"
f05e27e5 876 { (yyval.opval) = newBINOP(OP_AELEM, 0,
1654d593
DM
877 ref(newAVREF((ps[(1) - (5)].val.opval)),OP_RV2AV),
878 scalar((ps[(4) - (5)].val.opval)));
879 TOKEN_GETMAD((ps[(2) - (5)].val.i_tkval),(yyval.opval),'a');
880 TOKEN_GETMAD((ps[(3) - (5)].val.i_tkval),(yyval.opval),'[');
881 TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),']');
f05e27e5 882 ;}
0de566d7
DM
883 break;
884
636def1f
RGS
885 case 112:
886#line 863 "perly.y"
f05e27e5 887 { (yyval.opval) = newBINOP(OP_AELEM, 0,
1654d593
DM
888 ref(newAVREF((ps[(1) - (4)].val.opval)),OP_RV2AV),
889 scalar((ps[(3) - (4)].val.opval)));
890 TOKEN_GETMAD((ps[(2) - (4)].val.i_tkval),(yyval.opval),'[');
891 TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),']');
f05e27e5 892 ;}
0de566d7
DM
893 break;
894
636def1f
RGS
895 case 113:
896#line 870 "perly.y"
1654d593 897 { (yyval.opval) = newBINOP(OP_HELEM, 0, oopsHV((ps[(1) - (5)].val.opval)), jmaybe((ps[(3) - (5)].val.opval)));
53a7735b 898 PL_parser->expect = XOPERATOR;
1654d593
DM
899 TOKEN_GETMAD((ps[(2) - (5)].val.i_tkval),(yyval.opval),'{');
900 TOKEN_GETMAD((ps[(4) - (5)].val.i_tkval),(yyval.opval),';');
901 TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),'}');
f05e27e5 902 ;}
0de566d7
DM
903 break;
904
636def1f
RGS
905 case 114:
906#line 877 "perly.y"
f05e27e5 907 { (yyval.opval) = newBINOP(OP_HELEM, 0,
1654d593
DM
908 ref(newHVREF((ps[(1) - (6)].val.opval)),OP_RV2HV),
909 jmaybe((ps[(4) - (6)].val.opval)));
53a7735b 910 PL_parser->expect = XOPERATOR;
1654d593
DM
911 TOKEN_GETMAD((ps[(2) - (6)].val.i_tkval),(yyval.opval),'a');
912 TOKEN_GETMAD((ps[(3) - (6)].val.i_tkval),(yyval.opval),'{');
913 TOKEN_GETMAD((ps[(5) - (6)].val.i_tkval),(yyval.opval),';');
914 TOKEN_GETMAD((ps[(6) - (6)].val.i_tkval),(yyval.opval),'}');
f05e27e5 915 ;}
0de566d7
DM
916 break;
917
636def1f
RGS
918 case 115:
919#line 887 "perly.y"
f05e27e5 920 { (yyval.opval) = newBINOP(OP_HELEM, 0,
1654d593
DM
921 ref(newHVREF((ps[(1) - (5)].val.opval)),OP_RV2HV),
922 jmaybe((ps[(3) - (5)].val.opval)));
53a7735b 923 PL_parser->expect = XOPERATOR;
1654d593
DM
924 TOKEN_GETMAD((ps[(2) - (5)].val.i_tkval),(yyval.opval),'{');
925 TOKEN_GETMAD((ps[(4) - (5)].val.i_tkval),(yyval.opval),';');
926 TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),'}');
f05e27e5 927 ;}
0de566d7
DM
928 break;
929
636def1f
RGS
930 case 116:
931#line 896 "perly.y"
9a9798c2 932 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
1654d593
DM
933 newCVREF(0, scalar((ps[(1) - (4)].val.opval))));
934 TOKEN_GETMAD((ps[(2) - (4)].val.i_tkval),(yyval.opval),'a');
935 TOKEN_GETMAD((ps[(3) - (4)].val.i_tkval),(yyval.opval),'(');
936 TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),')');
f05e27e5 937 ;}
0de566d7
DM
938 break;
939
636def1f
RGS
940 case 117:
941#line 903 "perly.y"
9a9798c2 942 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
1654d593
DM
943 append_elem(OP_LIST, (ps[(4) - (5)].val.opval),
944 newCVREF(0, scalar((ps[(1) - (5)].val.opval)))));
945 TOKEN_GETMAD((ps[(2) - (5)].val.i_tkval),(yyval.opval),'a');
946 TOKEN_GETMAD((ps[(3) - (5)].val.i_tkval),(yyval.opval),'(');
947 TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),')');
f05e27e5 948 ;}
0de566d7
DM
949 break;
950
636def1f
RGS
951 case 118:
952#line 912 "perly.y"
f05e27e5 953 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
1654d593
DM
954 append_elem(OP_LIST, (ps[(3) - (4)].val.opval),
955 newCVREF(0, scalar((ps[(1) - (4)].val.opval)))));
956 TOKEN_GETMAD((ps[(2) - (4)].val.i_tkval),(yyval.opval),'(');
957 TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),')');
f05e27e5 958 ;}
0de566d7
DM
959 break;
960
636def1f
RGS
961 case 119:
962#line 919 "perly.y"
f05e27e5 963 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
1654d593
DM
964 newCVREF(0, scalar((ps[(1) - (3)].val.opval))));
965 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'(');
966 TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),')');
f05e27e5 967 ;}
0de566d7
DM
968 break;
969
636def1f
RGS
970 case 120:
971#line 925 "perly.y"
1654d593
DM
972 { (yyval.opval) = newSLICEOP(0, (ps[(5) - (6)].val.opval), (ps[(2) - (6)].val.opval));
973 TOKEN_GETMAD((ps[(1) - (6)].val.i_tkval),(yyval.opval),'(');
974 TOKEN_GETMAD((ps[(3) - (6)].val.i_tkval),(yyval.opval),')');
975 TOKEN_GETMAD((ps[(4) - (6)].val.i_tkval),(yyval.opval),'[');
976 TOKEN_GETMAD((ps[(6) - (6)].val.i_tkval),(yyval.opval),']');
f05e27e5 977 ;}
0de566d7
DM
978 break;
979
636def1f
RGS
980 case 121:
981#line 932 "perly.y"
bcabcc50 982 { (yyval.opval) = newSLICEOP(0, (ps[(4) - (5)].val.opval), (OP*)NULL);
1654d593
DM
983 TOKEN_GETMAD((ps[(1) - (5)].val.i_tkval),(yyval.opval),'(');
984 TOKEN_GETMAD((ps[(2) - (5)].val.i_tkval),(yyval.opval),')');
985 TOKEN_GETMAD((ps[(3) - (5)].val.i_tkval),(yyval.opval),'[');
986 TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),']');
f05e27e5 987 ;}
0de566d7
DM
988 break;
989
636def1f
RGS
990 case 122:
991#line 942 "perly.y"
1654d593
DM
992 { (yyval.opval) = newASSIGNOP(OPf_STACKED, (ps[(1) - (3)].val.opval), IVAL((ps[(2) - (3)].val.i_tkval)), (ps[(3) - (3)].val.opval));
993 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
f05e27e5 994 ;}
0de566d7
DM
995 break;
996
636def1f
RGS
997 case 123:
998#line 946 "perly.y"
1654d593
DM
999 { (yyval.opval) = newBINOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval)));
1000 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
f05e27e5 1001 ;}
0de566d7
DM
1002 break;
1003
636def1f
RGS
1004 case 124:
1005#line 950 "perly.y"
1654d593
DM
1006 { if (IVAL((ps[(2) - (3)].val.i_tkval)) != OP_REPEAT)
1007 scalar((ps[(1) - (3)].val.opval));
1008 (yyval.opval) = newBINOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, (ps[(1) - (3)].val.opval), scalar((ps[(3) - (3)].val.opval)));
1009 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
f05e27e5 1010 ;}
0de566d7
DM
1011 break;
1012
636def1f
RGS
1013 case 125:
1014#line 956 "perly.y"
1654d593
DM
1015 { (yyval.opval) = newBINOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval)));
1016 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
f05e27e5 1017 ;}
0de566d7
DM
1018 break;
1019
636def1f
RGS
1020 case 126:
1021#line 960 "perly.y"
1654d593
DM
1022 { (yyval.opval) = newBINOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval)));
1023 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
f05e27e5 1024 ;}
0de566d7
DM
1025 break;
1026
636def1f
RGS
1027 case 127:
1028#line 964 "perly.y"
1654d593
DM
1029 { (yyval.opval) = newBINOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval)));
1030 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
f05e27e5 1031 ;}
0de566d7
DM
1032 break;
1033
636def1f
RGS
1034 case 128:
1035#line 968 "perly.y"
1654d593
DM
1036 { (yyval.opval) = newBINOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval)));
1037 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
f05e27e5 1038 ;}
0de566d7
DM
1039 break;
1040
636def1f
RGS
1041 case 129:
1042#line 972 "perly.y"
f20dcd76
VP
1043 { (yyval.opval) = newBINOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval)));
1044 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
1045 ;}
1046 break;
1047
636def1f
RGS
1048 case 130:
1049#line 976 "perly.y"
4098b6bb
JV
1050 { (yyval.opval) = newBINOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval)));
1051 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
1052 ;}
1053 break;
1054
636def1f
RGS
1055 case 131:
1056#line 980 "perly.y"
f05e27e5 1057 {
1654d593 1058 (yyval.opval) = newRANGE(IVAL((ps[(2) - (3)].val.i_tkval)), scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval)));
035e2bcc 1059 DO_MAD({
f05e27e5
DM
1060 UNOP *op;
1061 op = (UNOP*)(yyval.opval);
1062 op = (UNOP*)op->op_first; /* get to flop */
1063 op = (UNOP*)op->op_first; /* get to flip */
1064 op = (UNOP*)op->op_first; /* get to range */
1654d593 1065 token_getmad((ps[(2) - (3)].val.i_tkval),(OP*)op,'o');
035e2bcc 1066 })
f05e27e5 1067 ;}
0de566d7
DM
1068 break;
1069
636def1f
RGS
1070 case 132:
1071#line 992 "perly.y"
1654d593
DM
1072 { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval));
1073 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
f05e27e5 1074 ;}
0de566d7
DM
1075 break;
1076
636def1f
RGS
1077 case 133:
1078#line 996 "perly.y"
1654d593
DM
1079 { (yyval.opval) = newLOGOP(OP_OR, 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval));
1080 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
f05e27e5 1081 ;}
0de566d7
DM
1082 break;
1083
636def1f
RGS
1084 case 134:
1085#line 1000 "perly.y"
1654d593
DM
1086 { (yyval.opval) = newLOGOP(OP_DOR, 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval));
1087 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
f05e27e5 1088 ;}
0de566d7
DM
1089 break;
1090
636def1f
RGS
1091 case 135:
1092#line 1004 "perly.y"
1654d593
DM
1093 { (yyval.opval) = bind_match(IVAL((ps[(2) - (3)].val.i_tkval)), (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval));
1094 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),
f05e27e5
DM
1095 ((yyval.opval)->op_type == OP_NOT
1096 ? ((UNOP*)(yyval.opval))->op_first : (yyval.opval)),
1097 '~');
1098 ;}
500bedb6
DM
1099 break;
1100
636def1f
RGS
1101 case 136:
1102#line 1014 "perly.y"
1654d593
DM
1103 { (yyval.opval) = newUNOP(OP_NEGATE, 0, scalar((ps[(2) - (2)].val.opval)));
1104 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
f05e27e5 1105 ;}
0de566d7
DM
1106 break;
1107
636def1f
RGS
1108 case 137:
1109#line 1018 "perly.y"
f05e27e5 1110 { (yyval.opval) = IF_MAD(
1654d593
DM
1111 newUNOP(OP_NULL, 0, (ps[(2) - (2)].val.opval)),
1112 (ps[(2) - (2)].val.opval)
f05e27e5 1113 );
1654d593 1114 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'+');
f05e27e5 1115 ;}
0de566d7
DM
1116 break;
1117
636def1f
RGS
1118 case 138:
1119#line 1025 "perly.y"
1654d593
DM
1120 { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((ps[(2) - (2)].val.opval)));
1121 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
f05e27e5 1122 ;}
0de566d7
DM
1123 break;
1124
636def1f
RGS
1125 case 139:
1126#line 1029 "perly.y"
1654d593
DM
1127 { (yyval.opval) = newUNOP(OP_COMPLEMENT, 0, scalar((ps[(2) - (2)].val.opval)));
1128 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
f05e27e5 1129 ;}
0de566d7
DM
1130 break;
1131
636def1f
RGS
1132 case 140:
1133#line 1033 "perly.y"
f05e27e5 1134 { (yyval.opval) = newUNOP(OP_POSTINC, 0,
1654d593
DM
1135 mod(scalar((ps[(1) - (2)].val.opval)), OP_POSTINC));
1136 TOKEN_GETMAD((ps[(2) - (2)].val.i_tkval),(yyval.opval),'o');
f05e27e5 1137 ;}
0de566d7
DM
1138 break;
1139
636def1f
RGS
1140 case 141:
1141#line 1038 "perly.y"
f05e27e5 1142 { (yyval.opval) = newUNOP(OP_POSTDEC, 0,
1654d593
DM
1143 mod(scalar((ps[(1) - (2)].val.opval)), OP_POSTDEC));
1144 TOKEN_GETMAD((ps[(2) - (2)].val.i_tkval),(yyval.opval),'o');
f05e27e5 1145 ;}
0de566d7
DM
1146 break;
1147
636def1f
RGS
1148 case 142:
1149#line 1043 "perly.y"
f05e27e5 1150 { (yyval.opval) = newUNOP(OP_PREINC, 0,
1654d593
DM
1151 mod(scalar((ps[(2) - (2)].val.opval)), OP_PREINC));
1152 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
f05e27e5 1153 ;}
0de566d7
DM
1154 break;
1155
636def1f
RGS
1156 case 143:
1157#line 1048 "perly.y"
f05e27e5 1158 { (yyval.opval) = newUNOP(OP_PREDEC, 0,
1654d593
DM
1159 mod(scalar((ps[(2) - (2)].val.opval)), OP_PREDEC));
1160 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
f05e27e5 1161 ;}
0de566d7
DM
1162 break;
1163
636def1f
RGS
1164 case 144:
1165#line 1057 "perly.y"
1654d593
DM
1166 { (yyval.opval) = newANONLIST((ps[(2) - (3)].val.opval));
1167 TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'[');
1168 TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),']');
f05e27e5 1169 ;}
0de566d7
DM
1170 break;
1171
636def1f
RGS
1172 case 145:
1173#line 1062 "perly.y"
bcabcc50 1174 { (yyval.opval) = newANONLIST((OP*)NULL);
1654d593
DM
1175 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'[');
1176 TOKEN_GETMAD((ps[(2) - (2)].val.i_tkval),(yyval.opval),']');
f05e27e5 1177 ;}
0de566d7
DM
1178 break;
1179
636def1f
RGS
1180 case 146:
1181#line 1067 "perly.y"
1654d593
DM
1182 { (yyval.opval) = newANONHASH((ps[(2) - (4)].val.opval));
1183 TOKEN_GETMAD((ps[(1) - (4)].val.i_tkval),(yyval.opval),'{');
1184 TOKEN_GETMAD((ps[(3) - (4)].val.i_tkval),(yyval.opval),';');
1185 TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),'}');
f05e27e5 1186 ;}
0de566d7
DM
1187 break;
1188
636def1f
RGS
1189 case 147:
1190#line 1073 "perly.y"
bcabcc50 1191 { (yyval.opval) = newANONHASH((OP*)NULL);
1654d593
DM
1192 TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'{');
1193 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),';');
1194 TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),'}');
f05e27e5 1195 ;}
9a9798c2
YST
1196 break;
1197
636def1f
RGS
1198 case 148:
1199#line 1079 "perly.y"
5a5094bd 1200 { SvREFCNT_inc_simple_void(PL_compcv);
1654d593
DM
1201 (yyval.opval) = newANONATTRSUB((ps[(2) - (5)].val.ival), (ps[(3) - (5)].val.opval), (ps[(4) - (5)].val.opval), (ps[(5) - (5)].val.opval));
1202 TOKEN_GETMAD((ps[(1) - (5)].val.i_tkval),(yyval.opval),'o');
1203 OP_GETMAD((ps[(3) - (5)].val.opval),(yyval.opval),'s');
1204 OP_GETMAD((ps[(4) - (5)].val.opval),(yyval.opval),'a');
f05e27e5 1205 ;}
9a9798c2
YST
1206 break;
1207
636def1f
RGS
1208 case 149:
1209#line 1090 "perly.y"
1654d593
DM
1210 { (yyval.opval) = dofile((ps[(2) - (2)].val.opval), IVAL((ps[(1) - (2)].val.i_tkval)));
1211 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
f05e27e5
DM
1212 ;}
1213 break;
1214
636def1f
RGS
1215 case 150:
1216#line 1094 "perly.y"
1654d593
DM
1217 { (yyval.opval) = newUNOP(OP_NULL, OPf_SPECIAL, scope((ps[(2) - (2)].val.opval)));
1218 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'D');
f05e27e5
DM
1219 ;}
1220 break;
1221
636def1f
RGS
1222 case 151:
1223#line 1098 "perly.y"
9a9798c2 1224 { (yyval.opval) = newUNOP(OP_ENTERSUB,
0de566d7
DM
1225 OPf_SPECIAL|OPf_STACKED,
1226 prepend_elem(OP_LIST,
1227 scalar(newCVREF(
1228 (OPpENTERSUB_AMPER<<8),
1654d593 1229 scalar((ps[(2) - (4)].val.opval))
bcabcc50 1230 )),(OP*)NULL)); dep();
1654d593
DM
1231 TOKEN_GETMAD((ps[(1) - (4)].val.i_tkval),(yyval.opval),'o');
1232 TOKEN_GETMAD((ps[(3) - (4)].val.i_tkval),(yyval.opval),'(');
1233 TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),')');
f05e27e5 1234 ;}
0de566d7
DM
1235 break;
1236
636def1f
RGS
1237 case 152:
1238#line 1110 "perly.y"
9a9798c2 1239 { (yyval.opval) = newUNOP(OP_ENTERSUB,
0de566d7
DM
1240 OPf_SPECIAL|OPf_STACKED,
1241 append_elem(OP_LIST,
1654d593 1242 (ps[(4) - (5)].val.opval),
0de566d7
DM
1243 scalar(newCVREF(
1244 (OPpENTERSUB_AMPER<<8),
1654d593 1245 scalar((ps[(2) - (5)].val.opval))
f05e27e5 1246 )))); dep();
1654d593
DM
1247 TOKEN_GETMAD((ps[(1) - (5)].val.i_tkval),(yyval.opval),'o');
1248 TOKEN_GETMAD((ps[(3) - (5)].val.i_tkval),(yyval.opval),'(');
1249 TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),')');
f05e27e5 1250 ;}
0de566d7
DM
1251 break;
1252
636def1f
RGS
1253 case 153:
1254#line 1123 "perly.y"
9a9798c2 1255 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
0de566d7 1256 prepend_elem(OP_LIST,
bcabcc50 1257 scalar(newCVREF(0,scalar((ps[(2) - (4)].val.opval)))), (OP*)NULL)); dep();
1654d593
DM
1258 TOKEN_GETMAD((ps[(1) - (4)].val.i_tkval),(yyval.opval),'o');
1259 TOKEN_GETMAD((ps[(3) - (4)].val.i_tkval),(yyval.opval),'(');
1260 TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),')');
f05e27e5 1261 ;}
0de566d7
DM
1262 break;
1263
636def1f
RGS
1264 case 154:
1265#line 1131 "perly.y"
9a9798c2
YST
1266 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
1267 prepend_elem(OP_LIST,
1654d593
DM
1268 (ps[(4) - (5)].val.opval),
1269 scalar(newCVREF(0,scalar((ps[(2) - (5)].val.opval)))))); dep();
1270 TOKEN_GETMAD((ps[(1) - (5)].val.i_tkval),(yyval.opval),'o');
1271 TOKEN_GETMAD((ps[(3) - (5)].val.i_tkval),(yyval.opval),'(');
1272 TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),')');
f05e27e5 1273 ;}
0de566d7
DM
1274 break;
1275
636def1f
RGS
1276 case 159:
1277#line 1147 "perly.y"
1654d593
DM
1278 { (yyval.opval) = newCONDOP(0, (ps[(1) - (5)].val.opval), (ps[(3) - (5)].val.opval), (ps[(5) - (5)].val.opval));
1279 TOKEN_GETMAD((ps[(2) - (5)].val.i_tkval),(yyval.opval),'?');
1280 TOKEN_GETMAD((ps[(4) - (5)].val.i_tkval),(yyval.opval),':');
f05e27e5 1281 ;}
0de566d7
DM
1282 break;
1283
636def1f
RGS
1284 case 160:
1285#line 1152 "perly.y"
1654d593
DM
1286 { (yyval.opval) = newUNOP(OP_REFGEN, 0, mod((ps[(2) - (2)].val.opval),OP_REFGEN));
1287 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
f05e27e5 1288 ;}
0de566d7
DM
1289 break;
1290
636def1f
RGS
1291 case 161:
1292#line 1156 "perly.y"
1654d593 1293 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
0de566d7
DM
1294 break;
1295
636def1f
RGS
1296 case 162:
1297#line 1158 "perly.y"
1654d593 1298 { (yyval.opval) = localize((ps[(2) - (2)].val.opval),IVAL((ps[(1) - (2)].val.i_tkval)));
dde83331 1299 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'k');
f05e27e5 1300 ;}
0de566d7
DM
1301 break;
1302
636def1f
RGS
1303 case 163:
1304#line 1162 "perly.y"
1654d593
DM
1305 { (yyval.opval) = sawparens(IF_MAD(newUNOP(OP_NULL,0,(ps[(2) - (3)].val.opval)), (ps[(2) - (3)].val.opval)));
1306 TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'(');
1307 TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),')');
f05e27e5 1308 ;}
0de566d7
DM
1309 break;
1310
636def1f
RGS
1311 case 164:
1312#line 1167 "perly.y"
f05e27e5 1313 { (yyval.opval) = sawparens(newNULLLIST());
1654d593
DM
1314 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'(');
1315 TOKEN_GETMAD((ps[(2) - (2)].val.i_tkval),(yyval.opval),')');
f05e27e5 1316 ;}
0de566d7
DM
1317 break;
1318
636def1f
RGS
1319 case 165:
1320#line 1172 "perly.y"
1654d593 1321 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
0de566d7
DM
1322 break;
1323
636def1f
RGS
1324 case 166:
1325#line 1174 "perly.y"
1654d593 1326 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
0de566d7
DM
1327 break;
1328
636def1f
RGS
1329 case 167:
1330#line 1176 "perly.y"
f20dcd76 1331 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
500bedb6
DM
1332 break;
1333
636def1f
RGS
1334 case 168:
1335#line 1178 "perly.y"
4098b6bb 1336 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
0de566d7
DM
1337 break;
1338
636def1f
RGS
1339 case 169:
1340#line 1180 "perly.y"
4098b6bb 1341 { (yyval.opval) = newUNOP(OP_AV2ARYLEN, 0, ref((ps[(1) - (1)].val.opval), OP_AV2ARYLEN));;}
f20dcd76
VP
1342 break;
1343
636def1f
RGS
1344 case 170:
1345#line 1182 "perly.y"
4098b6bb
JV
1346 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
1347 break;
1348
636def1f
RGS
1349 case 171:
1350#line 1184 "perly.y"
f05e27e5
DM
1351 { (yyval.opval) = prepend_elem(OP_ASLICE,
1352 newOP(OP_PUSHMARK, 0),
1353 newLISTOP(OP_ASLICE, 0,
1654d593
DM
1354 list((ps[(3) - (4)].val.opval)),
1355 ref((ps[(1) - (4)].val.opval), OP_ASLICE)));
1356 TOKEN_GETMAD((ps[(2) - (4)].val.i_tkval),(yyval.opval),'[');
1357 TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),']');
f05e27e5 1358 ;}
0de566d7
DM
1359 break;
1360
636def1f
RGS
1361 case 172:
1362#line 1193 "perly.y"
f05e27e5
DM
1363 { (yyval.opval) = prepend_elem(OP_HSLICE,
1364 newOP(OP_PUSHMARK, 0),
1365 newLISTOP(OP_HSLICE, 0,
1654d593
DM
1366 list((ps[(3) - (5)].val.opval)),
1367 ref(oopsHV((ps[(1) - (5)].val.opval)), OP_HSLICE)));
53a7735b 1368 PL_parser->expect = XOPERATOR;
1654d593
DM
1369 TOKEN_GETMAD((ps[(2) - (5)].val.i_tkval),(yyval.opval),'{');
1370 TOKEN_GETMAD((ps[(4) - (5)].val.i_tkval),(yyval.opval),';');
1371 TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),'}');
f05e27e5 1372 ;}
0de566d7
DM
1373 break;
1374
636def1f
RGS
1375 case 173:
1376#line 1204 "perly.y"
1654d593 1377 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
0de566d7
DM
1378 break;
1379
636def1f
RGS
1380 case 174:
1381#line 1206 "perly.y"
1654d593 1382 { (yyval.opval) = newUNOP(OP_ENTERSUB, 0, scalar((ps[(1) - (1)].val.opval))); ;}
0de566d7
DM
1383 break;
1384
636def1f
RGS
1385 case 175:
1386#line 1208 "perly.y"
1654d593
DM
1387 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[(1) - (3)].val.opval)));
1388 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'(');
1389 TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),')');
f05e27e5 1390 ;}
0de566d7
DM
1391 break;
1392
636def1f
RGS
1393 case 176:
1394#line 1213 "perly.y"
f05e27e5
DM
1395 {
1396 (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
1654d593 1397 append_elem(OP_LIST, (ps[(3) - (4)].val.opval), scalar((ps[(1) - (4)].val.opval))));
035e2bcc 1398 DO_MAD({
f05e27e5
DM
1399 OP* op = (yyval.opval);
1400 if (op->op_type == OP_CONST) { /* defeat const fold */
1401 op = (OP*)op->op_madprop->mad_val;
1402 }
1654d593
DM
1403 token_getmad((ps[(2) - (4)].val.i_tkval),op,'(');
1404 token_getmad((ps[(4) - (4)].val.i_tkval),op,')');
035e2bcc 1405 })
f05e27e5 1406 ;}
0de566d7
DM
1407 break;
1408
636def1f
RGS
1409 case 177:
1410#line 1226 "perly.y"
f05e27e5 1411 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
1654d593
DM
1412 append_elem(OP_LIST, (ps[(3) - (3)].val.opval), scalar((ps[(2) - (3)].val.opval))));
1413 TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'o');
f05e27e5 1414 ;}
0de566d7
DM
1415 break;
1416
636def1f
RGS
1417 case 178:
1418#line 1231 "perly.y"
1654d593 1419 { (yyval.opval) = newOP(IVAL((ps[(1) - (1)].val.i_tkval)), OPf_SPECIAL);
f05e27e5 1420 PL_hints |= HINT_BLOCK_SCOPE;
1654d593 1421 TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),'o');
f05e27e5 1422 ;}
0de566d7
DM
1423 break;
1424
636def1f
RGS
1425 case 179:
1426#line 1236 "perly.y"
1654d593
DM
1427 { (yyval.opval) = newLOOPEX(IVAL((ps[(1) - (2)].val.i_tkval)),(ps[(2) - (2)].val.opval));
1428 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
f05e27e5 1429 ;}
0de566d7
DM
1430 break;
1431
636def1f
RGS
1432 case 180:
1433#line 1240 "perly.y"
1654d593
DM
1434 { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((ps[(2) - (2)].val.opval)));
1435 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
f05e27e5 1436 ;}
0de566d7
DM
1437 break;
1438
636def1f
RGS
1439 case 181:
1440#line 1244 "perly.y"
1654d593
DM
1441 { (yyval.opval) = newOP(IVAL((ps[(1) - (1)].val.i_tkval)), 0);
1442 TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),'o');
f05e27e5 1443 ;}
0de566d7
DM
1444 break;
1445
636def1f
RGS
1446 case 182:
1447#line 1248 "perly.y"
1654d593
DM
1448 { (yyval.opval) = newUNOP(IVAL((ps[(1) - (2)].val.i_tkval)), 0, (ps[(2) - (2)].val.opval));
1449 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
f05e27e5 1450 ;}
0de566d7
DM
1451 break;
1452
636def1f
RGS
1453 case 183:
1454#line 1252 "perly.y"
1654d593
DM
1455 { (yyval.opval) = newUNOP(IVAL((ps[(1) - (2)].val.i_tkval)), 0, (ps[(2) - (2)].val.opval));
1456 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
f05e27e5 1457 ;}
0de566d7
DM
1458 break;
1459
636def1f
RGS
1460 case 184:
1461#line 1256 "perly.y"
d2fdf8fd
RGS
1462 { (yyval.opval) = newOP(OP_REQUIRE, (ps[(1) - (1)].val.i_tkval) ? OPf_SPECIAL : 0);
1463 TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),'o');
1464 ;}
0de566d7
DM
1465 break;
1466
636def1f
RGS
1467 case 185:
1468#line 1260 "perly.y"
d2fdf8fd
RGS
1469 { (yyval.opval) = newUNOP(OP_REQUIRE, (ps[(1) - (2)].val.i_tkval) ? OPf_SPECIAL : 0, (ps[(2) - (2)].val.opval));
1470 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
1471 ;}
0de566d7
DM
1472 break;
1473
636def1f
RGS
1474 case 186:
1475#line 1264 "perly.y"
1654d593 1476 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[(1) - (1)].val.opval))); ;}
0de566d7
DM
1477 break;
1478
636def1f
RGS
1479 case 187:
1480#line 1266 "perly.y"
f05e27e5 1481 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
1654d593 1482 append_elem(OP_LIST, (ps[(2) - (2)].val.opval), scalar((ps[(1) - (2)].val.opval)))); ;}
0de566d7
DM
1483 break;
1484
636def1f
RGS
1485 case 188:
1486#line 1269 "perly.y"
1654d593
DM
1487 { (yyval.opval) = newOP(IVAL((ps[(1) - (1)].val.i_tkval)), 0);
1488 TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),'o');
f05e27e5 1489 ;}
0de566d7
DM
1490 break;
1491
636def1f
RGS
1492 case 189:
1493#line 1273 "perly.y"
1654d593
DM
1494 { (yyval.opval) = newOP(IVAL((ps[(1) - (3)].val.i_tkval)), 0);
1495 TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'o');
1496 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'(');
1497 TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),')');
f05e27e5 1498 ;}
0de566d7
DM
1499 break;
1500
636def1f
RGS
1501 case 190:
1502#line 1279 "perly.y"
f05e27e5 1503 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
1654d593 1504 scalar((ps[(1) - (1)].val.opval))); ;}
0de566d7
DM
1505 break;
1506
636def1f
RGS
1507 case 191:
1508#line 1282 "perly.y"
1654d593
DM
1509 { (yyval.opval) = (IVAL((ps[(1) - (3)].val.i_tkval)) == OP_NOT)
1510 ? newUNOP(IVAL((ps[(1) - (3)].val.i_tkval)), 0, newSVOP(OP_CONST, 0, newSViv(0)))
1511 : newOP(IVAL((ps[(1) - (3)].val.i_tkval)), OPf_SPECIAL);
f05e27e5 1512
1654d593
DM
1513 TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'o');
1514 TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'(');
1515 TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),')');
f05e27e5 1516 ;}
0de566d7
DM
1517 break;
1518
636def1f
RGS
1519 case 192:
1520#line 1291 "perly.y"
1654d593
DM
1521 { (yyval.opval) = newUNOP(IVAL((ps[(1) - (4)].val.i_tkval)), 0, (ps[(3) - (4)].val.opval));
1522 TOKEN_GETMAD((ps[(1) - (4)].val.i_tkval),(yyval.opval),'o');
1523 TOKEN_GETMAD((ps[(2) - (4)].val.i_tkval),(yyval.opval),'(');
1524 TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),')');
f05e27e5 1525 ;}
0de566d7
DM
1526 break;
1527
636def1f
RGS
1528 case 193:
1529#line 1297 "perly.y"
1654d593
DM
1530 { (yyval.opval) = pmruntime((ps[(1) - (4)].val.opval), (ps[(3) - (4)].val.opval), 1);
1531 TOKEN_GETMAD((ps[(2) - (4)].val.i_tkval),(yyval.opval),'(');
1532 TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),')');
f05e27e5 1533 ;}
0de566d7
DM
1534 break;
1535
636def1f
RGS
1536 case 196:
1537#line 1304 "perly.y"
be25f609 1538 {
1539 (yyval.opval) = newLISTOP(OP_DIE, 0, newOP(OP_PUSHMARK, 0),
1540 newSVOP(OP_CONST, 0, newSVpvs("Unimplemented")));
950f2ea2 1541 TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),'X');
be25f609 1542 ;}
1543 break;
1544
636def1f
RGS
1545 case 198:
1546#line 1314 "perly.y"
1654d593 1547 { (yyval.opval) = my_attrs((ps[(2) - (3)].val.opval),(ps[(3) - (3)].val.opval));
f05e27e5 1548 DO_MAD(
1654d593
DM
1549 token_getmad((ps[(1) - (3)].val.i_tkval),(yyval.opval),'d');
1550 append_madprops((ps[(3) - (3)].val.opval)->op_madprop, (yyval.opval), 'a');
1551 (ps[(3) - (3)].val.opval)->op_madprop = 0;
f05e27e5
DM
1552 )
1553 ;}
0de566d7
DM
1554 break;
1555
636def1f
RGS
1556 case 199:
1557#line 1322 "perly.y"
1654d593
DM
1558 { (yyval.opval) = localize((ps[(2) - (2)].val.opval),IVAL((ps[(1) - (2)].val.i_tkval)));
1559 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'d');
f05e27e5 1560 ;}
0de566d7
DM
1561 break;
1562
636def1f
RGS
1563 case 200:
1564#line 1329 "perly.y"
1654d593
DM
1565 { (yyval.opval) = sawparens((ps[(2) - (3)].val.opval));
1566 TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'(');
1567 TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),')');
f05e27e5 1568 ;}
0de566d7
DM
1569 break;
1570
636def1f
RGS
1571 case 201:
1572#line 1334 "perly.y"
f05e27e5 1573 { (yyval.opval) = sawparens(newNULLLIST());
1654d593
DM
1574 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'(');
1575 TOKEN_GETMAD((ps[(2) - (2)].val.i_tkval),(yyval.opval),')');
f05e27e5 1576 ;}
0de566d7
DM
1577 break;
1578
636def1f
RGS
1579 case 202:
1580#line 1339 "perly.y"
f20dcd76 1581 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
0de566d7
DM
1582 break;
1583
636def1f
RGS
1584 case 203:
1585#line 1341 "perly.y"
4098b6bb 1586 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
0de566d7
DM
1587 break;
1588
636def1f
RGS
1589 case 204:
1590#line 1343 "perly.y"
f20dcd76 1591 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
2af555bf
DM
1592 break;
1593
636def1f
RGS
1594 case 205:
1595#line 1348 "perly.y"
f20dcd76 1596 { (yyval.opval) = (OP*)NULL; ;}
be25f609 1597 break;
1598
636def1f
RGS
1599 case 206:
1600#line 1350 "perly.y"
f20dcd76
VP
1601 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
1602 break;
1603
636def1f
RGS
1604 case 207:
1605#line 1354 "perly.y"
4098b6bb
JV
1606 { (yyval.opval) = (OP*)NULL; ;}
1607 break;
1608
636def1f
RGS
1609 case 208:
1610#line 1356 "perly.y"
4098b6bb
JV
1611 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
1612 break;
1613
636def1f
RGS
1614 case 209:
1615#line 1362 "perly.y"
12bd6ede 1616 { PL_parser->in_my = 0; (yyval.opval) = my((ps[(1) - (1)].val.opval)); ;}
0de566d7
DM
1617 break;
1618
636def1f
RGS
1619 case 210:
1620#line 1366 "perly.y"
1654d593
DM
1621 { (yyval.opval) = newCVREF(IVAL((ps[(1) - (2)].val.i_tkval)),(ps[(2) - (2)].val.opval));
1622 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'&');
f05e27e5 1623 ;}
0de566d7
DM
1624 break;
1625
636def1f
RGS
1626 case 211:
1627#line 1372 "perly.y"
1654d593
DM
1628 { (yyval.opval) = newSVREF((ps[(2) - (2)].val.opval));
1629 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'$');
f05e27e5 1630 ;}
0de566d7
DM
1631 break;
1632
636def1f
RGS
1633 case 212:
1634#line 1378 "perly.y"
1654d593
DM
1635 { (yyval.opval) = newAVREF((ps[(2) - (2)].val.opval));
1636 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'@');
f05e27e5 1637 ;}
0de566d7
DM
1638 break;
1639
636def1f
RGS
1640 case 213:
1641#line 1384 "perly.y"
1654d593
DM
1642 { (yyval.opval) = newHVREF((ps[(2) - (2)].val.opval));
1643 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'%');
f05e27e5 1644 ;}
500bedb6
DM
1645 break;
1646
636def1f
RGS
1647 case 214:
1648#line 1390 "perly.y"
1654d593
DM
1649 { (yyval.opval) = newAVREF((ps[(2) - (2)].val.opval));
1650 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'l');
f05e27e5 1651 ;}
a72a1c8b
RGS
1652 break;
1653
636def1f
RGS
1654 case 215:
1655#line 1396 "perly.y"
1654d593
DM
1656 { (yyval.opval) = newGVREF(0,(ps[(2) - (2)].val.opval));
1657 TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'*');
f05e27e5 1658 ;}
a72a1c8b
RGS
1659 break;
1660
636def1f
RGS
1661 case 216:
1662#line 1403 "perly.y"
503de470
DM
1663 { (yyval.opval) = scalar((ps[(1) - (1)].val.opval)); ;}
1664 break;
1665
636def1f
RGS
1666 case 217:
1667#line 1405 "perly.y"
1654d593 1668 { (yyval.opval) = scalar((ps[(1) - (1)].val.opval)); ;}
3cd0a11a
RGS
1669 break;
1670
636def1f
RGS
1671 case 218:
1672#line 1407 "perly.y"
1654d593 1673 { (yyval.opval) = scope((ps[(1) - (1)].val.opval)); ;}
f05e27e5
DM
1674 break;
1675
636def1f
RGS
1676 case 219:
1677#line 1410 "perly.y"
1654d593 1678 { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
f05e27e5
DM
1679 break;
1680
4e4da3ac
Z
1681
1682/* Line 1267 of yacc.c. */
1683
20515881 1684 default: break;
0de566d7 1685