X-Git-Url: https://perl5.git.perl.org/perl5.git/blobdiff_plain/c2f605db621edfb16309200bbba8ced984d34476..5bcd1ef4a02daf3152ee41becf0004a7e450d106:/keywords.c diff --git a/keywords.c b/keywords.c index b9ef465..a37752f 100644 --- a/keywords.c +++ b/keywords.c @@ -1906,7 +1906,7 @@ Perl_keyword (pTHX_ const char *name, I32 len, bool all_keywords) goto unknown; } - case 7: /* 29 tokens of length 7 */ + case 7: /* 30 tokens of length 7 */ switch (name[0]) { case 'D': @@ -1923,14 +1923,35 @@ Perl_keyword (pTHX_ const char *name, I32 len, bool all_keywords) goto unknown; case '_': - if (name[1] == '_' && - name[2] == 'E' && - name[3] == 'N' && - name[4] == 'D' && - name[5] == '_' && - name[6] == '_') - { /* __END__ */ - return KEY___END__; + if (name[1] == '_') + { + switch (name[2]) + { + case 'E': + if (name[3] == 'N' && + name[4] == 'D' && + name[5] == '_' && + name[6] == '_') + { /* __END__ */ + return KEY___END__; + } + + goto unknown; + + case 'S': + if (name[3] == 'U' && + name[4] == 'B' && + name[5] == '_' && + name[6] == '_') + { /* __SUB__ */ + return (all_keywords || FEATURE_IS_ENABLED("__SUB__") ? -KEY___SUB__ : 0); + } + + goto unknown; + + default: + goto unknown; + } } goto unknown; @@ -2740,7 +2761,7 @@ Perl_keyword (pTHX_ const char *name, I32 len, bool all_keywords) goto unknown; } - case 9: /* 9 tokens of length 9 */ + case 9: /* 10 tokens of length 9 */ switch (name[0]) { case 'U': @@ -2759,19 +2780,39 @@ Perl_keyword (pTHX_ const char *name, I32 len, bool all_keywords) goto unknown; case 'e': - if (name[1] == 'n' && - name[2] == 'd' && - name[3] == 'n' && - name[4] == 'e' && - name[5] == 't' && - name[6] == 'e' && - name[7] == 'n' && - name[8] == 't') - { /* endnetent */ - return -KEY_endnetent; - } + switch (name[1]) + { + case 'n': + if (name[2] == 'd' && + name[3] == 'n' && + name[4] == 'e' && + name[5] == 't' && + name[6] == 'e' && + name[7] == 'n' && + name[8] == 't') + { /* endnetent */ + return -KEY_endnetent; + } - goto unknown; + goto unknown; + + case 'v': + if (name[2] == 'a' && + name[3] == 'l' && + name[4] == 'b' && + name[5] == 'y' && + name[6] == 't' && + name[7] == 'e' && + name[8] == 's') + { /* evalbytes */ + return (all_keywords || FEATURE_IS_ENABLED("evalbytes") ? -KEY_evalbytes : 0); + } + + goto unknown; + + default: + goto unknown; + } case 'g': if (name[1] == 'e' && @@ -3399,5 +3440,5 @@ unknown: } /* Generated from: - * 6563b55da87af894b79ef9d777217633eee6c7b5f352ff4c17317f562247f5fc regen/keywords.pl + * 76ce12941a02bdb120222155311eb8772ba4a4e8965a42ba347a077cac5b426e regen/keywords.pl * ex: set ro: */