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