summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--perly.act2
-rw-r--r--perly.h10
-rw-r--r--perly.tab44
-rw-r--r--perly.y22
-rw-r--r--toke.c20
5 files changed, 49 insertions, 49 deletions
diff --git a/perly.act b/perly.act
index 6e7c83652e..b1ee4fc3c2 100644
--- a/perly.act
+++ b/perly.act
@@ -2083,6 +2083,6 @@ case 2:
/* Generated from:
- * f6f4ca1df1f28e285f644b160b176887b111ca03c1fd20e3b4868c27a2c93623 perly.y
+ * a24382f2699548896a26e257b6f72e255658ef63e4dd5820a5cbe07d690b6f05 perly.y
* acf1cbfd2545faeaaa58b1cf0cf9d7f98b5be0752eb7a54528ef904a9e2e1ca7 regen_perly.pl
* ex: set ro: */
diff --git a/perly.h b/perly.h
index 590f52a0a1..d2df7583ce 100644
--- a/perly.h
+++ b/perly.h
@@ -80,8 +80,8 @@ extern int yydebug;
PERLY_SNAIL = 279,
PERLY_STAR = 280,
BAREWORD = 281,
- METHOD = 282,
- FUNCMETH = 283,
+ METHCALL0 = 282,
+ METHCALL = 283,
THING = 284,
PMFUNC = 285,
PRIVATEREF = 286,
@@ -179,10 +179,10 @@ S_is_opval_token(int type) {
case BAREWORD:
case FUNC0OP:
case FUNC0SUB:
- case FUNCMETH:
case LABEL:
case LSTOPSUB:
- case METHOD:
+ case METHCALL:
+ case METHCALL0:
case PLUGEXPR:
case PLUGSTMT:
case PMFUNC:
@@ -220,6 +220,6 @@ int yyparse (void);
/* Generated from:
- * f6f4ca1df1f28e285f644b160b176887b111ca03c1fd20e3b4868c27a2c93623 perly.y
+ * a24382f2699548896a26e257b6f72e255658ef63e4dd5820a5cbe07d690b6f05 perly.y
* acf1cbfd2545faeaaa58b1cf0cf9d7f98b5be0752eb7a54528ef904a9e2e1ca7 regen_perly.pl
* ex: set ro: */
diff --git a/perly.tab b/perly.tab
index ad3df3c62d..32ea2e885b 100644
--- a/perly.tab
+++ b/perly.tab
@@ -117,14 +117,14 @@ static const char *const yytname[] =
"PERLY_BRACKET_OPEN", "PERLY_BRACKET_CLOSE", "PERLY_COMMA",
"PERLY_DOLLAR", "PERLY_DOT", "PERLY_EQUAL_SIGN", "PERLY_MINUS",
"PERLY_PERCENT_SIGN", "PERLY_PLUS", "PERLY_SEMICOLON", "PERLY_SLASH",
- "PERLY_SNAIL", "PERLY_STAR", "BAREWORD", "METHOD", "FUNCMETH", "THING",
- "PMFUNC", "PRIVATEREF", "QWLIST", "FUNC0OP", "FUNC0SUB", "UNIOPSUB",
- "LSTOPSUB", "PLUGEXPR", "PLUGSTMT", "LABEL", "FORMAT", "SUB", "SIGSUB",
- "ANONSUB", "ANON_SIGSUB", "PACKAGE", "USE", "WHILE", "UNTIL", "IF",
- "UNLESS", "ELSE", "ELSIF", "CONTINUE", "FOR", "GIVEN", "WHEN", "DEFAULT",
- "TRY", "CATCH", "FINALLY", "LOOPEX", "DOTDOT", "YADAYADA", "FUNC0",
- "FUNC1", "FUNC", "UNIOP", "LSTOP", "MULOP", "ADDOP", "DOLSHARP", "DO",
- "HASHBRACK", "NOAMP", "LOCAL", "MY", "REQUIRE", "COLONATTR",
+ "PERLY_SNAIL", "PERLY_STAR", "BAREWORD", "METHCALL0", "METHCALL",
+ "THING", "PMFUNC", "PRIVATEREF", "QWLIST", "FUNC0OP", "FUNC0SUB",
+ "UNIOPSUB", "LSTOPSUB", "PLUGEXPR", "PLUGSTMT", "LABEL", "FORMAT", "SUB",
+ "SIGSUB", "ANONSUB", "ANON_SIGSUB", "PACKAGE", "USE", "WHILE", "UNTIL",
+ "IF", "UNLESS", "ELSE", "ELSIF", "CONTINUE", "FOR", "GIVEN", "WHEN",
+ "DEFAULT", "TRY", "CATCH", "FINALLY", "LOOPEX", "DOTDOT", "YADAYADA",
+ "FUNC0", "FUNC1", "FUNC", "UNIOP", "LSTOP", "MULOP", "ADDOP", "DOLSHARP",
+ "DO", "HASHBRACK", "NOAMP", "LOCAL", "MY", "REQUIRE", "COLONATTR",
"FORMLBRACK", "FORMRBRACK", "SUBLEXSTART", "SUBLEXEND", "DEFER",
"PREC_LOW", "OROP", "ANDOP", "NOTOP", "ASSIGNOP", "PERLY_QUESTION_MARK",
"PERLY_COLON", "OROR", "DORDOR", "ANDAND", "BITOROP", "BITANDOP",
@@ -143,12 +143,12 @@ static const char *const yytname[] =
"sigdefault", "sigscalarelem", "sigelem", "siglist", "optsiglist",
"optsubsignature", "subsignature", "subsigguts", "$@18", "optsubbody",
"subbody", "optsigsubbody", "sigsubbody", "expr", "listexpr", "listop",
- "@19", "method", "subscripted", "termbinop", "termrelop", "relopchain",
- "termeqop", "eqopchain", "termunop", "anonymous", "termdo", "term",
- "@20", "myattrterm", "myterm", "optlistexpr", "optexpr", "optrepl",
- "my_scalar", "list_of_scalars", "my_list_of_scalars", "my_var",
- "refgen_topic", "my_refgen", "amper", "scalar", "ary", "hsh", "arylen",
- "star", "sliceme", "kvslice", "gelem", "indirob", YY_NULLPTR
+ "@19", "methodname", "subscripted", "termbinop", "termrelop",
+ "relopchain", "termeqop", "eqopchain", "termunop", "anonymous", "termdo",
+ "term", "@20", "myattrterm", "myterm", "optlistexpr", "optexpr",
+ "optrepl", "my_scalar", "list_of_scalars", "my_list_of_scalars",
+ "my_var", "refgen_topic", "my_refgen", "amper", "scalar", "ary", "hsh",
+ "arylen", "star", "sliceme", "kvslice", "gelem", "indirob", YY_NULLPTR
};
#endif
@@ -1169,14 +1169,14 @@ static const toketypes yy_type_tab[] =
toketype_ival, toketype_ival, toketype_ival,
toketype_ival, toketype_ival, toketype_ival, toketype_ival,
toketype_ival, toketype_ival, toketype_ival, toketype_ival,
- toketype_ival, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
+ toketype_ival, toketype_ival, toketype_opval, toketype_opval, toketype_opval,
toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
- toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_ival, toketype_ival,
+ toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_ival,
toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
- toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
+ toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
@@ -1195,15 +1195,15 @@ static const toketypes yy_type_tab[] =
toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_opval,
toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
- toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
+ toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
- toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
+ toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
toketype_opval, toketype_opval, toketype_opval, toketype_opval,
- toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
- toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval
+ toketype_opval, toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
+ toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval
};
/* Generated from:
- * f6f4ca1df1f28e285f644b160b176887b111ca03c1fd20e3b4868c27a2c93623 perly.y
+ * a24382f2699548896a26e257b6f72e255658ef63e4dd5820a5cbe07d690b6f05 perly.y
* acf1cbfd2545faeaaa58b1cf0cf9d7f98b5be0752eb7a54528ef904a9e2e1ca7 regen_perly.pl
* ex: set ro: */
diff --git a/perly.y b/perly.y
index db1daf7747..5b6ff930fa 100644
--- a/perly.y
+++ b/perly.y
@@ -62,7 +62,7 @@
%token <ival> PERLY_SNAIL
%token <ival> PERLY_STAR
-%token <opval> BAREWORD METHOD FUNCMETH THING PMFUNC PRIVATEREF QWLIST
+%token <opval> BAREWORD METHCALL0 METHCALL THING PMFUNC PRIVATEREF QWLIST
%token <opval> FUNC0OP FUNC0SUB UNIOPSUB LSTOPSUB
%token <opval> PLUGEXPR PLUGSTMT
%token <opval> LABEL
@@ -91,7 +91,7 @@
%type <opval> empty
%type <opval> sliceme kvslice gelem
%type <opval> listexpr nexpr texpr iexpr mexpr mnexpr
-%type <opval> optlistexpr optexpr optrepl indirob listop method
+%type <opval> optlistexpr optexpr optrepl indirob listop methodname
%type <opval> formname subname proto cont my_scalar my_var
%type <opval> list_of_scalars my_list_of_scalars refgen_topic formblock
%type <opval> subattrlist myattrlist myattrterm myterm
@@ -980,28 +980,28 @@ listop : LSTOP indirob listexpr /* map {...} @args or print $fh @args */
{ $$ = op_convert_list($FUNC, OPf_STACKED,
op_prepend_elem(OP_LIST, newGVREF($FUNC,$indirob), $expr) );
}
- | term ARROW method PERLY_PAREN_OPEN optexpr PERLY_PAREN_CLOSE /* $foo->bar(list) */
+ | term ARROW methodname PERLY_PAREN_OPEN optexpr PERLY_PAREN_CLOSE /* $foo->bar(list) */
{ $$ = op_convert_list(OP_ENTERSUB, OPf_STACKED,
op_append_elem(OP_LIST,
op_prepend_elem(OP_LIST, scalar($term), $optexpr),
- newMETHOP(OP_METHOD, 0, $method)));
+ newMETHOP(OP_METHOD, 0, $methodname)));
}
- | term ARROW method /* $foo->bar */
+ | term ARROW methodname /* $foo->bar */
{ $$ = op_convert_list(OP_ENTERSUB, OPf_STACKED,
op_append_elem(OP_LIST, scalar($term),
- newMETHOP(OP_METHOD, 0, $method)));
+ newMETHOP(OP_METHOD, 0, $methodname)));
}
- | METHOD indirob optlistexpr /* new Class @args */
+ | METHCALL0 indirob optlistexpr /* new Class @args */
{ $$ = op_convert_list(OP_ENTERSUB, OPf_STACKED,
op_append_elem(OP_LIST,
op_prepend_elem(OP_LIST, $indirob, $optlistexpr),
- newMETHOP(OP_METHOD, 0, $METHOD)));
+ newMETHOP(OP_METHOD, 0, $METHCALL0)));
}
- | FUNCMETH indirob PERLY_PAREN_OPEN optexpr PERLY_PAREN_CLOSE /* method $object (@args) */
+ | METHCALL indirob PERLY_PAREN_OPEN optexpr PERLY_PAREN_CLOSE /* method $object (@args) */
{ $$ = op_convert_list(OP_ENTERSUB, OPf_STACKED,
op_append_elem(OP_LIST,
op_prepend_elem(OP_LIST, $indirob, $optexpr),
- newMETHOP(OP_METHOD, 0, $FUNCMETH)));
+ newMETHOP(OP_METHOD, 0, $METHCALL)));
}
| LSTOP optlistexpr /* print @args */
{ $$ = op_convert_list($LSTOP, 0, $optlistexpr); }
@@ -1020,7 +1020,7 @@ listop : LSTOP indirob listexpr /* map {...} @args or print $fh @args */
;
/* Names of methods. May use $object->$methodname */
-method : METHOD
+methodname: METHCALL0
| scalar
;
diff --git a/toke.c b/toke.c
index 7eec8f9ada..c3be667acb 100644
--- a/toke.c
+++ b/toke.c
@@ -440,7 +440,6 @@ static struct debug_tokens {
{ FUNC0OP, TOKENTYPE_OPVAL, "FUNC0OP" },
{ FUNC0SUB, TOKENTYPE_OPVAL, "FUNC0SUB" },
{ FUNC1, TOKENTYPE_OPNUM, "FUNC1" },
- { FUNCMETH, TOKENTYPE_OPVAL, "FUNCMETH" },
{ GIVEN, TOKENTYPE_IVAL, "GIVEN" },
{ HASHBRACK, TOKENTYPE_NONE, "HASHBRACK" },
{ IF, TOKENTYPE_IVAL, "IF" },
@@ -450,7 +449,8 @@ static struct debug_tokens {
{ LSTOP, TOKENTYPE_OPNUM, "LSTOP" },
{ LSTOPSUB, TOKENTYPE_OPVAL, "LSTOPSUB" },
{ MATCHOP, TOKENTYPE_OPNUM, "MATCHOP" },
- { METHOD, TOKENTYPE_OPVAL, "METHOD" },
+ { METHCALL, TOKENTYPE_OPVAL, "METHCALL" },
+ { METHCALL0, TOKENTYPE_OPVAL, "METHCALL0" },
{ MULOP, TOKENTYPE_OPNUM, "MULOP" },
{ MY, TOKENTYPE_IVAL, "MY" },
{ NCEQOP, TOKENTYPE_OPNUM, "NCEQOP" },
@@ -2194,7 +2194,7 @@ S_newSV_maybe_utf8(pTHX_ const char *const start, STRLEN len)
* Arguments:
* char *start : buffer position (must be within PL_linestr)
* int token : PL_next* will be this type of bare word
- * (e.g., METHOD,BAREWORD)
+ * (e.g., METHCALL0,BAREWORD)
* int check_keyword : if true, Perl checks to make sure the word isn't
* a keyword (do this if the word is a label, e.g. goto FOO)
* int allow_pack : if true, : characters will also be allowed (require,
@@ -2225,7 +2225,7 @@ S_force_word(pTHX_ char *start, int token, int check_keyword, int allow_pack)
if (keyword(s2, len2, 0))
return start;
}
- if (token == METHOD) {
+ if (token == METHCALL0) {
s = skipspace(s);
if (*s == '(')
PL_expect = XTERM;
@@ -4564,7 +4564,7 @@ S_intuit_more(pTHX_ char *s, char *e)
* Does all the checking to disambiguate
* foo bar
* between foo(bar) and bar->foo. Returns 0 if not a method, otherwise
- * FUNCMETH (bar->foo(args)) or METHOD (bar->foo args).
+ * METHCALL (bar->foo(args)) or METHCALL0 (bar->foo args).
*
* First argument is the stuff after the first token, e.g. "bar".
*
@@ -4620,7 +4620,7 @@ S_intuit_method(pTHX_ char *start, SV *ioname, CV *cv)
s = skipspace(s);
PL_bufptr = SvPVX(PL_linestr) + start_off;
PL_expect = XREF;
- return *s == '(' ? FUNCMETH : METHOD;
+ return *s == '(' ? METHCALL : METHCALL0;
}
s = scan_word(s, tmpbuf, sizeof tmpbuf, TRUE, &len);
@@ -4653,7 +4653,7 @@ S_intuit_method(pTHX_ char *start, SV *ioname, CV *cv)
PL_expect = XTERM;
force_next(BAREWORD);
PL_bufptr = s;
- return *s == '(' ? FUNCMETH : METHOD;
+ return *s == '(' ? METHCALL : METHCALL0;
}
}
return 0;
@@ -5742,7 +5742,7 @@ yyl_hyphen(pTHX_ char *s)
TOKEN(ARROW);
}
if (isIDFIRST_lazy_if_safe(s, PL_bufend, UTF)) {
- s = force_word(s,METHOD,FALSE,TRUE);
+ s = force_word(s,METHCALL0,FALSE,TRUE);
TOKEN(ARROW);
}
else if (*s == '$')
@@ -7699,7 +7699,7 @@ yyl_just_a_word(pTHX_ char *s, STRLEN len, I32 orig_keyword, struct code c)
PL_lex_fakeeof = LEX_FAKEEOF_LOWLOGIC;
PL_expect = XBLOCKTERM;
PL_bufptr = s;
- return REPORT(METHOD);
+ return REPORT(METHCALL0);
}
/* If followed by a bareword, see if it looks like indir obj. */
@@ -7720,7 +7720,7 @@ yyl_just_a_word(pTHX_ char *s, STRLEN len, I32 orig_keyword, struct code c)
else SvUTF8_off(c.sv);
}
op_free(c.rv2cv_op);
- if (key == METHOD && !PL_lex_allbrackets
+ if (key == METHCALL0 && !PL_lex_allbrackets
&& PL_lex_fakeeof > LEX_FAKEEOF_LOWLOGIC)
{
PL_lex_fakeeof = LEX_FAKEEOF_LOWLOGIC;