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