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