summaryrefslogtreecommitdiff
path: root/perly.act
diff options
context:
space:
mode:
authorFather Chrysostomos <sprout@cpan.org>2013-09-12 14:30:41 -0700
committerFather Chrysostomos <sprout@cpan.org>2013-09-13 01:25:36 -0700
commit95a31aad58c629646a232acf2fdd010a10b1b9b5 (patch)
treea037675ea63340540ad63ea11a8f8244d7817884 /perly.act
parentadad97db02f9834fe787095ccf3593bf7f8d666c (diff)
downloadperl-95a31aad58c629646a232acf2fdd010a10b1b9b5.tar.gz
Fewer false positives for %hash{$scalar} warning
Instead of warning in the lexer, flag the op and then warn in op.c, when the op tree is available, so we don’t end up warning for actual lists or for sub calls. Also, only warn in scalar context, as in list context $hash{$scalar} and %hash{$scalar} do different things. In op.c we no longer have easy access to the source code, so recon- struct the hash/array access based on the op tree. This means %hash{foo} becomes %hash{"foo"}. We only reconstruct constant keys, so %hash{++$x} becomes %hash{...}. This also corrects erroneous dumps, like %hash{"} for %hash{"}"}. Instead of triggering the warning solely based on the op tree, we still keep the heuristic in toke.c, so that common workarounds for that warning (e.g., {q<key>} and {("key")}) continue to work. The heuristic in toke.c is tweaked to avoid warning for qw(). In a future commit I plan to extend this to the existing @array[0] and @hash{key} warnings, to avoid false positives.
Diffstat (limited to 'perly.act')
-rw-r--r--perly.act532
1 files changed, 271 insertions, 261 deletions
diff --git a/perly.act b/perly.act
index 5033bfc97a..67596ca2a9 100644
--- a/perly.act
+++ b/perly.act
@@ -8,7 +8,7 @@ case 2:
#line 141 "perly.y"
{
PL_parser->expect = XSTATE;
- }
+ ;}
break;
case 3:
@@ -16,14 +16,14 @@ case 2:
{
newPROG(block_end((ps[(3) - (4)].val.ival),(ps[(4) - (4)].val.opval)));
(yyval.ival) = 0;
- }
+ ;}
break;
case 4:
#line 150 "perly.y"
{
parser->expect = XTERM;
- }
+ ;}
break;
case 5:
@@ -31,14 +31,14 @@ case 2:
{
PL_eval_root = (ps[(3) - (3)].val.opval);
(yyval.ival) = 0;
- }
+ ;}
break;
case 6:
#line 159 "perly.y"
{
parser->expect = XBLOCK;
- }
+ ;}
break;
case 7:
@@ -49,14 +49,14 @@ case 2:
(yyval.ival) = 0;
yyunlex();
parser->yychar = YYEOF;
- }
+ ;}
break;
case 8:
#line 171 "perly.y"
{
parser->expect = XSTATE;
- }
+ ;}
break;
case 9:
@@ -67,14 +67,14 @@ case 2:
(yyval.ival) = 0;
yyunlex();
parser->yychar = YYEOF;
- }
+ ;}
break;
case 10:
#line 183 "perly.y"
{
parser->expect = XSTATE;
- }
+ ;}
break;
case 11:
@@ -85,14 +85,14 @@ case 2:
(yyval.ival) = 0;
yyunlex();
parser->yychar = YYEOF;
- }
+ ;}
break;
case 12:
#line 195 "perly.y"
{
parser->expect = XSTATE;
- }
+ ;}
break;
case 13:
@@ -100,7 +100,7 @@ case 2:
{
PL_eval_root = (ps[(3) - (3)].val.opval);
(yyval.ival) = 0;
- }
+ ;}
break;
case 14:
@@ -110,7 +110,7 @@ case 2:
(yyval.opval) = block_end((ps[(2) - (4)].val.ival), (ps[(3) - (4)].val.opval));
TOKEN_GETMAD((ps[(1) - (4)].val.i_tkval),(yyval.opval),'{');
TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),'}');
- }
+ ;}
break;
case 15:
@@ -120,12 +120,12 @@ case 2:
(yyval.opval) = block_end((ps[(2) - (7)].val.ival), (ps[(5) - (7)].val.opval));
TOKEN_GETMAD((ps[(1) - (7)].val.i_tkval),(yyval.opval),'{');
TOKEN_GETMAD((ps[(7) - (7)].val.i_tkval),(yyval.opval),'}');
- }
+ ;}
break;
case 16:
#line 226 "perly.y"
- { (yyval.ival) = block_start(TRUE); }
+ { (yyval.ival) = block_start(TRUE); ;}
break;
case 17:
@@ -135,17 +135,17 @@ case 2:
(yyval.opval) = block_end((ps[(2) - (4)].val.ival), (ps[(3) - (4)].val.opval));
TOKEN_GETMAD((ps[(1) - (4)].val.i_tkval),(yyval.opval),'{');
TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),'}');
- }
+ ;}
break;
case 18:
#line 239 "perly.y"
- { (yyval.ival) = block_start(FALSE); }
+ { (yyval.ival) = block_start(FALSE); ;}
break;
case 19:
#line 244 "perly.y"
- { (yyval.opval) = (OP*)NULL; }
+ { (yyval.opval) = (OP*)NULL; ;}
break;
case 20:
@@ -154,12 +154,12 @@ case 2:
PL_pad_reset_pending = TRUE;
if ((ps[(1) - (2)].val.opval) && (ps[(2) - (2)].val.opval))
PL_hints |= HINT_BLOCK_SCOPE;
- }
+ ;}
break;
case 21:
#line 255 "perly.y"
- { (yyval.opval) = (OP*)NULL; }
+ { (yyval.opval) = (OP*)NULL; ;}
break;
case 22:
@@ -168,7 +168,7 @@ case 2:
PL_pad_reset_pending = TRUE;
if ((ps[(1) - (2)].val.opval) && (ps[(2) - (2)].val.opval))
PL_hints |= HINT_BLOCK_SCOPE;
- }
+ ;}
break;
case 23:
@@ -179,12 +179,12 @@ case 2:
} else {
(yyval.opval) = IF_MAD(newOP(OP_NULL, 0), NULL);
}
- }
+ ;}
break;
case 24:
#line 274 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); }
+ { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
break;
case 25:
@@ -195,7 +195,7 @@ case 2:
PVAL((ps[(1) - (2)].val.p_tkval)), (ps[(2) - (2)].val.opval));
TOKEN_GETMAD((ps[(1) - (2)].val.p_tkval),
(ps[(2) - (2)].val.opval) ? cLISTOPx((yyval.opval))->op_first : (yyval.opval), 'L');
- }
+ ;}
break;
case 26:
@@ -205,12 +205,12 @@ case 2:
* PVAL((ps[(1) - (2)].val.p_tkval))[strlen(PVAL((ps[(1) - (2)].val.p_tkval)))+1],
PVAL((ps[(1) - (2)].val.p_tkval)), (ps[(2) - (2)].val.opval));
TOKEN_GETMAD((ps[(1) - (2)].val.p_tkval), cLISTOPx((yyval.opval))->op_first, 'L');
- }
+ ;}
break;
case 27:
#line 296 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); }
+ { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
break;
case 28:
@@ -218,7 +218,7 @@ case 2:
{
(yyval.opval) = newOP(OP_NULL,0);
TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),'p');
- }
+ ;}
break;
case 29:
@@ -238,7 +238,7 @@ case 2:
SvREFCNT_inc_simple_void(fmtcv);
pad_add_anon(fmtcv, OP_NULL);
}
- }
+ ;}
break;
case 30:
@@ -263,7 +263,7 @@ case 2:
CvCLONE_on(PL_compcv);
PL_parser->in_my = 0;
PL_parser->in_my_stash = NULL;
- }
+ ;}
break;
case 31:
@@ -294,7 +294,7 @@ case 2:
(yyval.opval) = (OP*)NULL;
#endif
intro_my();
- }
+ ;}
break;
case 32:
@@ -312,12 +312,12 @@ case 2:
package_version((ps[(2) - (4)].val.opval));
(yyval.opval) = (OP*)NULL;
#endif
- }
+ ;}
break;
case 33:
#line 385 "perly.y"
- { CvSPECIAL_on(PL_compcv); /* It's a BEGIN {} */ }
+ { CvSPECIAL_on(PL_compcv); /* It's a BEGIN {} */ ;}
break;
case 34:
@@ -335,7 +335,7 @@ case 2:
utilize(IVAL((ps[(1) - (7)].val.i_tkval)), (ps[(2) - (7)].val.ival), (ps[(4) - (7)].val.opval), (ps[(5) - (7)].val.opval), (ps[(6) - (7)].val.opval));
(yyval.opval) = (OP*)NULL;
#endif
- }
+ ;}
break;
case 35:
@@ -347,7 +347,7 @@ case 2:
TOKEN_GETMAD((ps[(2) - (7)].val.i_tkval),(yyval.opval),'(');
TOKEN_GETMAD((ps[(5) - (7)].val.i_tkval),(yyval.opval),')');
PL_parser->copline = (line_t)IVAL((ps[(1) - (7)].val.i_tkval));
- }
+ ;}
break;
case 36:
@@ -359,7 +359,7 @@ case 2:
TOKEN_GETMAD((ps[(2) - (7)].val.i_tkval),(yyval.opval),'(');
TOKEN_GETMAD((ps[(5) - (7)].val.i_tkval),(yyval.opval),')');
PL_parser->copline = (line_t)IVAL((ps[(1) - (7)].val.i_tkval));
- }
+ ;}
break;
case 37:
@@ -373,17 +373,17 @@ case 2:
? 0
: offset));
PL_parser->copline = (line_t)IVAL((ps[(1) - (6)].val.i_tkval));
- }
+ ;}
break;
case 38:
#line 431 "perly.y"
- { (yyval.opval) = block_end((ps[(3) - (6)].val.ival), newWHENOP((ps[(4) - (6)].val.opval), op_scope((ps[(6) - (6)].val.opval)))); }
+ { (yyval.opval) = block_end((ps[(3) - (6)].val.ival), newWHENOP((ps[(4) - (6)].val.opval), op_scope((ps[(6) - (6)].val.opval)))); ;}
break;
case 39:
#line 433 "perly.y"
- { (yyval.opval) = newWHENOP(0, op_scope((ps[(2) - (2)].val.opval))); }
+ { (yyval.opval) = newWHENOP(0, op_scope((ps[(2) - (2)].val.opval))); ;}
break;
case 40:
@@ -396,7 +396,7 @@ case 2:
TOKEN_GETMAD((ps[(2) - (8)].val.i_tkval),(yyval.opval),'(');
TOKEN_GETMAD((ps[(5) - (8)].val.i_tkval),(yyval.opval),')');
PL_parser->copline = (line_t)IVAL((ps[(1) - (8)].val.i_tkval));
- }
+ ;}
break;
case 41:
@@ -409,7 +409,7 @@ case 2:
TOKEN_GETMAD((ps[(2) - (8)].val.i_tkval),(yyval.opval),'(');
TOKEN_GETMAD((ps[(5) - (8)].val.i_tkval),(yyval.opval),')');
PL_parser->copline = (line_t)IVAL((ps[(1) - (8)].val.i_tkval));
- }
+ ;}
break;
case 42:
@@ -432,7 +432,7 @@ case 2:
TOKEN_GETMAD((ps[(7) - (11)].val.i_tkval),(yyval.opval),'2');
TOKEN_GETMAD((ps[(10) - (11)].val.i_tkval),(yyval.opval),')');
PL_parser->copline = (line_t)IVAL((ps[(1) - (11)].val.i_tkval));
- }
+ ;}
break;
case 43:
@@ -444,7 +444,7 @@ case 2:
TOKEN_GETMAD((ps[(5) - (9)].val.i_tkval),(yyval.opval),'(');
TOKEN_GETMAD((ps[(7) - (9)].val.i_tkval),(yyval.opval),')');
PL_parser->copline = (line_t)IVAL((ps[(1) - (9)].val.i_tkval));
- }
+ ;}
break;
case 44:
@@ -456,7 +456,7 @@ case 2:
TOKEN_GETMAD((ps[(3) - (8)].val.i_tkval),(yyval.opval),'(');
TOKEN_GETMAD((ps[(6) - (8)].val.i_tkval),(yyval.opval),')');
PL_parser->copline = (line_t)IVAL((ps[(1) - (8)].val.i_tkval));
- }
+ ;}
break;
case 45:
@@ -468,7 +468,7 @@ case 2:
TOKEN_GETMAD((ps[(2) - (7)].val.i_tkval),(yyval.opval),'(');
TOKEN_GETMAD((ps[(5) - (7)].val.i_tkval),(yyval.opval),')');
PL_parser->copline = (line_t)IVAL((ps[(1) - (7)].val.i_tkval));
- }
+ ;}
break;
case 46:
@@ -477,7 +477,7 @@ case 2:
/* a block is a loop that happens once */
(yyval.opval) = newWHILEOP(0, 1, (LOOP*)(OP*)NULL,
(OP*)NULL, (ps[(1) - (2)].val.opval), (ps[(2) - (2)].val.opval), 0);
- }
+ ;}
break;
case 47:
@@ -487,7 +487,7 @@ case 2:
if ((ps[(2) - (5)].val.opval)) {
package_version((ps[(2) - (5)].val.opval));
}
- }
+ ;}
break;
case 48:
@@ -500,7 +500,7 @@ case 2:
TOKEN_GETMAD((ps[(8) - (8)].val.i_tkval),(yyval.opval),'}');
if (PL_parser->copline > (line_t)IVAL((ps[(4) - (8)].val.i_tkval)))
PL_parser->copline = (line_t)IVAL((ps[(4) - (8)].val.i_tkval));
- }
+ ;}
break;
case 49:
@@ -509,7 +509,7 @@ case 2:
PL_parser->expect = XSTATE;
(yyval.opval) = (ps[(1) - (2)].val.opval);
TOKEN_GETMAD((ps[(2) - (2)].val.i_tkval),(yyval.opval),';');
- }
+ ;}
break;
case 50:
@@ -519,7 +519,7 @@ case 2:
(yyval.opval) = IF_MAD(newOP(OP_NULL, 0), (OP*)NULL);
TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),';');
PL_parser->copline = NOLINE;
- }
+ ;}
break;
case 51:
@@ -543,55 +543,55 @@ case 2:
else PL_parser->copline--;
(yyval.opval) = newSTATEOP(0, NULL,
convert(OP_FORMLINE, 0, list));
- }
+ ;}
break;
case 52:
#line 565 "perly.y"
- { (yyval.opval) = NULL; }
+ { (yyval.opval) = NULL; ;}
break;
case 53:
#line 567 "perly.y"
- { (yyval.opval) = op_unscope((ps[(2) - (3)].val.opval)); }
+ { (yyval.opval) = op_unscope((ps[(2) - (3)].val.opval)); ;}
break;
case 54:
#line 572 "perly.y"
- { (yyval.opval) = (OP*)NULL; }
+ { (yyval.opval) = (OP*)NULL; ;}
break;
case 55:
#line 574 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); }
+ { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
break;
case 56:
#line 576 "perly.y"
{ (yyval.opval) = newLOGOP(OP_AND, 0, (ps[(3) - (3)].val.opval), (ps[(1) - (3)].val.opval));
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'i');
- }
+ ;}
break;
case 57:
#line 580 "perly.y"
{ (yyval.opval) = newLOGOP(OP_OR, 0, (ps[(3) - (3)].val.opval), (ps[(1) - (3)].val.opval));
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'i');
- }
+ ;}
break;
case 58:
#line 584 "perly.y"
{ (yyval.opval) = newLOOPOP(OPf_PARENS, 1, scalar((ps[(3) - (3)].val.opval)), (ps[(1) - (3)].val.opval));
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'w');
- }
+ ;}
break;
case 59:
#line 588 "perly.y"
{ (yyval.opval) = newLOOPOP(OPf_PARENS, 1, (ps[(3) - (3)].val.opval), (ps[(1) - (3)].val.opval));
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'w');
- }
+ ;}
break;
case 60:
@@ -599,17 +599,17 @@ case 2:
{ (yyval.opval) = newFOROP(0, (OP*)NULL, (ps[(3) - (3)].val.opval), (ps[(1) - (3)].val.opval), (OP*)NULL);
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'w');
PL_parser->copline = (line_t)IVAL((ps[(2) - (3)].val.i_tkval));
- }
+ ;}
break;
case 61:
#line 597 "perly.y"
- { (yyval.opval) = newWHENOP((ps[(3) - (3)].val.opval), op_scope((ps[(1) - (3)].val.opval))); }
+ { (yyval.opval) = newWHENOP((ps[(3) - (3)].val.opval), op_scope((ps[(1) - (3)].val.opval))); ;}
break;
case 62:
#line 602 "perly.y"
- { (yyval.opval) = (OP*)NULL; }
+ { (yyval.opval) = (OP*)NULL; ;}
break;
case 63:
@@ -618,7 +618,7 @@ case 2:
((ps[(2) - (2)].val.opval))->op_flags |= OPf_PARENS;
(yyval.opval) = op_scope((ps[(2) - (2)].val.opval));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
- }
+ ;}
break;
case 64:
@@ -631,12 +631,12 @@ case 2:
TOKEN_GETMAD((ps[(1) - (6)].val.i_tkval),(yyval.opval),'I');
TOKEN_GETMAD((ps[(2) - (6)].val.i_tkval),(yyval.opval),'(');
TOKEN_GETMAD((ps[(4) - (6)].val.i_tkval),(yyval.opval),')');
- }
+ ;}
break;
case 65:
#line 623 "perly.y"
- { (yyval.opval) = (OP*)NULL; }
+ { (yyval.opval) = (OP*)NULL; ;}
break;
case 66:
@@ -644,91 +644,91 @@ case 2:
{
(yyval.opval) = op_scope((ps[(2) - (2)].val.opval));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
- }
+ ;}
break;
case 67:
#line 633 "perly.y"
{ (yyval.ival) = (PL_min_intro_pending &&
PL_max_intro_pending >= PL_min_intro_pending);
- intro_my(); }
+ intro_my(); ;}
break;
case 68:
#line 639 "perly.y"
- { (yyval.opval) = (OP*)NULL; }
+ { (yyval.opval) = (OP*)NULL; ;}
break;
case 70:
#line 645 "perly.y"
{ YYSTYPE tmplval;
(void)scan_num("1", &tmplval);
- (yyval.opval) = tmplval.opval; }
+ (yyval.opval) = tmplval.opval; ;}
break;
case 72:
#line 653 "perly.y"
- { (yyval.opval) = invert(scalar((ps[(1) - (1)].val.opval))); }
+ { (yyval.opval) = invert(scalar((ps[(1) - (1)].val.opval))); ;}
break;
case 73:
#line 658 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); intro_my(); }
+ { (yyval.opval) = (ps[(1) - (1)].val.opval); intro_my(); ;}
break;
case 74:
#line 662 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); intro_my(); }
+ { (yyval.opval) = (ps[(1) - (1)].val.opval); intro_my(); ;}
break;
case 75:
#line 666 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); intro_my(); }
+ { (yyval.opval) = (ps[(1) - (1)].val.opval); intro_my(); ;}
break;
case 76:
#line 669 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); }
+ { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
break;
case 77:
#line 670 "perly.y"
- { (yyval.opval) = (OP*)NULL; }
+ { (yyval.opval) = (OP*)NULL; ;}
break;
case 78:
#line 674 "perly.y"
{ (yyval.ival) = start_subparse(FALSE, 0);
- SAVEFREESV(PL_compcv); }
+ SAVEFREESV(PL_compcv); ;}
break;
case 79:
#line 680 "perly.y"
{ (yyval.ival) = start_subparse(FALSE, CVf_ANON);
- SAVEFREESV(PL_compcv); }
+ SAVEFREESV(PL_compcv); ;}
break;
case 80:
#line 685 "perly.y"
{ (yyval.ival) = start_subparse(TRUE, 0);
- SAVEFREESV(PL_compcv); }
+ SAVEFREESV(PL_compcv); ;}
break;
case 83:
#line 696 "perly.y"
- { (yyval.opval) = (OP*)NULL; }
+ { (yyval.opval) = (OP*)NULL; ;}
break;
case 85:
#line 702 "perly.y"
- { (yyval.opval) = (OP*)NULL; }
+ { (yyval.opval) = (OP*)NULL; ;}
break;
case 86:
#line 704 "perly.y"
{ (yyval.opval) = (ps[(2) - (2)].val.opval);
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),':');
- }
+ ;}
break;
case 87:
@@ -738,14 +738,14 @@ case 2:
(OP*)NULL
);
TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),':');
- }
+ ;}
break;
case 88:
#line 718 "perly.y"
{ (yyval.opval) = (ps[(2) - (2)].val.opval);
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),':');
- }
+ ;}
break;
case 89:
@@ -755,12 +755,12 @@ case 2:
(OP*)NULL
);
TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),':');
- }
+ ;}
break;
case 90:
#line 731 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); }
+ { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
break;
case 91:
@@ -771,28 +771,28 @@ case 2:
);
PL_parser->expect = XSTATE;
TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),';');
- }
+ ;}
break;
case 92:
#line 743 "perly.y"
{ (yyval.opval) = newLOGOP(OP_AND, 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval));
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
- }
+ ;}
break;
case 93:
#line 747 "perly.y"
{ (yyval.opval) = newLOGOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval));
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
- }
+ ;}
break;
case 94:
#line 751 "perly.y"
{ (yyval.opval) = newLOGOP(OP_DOR, 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval));
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
- }
+ ;}
break;
case 96:
@@ -805,7 +805,7 @@ case 2:
#else
(yyval.opval) = (ps[(1) - (2)].val.opval);
#endif
- }
+ ;}
break;
case 97:
@@ -817,7 +817,7 @@ case 2:
token_getmad((ps[(2) - (3)].val.i_tkval),term,',');
)
(yyval.opval) = op_append_elem(OP_LIST, (ps[(1) - (3)].val.opval), term);
- }
+ ;}
break;
case 99:
@@ -825,7 +825,7 @@ case 2:
{ (yyval.opval) = convert(IVAL((ps[(1) - (3)].val.i_tkval)), OPf_STACKED,
op_prepend_elem(OP_LIST, newGVREF(IVAL((ps[(1) - (3)].val.i_tkval)),(ps[(2) - (3)].val.opval)), (ps[(3) - (3)].val.opval)) );
TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'o');
- }
+ ;}
break;
case 100:
@@ -835,7 +835,7 @@ case 2:
TOKEN_GETMAD((ps[(1) - (5)].val.i_tkval),(yyval.opval),'o');
TOKEN_GETMAD((ps[(2) - (5)].val.i_tkval),(yyval.opval),'(');
TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),')');
- }
+ ;}
break;
case 101:
@@ -847,7 +847,7 @@ case 2:
TOKEN_GETMAD((ps[(2) - (6)].val.i_tkval),(yyval.opval),'A');
TOKEN_GETMAD((ps[(4) - (6)].val.i_tkval),(yyval.opval),'(');
TOKEN_GETMAD((ps[(6) - (6)].val.i_tkval),(yyval.opval),')');
- }
+ ;}
break;
case 102:
@@ -856,7 +856,7 @@ case 2:
op_append_elem(OP_LIST, scalar((ps[(1) - (3)].val.opval)),
newUNOP(OP_METHOD, 0, (ps[(3) - (3)].val.opval))));
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'A');
- }
+ ;}
break;
case 103:
@@ -865,7 +865,7 @@ case 2:
op_append_elem(OP_LIST,
op_prepend_elem(OP_LIST, (ps[(2) - (3)].val.opval), (ps[(3) - (3)].val.opval)),
newUNOP(OP_METHOD, 0, (ps[(1) - (3)].val.opval))));
- }
+ ;}
break;
case 104:
@@ -876,14 +876,14 @@ case 2:
newUNOP(OP_METHOD, 0, (ps[(1) - (5)].val.opval))));
TOKEN_GETMAD((ps[(3) - (5)].val.i_tkval),(yyval.opval),'(');
TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),')');
- }
+ ;}
break;
case 105:
#line 823 "perly.y"
{ (yyval.opval) = convert(IVAL((ps[(1) - (2)].val.i_tkval)), 0, (ps[(2) - (2)].val.opval));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
- }
+ ;}
break;
case 106:
@@ -892,13 +892,13 @@ case 2:
TOKEN_GETMAD((ps[(1) - (4)].val.i_tkval),(yyval.opval),'o');
TOKEN_GETMAD((ps[(2) - (4)].val.i_tkval),(yyval.opval),'(');
TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),')');
- }
+ ;}
break;
case 107:
#line 833 "perly.y"
{ SvREFCNT_inc_simple_void(PL_compcv);
- (yyval.opval) = newANONATTRSUB((ps[(2) - (3)].val.ival), 0, (OP*)NULL, (ps[(3) - (3)].val.opval)); }
+ (yyval.opval) = newANONATTRSUB((ps[(2) - (3)].val.ival), 0, (OP*)NULL, (ps[(3) - (3)].val.opval)); ;}
break;
case 108:
@@ -906,7 +906,7 @@ case 2:
{ (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
op_append_elem(OP_LIST,
op_prepend_elem(OP_LIST, (ps[(4) - (5)].val.opval), (ps[(5) - (5)].val.opval)), (ps[(1) - (5)].val.opval)));
- }
+ ;}
break;
case 111:
@@ -916,7 +916,7 @@ case 2:
TOKEN_GETMAD((ps[(2) - (5)].val.i_tkval),(yyval.opval),'{');
TOKEN_GETMAD((ps[(4) - (5)].val.i_tkval),(yyval.opval),';');
TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),'}');
- }
+ ;}
break;
case 112:
@@ -924,7 +924,7 @@ case 2:
{ (yyval.opval) = newBINOP(OP_AELEM, 0, oopsAV((ps[(1) - (4)].val.opval)), scalar((ps[(3) - (4)].val.opval)));
TOKEN_GETMAD((ps[(2) - (4)].val.i_tkval),(yyval.opval),'[');
TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),']');
- }
+ ;}
break;
case 113:
@@ -935,7 +935,7 @@ case 2:
TOKEN_GETMAD((ps[(2) - (5)].val.i_tkval),(yyval.opval),'a');
TOKEN_GETMAD((ps[(3) - (5)].val.i_tkval),(yyval.opval),'[');
TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),']');
- }
+ ;}
break;
case 114:
@@ -945,7 +945,7 @@ case 2:
scalar((ps[(3) - (4)].val.opval)));
TOKEN_GETMAD((ps[(2) - (4)].val.i_tkval),(yyval.opval),'[');
TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),']');
- }
+ ;}
break;
case 115:
@@ -955,7 +955,7 @@ case 2:
TOKEN_GETMAD((ps[(2) - (5)].val.i_tkval),(yyval.opval),'{');
TOKEN_GETMAD((ps[(4) - (5)].val.i_tkval),(yyval.opval),';');
TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),'}');
- }
+ ;}
break;
case 116:
@@ -968,7 +968,7 @@ case 2:
TOKEN_GETMAD((ps[(3) - (6)].val.i_tkval),(yyval.opval),'{');
TOKEN_GETMAD((ps[(5) - (6)].val.i_tkval),(yyval.opval),';');
TOKEN_GETMAD((ps[(6) - (6)].val.i_tkval),(yyval.opval),'}');
- }
+ ;}
break;
case 117:
@@ -980,7 +980,7 @@ case 2:
TOKEN_GETMAD((ps[(2) - (5)].val.i_tkval),(yyval.opval),'{');
TOKEN_GETMAD((ps[(4) - (5)].val.i_tkval),(yyval.opval),';');
TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),'}');
- }
+ ;}
break;
case 118:
@@ -990,7 +990,7 @@ case 2:
TOKEN_GETMAD((ps[(2) - (4)].val.i_tkval),(yyval.opval),'a');
TOKEN_GETMAD((ps[(3) - (4)].val.i_tkval),(yyval.opval),'(');
TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),')');
- }
+ ;}
break;
case 119:
@@ -1001,7 +1001,7 @@ case 2:
TOKEN_GETMAD((ps[(2) - (5)].val.i_tkval),(yyval.opval),'a');
TOKEN_GETMAD((ps[(3) - (5)].val.i_tkval),(yyval.opval),'(');
TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),')');
- }
+ ;}
break;
case 120:
@@ -1011,7 +1011,7 @@ case 2:
newCVREF(0, scalar((ps[(1) - (4)].val.opval)))));
TOKEN_GETMAD((ps[(2) - (4)].val.i_tkval),(yyval.opval),'(');
TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),')');
- }
+ ;}
break;
case 121:
@@ -1020,7 +1020,7 @@ case 2:
newCVREF(0, scalar((ps[(1) - (3)].val.opval))));
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'(');
TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),')');
- }
+ ;}
break;
case 122:
@@ -1030,7 +1030,7 @@ case 2:
TOKEN_GETMAD((ps[(3) - (6)].val.i_tkval),(yyval.opval),')');
TOKEN_GETMAD((ps[(4) - (6)].val.i_tkval),(yyval.opval),'[');
TOKEN_GETMAD((ps[(6) - (6)].val.i_tkval),(yyval.opval),']');
- }
+ ;}
break;
case 123:
@@ -1038,7 +1038,7 @@ case 2:
{ (yyval.opval) = newSLICEOP(0, (ps[(3) - (4)].val.opval), (ps[(1) - (4)].val.opval));
TOKEN_GETMAD((ps[(2) - (4)].val.i_tkval),(yyval.opval),'[');
TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),']');
- }
+ ;}
break;
case 124:
@@ -1048,21 +1048,21 @@ case 2:
TOKEN_GETMAD((ps[(2) - (5)].val.i_tkval),(yyval.opval),')');
TOKEN_GETMAD((ps[(3) - (5)].val.i_tkval),(yyval.opval),'[');
TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),']');
- }
+ ;}
break;
case 125:
#line 955 "perly.y"
{ (yyval.opval) = newASSIGNOP(OPf_STACKED, (ps[(1) - (3)].val.opval), IVAL((ps[(2) - (3)].val.i_tkval)), (ps[(3) - (3)].val.opval));
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
- }
+ ;}
break;
case 126:
#line 959 "perly.y"
{ (yyval.opval) = newBINOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval)));
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
- }
+ ;}
break;
case 127:
@@ -1071,49 +1071,49 @@ case 2:
scalar((ps[(1) - (3)].val.opval));
(yyval.opval) = newBINOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, (ps[(1) - (3)].val.opval), scalar((ps[(3) - (3)].val.opval)));
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
- }
+ ;}
break;
case 128:
#line 969 "perly.y"
{ (yyval.opval) = newBINOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval)));
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
- }
+ ;}
break;
case 129:
#line 973 "perly.y"
{ (yyval.opval) = newBINOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval)));
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
- }
+ ;}
break;
case 130:
#line 977 "perly.y"
{ (yyval.opval) = newBINOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval)));
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
- }
+ ;}
break;
case 131:
#line 981 "perly.y"
{ (yyval.opval) = newBINOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval)));
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
- }
+ ;}
break;
case 132:
#line 985 "perly.y"
{ (yyval.opval) = newBINOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval)));
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
- }
+ ;}
break;
case 133:
#line 989 "perly.y"
{ (yyval.opval) = newBINOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval)));
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
- }
+ ;}
break;
case 134:
@@ -1128,28 +1128,28 @@ case 2:
op = (UNOP*)op->op_first; /* get to range */
token_getmad((ps[(2) - (3)].val.i_tkval),(OP*)op,'o');
});
- }
+ ;}
break;
case 135:
#line 1005 "perly.y"
{ (yyval.opval) = newLOGOP(OP_AND, 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval));
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
- }
+ ;}
break;
case 136:
#line 1009 "perly.y"
{ (yyval.opval) = newLOGOP(OP_OR, 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval));
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
- }
+ ;}
break;
case 137:
#line 1013 "perly.y"
{ (yyval.opval) = newLOGOP(OP_DOR, 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval));
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
- }
+ ;}
break;
case 138:
@@ -1159,14 +1159,14 @@ case 2:
((yyval.opval)->op_type == OP_NOT
? ((UNOP*)(yyval.opval))->op_first : (yyval.opval)),
'~');
- }
+ ;}
break;
case 139:
#line 1027 "perly.y"
{ (yyval.opval) = newUNOP(OP_NEGATE, 0, scalar((ps[(2) - (2)].val.opval)));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
- }
+ ;}
break;
case 140:
@@ -1176,21 +1176,21 @@ case 2:
(ps[(2) - (2)].val.opval)
);
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'+');
- }
+ ;}
break;
case 141:
#line 1038 "perly.y"
{ (yyval.opval) = newUNOP(OP_NOT, 0, scalar((ps[(2) - (2)].val.opval)));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
- }
+ ;}
break;
case 142:
#line 1042 "perly.y"
{ (yyval.opval) = newUNOP(OP_COMPLEMENT, 0, scalar((ps[(2) - (2)].val.opval)));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
- }
+ ;}
break;
case 143:
@@ -1198,7 +1198,7 @@ case 2:
{ (yyval.opval) = newUNOP(OP_POSTINC, 0,
op_lvalue(scalar((ps[(1) - (2)].val.opval)), OP_POSTINC));
TOKEN_GETMAD((ps[(2) - (2)].val.i_tkval),(yyval.opval),'o');
- }
+ ;}
break;
case 144:
@@ -1206,7 +1206,7 @@ case 2:
{ (yyval.opval) = newUNOP(OP_POSTDEC, 0,
op_lvalue(scalar((ps[(1) - (2)].val.opval)), OP_POSTDEC));
TOKEN_GETMAD((ps[(2) - (2)].val.i_tkval),(yyval.opval),'o');
- }
+ ;}
break;
case 145:
@@ -1214,7 +1214,7 @@ case 2:
{ (yyval.opval) = newUNOP(OP_PREINC, 0,
op_lvalue(scalar((ps[(2) - (2)].val.opval)), OP_PREINC));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
- }
+ ;}
break;
case 146:
@@ -1222,7 +1222,7 @@ case 2:
{ (yyval.opval) = newUNOP(OP_PREDEC, 0,
op_lvalue(scalar((ps[(2) - (2)].val.opval)), OP_PREDEC));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
- }
+ ;}
break;
case 147:
@@ -1230,7 +1230,7 @@ case 2:
{ (yyval.opval) = newANONLIST((ps[(2) - (3)].val.opval));
TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'[');
TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),']');
- }
+ ;}
break;
case 148:
@@ -1238,7 +1238,7 @@ case 2:
{ (yyval.opval) = newANONLIST((OP*)NULL);
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'[');
TOKEN_GETMAD((ps[(2) - (2)].val.i_tkval),(yyval.opval),']');
- }
+ ;}
break;
case 149:
@@ -1247,7 +1247,7 @@ case 2:
TOKEN_GETMAD((ps[(1) - (4)].val.i_tkval),(yyval.opval),'{');
TOKEN_GETMAD((ps[(3) - (4)].val.i_tkval),(yyval.opval),';');
TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),'}');
- }
+ ;}
break;
case 150:
@@ -1256,7 +1256,7 @@ case 2:
TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'{');
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),';');
TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),'}');
- }
+ ;}
break;
case 151:
@@ -1266,21 +1266,21 @@ case 2:
TOKEN_GETMAD((ps[(1) - (5)].val.i_tkval),(yyval.opval),'o');
OP_GETMAD((ps[(3) - (5)].val.opval),(yyval.opval),'s');
OP_GETMAD((ps[(4) - (5)].val.opval),(yyval.opval),'a');
- }
+ ;}
break;
case 152:
#line 1103 "perly.y"
{ (yyval.opval) = dofile((ps[(2) - (2)].val.opval), IVAL((ps[(1) - (2)].val.i_tkval)));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
- }
+ ;}
break;
case 153:
#line 1107 "perly.y"
{ (yyval.opval) = newUNOP(OP_NULL, OPf_SPECIAL, op_scope((ps[(2) - (2)].val.opval)));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'D');
- }
+ ;}
break;
case 154:
@@ -1295,7 +1295,7 @@ case 2:
TOKEN_GETMAD((ps[(1) - (4)].val.i_tkval),(yyval.opval),'o');
TOKEN_GETMAD((ps[(3) - (4)].val.i_tkval),(yyval.opval),'(');
TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),')');
- }
+ ;}
break;
case 155:
@@ -1311,7 +1311,7 @@ case 2:
TOKEN_GETMAD((ps[(1) - (5)].val.i_tkval),(yyval.opval),'o');
TOKEN_GETMAD((ps[(3) - (5)].val.i_tkval),(yyval.opval),'(');
TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),')');
- }
+ ;}
break;
case 156:
@@ -1322,7 +1322,7 @@ case 2:
TOKEN_GETMAD((ps[(1) - (4)].val.i_tkval),(yyval.opval),'o');
TOKEN_GETMAD((ps[(3) - (4)].val.i_tkval),(yyval.opval),'(');
TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),')');
- }
+ ;}
break;
case 157:
@@ -1334,7 +1334,7 @@ case 2:
TOKEN_GETMAD((ps[(1) - (5)].val.i_tkval),(yyval.opval),'o');
TOKEN_GETMAD((ps[(3) - (5)].val.i_tkval),(yyval.opval),'(');
TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),')');
- }
+ ;}
break;
case 162:
@@ -1342,26 +1342,26 @@ case 2:
{ (yyval.opval) = newCONDOP(0, (ps[(1) - (5)].val.opval), (ps[(3) - (5)].val.opval), (ps[(5) - (5)].val.opval));
TOKEN_GETMAD((ps[(2) - (5)].val.i_tkval),(yyval.opval),'?');
TOKEN_GETMAD((ps[(4) - (5)].val.i_tkval),(yyval.opval),':');
- }
+ ;}
break;
case 163:
#line 1165 "perly.y"
{ (yyval.opval) = newUNOP(OP_REFGEN, 0, op_lvalue((ps[(2) - (2)].val.opval),OP_REFGEN));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
- }
+ ;}
break;
case 164:
#line 1169 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); }
+ { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
break;
case 165:
#line 1171 "perly.y"
{ (yyval.opval) = localize((ps[(2) - (2)].val.opval),IVAL((ps[(1) - (2)].val.i_tkval)));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'k');
- }
+ ;}
break;
case 166:
@@ -1369,12 +1369,12 @@ case 2:
{ (yyval.opval) = sawparens(IF_MAD(newUNOP(OP_NULL,0,(ps[(2) - (3)].val.opval)), (ps[(2) - (3)].val.opval)));
TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'(');
TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),')');
- }
+ ;}
break;
case 167:
#line 1180 "perly.y"
- { (yyval.opval) = IF_MAD(newUNOP(OP_NULL,0,(ps[(1) - (1)].val.opval)), (ps[(1) - (1)].val.opval)); }
+ { (yyval.opval) = IF_MAD(newUNOP(OP_NULL,0,(ps[(1) - (1)].val.opval)), (ps[(1) - (1)].val.opval)); ;}
break;
case 168:
@@ -1382,37 +1382,37 @@ case 2:
{ (yyval.opval) = sawparens(newNULLLIST());
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'(');
TOKEN_GETMAD((ps[(2) - (2)].val.i_tkval),(yyval.opval),')');
- }
+ ;}
break;
case 169:
#line 1187 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); }
+ { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
break;
case 170:
#line 1189 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); }
+ { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
break;
case 171:
#line 1191 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); }
+ { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
break;
case 172:
#line 1193 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); }
+ { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
break;
case 173:
#line 1195 "perly.y"
- { (yyval.opval) = newUNOP(OP_AV2ARYLEN, 0, ref((ps[(1) - (1)].val.opval), OP_AV2ARYLEN));}
+ { (yyval.opval) = newUNOP(OP_AV2ARYLEN, 0, ref((ps[(1) - (1)].val.opval), OP_AV2ARYLEN));;}
break;
case 174:
#line 1197 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); }
+ { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
break;
case 175:
@@ -1424,7 +1424,7 @@ case 2:
ref((ps[(1) - (4)].val.opval), OP_ASLICE)));
TOKEN_GETMAD((ps[(2) - (4)].val.i_tkval),(yyval.opval),'[');
TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),']');
- }
+ ;}
break;
case 176:
@@ -1434,13 +1434,16 @@ case 2:
newLISTOP(OP_KVASLICE, 0,
list((ps[(3) - (4)].val.opval)),
ref(oopsAV((ps[(1) - (4)].val.opval)), OP_KVASLICE)));
+ if ((yyval.opval) && (ps[(1) - (4)].val.opval))
+ (yyval.opval)->op_private |=
+ (ps[(1) - (4)].val.opval)->op_private & OPpSLICEWARNING;
TOKEN_GETMAD((ps[(2) - (4)].val.i_tkval),(yyval.opval),'[');
TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),']');
- }
+ ;}
break;
case 177:
-#line 1217 "perly.y"
+#line 1220 "perly.y"
{ (yyval.opval) = op_prepend_elem(OP_HSLICE,
newOP(OP_PUSHMARK, 0),
newLISTOP(OP_HSLICE, 0,
@@ -1450,43 +1453,46 @@ case 2:
TOKEN_GETMAD((ps[(2) - (5)].val.i_tkval),(yyval.opval),'{');
TOKEN_GETMAD((ps[(4) - (5)].val.i_tkval),(yyval.opval),';');
TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),'}');
- }
+ ;}
break;
case 178:
-#line 1228 "perly.y"
+#line 1231 "perly.y"
{ (yyval.opval) = op_prepend_elem(OP_KVHSLICE,
newOP(OP_PUSHMARK, 0),
newLISTOP(OP_KVHSLICE, 0,
list((ps[(3) - (5)].val.opval)),
ref((ps[(1) - (5)].val.opval), OP_KVHSLICE)));
+ if ((yyval.opval) && (ps[(1) - (5)].val.opval))
+ (yyval.opval)->op_private |=
+ (ps[(1) - (5)].val.opval)->op_private & OPpSLICEWARNING;
PL_parser->expect = XOPERATOR;
TOKEN_GETMAD((ps[(2) - (5)].val.i_tkval),(yyval.opval),'{');
TOKEN_GETMAD((ps[(4) - (5)].val.i_tkval),(yyval.opval),';');
TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),'}');
- }
+ ;}
break;
case 179:
-#line 1239 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); }
+#line 1245 "perly.y"
+ { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
break;
case 180:
-#line 1241 "perly.y"
- { (yyval.opval) = newUNOP(OP_ENTERSUB, 0, scalar((ps[(1) - (1)].val.opval))); }
+#line 1247 "perly.y"
+ { (yyval.opval) = newUNOP(OP_ENTERSUB, 0, scalar((ps[(1) - (1)].val.opval))); ;}
break;
case 181:
-#line 1243 "perly.y"
+#line 1249 "perly.y"
{ (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[(1) - (3)].val.opval)));
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'(');
TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),')');
- }
+ ;}
break;
case 182:
-#line 1248 "perly.y"
+#line 1254 "perly.y"
{
(yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
op_append_elem(OP_LIST, (ps[(3) - (4)].val.opval), scalar((ps[(1) - (4)].val.opval))));
@@ -1498,122 +1504,122 @@ case 2:
token_getmad((ps[(2) - (4)].val.i_tkval),op,'(');
token_getmad((ps[(4) - (4)].val.i_tkval),op,')');
});
- }
+ ;}
break;
case 183:
-#line 1261 "perly.y"
+#line 1267 "perly.y"
{ (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
op_append_elem(OP_LIST, (ps[(3) - (3)].val.opval), scalar((ps[(2) - (3)].val.opval))));
TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'o');
- }
+ ;}
break;
case 184:
-#line 1266 "perly.y"
+#line 1272 "perly.y"
{ (yyval.opval) = newOP(IVAL((ps[(1) - (1)].val.i_tkval)), OPf_SPECIAL);
PL_hints |= HINT_BLOCK_SCOPE;
TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),'o');
- }
+ ;}
break;
case 185:
-#line 1271 "perly.y"
+#line 1277 "perly.y"
{ (yyval.opval) = newLOOPEX(IVAL((ps[(1) - (2)].val.i_tkval)),(ps[(2) - (2)].val.opval));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
- }
+ ;}
break;
case 186:
-#line 1275 "perly.y"
+#line 1281 "perly.y"
{ (yyval.opval) = newUNOP(OP_NOT, 0, scalar((ps[(2) - (2)].val.opval)));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
- }
+ ;}
break;
case 187:
-#line 1279 "perly.y"
+#line 1285 "perly.y"
{ (yyval.opval) = newOP(IVAL((ps[(1) - (1)].val.i_tkval)), 0);
TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),'o');
- }
+ ;}
break;
case 188:
-#line 1283 "perly.y"
+#line 1289 "perly.y"
{ (yyval.opval) = newUNOP(IVAL((ps[(1) - (2)].val.i_tkval)), 0, (ps[(2) - (2)].val.opval));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
- }
+ ;}
break;
case 189:
-#line 1287 "perly.y"
+#line 1293 "perly.y"
{ (yyval.opval) = newUNOP(IVAL((ps[(1) - (2)].val.i_tkval)), 0, (ps[(2) - (2)].val.opval));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
- }
+ ;}
break;
case 190:
-#line 1291 "perly.y"
+#line 1297 "perly.y"
{ (yyval.opval) = newOP(OP_REQUIRE, (ps[(1) - (1)].val.i_tkval) ? OPf_SPECIAL : 0);
TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),'o');
- }
+ ;}
break;
case 191:
-#line 1295 "perly.y"
+#line 1301 "perly.y"
{ (yyval.opval) = newUNOP(OP_REQUIRE, (ps[(1) - (2)].val.i_tkval) ? OPf_SPECIAL : 0, (ps[(2) - (2)].val.opval));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
- }
+ ;}
break;
case 192:
-#line 1299 "perly.y"
- { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[(1) - (1)].val.opval))); }
+#line 1305 "perly.y"
+ { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[(1) - (1)].val.opval))); ;}
break;
case 193:
-#line 1301 "perly.y"
+#line 1307 "perly.y"
{ (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
- op_append_elem(OP_LIST, (ps[(2) - (2)].val.opval), scalar((ps[(1) - (2)].val.opval)))); }
+ op_append_elem(OP_LIST, (ps[(2) - (2)].val.opval), scalar((ps[(1) - (2)].val.opval)))); ;}
break;
case 194:
-#line 1304 "perly.y"
+#line 1310 "perly.y"
{ (yyval.opval) = newOP(IVAL((ps[(1) - (1)].val.i_tkval)), 0);
TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),'o');
- }
+ ;}
break;
case 195:
-#line 1308 "perly.y"
+#line 1314 "perly.y"
{ (yyval.opval) = newOP(IVAL((ps[(1) - (3)].val.i_tkval)), 0);
TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'o');
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'(');
TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),')');
- }
+ ;}
break;
case 196:
-#line 1314 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); }
+#line 1320 "perly.y"
+ { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
break;
case 197:
-#line 1316 "perly.y"
+#line 1322 "perly.y"
{ (yyval.opval) = (ps[(1) - (3)].val.opval);
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'(');
TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),')');
- }
+ ;}
break;
case 198:
-#line 1321 "perly.y"
+#line 1327 "perly.y"
{ (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
- scalar((ps[(1) - (1)].val.opval))); }
+ scalar((ps[(1) - (1)].val.opval))); ;}
break;
case 199:
-#line 1324 "perly.y"
+#line 1330 "perly.y"
{ (yyval.opval) = (IVAL((ps[(1) - (3)].val.i_tkval)) == OP_NOT)
? newUNOP(IVAL((ps[(1) - (3)].val.i_tkval)), 0, newSVOP(OP_CONST, 0, newSViv(0)))
: newOP(IVAL((ps[(1) - (3)].val.i_tkval)), OPf_SPECIAL);
@@ -1621,20 +1627,20 @@ case 2:
TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'o');
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'(');
TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),')');
- }
+ ;}
break;
case 200:
-#line 1333 "perly.y"
+#line 1339 "perly.y"
{ (yyval.opval) = newUNOP(IVAL((ps[(1) - (4)].val.i_tkval)), 0, (ps[(3) - (4)].val.opval));
TOKEN_GETMAD((ps[(1) - (4)].val.i_tkval),(yyval.opval),'o');
TOKEN_GETMAD((ps[(2) - (4)].val.i_tkval),(yyval.opval),'(');
TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),')');
- }
+ ;}
break;
case 201:
-#line 1339 "perly.y"
+#line 1345 "perly.y"
{
if ( (ps[(1) - (1)].val.opval)->op_type != OP_TRANS
&& (ps[(1) - (1)].val.opval)->op_type != OP_TRANSR
@@ -1644,166 +1650,170 @@ case 2:
SAVEFREESV(PL_compcv);
} else
(yyval.ival) = 0;
- }
+ ;}
break;
case 202:
-#line 1350 "perly.y"
+#line 1356 "perly.y"
{ (yyval.opval) = pmruntime((ps[(1) - (5)].val.opval), (ps[(4) - (5)].val.opval), 1, (ps[(2) - (5)].val.ival));
TOKEN_GETMAD((ps[(3) - (5)].val.i_tkval),(yyval.opval),'(');
TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),')');
- }
+ ;}
break;
case 205:
-#line 1357 "perly.y"
+#line 1363 "perly.y"
{
(yyval.opval) = newLISTOP(OP_DIE, 0, newOP(OP_PUSHMARK, 0),
newSVOP(OP_CONST, 0, newSVpvs("Unimplemented")));
TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),'X');
- }
+ ;}
break;
case 207:
-#line 1367 "perly.y"
+#line 1373 "perly.y"
{ (yyval.opval) = my_attrs((ps[(2) - (3)].val.opval),(ps[(3) - (3)].val.opval));
DO_MAD(
token_getmad((ps[(1) - (3)].val.i_tkval),(yyval.opval),'d');
append_madprops((ps[(3) - (3)].val.opval)->op_madprop, (yyval.opval), 'a');
(ps[(3) - (3)].val.opval)->op_madprop = 0;
);
- }
+ ;}
break;
case 208:
-#line 1375 "perly.y"
+#line 1381 "perly.y"
{ (yyval.opval) = localize((ps[(2) - (2)].val.opval),IVAL((ps[(1) - (2)].val.i_tkval)));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'d');
- }
+ ;}
break;
case 209:
-#line 1382 "perly.y"
+#line 1388 "perly.y"
{ (yyval.opval) = sawparens((ps[(2) - (3)].val.opval));
TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'(');
TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),')');
- }
+ ;}
break;
case 210:
-#line 1387 "perly.y"
+#line 1393 "perly.y"
{ (yyval.opval) = sawparens(newNULLLIST());
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'(');
TOKEN_GETMAD((ps[(2) - (2)].val.i_tkval),(yyval.opval),')');
- }
+ ;}
break;
case 211:
-#line 1392 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); }
+#line 1398 "perly.y"
+ { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
break;
case 212:
-#line 1394 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); }
+#line 1400 "perly.y"
+ { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
break;
case 213:
-#line 1396 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); }
+#line 1402 "perly.y"
+ { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
break;
case 214:
-#line 1401 "perly.y"
- { (yyval.opval) = (OP*)NULL; }
+#line 1407 "perly.y"
+ { (yyval.opval) = (OP*)NULL; ;}
break;
case 215:
-#line 1403 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); }
+#line 1409 "perly.y"
+ { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
break;
case 216:
-#line 1407 "perly.y"
- { (yyval.opval) = (OP*)NULL; }
+#line 1413 "perly.y"
+ { (yyval.opval) = (OP*)NULL; ;}
break;
case 217:
-#line 1409 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); }
+#line 1415 "perly.y"
+ { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
break;
case 218:
-#line 1415 "perly.y"
- { PL_parser->in_my = 0; (yyval.opval) = my((ps[(1) - (1)].val.opval)); }
+#line 1421 "perly.y"
+ { PL_parser->in_my = 0; (yyval.opval) = my((ps[(1) - (1)].val.opval)); ;}
break;
case 219:
-#line 1419 "perly.y"
+#line 1425 "perly.y"
{ (yyval.opval) = newCVREF(IVAL((ps[(1) - (2)].val.i_tkval)),(ps[(2) - (2)].val.opval));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'&');
- }
+ ;}
break;
case 220:
-#line 1425 "perly.y"
+#line 1431 "perly.y"
{ (yyval.opval) = newSVREF((ps[(2) - (2)].val.opval));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'$');
- }
+ ;}
break;
case 221:
-#line 1431 "perly.y"
+#line 1437 "perly.y"
{ (yyval.opval) = newAVREF((ps[(2) - (2)].val.opval));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'@');
- }
+ ;}
break;
case 222:
-#line 1437 "perly.y"
+#line 1443 "perly.y"
{ (yyval.opval) = newHVREF((ps[(2) - (2)].val.opval));
+ if ((yyval.opval)) (yyval.opval)->op_private |= IVAL((ps[(1) - (2)].val.i_tkval));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'%');
- }
+ ;}
break;
case 223:
-#line 1443 "perly.y"
+#line 1450 "perly.y"
{ (yyval.opval) = newAVREF((ps[(2) - (2)].val.opval));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'l');
- }
+ ;}
break;
case 224:
-#line 1449 "perly.y"
+#line 1456 "perly.y"
{ (yyval.opval) = newGVREF(0,(ps[(2) - (2)].val.opval));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'*');
- }
+ ;}
break;
case 225:
-#line 1456 "perly.y"
- { (yyval.opval) = scalar((ps[(1) - (1)].val.opval)); }
+#line 1463 "perly.y"
+ { (yyval.opval) = scalar((ps[(1) - (1)].val.opval)); ;}
break;
case 226:
-#line 1458 "perly.y"
- { (yyval.opval) = scalar((ps[(1) - (1)].val.opval)); }
+#line 1465 "perly.y"
+ { (yyval.opval) = scalar((ps[(1) - (1)].val.opval)); ;}
break;
case 227:
-#line 1460 "perly.y"
- { (yyval.opval) = op_scope((ps[(1) - (1)].val.opval)); }
+#line 1467 "perly.y"
+ { (yyval.opval) = op_scope((ps[(1) - (1)].val.opval)); ;}
break;
case 228:
-#line 1463 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); }
+#line 1470 "perly.y"
+ { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
break;
+
+/* Line 1267 of yacc.c. */
+
default: break;
/* Generated from:
- * 1c6010b3d1651d4fc7cbfc329723c507767b4230ac920ae0ffde8f344f4a0ab4 perly.y
+ * 80609b739b642fa427503886445869dfd47021624a1977b902211b38043ed9f1 perly.y
* 5c9d2a0262457fe9b70073fc8ad6c188f812f38ad57712b7e2f53daa01b297cc regen_perly.pl
* ex: set ro: */