This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
SysV IPC
[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"
00e74f14
NC
434 { (yyval.opval) = newFORM((yyvsp[-2].ival), (yyvsp[-1].opval), (yyvsp[0].opval));
435 prepend_madprops((yyvsp[-3].tkval)->tk_mad, (yyval.opval), 'F');
436 (yyvsp[-3].tkval)->tk_mad = 0;
437 token_free((yyvsp[-3].tkval));
438 ;}
439 break;
440
d6ae7501
NC
441 case 62:
442#line 453 "madly.y"
00e74f14
NC
443 { (yyval.opval) = (yyvsp[0].opval); ;}
444 break;
445
d6ae7501
NC
446 case 63:
447#line 454 "madly.y"
00e74f14
NC
448 { (yyval.opval) = Nullop; ;}
449 break;
450
d6ae7501
NC
451 case 64:
452#line 459 "madly.y"
00e74f14
NC
453 { (yyval.opval) = newMYSUB((yyvsp[-4].ival), (yyvsp[-3].opval), (yyvsp[-2].opval), (yyvsp[-1].opval), (yyvsp[0].opval));
454 token_getmad((yyvsp[-5].tkval),(yyval.opval),'d');
455 ;}
456 break;
457
d6ae7501
NC
458 case 65:
459#line 466 "madly.y"
00e74f14
NC
460 { OP* o = newSVOP(OP_ANONCODE, 0,
461 (SV*)newATTRSUB((yyvsp[-4].ival), (yyvsp[-3].opval), (yyvsp[-2].opval), (yyvsp[-1].opval), (yyvsp[0].opval)));
462 (yyval.opval) = newOP(OP_NULL,0);
463 op_getmad(o,(yyval.opval),'&');
464 op_getmad((yyvsp[-3].opval),(yyval.opval),'n');
465 op_getmad((yyvsp[-2].opval),(yyval.opval),'s');
466 op_getmad((yyvsp[-1].opval),(yyval.opval),'a');
467 token_getmad((yyvsp[-5].tkval),(yyval.opval),'d');
468 append_madprops((yyvsp[0].opval)->op_madprop, (yyval.opval), 0);
469 (yyvsp[0].opval)->op_madprop = 0;
470 ;}
471 break;
472
d6ae7501
NC
473 case 66:
474#line 480 "madly.y"
00e74f14
NC
475 { (yyval.ival) = start_subparse(FALSE, 0); ;}
476 break;
477
d6ae7501
NC
478 case 67:
479#line 484 "madly.y"
00e74f14
NC
480 { (yyval.ival) = start_subparse(FALSE, CVf_ANON); ;}
481 break;
482
d6ae7501
NC
483 case 68:
484#line 488 "madly.y"
00e74f14
NC
485 { (yyval.ival) = start_subparse(TRUE, 0); ;}
486 break;
487
d6ae7501
NC
488 case 69:
489#line 492 "madly.y"
490 { const char *const name = SvPV_nolen_const(((SVOP*)(yyvsp[0].opval))->op_sv);
00e74f14
NC
491 if (strEQ(name, "BEGIN") || strEQ(name, "END")
492 || strEQ(name, "INIT") || strEQ(name, "CHECK"))
493 CvSPECIAL_on(PL_compcv);
494 (yyval.opval) = (yyvsp[0].opval); ;}
495 break;
496
d6ae7501
NC
497 case 70:
498#line 501 "madly.y"
00e74f14
NC
499 { (yyval.opval) = Nullop; ;}
500 break;
501
d6ae7501
NC
502 case 72:
503#line 507 "madly.y"
00e74f14
NC
504 { (yyval.opval) = Nullop; ;}
505 break;
506
d6ae7501
NC
507 case 73:
508#line 509 "madly.y"
00e74f14
NC
509 { (yyval.opval) = (yyvsp[0].opval);
510 token_getmad((yyvsp[-1].tkval),(yyval.opval),':');
511 ;}
512 break;
513
d6ae7501
NC
514 case 74:
515#line 513 "madly.y"
00e74f14
NC
516 { (yyval.opval) = newOP(OP_NULL, 0);
517 token_getmad((yyvsp[0].tkval),(yyval.opval),':');
518 ;}
519 break;
520
d6ae7501
NC
521 case 75:
522#line 520 "madly.y"
00e74f14
NC
523 { (yyval.opval) = (yyvsp[0].opval);
524 token_getmad((yyvsp[-1].tkval),(yyval.opval),':');
525 ;}
526 break;
527
d6ae7501
NC
528 case 76:
529#line 524 "madly.y"
00e74f14
NC
530 { (yyval.opval) = newOP(OP_NULL, 0);
531 token_getmad((yyvsp[0].tkval),(yyval.opval),':');
532 ;}
533 break;
534
d6ae7501
NC
535 case 77:
536#line 530 "madly.y"
00e74f14
NC
537 { (yyval.opval) = (yyvsp[0].opval); ;}
538 break;
539
d6ae7501
NC
540 case 78:
541#line 531 "madly.y"
00e74f14
NC
542 { (yyval.opval) = newOP(OP_NULL,0); PL_expect = XSTATE;
543 token_getmad((yyvsp[0].tkval),(yyval.opval),';');
544 ;}
545 break;
546
d6ae7501
NC
547 case 79:
548#line 537 "madly.y"
00e74f14
NC
549 { (yyval.opval) = package((yyvsp[-1].opval));
550 token_getmad((yyvsp[-2].tkval),(yyval.opval),'o');
551 token_getmad((yyvsp[0].tkval),(yyval.opval),';');
552 ;}
553 break;
554
d6ae7501
NC
555 case 80:
556#line 544 "madly.y"
00e74f14
NC
557 { CvSPECIAL_on(PL_compcv); /* It's a BEGIN {} */ ;}
558 break;
559
d6ae7501
NC
560 case 81:
561#line 546 "madly.y"
00e74f14
NC
562 { (yyval.opval) = utilize(((yyvsp[-6].tkval))->tk_lval.ival, (yyvsp[-5].ival), (yyvsp[-3].opval), (yyvsp[-2].opval), (yyvsp[-1].opval));
563 token_getmad((yyvsp[-6].tkval),(yyval.opval),'o');
564 token_getmad((yyvsp[0].tkval),(yyval.opval),';');
565 if (PL_rsfp_filters && AvFILLp(PL_rsfp_filters) >= 0)
566 append_madprops(newMADPROP('!', MAD_PV, "", 0), (yyval.opval), 0);
567 ;}
568 break;
569
d6ae7501
NC
570 case 82:
571#line 556 "madly.y"
00e74f14
NC
572 { (yyval.opval) = newLOGOP(OP_AND, 0, (yyvsp[-2].opval), (yyvsp[0].opval));
573 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
574 ;}
575 break;
576
d6ae7501
NC
577 case 83:
578#line 560 "madly.y"
00e74f14
NC
579 { (yyval.opval) = newLOGOP(((yyvsp[-1].tkval))->tk_lval.ival, 0, (yyvsp[-2].opval), (yyvsp[0].opval));
580 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
581 ;}
582 break;
583
d6ae7501
NC
584 case 84:
585#line 564 "madly.y"
00e74f14
NC
586 { (yyval.opval) = newLOGOP(OP_DOR, 0, (yyvsp[-2].opval), (yyvsp[0].opval));
587 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
588 ;}
589 break;
590
d6ae7501
NC
591 case 86:
592#line 572 "madly.y"
00e74f14
NC
593 { OP* op = newNULLLIST();
594 token_getmad((yyvsp[0].tkval),op,',');
595 (yyval.opval) = append_elem(OP_LIST, (yyvsp[-1].opval), op);
596 ;}
597 break;
598
d6ae7501
NC
599 case 87:
600#line 577 "madly.y"
00e74f14
NC
601 {
602 (yyvsp[0].opval) = newUNOP(OP_NULL, 0, (yyvsp[0].opval));
603 token_getmad((yyvsp[-1].tkval),(yyvsp[0].opval),',');
604 (yyval.opval) = append_elem(OP_LIST, (yyvsp[-2].opval), (yyvsp[0].opval));
605 ;}
606 break;
607
d6ae7501
NC
608 case 89:
609#line 587 "madly.y"
00e74f14
NC
610 { (yyval.opval) = convert(((yyvsp[-2].tkval))->tk_lval.ival, OPf_STACKED,
611 prepend_elem(OP_LIST, newGVREF(((yyvsp[-2].tkval))->tk_lval.ival,(yyvsp[-1].opval)), (yyvsp[0].opval)) );
612 token_getmad((yyvsp[-2].tkval),(yyval.opval),'o');
613 ;}
614 break;
615
d6ae7501
NC
616 case 90:
617#line 592 "madly.y"
00e74f14
NC
618 { (yyval.opval) = convert(((yyvsp[-4].tkval))->tk_lval.ival, OPf_STACKED,
619 prepend_elem(OP_LIST, newGVREF(((yyvsp[-4].tkval))->tk_lval.ival,(yyvsp[-2].opval)), (yyvsp[-1].opval)) );
620 token_getmad((yyvsp[-4].tkval),(yyval.opval),'o');
621 token_getmad((yyvsp[-3].tkval),(yyval.opval),'(');
622 token_getmad((yyvsp[0].tkval),(yyval.opval),')');
623 ;}
624 break;
625
d6ae7501
NC
626 case 91:
627#line 599 "madly.y"
00e74f14
NC
628 { (yyval.opval) = convert(OP_ENTERSUB, OPf_STACKED,
629 append_elem(OP_LIST,
630 prepend_elem(OP_LIST, scalar((yyvsp[-5].opval)), (yyvsp[-1].opval)),
631 newUNOP(OP_METHOD, 0, (yyvsp[-3].opval))));
632 token_getmad((yyvsp[-4].tkval),(yyval.opval),'A');
633 token_getmad((yyvsp[-2].tkval),(yyval.opval),'(');
634 token_getmad((yyvsp[0].tkval),(yyval.opval),')');
635 ;}
636 break;
637
d6ae7501
NC
638 case 92:
639#line 608 "madly.y"
00e74f14
NC
640 { (yyval.opval) = convert(OP_ENTERSUB, OPf_STACKED,
641 append_elem(OP_LIST, scalar((yyvsp[-2].opval)),
642 newUNOP(OP_METHOD, 0, (yyvsp[0].opval))));
643 token_getmad((yyvsp[-1].tkval),(yyval.opval),'A');
644 ;}
645 break;
646
d6ae7501
NC
647 case 93:
648#line 614 "madly.y"
00e74f14
NC
649 { (yyval.opval) = convert(OP_ENTERSUB, OPf_STACKED,
650 append_elem(OP_LIST,
651 prepend_elem(OP_LIST, (yyvsp[-1].opval), (yyvsp[0].opval)),
652 newUNOP(OP_METHOD, 0, (yyvsp[-2].opval))));
653 ;}
654 break;
655
d6ae7501
NC
656 case 94:
657#line 620 "madly.y"
00e74f14
NC
658 { (yyval.opval) = convert(OP_ENTERSUB, OPf_STACKED,
659 append_elem(OP_LIST,
660 prepend_elem(OP_LIST, (yyvsp[-3].opval), (yyvsp[-1].opval)),
661 newUNOP(OP_METHOD, 0, (yyvsp[-4].opval))));
662 token_getmad((yyvsp[-2].tkval),(yyval.opval),'(');
663 token_getmad((yyvsp[0].tkval),(yyval.opval),')');
664 ;}
665 break;
666
d6ae7501
NC
667 case 95:
668#line 628 "madly.y"
00e74f14
NC
669 { (yyval.opval) = convert(((yyvsp[-1].tkval))->tk_lval.ival, 0, (yyvsp[0].opval));
670 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
671 ;}
672 break;
673
d6ae7501
NC
674 case 96:
675#line 632 "madly.y"
00e74f14
NC
676 { (yyval.opval) = convert(((yyvsp[-3].tkval))->tk_lval.ival, 0, (yyvsp[-1].opval));
677 token_getmad((yyvsp[-3].tkval),(yyval.opval),'o');
678 token_getmad((yyvsp[-2].tkval),(yyval.opval),'(');
679 token_getmad((yyvsp[0].tkval),(yyval.opval),')');
680 ;}
681 break;
682
d6ae7501
NC
683 case 97:
684#line 638 "madly.y"
00e74f14
NC
685 { (yyvsp[0].opval) = newANONATTRSUB((yyvsp[-1].ival), 0, Nullop, (yyvsp[0].opval)); ;}
686 break;
687
d6ae7501
NC
688 case 98:
689#line 640 "madly.y"
00e74f14
NC
690 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
691 append_elem(OP_LIST,
692 prepend_elem(OP_LIST, (yyvsp[-2].opval), (yyvsp[0].opval)), (yyvsp[-4].opval)));
693 ;}
694 break;
695
d6ae7501
NC
696 case 101:
697#line 655 "madly.y"
00e74f14
NC
698 { (yyval.opval) = newBINOP(OP_GELEM, 0, (yyvsp[-4].opval), scalar((yyvsp[-2].opval)));
699 PL_expect = XOPERATOR;
700 token_getmad((yyvsp[-3].tkval),(yyval.opval),'{');
701 token_getmad((yyvsp[-1].tkval),(yyval.opval),';');
702 token_getmad((yyvsp[0].tkval),(yyval.opval),'}');
703 ;}
704 break;
705
d6ae7501
NC
706 case 102:
707#line 662 "madly.y"
00e74f14
NC
708 { (yyval.opval) = newBINOP(OP_AELEM, 0, oopsAV((yyvsp[-3].opval)), scalar((yyvsp[-1].opval)));
709 token_getmad((yyvsp[-2].tkval),(yyval.opval),'[');
710 token_getmad((yyvsp[0].tkval),(yyval.opval),']');
711 ;}
712 break;
713
d6ae7501
NC
714 case 103:
715#line 667 "madly.y"
00e74f14
NC
716 { (yyval.opval) = newBINOP(OP_AELEM, 0,
717 ref(newAVREF((yyvsp[-4].opval)),OP_RV2AV),
718 scalar((yyvsp[-1].opval)));
719 token_getmad((yyvsp[-3].tkval),(yyval.opval),'a');
720 token_getmad((yyvsp[-2].tkval),(yyval.opval),'[');
721 token_getmad((yyvsp[0].tkval),(yyval.opval),']');
722 ;}
723 break;
724
d6ae7501
NC
725 case 104:
726#line 675 "madly.y"
00e74f14
NC
727 { (yyval.opval) = newBINOP(OP_AELEM, 0,
728 ref(newAVREF((yyvsp[-3].opval)),OP_RV2AV),
729 scalar((yyvsp[-1].opval)));
730 token_getmad((yyvsp[-2].tkval),(yyval.opval),'[');
731 token_getmad((yyvsp[0].tkval),(yyval.opval),']');
732 ;}
733 break;
734
d6ae7501
NC
735 case 105:
736#line 682 "madly.y"
00e74f14
NC
737 { (yyval.opval) = newBINOP(OP_HELEM, 0, oopsHV((yyvsp[-4].opval)), jmaybe((yyvsp[-2].opval)));
738 PL_expect = XOPERATOR;
739 token_getmad((yyvsp[-3].tkval),(yyval.opval),'{');
740 token_getmad((yyvsp[-1].tkval),(yyval.opval),';');
741 token_getmad((yyvsp[0].tkval),(yyval.opval),'}');
742 ;}
743 break;
744
d6ae7501
NC
745 case 106:
746#line 689 "madly.y"
00e74f14
NC
747 { (yyval.opval) = newBINOP(OP_HELEM, 0,
748 ref(newHVREF((yyvsp[-5].opval)),OP_RV2HV),
749 jmaybe((yyvsp[-2].opval)));
750 PL_expect = XOPERATOR;
751 token_getmad((yyvsp[-4].tkval),(yyval.opval),'a');
752 token_getmad((yyvsp[-3].tkval),(yyval.opval),'{');
753 token_getmad((yyvsp[-1].tkval),(yyval.opval),';');
754 token_getmad((yyvsp[0].tkval),(yyval.opval),'}');
755 ;}
756 break;
757
d6ae7501
NC
758 case 107:
759#line 699 "madly.y"
00e74f14
NC
760 { (yyval.opval) = newBINOP(OP_HELEM, 0,
761 ref(newHVREF((yyvsp[-4].opval)),OP_RV2HV),
762 jmaybe((yyvsp[-2].opval)));
763 PL_expect = XOPERATOR;
764 token_getmad((yyvsp[-3].tkval),(yyval.opval),'{');
765 token_getmad((yyvsp[-1].tkval),(yyval.opval),';');
766 token_getmad((yyvsp[0].tkval),(yyval.opval),'}');
767 ;}
768 break;
769
d6ae7501
NC
770 case 108:
771#line 708 "madly.y"
00e74f14
NC
772 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
773 newCVREF(0, scalar((yyvsp[-3].opval))));
774 token_getmad((yyvsp[-2].tkval),(yyval.opval),'a');
775 token_getmad((yyvsp[-1].tkval),(yyval.opval),'(');
776 token_getmad((yyvsp[0].tkval),(yyval.opval),')');
777 ;}
778 break;
779
d6ae7501
NC
780 case 109:
781#line 715 "madly.y"
00e74f14
NC
782 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
783 append_elem(OP_LIST, (yyvsp[-1].opval),
784 newCVREF(0, scalar((yyvsp[-4].opval)))));
785 token_getmad((yyvsp[-3].tkval),(yyval.opval),'a');
786 token_getmad((yyvsp[-2].tkval),(yyval.opval),'(');
787 token_getmad((yyvsp[0].tkval),(yyval.opval),')');
788 ;}
789 break;
790
d6ae7501
NC
791 case 110:
792#line 724 "madly.y"
00e74f14
NC
793 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
794 append_elem(OP_LIST, (yyvsp[-1].opval),
795 newCVREF(0, scalar((yyvsp[-3].opval)))));
796 token_getmad((yyvsp[-2].tkval),(yyval.opval),'(');
797 token_getmad((yyvsp[0].tkval),(yyval.opval),')');
798 ;}
799 break;
800
d6ae7501
NC
801 case 111:
802#line 731 "madly.y"
00e74f14
NC
803 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
804 newCVREF(0, scalar((yyvsp[-2].opval))));
805 token_getmad((yyvsp[-1].tkval),(yyval.opval),'(');
806 token_getmad((yyvsp[0].tkval),(yyval.opval),')');
807 ;}
808 break;
809
d6ae7501
NC
810 case 112:
811#line 737 "madly.y"
812 { (yyval.opval) = newSLICEOP(0, (yyvsp[-1].opval), (yyvsp[-4].opval));
813 token_getmad((yyvsp[-5].tkval),(yyval.opval),'(');
814 token_getmad((yyvsp[-3].tkval),(yyval.opval),')');
815 token_getmad((yyvsp[-2].tkval),(yyval.opval),'[');
816 token_getmad((yyvsp[0].tkval),(yyval.opval),']');
817 ;}
818 break;
819
820 case 113:
821#line 744 "madly.y"
822 { (yyval.opval) = newSLICEOP(0, (yyvsp[-1].opval), Nullop);
823 token_getmad((yyvsp[-4].tkval),(yyval.opval),'(');
824 token_getmad((yyvsp[-3].tkval),(yyval.opval),')');
825 token_getmad((yyvsp[-2].tkval),(yyval.opval),'[');
826 token_getmad((yyvsp[0].tkval),(yyval.opval),']');
827 ;}
828 break;
829
830 case 114:
831#line 754 "madly.y"
00e74f14
NC
832 { (yyval.opval) = newASSIGNOP(OPf_STACKED, (yyvsp[-2].opval), ((yyvsp[-1].tkval))->tk_lval.ival, (yyvsp[0].opval));
833 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
834 ;}
835 break;
836
d6ae7501
NC
837 case 115:
838#line 758 "madly.y"
00e74f14
NC
839 { (yyval.opval) = newBINOP(((yyvsp[-1].tkval))->tk_lval.ival, 0, scalar((yyvsp[-2].opval)), scalar((yyvsp[0].opval)));
840 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
841 ;}
842 break;
843
d6ae7501
NC
844 case 116:
845#line 762 "madly.y"
00e74f14
NC
846 { if (((yyvsp[-1].tkval))->tk_lval.ival != OP_REPEAT)
847 scalar((yyvsp[-2].opval));
848 (yyval.opval) = newBINOP(((yyvsp[-1].tkval))->tk_lval.ival, 0, (yyvsp[-2].opval), scalar((yyvsp[0].opval)));
849 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
850 ;}
851 break;
852
d6ae7501
NC
853 case 117:
854#line 768 "madly.y"
00e74f14
NC
855 { (yyval.opval) = newBINOP(((yyvsp[-1].tkval))->tk_lval.ival, 0, scalar((yyvsp[-2].opval)), scalar((yyvsp[0].opval)));
856 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
857 ;}
858 break;
859
d6ae7501
NC
860 case 118:
861#line 772 "madly.y"
00e74f14
NC
862 { (yyval.opval) = newBINOP(((yyvsp[-1].tkval))->tk_lval.ival, 0, scalar((yyvsp[-2].opval)), scalar((yyvsp[0].opval)));
863 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
864 ;}
865 break;
866
d6ae7501
NC
867 case 119:
868#line 776 "madly.y"
00e74f14
NC
869 { (yyval.opval) = newBINOP(((yyvsp[-1].tkval))->tk_lval.ival, 0, scalar((yyvsp[-2].opval)), scalar((yyvsp[0].opval)));
870 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
871 ;}
872 break;
873
d6ae7501
NC
874 case 120:
875#line 780 "madly.y"
00e74f14
NC
876 { (yyval.opval) = newBINOP(((yyvsp[-1].tkval))->tk_lval.ival, 0, scalar((yyvsp[-2].opval)), scalar((yyvsp[0].opval)));
877 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
878 ;}
879 break;
880
d6ae7501
NC
881 case 121:
882#line 784 "madly.y"
00e74f14
NC
883 { (yyval.opval) = newBINOP(((yyvsp[-1].tkval))->tk_lval.ival, 0, scalar((yyvsp[-2].opval)), scalar((yyvsp[0].opval)));
884 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
885 ;}
886 break;
887
d6ae7501
NC
888 case 122:
889#line 788 "madly.y"
00e74f14
NC
890 { (yyval.opval) = newBINOP(((yyvsp[-1].tkval))->tk_lval.ival, 0, scalar((yyvsp[-2].opval)), scalar((yyvsp[0].opval)));
891 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
892 ;}
893 break;
894
d6ae7501
NC
895 case 123:
896#line 792 "madly.y"
00e74f14
NC
897 { UNOP *op;
898 (yyval.opval) = newRANGE(((yyvsp[-1].tkval))->tk_lval.ival, scalar((yyvsp[-2].opval)), scalar((yyvsp[0].opval)));
899 op = (UNOP*)(yyval.opval);
900 op = (UNOP*)op->op_first; /* get to flop */
901 op = (UNOP*)op->op_first; /* get to flip */
902 op = (UNOP*)op->op_first; /* get to range */
903 token_getmad((yyvsp[-1].tkval),(OP*)op,'o');
904 ;}
905 break;
906
d6ae7501
NC
907 case 124:
908#line 801 "madly.y"
00e74f14
NC
909 { (yyval.opval) = newLOGOP(OP_AND, 0, (yyvsp[-2].opval), (yyvsp[0].opval));
910 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
911 ;}
912 break;
913
d6ae7501
NC
914 case 125:
915#line 805 "madly.y"
00e74f14
NC
916 { (yyval.opval) = newLOGOP(OP_OR, 0, (yyvsp[-2].opval), (yyvsp[0].opval));
917 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
918 ;}
919 break;
920
d6ae7501
NC
921 case 126:
922#line 809 "madly.y"
00e74f14
NC
923 { (yyval.opval) = newLOGOP(OP_DOR, 0, (yyvsp[-2].opval), (yyvsp[0].opval));
924 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
925 ;}
926 break;
927
d6ae7501
NC
928 case 127:
929#line 813 "madly.y"
00e74f14
NC
930 { (yyval.opval) = bind_match(((yyvsp[-1].tkval))->tk_lval.ival, (yyvsp[-2].opval), (yyvsp[0].opval));
931 if ((yyval.opval)->op_type == OP_NOT)
932 token_getmad((yyvsp[-1].tkval),((UNOP*)(yyval.opval))->op_first,'~');
933 else
934 token_getmad((yyvsp[-1].tkval),(yyval.opval),'~');
935 ;}
936 break;
937
d6ae7501
NC
938 case 128:
939#line 823 "madly.y"
00e74f14
NC
940 { (yyval.opval) = newUNOP(OP_NEGATE, 0, scalar((yyvsp[0].opval)));
941 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
942 ;}
943 break;
944
d6ae7501
NC
945 case 129:
946#line 827 "madly.y"
00e74f14
NC
947 { (yyval.opval) = newUNOP(OP_NULL, 0, (yyvsp[0].opval));
948 token_getmad((yyvsp[-1].tkval),(yyval.opval),'+');
949 ;}
950 break;
951
d6ae7501
NC
952 case 130:
953#line 831 "madly.y"
00e74f14
NC
954 { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((yyvsp[0].opval)));
955 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
956 ;}
957 break;
958
d6ae7501
NC
959 case 131:
960#line 835 "madly.y"
00e74f14
NC
961 { (yyval.opval) = newUNOP(OP_COMPLEMENT, 0, scalar((yyvsp[0].opval)));
962 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
963 ;}
964 break;
965
d6ae7501
NC
966 case 132:
967#line 839 "madly.y"
00e74f14
NC
968 { (yyval.opval) = newUNOP(OP_POSTINC, 0,
969 mod(scalar((yyvsp[-1].opval)), OP_POSTINC));
970 token_getmad((yyvsp[0].tkval),(yyval.opval),'o');
971 ;}
972 break;
973
d6ae7501
NC
974 case 133:
975#line 844 "madly.y"
00e74f14
NC
976 { (yyval.opval) = newUNOP(OP_POSTDEC, 0,
977 mod(scalar((yyvsp[-1].opval)), OP_POSTDEC));
978 token_getmad((yyvsp[0].tkval),(yyval.opval),'o');
979 ;}
980 break;
981
d6ae7501
NC
982 case 134:
983#line 849 "madly.y"
00e74f14
NC
984 { (yyval.opval) = newUNOP(OP_PREINC, 0,
985 mod(scalar((yyvsp[0].opval)), OP_PREINC));
986 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
987 ;}
988 break;
989
d6ae7501
NC
990 case 135:
991#line 854 "madly.y"
00e74f14
NC
992 { (yyval.opval) = newUNOP(OP_PREDEC, 0,
993 mod(scalar((yyvsp[0].opval)), OP_PREDEC));
994 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
995 ;}
996 break;
997
d6ae7501
NC
998 case 136:
999#line 863 "madly.y"
00e74f14
NC
1000 { (yyval.opval) = newANONLIST((yyvsp[-1].opval));
1001 token_getmad((yyvsp[-2].tkval),(yyval.opval),'[');
1002 token_getmad((yyvsp[0].tkval),(yyval.opval),']');
1003 ;}
1004 break;
1005
d6ae7501
NC
1006 case 137:
1007#line 868 "madly.y"
00e74f14
NC
1008 { (yyval.opval) = newANONLIST(Nullop);
1009 token_getmad((yyvsp[-1].tkval),(yyval.opval),'[');
1010 token_getmad((yyvsp[0].tkval),(yyval.opval),']');
1011 ;}
1012 break;
1013
d6ae7501
NC
1014 case 138:
1015#line 873 "madly.y"
00e74f14
NC
1016 { (yyval.opval) = newANONHASH((yyvsp[-2].opval));
1017 token_getmad((yyvsp[-3].tkval),(yyval.opval),'{');
1018 token_getmad((yyvsp[-1].tkval),(yyval.opval),';');
1019 token_getmad((yyvsp[0].tkval),(yyval.opval),'}');
1020 ;}
1021 break;
1022
d6ae7501
NC
1023 case 139:
1024#line 879 "madly.y"
00e74f14
NC
1025 { (yyval.opval) = newANONHASH(Nullop);
1026 token_getmad((yyvsp[-2].tkval),(yyval.opval),'{');
1027 token_getmad((yyvsp[-1].tkval),(yyval.opval),';');
1028 token_getmad((yyvsp[0].tkval),(yyval.opval),'}');
1029 ;}
1030 break;
1031
d6ae7501
NC
1032 case 140:
1033#line 885 "madly.y"
00e74f14
NC
1034 { (yyval.opval) = newANONATTRSUB((yyvsp[-3].ival), (yyvsp[-2].opval), (yyvsp[-1].opval), (yyvsp[0].opval));
1035 token_getmad((yyvsp[-4].tkval),(yyval.opval),'o');
1036 op_getmad((yyvsp[-2].opval),(yyval.opval),'s');
1037 op_getmad((yyvsp[-1].opval),(yyval.opval),'a');
1038 ;}
1039 break;
1040
d6ae7501
NC
1041 case 141:
1042#line 895 "madly.y"
00e74f14
NC
1043 { (yyval.opval) = dofile((yyvsp[0].opval), (yyvsp[-1].tkval));
1044 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
1045 ;}
1046 break;
1047
d6ae7501
NC
1048 case 142:
1049#line 899 "madly.y"
00e74f14
NC
1050 { (yyval.opval) = newUNOP(OP_NULL, OPf_SPECIAL, scope((yyvsp[0].opval)));
1051 token_getmad((yyvsp[-1].tkval),(yyval.opval),'D');
1052 ;}
1053 break;
1054
d6ae7501
NC
1055 case 143:
1056#line 903 "madly.y"
00e74f14
NC
1057 { (yyval.opval) = newUNOP(OP_ENTERSUB,
1058 OPf_SPECIAL|OPf_STACKED,
1059 prepend_elem(OP_LIST,
1060 scalar(newCVREF(
1061 (OPpENTERSUB_AMPER<<8),
1062 scalar((yyvsp[-2].opval))
1063 )),Nullop)); dep();
1064 token_getmad((yyvsp[-3].tkval),(yyval.opval),'o');
1065 token_getmad((yyvsp[-1].tkval),(yyval.opval),'(');
1066 token_getmad((yyvsp[0].tkval),(yyval.opval),')');
1067 ;}
1068 break;
1069
d6ae7501
NC
1070 case 144:
1071#line 915 "madly.y"
00e74f14
NC
1072 { (yyval.opval) = newUNOP(OP_ENTERSUB,
1073 OPf_SPECIAL|OPf_STACKED,
1074 append_elem(OP_LIST,
1075 (yyvsp[-1].opval),
1076 scalar(newCVREF(
1077 (OPpENTERSUB_AMPER<<8),
1078 scalar((yyvsp[-3].opval))
1079 )))); dep();
1080 token_getmad((yyvsp[-4].tkval),(yyval.opval),'o');
1081 token_getmad((yyvsp[-2].tkval),(yyval.opval),'(');
1082 token_getmad((yyvsp[0].tkval),(yyval.opval),')');
1083 ;}
1084 break;
1085
d6ae7501
NC
1086 case 145:
1087#line 928 "madly.y"
00e74f14
NC
1088 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
1089 prepend_elem(OP_LIST,
1090 scalar(newCVREF(0,scalar((yyvsp[-2].opval)))), Nullop)); dep();
1091 token_getmad((yyvsp[-3].tkval),(yyval.opval),'o');
1092 token_getmad((yyvsp[-1].tkval),(yyval.opval),'(');
1093 token_getmad((yyvsp[0].tkval),(yyval.opval),')');
1094 ;}
1095 break;
1096
d6ae7501
NC
1097 case 146:
1098#line 936 "madly.y"
00e74f14
NC
1099 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
1100 prepend_elem(OP_LIST,
1101 (yyvsp[-1].opval),
1102 scalar(newCVREF(0,scalar((yyvsp[-3].opval)))))); dep();
1103 token_getmad((yyvsp[-4].tkval),(yyval.opval),'o');
1104 token_getmad((yyvsp[-2].tkval),(yyval.opval),'(');
1105 token_getmad((yyvsp[0].tkval),(yyval.opval),')');
1106 ;}
1107 break;
1108
d6ae7501
NC
1109 case 151:
1110#line 952 "madly.y"
00e74f14
NC
1111 { (yyval.opval) = newCONDOP(0, (yyvsp[-4].opval), (yyvsp[-2].opval), (yyvsp[0].opval));
1112 token_getmad((yyvsp[-3].tkval),(yyval.opval),'?');
1113 token_getmad((yyvsp[-1].tkval),(yyval.opval),':');
1114 ;}
1115 break;
1116
d6ae7501
NC
1117 case 152:
1118#line 957 "madly.y"
00e74f14
NC
1119 { (yyval.opval) = newUNOP(OP_REFGEN, 0, mod((yyvsp[0].opval),OP_REFGEN));
1120 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
1121 ;}
1122 break;
1123
d6ae7501
NC
1124 case 153:
1125#line 961 "madly.y"
00e74f14
NC
1126 { (yyval.opval) = (yyvsp[0].opval); ;}
1127 break;
1128
d6ae7501
NC
1129 case 154:
1130#line 963 "madly.y"
00e74f14
NC
1131 { (yyval.opval) = localize((yyvsp[0].opval),((yyvsp[-1].tkval))->tk_lval.ival);
1132 token_getmad((yyvsp[-1].tkval),(yyval.opval),'d');
1133 ;}
1134 break;
1135
d6ae7501
NC
1136 case 155:
1137#line 967 "madly.y"
00e74f14
NC
1138 { (yyval.opval) = sawparens(newUNOP(OP_NULL,0,(yyvsp[-1].opval)));
1139 token_getmad((yyvsp[-2].tkval),(yyval.opval),'(');
1140 token_getmad((yyvsp[0].tkval),(yyval.opval),')');
1141 ;}
1142 break;
1143
d6ae7501
NC
1144 case 156:
1145#line 972 "madly.y"
00e74f14
NC
1146 { (yyval.opval) = sawparens(newNULLLIST());
1147 token_getmad((yyvsp[-1].tkval),(yyval.opval),'(');
1148 token_getmad((yyvsp[0].tkval),(yyval.opval),')');
1149 ;}
1150 break;
1151
d6ae7501
NC
1152 case 157:
1153#line 977 "madly.y"
00e74f14
NC
1154 { (yyval.opval) = (yyvsp[0].opval); ;}
1155 break;
1156
d6ae7501
NC
1157 case 158:
1158#line 979 "madly.y"
00e74f14
NC
1159 { (yyval.opval) = (yyvsp[0].opval); ;}
1160 break;
1161
d6ae7501
NC
1162 case 159:
1163#line 981 "madly.y"
00e74f14
NC
1164 { (yyval.opval) = (yyvsp[0].opval); ;}
1165 break;
1166
d6ae7501
NC
1167 case 160:
1168#line 983 "madly.y"
00e74f14
NC
1169 { (yyval.opval) = (yyvsp[0].opval); ;}
1170 break;
1171
d6ae7501
NC
1172 case 161:
1173#line 985 "madly.y"
00e74f14
NC
1174 { (yyval.opval) = newUNOP(OP_AV2ARYLEN, 0, ref((yyvsp[0].opval), OP_AV2ARYLEN));;}
1175 break;
1176
d6ae7501
NC
1177 case 162:
1178#line 987 "madly.y"
00e74f14
NC
1179 { (yyval.opval) = (yyvsp[0].opval); ;}
1180 break;
1181
d6ae7501
NC
1182 case 163:
1183#line 989 "madly.y"
00e74f14
NC
1184 { (yyval.opval) = prepend_elem(OP_ASLICE,
1185 newOP(OP_PUSHMARK, 0),
1186 newLISTOP(OP_ASLICE, 0,
1187 list((yyvsp[-1].opval)),
1188 ref((yyvsp[-3].opval), OP_ASLICE)));
1189 token_getmad((yyvsp[-2].tkval),(yyval.opval),'[');
1190 token_getmad((yyvsp[0].tkval),(yyval.opval),']');
1191 ;}
1192 break;
1193
d6ae7501
NC
1194 case 164:
1195#line 998 "madly.y"
00e74f14
NC
1196 { (yyval.opval) = prepend_elem(OP_HSLICE,
1197 newOP(OP_PUSHMARK, 0),
1198 newLISTOP(OP_HSLICE, 0,
1199 list((yyvsp[-2].opval)),
1200 ref(oopsHV((yyvsp[-4].opval)), OP_HSLICE)));
1201 PL_expect = XOPERATOR;
1202 token_getmad((yyvsp[-3].tkval),(yyval.opval),'{');
1203 token_getmad((yyvsp[-1].tkval),(yyval.opval),';');
1204 token_getmad((yyvsp[0].tkval),(yyval.opval),'}');
1205 ;}
1206 break;
1207
d6ae7501
NC
1208 case 165:
1209#line 1009 "madly.y"
00e74f14
NC
1210 { (yyval.opval) = (yyvsp[0].opval); ;}
1211 break;
1212
d6ae7501
NC
1213 case 166:
1214#line 1011 "madly.y"
00e74f14
NC
1215 { (yyval.opval) = newUNOP(OP_ENTERSUB, 0, scalar((yyvsp[0].opval))); ;}
1216 break;
1217
d6ae7501
NC
1218 case 167:
1219#line 1013 "madly.y"
00e74f14
NC
1220 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((yyvsp[-2].opval)));
1221 token_getmad((yyvsp[-1].tkval),(yyval.opval),'(');
1222 token_getmad((yyvsp[0].tkval),(yyval.opval),')');
1223 ;}
1224 break;
1225
d6ae7501
NC
1226 case 168:
1227#line 1018 "madly.y"
00e74f14
NC
1228 { OP* op;
1229 (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
1230 append_elem(OP_LIST, (yyvsp[-1].opval), scalar((yyvsp[-3].opval))));
1231 op = (yyval.opval);
1232 if (op->op_type == OP_CONST) { /* defeat const fold */
1233 op = (OP*)op->op_madprop->mad_val;
1234 }
1235 token_getmad((yyvsp[-2].tkval),op,'(');
1236 token_getmad((yyvsp[0].tkval),op,')');
1237 ;}
1238 break;
1239
d6ae7501
NC
1240 case 169:
1241#line 1029 "madly.y"
00e74f14
NC
1242 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
1243 append_elem(OP_LIST, (yyvsp[0].opval), scalar((yyvsp[-1].opval))));
1244 token_getmad((yyvsp[-2].tkval),(yyval.opval),'o');
1245 ;}
1246 break;
1247
d6ae7501
NC
1248 case 170:
1249#line 1034 "madly.y"
00e74f14
NC
1250 { (yyval.opval) = newOP(((yyvsp[0].tkval))->tk_lval.ival, OPf_SPECIAL);
1251 PL_hints |= HINT_BLOCK_SCOPE;
1252 token_getmad((yyvsp[0].tkval),(yyval.opval),'o');
1253 ;}
1254 break;
1255
d6ae7501
NC
1256 case 171:
1257#line 1039 "madly.y"
00e74f14
NC
1258 { (yyval.opval) = newLOOPEX(((yyvsp[-1].tkval))->tk_lval.ival,(yyvsp[0].opval));
1259 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
1260 ;}
1261 break;
1262
d6ae7501
NC
1263 case 172:
1264#line 1043 "madly.y"
00e74f14
NC
1265 { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((yyvsp[0].opval)));
1266 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
1267 ;}
1268 break;
1269
d6ae7501
NC
1270 case 173:
1271#line 1047 "madly.y"
00e74f14
NC
1272 { (yyval.opval) = newOP(((yyvsp[0].tkval))->tk_lval.ival, 0);
1273 token_getmad((yyvsp[0].tkval),(yyval.opval),'o');
1274 ;}
1275 break;
1276
d6ae7501
NC
1277 case 174:
1278#line 1051 "madly.y"
00e74f14
NC
1279 { (yyval.opval) = newUNOP(((yyvsp[-1].tkval))->tk_lval.ival, 0, (yyvsp[0].opval));
1280 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
1281 ;}
1282 break;
1283
d6ae7501
NC
1284 case 175:
1285#line 1055 "madly.y"
00e74f14
NC
1286 { (yyval.opval) = newUNOP(((yyvsp[-1].tkval))->tk_lval.ival, 0, (yyvsp[0].opval));
1287 token_getmad((yyvsp[-1].tkval),(yyval.opval),'o');
1288 ;}
1289 break;
1290
d6ae7501
NC
1291 case 176:
1292#line 1059 "madly.y"
1293 { (yyval.opval) = newOP(OP_REQUIRE, (yyvsp[0].tkval) ? OPf_SPECIAL : 0); ;}
1294 break;
1295
1296 case 177:
1297#line 1061 "madly.y"
1298 { (yyval.opval) = newUNOP(OP_REQUIRE, (yyvsp[-1].tkval) ? OPf_SPECIAL : 0, (yyvsp[0].opval)); ;}
1299 break;
1300
1301 case 178:
1302#line 1063 "madly.y"
00e74f14 1303 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
d6ae7501 1304 append_elem(OP_LIST, (yyvsp[0].opval), scalar((yyvsp[-1].opval)))); ;}
00e74f14
NC
1305 break;
1306
d6ae7501
NC
1307 case 179:
1308#line 1066 "madly.y"
00e74f14
NC
1309 { (yyval.opval) = newOP(((yyvsp[0].tkval))->tk_lval.ival, 0);
1310 token_getmad((yyvsp[0].tkval),(yyval.opval),'o');
1311 ;}
1312 break;
1313
d6ae7501
NC
1314 case 180:
1315#line 1070 "madly.y"
00e74f14
NC
1316 { (yyval.opval) = newOP(((yyvsp[-2].tkval))->tk_lval.ival, 0);
1317 token_getmad((yyvsp[-2].tkval),(yyval.opval),'o');
1318 token_getmad((yyvsp[-1].tkval),(yyval.opval),'(');
1319 token_getmad((yyvsp[0].tkval),(yyval.opval),')');
1320 ;}
1321 break;
1322
d6ae7501
NC
1323 case 181:
1324#line 1076 "madly.y"
00e74f14
NC
1325 { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
1326 scalar((yyvsp[0].opval))); ;}
1327 break;
1328
d6ae7501
NC
1329 case 182:
1330#line 1079 "madly.y"
00e74f14
NC
1331 { (yyval.opval) = newOP(((yyvsp[-2].tkval))->tk_lval.ival, OPf_SPECIAL);
1332 token_getmad((yyvsp[-2].tkval),(yyval.opval),'o');
1333 token_getmad((yyvsp[-1].tkval),(yyval.opval),'(');
1334 token_getmad((yyvsp[0].tkval),(yyval.opval),')');
1335 ;}
1336 break;
1337
d6ae7501
NC
1338 case 183:
1339#line 1085 "madly.y"
00e74f14
NC
1340 { (yyval.opval) = newUNOP(((yyvsp[-3].tkval))->tk_lval.ival, 0, (yyvsp[-1].opval));
1341 token_getmad((yyvsp[-3].tkval),(yyval.opval),'o');
1342 token_getmad((yyvsp[-2].tkval),(yyval.opval),'(');
1343 token_getmad((yyvsp[0].tkval),(yyval.opval),')');
1344 ;}
1345 break;
1346
d6ae7501
NC
1347 case 184:
1348#line 1091 "madly.y"
00e74f14
NC
1349 { (yyval.opval) = pmruntime((yyvsp[-3].opval), (yyvsp[-1].opval), 1);
1350 token_getmad((yyvsp[-2].tkval),(yyval.opval),'(');
1351 token_getmad((yyvsp[0].tkval),(yyval.opval),')');
1352 ;}
1353 break;
1354
d6ae7501
NC
1355 case 187:
1356#line 1101 "madly.y"
00e74f14
NC
1357 { (yyval.opval) = my_attrs((yyvsp[-1].opval),(yyvsp[0].opval));
1358 token_getmad((yyvsp[-2].tkval),(yyval.opval),'d');
1359 append_madprops((yyvsp[0].opval)->op_madprop, (yyval.opval), 'a');
1360 (yyvsp[0].opval)->op_madprop = 0;
1361 ;}
1362 break;
1363
d6ae7501
NC
1364 case 188:
1365#line 1107 "madly.y"
00e74f14
NC
1366 { (yyval.opval) = localize((yyvsp[0].opval),((yyvsp[-1].tkval))->tk_lval.ival);
1367 token_getmad((yyvsp[-1].tkval),(yyval.opval),'d');
1368 ;}
1369 break;
1370
d6ae7501
NC
1371 case 189:
1372#line 1114 "madly.y"
00e74f14
NC
1373 { (yyval.opval) = sawparens((yyvsp[-1].opval));
1374 token_getmad((yyvsp[-2].tkval),(yyval.opval),'(');
1375 token_getmad((yyvsp[0].tkval),(yyval.opval),')');
1376 ;}
1377 break;
1378
d6ae7501
NC
1379 case 190:
1380#line 1119 "madly.y"
00e74f14
NC
1381 { (yyval.opval) = sawparens(newNULLLIST());
1382 token_getmad((yyvsp[-1].tkval),(yyval.opval),'(');
1383 token_getmad((yyvsp[0].tkval),(yyval.opval),')');
1384 ;}
1385 break;
1386
d6ae7501
NC
1387 case 191:
1388#line 1124 "madly.y"
00e74f14
NC
1389 { (yyval.opval) = (yyvsp[0].opval); ;}
1390 break;
1391
d6ae7501
NC
1392 case 192:
1393#line 1126 "madly.y"
00e74f14
NC
1394 { (yyval.opval) = (yyvsp[0].opval); ;}
1395 break;
1396
d6ae7501
NC
1397 case 193:
1398#line 1128 "madly.y"
00e74f14
NC
1399 { (yyval.opval) = (yyvsp[0].opval); ;}
1400 break;
1401
d6ae7501
NC
1402 case 194:
1403#line 1133 "madly.y"
00e74f14
NC
1404 { (yyval.opval) = Nullop; ;}
1405 break;
1406
d6ae7501
NC
1407 case 195:
1408#line 1135 "madly.y"
00e74f14
NC
1409 { (yyval.opval) = (yyvsp[0].opval); ;}
1410 break;
1411
d6ae7501
NC
1412 case 196:
1413#line 1139 "madly.y"
00e74f14
NC
1414 { (yyval.opval) = Nullop; ;}
1415 break;
1416
d6ae7501
NC
1417 case 197:
1418#line 1141 "madly.y"
00e74f14
NC
1419 { (yyval.opval) = (yyvsp[0].opval); ;}
1420 break;
1421
d6ae7501
NC
1422 case 198:
1423#line 1143 "madly.y"
00e74f14
NC
1424 { OP* op = newNULLLIST();
1425 token_getmad((yyvsp[0].tkval),op,',');
1426 (yyval.opval) = append_elem(OP_LIST, (yyvsp[-1].opval), op);
1427 ;}
1428 break;
1429
d6ae7501
NC
1430 case 199:
1431#line 1152 "madly.y"
00e74f14
NC
1432 { PL_in_my = 0; (yyval.opval) = my((yyvsp[0].opval)); ;}
1433 break;
1434
d6ae7501
NC
1435 case 200:
1436#line 1156 "madly.y"
00e74f14
NC
1437 { (yyval.opval) = newCVREF(((yyvsp[-1].tkval))->tk_lval.ival,(yyvsp[0].opval));
1438 token_getmad((yyvsp[-1].tkval),(yyval.opval),'&');
1439 ;}
1440 break;
1441
d6ae7501
NC
1442 case 201:
1443#line 1162 "madly.y"
00e74f14
NC
1444 { (yyval.opval) = newSVREF((yyvsp[0].opval));
1445 token_getmad((yyvsp[-1].tkval),(yyval.opval),'$');
1446 ;}
1447 break;
1448
d6ae7501
NC
1449 case 202:
1450#line 1168 "madly.y"
00e74f14
NC
1451 { (yyval.opval) = newAVREF((yyvsp[0].opval));
1452 token_getmad((yyvsp[-1].tkval),(yyval.opval),'@');
1453 ;}
1454 break;
1455
d6ae7501
NC
1456 case 203:
1457#line 1174 "madly.y"
00e74f14
NC
1458 { (yyval.opval) = newHVREF((yyvsp[0].opval));
1459 token_getmad((yyvsp[-1].tkval),(yyval.opval),'%');
1460 ;}
1461 break;
1462
d6ae7501
NC
1463 case 204:
1464#line 1180 "madly.y"
00e74f14
NC
1465 { (yyval.opval) = newAVREF((yyvsp[0].opval));
1466 token_getmad((yyvsp[-1].tkval),(yyval.opval),'l');
1467 ;}
1468 break;
1469
d6ae7501
NC
1470 case 205:
1471#line 1186 "madly.y"
00e74f14
NC
1472 { (yyval.opval) = newGVREF(0,(yyvsp[0].opval));
1473 token_getmad((yyvsp[-1].tkval),(yyval.opval),'*');
1474 ;}
1475 break;
1476
d6ae7501
NC
1477 case 206:
1478#line 1193 "madly.y"
00e74f14
NC
1479 { (yyval.opval) = scalar((yyvsp[0].opval)); ;}
1480 break;
1481
d6ae7501
NC
1482 case 207:
1483#line 1195 "madly.y"
00e74f14
NC
1484 { (yyval.opval) = scalar((yyvsp[0].opval)); ;}
1485 break;
1486
d6ae7501
NC
1487 case 208:
1488#line 1197 "madly.y"
00e74f14
NC
1489 { (yyval.opval) = scope((yyvsp[0].opval)); ;}
1490 break;
1491
d6ae7501
NC
1492 case 209:
1493#line 1200 "madly.y"
00e74f14
NC
1494 { (yyval.opval) = (yyvsp[0].opval); ;}
1495 break;
1496
1497
1498 default: break;
1499