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