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