| /* -*- buffer-read-only: t -*- |
| * !!!!!!! DO NOT EDIT THIS FILE !!!!!!! |
| * This file is built by regen/keywords.pl from its data. |
| * Any changes made here will be lost! |
| */ |
| |
| #include "EXTERN.h" |
| #define PERL_IN_KEYWORDS_C |
| #include "perl.h" |
| #include "keywords.h" |
| #include "feature.h" |
| |
| I32 |
| Perl_keyword (pTHX_ const char *name, I32 len, bool all_keywords) |
| { |
| dVAR; |
| |
| PERL_ARGS_ASSERT_KEYWORD; |
| |
| switch (len) |
| { |
| case 1: /* 5 tokens of length 1 */ |
| switch (name[0]) |
| { |
| case 'm': |
| { /* m */ |
| return KEY_m; |
| } |
| |
| case 'q': |
| { /* q */ |
| return KEY_q; |
| } |
| |
| case 's': |
| { /* s */ |
| return KEY_s; |
| } |
| |
| case 'x': |
| { /* x */ |
| return -KEY_x; |
| } |
| |
| case 'y': |
| { /* y */ |
| return KEY_y; |
| } |
| |
| default: |
| goto unknown; |
| } |
| |
| case 2: /* 19 tokens of length 2 */ |
| switch (name[0]) |
| { |
| case 'd': |
| if (name[1] == 'o') |
| { /* do */ |
| return KEY_do; |
| } |
| |
| goto unknown; |
| |
| case 'e': |
| if (name[1] == 'q') |
| { /* eq */ |
| return -KEY_eq; |
| } |
| |
| goto unknown; |
| |
| case 'f': |
| if (name[1] == 'c') |
| { /* fc */ |
| return (all_keywords || FEATURE_FC_IS_ENABLED ? -KEY_fc : 0); |
| } |
| |
| goto unknown; |
| |
| case 'g': |
| switch (name[1]) |
| { |
| case 'e': |
| { /* ge */ |
| return -KEY_ge; |
| } |
| |
| case 't': |
| { /* gt */ |
| return -KEY_gt; |
| } |
| |
| default: |
| goto unknown; |
| } |
| |
| case 'i': |
| if (name[1] == 'f') |
| { /* if */ |
| return KEY_if; |
| } |
| |
| goto unknown; |
| |
| case 'l': |
| switch (name[1]) |
| { |
| case 'c': |
| { /* lc */ |
| return -KEY_lc; |
| } |
| |
| case 'e': |
| { /* le */ |
| return -KEY_le; |
| } |
| |
| case 't': |
| { /* lt */ |
| return -KEY_lt; |
| } |
| |
| default: |
| goto unknown; |
| } |
| |
| case 'm': |
| if (name[1] == 'y') |
| { /* my */ |
| return KEY_my; |
| } |
| |
| goto unknown; |
| |
| case 'n': |
| switch (name[1]) |
| { |
| case 'e': |
| { /* ne */ |
| return -KEY_ne; |
| } |
| |
| case 'o': |
| { /* no */ |
| return KEY_no; |
| } |
| |
| default: |
| goto unknown; |
| } |
| |
| case 'o': |
| if (name[1] == 'r') |
| { /* or */ |
| return -KEY_or; |
| } |
| |
| goto unknown; |
| |
| case 'q': |
| switch (name[1]) |
| { |
| case 'q': |
| { /* qq */ |
| return KEY_qq; |
| } |
| |
| case 'r': |
| { /* qr */ |
| return KEY_qr; |
| } |
| |
| case 'w': |
| { /* qw */ |
| return KEY_qw; |
| } |
| |
| case 'x': |
| { /* qx */ |
| return KEY_qx; |
| } |
| |
| default: |
| goto unknown; |
| } |
| |
| case 't': |
| if (name[1] == 'r') |
| { /* tr */ |
| return KEY_tr; |
| } |
| |
| goto unknown; |
| |
| case 'u': |
| if (name[1] == 'c') |
| { /* uc */ |
| return -KEY_uc; |
| } |
| |
| goto unknown; |
| |
| default: |
| goto unknown; |
| } |
| |
| case 3: /* 28 tokens of length 3 */ |
| switch (name[0]) |
| { |
| case 'E': |
| if (name[1] == 'N' && |
| name[2] == 'D') |
| { /* END */ |
| return KEY_END; |
| } |
| |
| goto unknown; |
| |
| case 'a': |
| switch (name[1]) |
| { |
| case 'b': |
| if (name[2] == 's') |
| { /* abs */ |
| return -KEY_abs; |
| } |
| |
| goto unknown; |
| |
| case 'n': |
| if (name[2] == 'd') |
| { /* and */ |
| return -KEY_and; |
| } |
| |
| goto unknown; |
| |
| default: |
| goto unknown; |
| } |
| |
| case 'c': |
| switch (name[1]) |
| { |
| case 'h': |
| if (name[2] == 'r') |
| { /* chr */ |
| return -KEY_chr; |
| } |
| |
| goto unknown; |
| |
| case 'm': |
| if (name[2] == 'p') |
| { /* cmp */ |
| return -KEY_cmp; |
| } |
| |
| goto unknown; |
| |
| case 'o': |
| if (name[2] == 's') |
| { /* cos */ |
| return -KEY_cos; |
| } |
| |
| goto unknown; |
| |
| default: |
| goto unknown; |
| } |
| |
| case 'd': |
| if (name[1] == 'i' && |
| name[2] == 'e') |
| { /* die */ |
| return -KEY_die; |
| } |
| |
| goto unknown; |
| |
| case 'e': |
| switch (name[1]) |
| { |
| case 'o': |
| if (name[2] == 'f') |
| { /* eof */ |
| return -KEY_eof; |
| } |
| |
| goto unknown; |
| |
| case 'x': |
| if (name[2] == 'p') |
| { /* exp */ |
| return -KEY_exp; |
| } |
| |
| goto unknown; |
| |
| default: |
| goto unknown; |
| } |
| |
| case 'f': |
| if (name[1] == 'o' && |
| name[2] == 'r') |
| { /* for */ |
| return KEY_for; |
| } |
| |
| goto unknown; |
| |
| case 'h': |
| if (name[1] == 'e' && |
| name[2] == 'x') |
| { /* hex */ |
| return -KEY_hex; |
| } |
| |
| goto unknown; |
| |
| case 'i': |
| if (name[1] == 'n' && |
| name[2] == 't') |
| { /* int */ |
| return -KEY_int; |
| } |
| |
| goto unknown; |
| |
| case 'l': |
| if (name[1] == 'o' && |
| name[2] == 'g') |
| { /* log */ |
| return -KEY_log; |
| } |
| |
| goto unknown; |
| |
| case 'm': |
| if (name[1] == 'a' && |
| name[2] == 'p') |
| { /* map */ |
| return KEY_map; |
| } |
| |
| goto unknown; |
| |
| case 'n': |
| if (name[1] == 'o' && |
| name[2] == 't') |
| { /* not */ |
| return -KEY_not; |
| } |
| |
| goto unknown; |
| |
| case 'o': |
| switch (name[1]) |
| { |
| case 'c': |
| if (name[2] == 't') |
| { /* oct */ |
| return -KEY_oct; |
| } |
| |
| goto unknown; |
| |
| case 'r': |
| if (name[2] == 'd') |
| { /* ord */ |
| return -KEY_ord; |
| } |
| |
| goto unknown; |
| |
| case 'u': |
| if (name[2] == 'r') |
| { /* our */ |
| return KEY_our; |
| } |
| |
| goto unknown; |
| |
| default: |
| goto unknown; |
| } |
| |
| case 'p': |
| if (name[1] == 'o') |
| { |
| switch (name[2]) |
| { |
| case 'p': |
| { /* pop */ |
| return -KEY_pop; |
| } |
| |
| case 's': |
| { /* pos */ |
| return KEY_pos; |
| } |
| |
| default: |
| goto unknown; |
| } |
| } |
| |
| goto unknown; |
| |
| case 'r': |
| if (name[1] == 'e' && |
| name[2] == 'f') |
| { /* ref */ |
| return -KEY_ref; |
| } |
| |
| goto unknown; |
| |
| case 's': |
| switch (name[1]) |
| { |
| case 'a': |
| if (name[2] == 'y') |
| { /* say */ |
| return (all_keywords || FEATURE_SAY_IS_ENABLED ? KEY_say : 0); |
| } |
| |
| goto unknown; |
| |
| case 'i': |
| if (name[2] == 'n') |
| { /* sin */ |
| return -KEY_sin; |
| } |
| |
| goto unknown; |
| |
| case 'u': |
| if (name[2] == 'b') |
| { /* sub */ |
| return KEY_sub; |
| } |
| |
| goto unknown; |
| |
| default: |
| goto unknown; |
| } |
| |
| case 't': |
| if (name[1] == 'i' && |
| name[2] == 'e') |
| { /* tie */ |
| return -KEY_tie; |
| } |
| |
| goto unknown; |
| |
| case 'u': |
| if (name[1] == 's' && |
| name[2] == 'e') |
| { /* use */ |
| return KEY_use; |
| } |
| |
| goto unknown; |
| |
| case 'v': |
| if (name[1] == 'e' && |
| name[2] == 'c') |
| { /* vec */ |
| return -KEY_vec; |
| } |
| |
| goto unknown; |
| |
| case 'x': |
| if (name[1] == 'o' && |
| name[2] == 'r') |
| { /* xor */ |
| return -KEY_xor; |
| } |
| |
| goto unknown; |
| |
| default: |
| goto unknown; |
| } |
| |
| case 4: /* 41 tokens of length 4 */ |
| switch (name[0]) |
| { |
| case 'C': |
| if (name[1] == 'O' && |
| name[2] == 'R' && |
| name[3] == 'E') |
| { /* CORE */ |
| return -KEY_CORE; |
| } |
| |
| goto unknown; |
| |
| case 'I': |
| if (name[1] == 'N' && |
| name[2] == 'I' && |
| name[3] == 'T') |
| { /* INIT */ |
| return KEY_INIT; |
| } |
| |
| goto unknown; |
| |
| case 'b': |
| if (name[1] == 'i' && |
| name[2] == 'n' && |
| name[3] == 'd') |
| { /* bind */ |
| return -KEY_bind; |
| } |
| |
| goto unknown; |
| |
| case 'c': |
| if (name[1] == 'h' && |
| name[2] == 'o' && |
| name[3] == 'p') |
| { /* chop */ |
| return -KEY_chop; |
| } |
| |
| goto unknown; |
| |
| case 'd': |
| if (name[1] == 'u' && |
| name[2] == 'm' && |
| name[3] == 'p') |
| { /* dump */ |
| return -KEY_dump; |
| } |
| |
| goto unknown; |
| |
| case 'e': |
| switch (name[1]) |
| { |
| case 'a': |
| if (name[2] == 'c' && |
| name[3] == 'h') |
| { /* each */ |
| return -KEY_each; |
| } |
| |
| goto unknown; |
| |
| case 'l': |
| if (name[2] == 's' && |
| name[3] == 'e') |
| { /* else */ |
| return KEY_else; |
| } |
| |
| goto unknown; |
| |
| case 'v': |
| if (name[2] == 'a' && |
| name[3] == 'l') |
| { /* eval */ |
| return KEY_eval; |
| } |
| |
| goto unknown; |
| |
| case 'x': |
| switch (name[2]) |
| { |
| case 'e': |
| if (name[3] == 'c') |
| { /* exec */ |
| return -KEY_exec; |
| } |
| |
| goto unknown; |
| |
| case 'i': |
| if (name[3] == 't') |
| { /* exit */ |
| return -KEY_exit; |
| } |
| |
| goto unknown; |
| |
| default: |
| goto unknown; |
| } |
| |
| default: |
| goto unknown; |
| } |
| |
| case 'f': |
| if (name[1] == 'o' && |
| name[2] == 'r' && |
| name[3] == 'k') |
| { /* fork */ |
| return -KEY_fork; |
| } |
| |
| goto unknown; |
| |
| case 'g': |
| switch (name[1]) |
| { |
| case 'e': |
| if (name[2] == 't' && |
| name[3] == 'c') |
| { /* getc */ |
| return -KEY_getc; |
| } |
| |
| goto unknown; |
| |
| case 'l': |
| if (name[2] == 'o' && |
| name[3] == 'b') |
| { /* glob */ |
| return KEY_glob; |
| } |
| |
| goto unknown; |
| |
| case 'o': |
| if (name[2] == 't' && |
| name[3] == 'o') |
| { /* goto */ |
| return KEY_goto; |
| } |
| |
| goto unknown; |
| |
| case 'r': |
| if (name[2] == 'e' && |
| name[3] == 'p') |
| { /* grep */ |
| return KEY_grep; |
| } |
| |
| goto unknown; |
| |
| default: |
| goto unknown; |
| } |
| |
| case 'j': |
| if (name[1] == 'o' && |
| name[2] == 'i' && |
| name[3] == 'n') |
| { /* join */ |
| return -KEY_join; |
| } |
| |
| goto unknown; |
| |
| case 'k': |
| switch (name[1]) |
| { |
| case 'e': |
| if (name[2] == 'y' && |
| name[3] == 's') |
| { /* keys */ |
| return -KEY_keys; |
| } |
| |
| goto unknown; |
| |
| case 'i': |
| if (name[2] == 'l' && |
| name[3] == 'l') |
| { /* kill */ |
| return -KEY_kill; |
| } |
| |
| goto unknown; |
| |
| default: |
| goto unknown; |
| } |
| |
| case 'l': |
| switch (name[1]) |
| { |
| case 'a': |
| if (name[2] == 's' && |
| name[3] == 't') |
| { /* last */ |
| return KEY_last; |
| } |
| |
| goto unknown; |
| |
| case 'i': |
| if (name[2] == 'n' && |
| name[3] == 'k') |
| { /* link */ |
| return -KEY_link; |
| } |
| |
| goto unknown; |
| |
| case 'o': |
| if (name[2] == 'c' && |
| name[3] == 'k') |
| { /* lock */ |
| return -KEY_lock; |
| } |
| |
| goto unknown; |
| |
| default: |
| goto unknown; |
| } |
| |
| case 'n': |
| if (name[1] == 'e' && |
| name[2] == 'x' && |
| name[3] == 't') |
| { /* next */ |
| return KEY_next; |
| } |
| |
| goto unknown; |
| |
| case 'o': |
| if (name[1] == 'p' && |
| name[2] == 'e' && |
| name[3] == 'n') |
| { /* open */ |
| return -KEY_open; |
| } |
| |
| goto unknown; |
| |
| case 'p': |
| switch (name[1]) |
| { |
| case 'a': |
| if (name[2] == 'c' && |
| name[3] == 'k') |
| { /* pack */ |
| return -KEY_pack; |
| } |
| |
| goto unknown; |
| |
| case 'i': |
| if (name[2] == 'p' && |
| name[3] == 'e') |
| { /* pipe */ |
| return -KEY_pipe; |
| } |
| |
| goto unknown; |
| |
| case 'u': |
| if (name[2] == 's' && |
| name[3] == 'h') |
| { /* push */ |
| return -KEY_push; |
| } |
| |
| goto unknown; |
| |
| default: |
| goto unknown; |
| } |
| |
| case 'r': |
| switch (name[1]) |
| { |
| case 'a': |
| if (name[2] == 'n' && |
| name[3] == 'd') |
| { /* rand */ |
| return -KEY_rand; |
| } |
| |
| goto unknown; |
| |
| case 'e': |
| switch (name[2]) |
| { |
| case 'a': |
| if (name[3] == 'd') |
| { /* read */ |
| return -KEY_read; |
| } |
| |
| goto unknown; |
| |
| case 'c': |
| if (name[3] == 'v') |
| { /* recv */ |
| return -KEY_recv; |
| } |
| |
| goto unknown; |
| |
| case 'd': |
| if (name[3] == 'o') |
| { /* redo */ |
| return KEY_redo; |
| } |
| |
| goto unknown; |
| |
| default: |
| goto unknown; |
| } |
| |
| default: |
| goto unknown; |
| } |
| |
| case 's': |
| switch (name[1]) |
| { |
| case 'e': |
| switch (name[2]) |
| { |
| case 'e': |
| if (name[3] == 'k') |
| { /* seek */ |
| return -KEY_seek; |
| } |
| |
| goto unknown; |
| |
| case 'n': |
| if (name[3] == 'd') |
| { /* send */ |
| return -KEY_send; |
| } |
| |
| goto unknown; |
| |
| default: |
| goto unknown; |
| } |
| |
| case 'o': |
| if (name[2] == 'r' && |
| name[3] == 't') |
| { /* sort */ |
| return KEY_sort; |
| } |
| |
| goto unknown; |
| |
| case 'q': |
| if (name[2] == 'r' && |
| name[3] == 't') |
| { /* sqrt */ |
| return -KEY_sqrt; |
| } |
| |
| goto unknown; |
| |
| case 't': |
| if (name[2] == 'a' && |
| name[3] == 't') |
| { /* stat */ |
| return -KEY_stat; |
| } |
| |
| goto unknown; |
| |
| default: |
| goto unknown; |
| } |
| |
| case 't': |
| switch (name[1]) |
| { |
| case 'e': |
| if (name[2] == 'l' && |
| name[3] == 'l') |
| { /* tell */ |
| return -KEY_tell; |
| } |
| |
| goto unknown; |
| |
| case 'i': |
| switch (name[2]) |
| { |
| case 'e': |
| if (name[3] == 'd') |
| { /* tied */ |
| return -KEY_tied; |
| } |
| |
| goto unknown; |
| |
| case 'm': |
| if (name[3] == 'e') |
| { /* time */ |
| return -KEY_time; |
| } |
| |
| goto unknown; |
| |
| default: |
| goto unknown; |
| } |
| |
| default: |
| goto unknown; |
| } |
| |
| case 'w': |
| switch (name[1]) |
| { |
| case 'a': |
| switch (name[2]) |
| { |
| case 'i': |
| if (name[3] == 't') |
| { /* wait */ |
| return -KEY_wait; |
| } |
| |
| goto unknown; |
| |
| case 'r': |
| if (name[3] == 'n') |
| { /* warn */ |
| return -KEY_warn; |
| } |
| |
| goto unknown; |
| |
| default: |
| goto unknown; |
| } |
| |
| case 'h': |
| if (name[2] == 'e' && |
| name[3] == 'n') |
| { /* when */ |
| return (all_keywords || FEATURE_SWITCH_IS_ENABLED ? KEY_when : 0); |
| } |
| |
| goto unknown; |
| |
| default: |
| goto unknown; |
| } |
| |
| default: |
| goto unknown; |
| } |
| |
| case 5: /* 39 tokens of length 5 */ |
| switch (name[0]) |
| { |
| case 'B': |
| if (name[1] == 'E' && |
| name[2] == 'G' && |
| name[3] == 'I' && |
| name[4] == 'N') |
| { /* BEGIN */ |
| return KEY_BEGIN; |
| } |
| |
| goto unknown; |
| |
| case 'C': |
| if (name[1] == 'H' && |
| name[2] == 'E' && |
| name[3] == 'C' && |
| name[4] == 'K') |
| { /* CHECK */ |
| return KEY_CHECK; |
| } |
| |
| goto unknown; |
| |
| case 'a': |
| switch (name[1]) |
| { |
| case 'l': |
| if (name[2] == 'a' && |
| name[3] == 'r' && |
| name[4] == 'm') |
| { /* alarm */ |
| return -KEY_alarm; |
| } |
| |
| goto unknown; |
| |
| case 't': |
| if (name[2] == 'a' && |
| name[3] == 'n' && |
| name[4] == '2') |
| { /* atan2 */ |
| return -KEY_atan2; |
| } |
| |
| goto unknown; |
| |
| default: |
| goto unknown; |
| } |
| |
| case 'b': |
| switch (name[1]) |
| { |
| case 'l': |
| if (name[2] == 'e' && |
| name[3] == 's' && |
| name[4] == 's') |
| { /* bless */ |
| return -KEY_bless; |
| } |
| |
| goto unknown; |
| |
| case 'r': |
| if (name[2] == 'e' && |
| name[3] == 'a' && |
| name[4] == 'k') |
| { /* break */ |
| return (all_keywords || FEATURE_SWITCH_IS_ENABLED ? -KEY_break : 0); |
| } |
| |
| goto unknown; |
| |
| default: |
| goto unknown; |
| } |
| |
| case 'c': |
| switch (name[1]) |
| { |
| case 'h': |
| switch (name[2]) |
| { |
| case 'd': |
| if (name[3] == 'i' && |
| name[4] == 'r') |
| { /* chdir */ |
| return -KEY_chdir; |
| } |
| |
| goto unknown; |
| |
| case 'm': |
| if (name[3] == 'o' && |
| name[4] == 'd') |
| { /* chmod */ |
| return -KEY_chmod; |
| } |
| |
| goto unknown; |
| |
| case 'o': |
| switch (name[3]) |
| { |
| case 'm': |
| if (name[4] == 'p') |
| { /* chomp */ |
| return -KEY_chomp; |
| } |
| |
| goto unknown; |
| |
| case 'w': |
| if (name[4] == 'n') |
| { /* chown */ |
| return -KEY_chown; |
| } |
| |
| goto unknown; |
| |
| default: |
| goto unknown; |
| } |
| |
| default: |
| goto unknown; |
| } |
| |
| case 'l': |
| if (name[2] == 'o' && |
| name[3] == 's' && |
| name[4] == 'e') |
| { /* close */ |
| return -KEY_close; |
| } |
| |
| goto unknown; |
| |
| case 'r': |
| if (name[2] == 'y' && |
| name[3] == 'p' && |
| name[4] == 't') |
| { /* crypt */ |
| return -KEY_crypt; |
| } |
| |
| goto unknown; |
| |
| default: |
| goto unknown; |
| } |
| |
| case 'e': |
| if (name[1] == 'l' && |
| name[2] == 's' && |
| name[3] == 'i' && |
| name[4] == 'f') |
| { /* elsif */ |
| return KEY_elsif; |
| } |
| |
| goto unknown; |
| |
| case 'f': |
| switch (name[1]) |
| { |
| case 'c': |
| if (name[2] == 'n' && |
| name[3] == 't' && |
| name[4] == 'l') |
| { /* fcntl */ |
| return -KEY_fcntl; |
| } |
| |
| goto unknown; |
| |
| case 'l': |
| if (name[2] == 'o' && |
| name[3] == 'c' && |
| name[4] == 'k') |
| { /* flock */ |
| return -KEY_flock; |
| } |
| |
| goto unknown; |
| |
| default: |
| goto unknown; |
| } |
| |
| case 'g': |
| if (name[1] == 'i' && |
| name[2] == 'v' && |
| name[3] == 'e' && |
| name[4] == 'n') |
| { /* given */ |
| return (all_keywords || FEATURE_SWITCH_IS_ENABLED ? KEY_given : 0); |
| } |
| |
| goto unknown; |
| |
| case 'i': |
| switch (name[1]) |
| { |
| case 'n': |
| if (name[2] == 'd' && |
| name[3] == 'e' && |
| name[4] == 'x') |
| { /* index */ |
| return -KEY_index; |
| } |
| |
| goto unknown; |
| |
| case 'o': |
| if (name[2] == 'c' && |
| name[3] == 't' && |
| name[4] == 'l') |
| { /* ioctl */ |
| return -KEY_ioctl; |
| } |
| |
| goto unknown; |
| |
| default: |
| goto unknown; |
| } |
| |
| case 'l': |
| switch (name[1]) |
| { |
| case 'o': |
| if (name[2] == 'c' && |
| name[3] == 'a' && |
| name[4] == 'l') |
| { /* local */ |
| return KEY_local; |
| } |
| |
| goto unknown; |
| |
| case 's': |
| if (name[2] == 't' && |
| name[3] == 'a' && |
| name[4] == 't') |
| { /* lstat */ |
| return -KEY_lstat; |
| } |
| |
| goto unknown; |
| |
| default: |
| goto unknown; |
| } |
| |
| case 'm': |
| if (name[1] == 'k' && |
| name[2] == 'd' && |
| name[3] == 'i' && |
| name[4] == 'r') |
| { /* mkdir */ |
| return -KEY_mkdir; |
| } |
| |
| goto unknown; |
| |
| case 'p': |
| if (name[1] == 'r' && |
| name[2] == 'i' && |
| name[3] == 'n' && |
| name[4] == 't') |
| { /* print */ |
| return KEY_print; |
| } |
| |
| goto unknown; |
| |
| case 'r': |
| switch (name[1]) |
| { |
| case 'e': |
| if (name[2] == 's' && |
| name[3] == 'e' && |
| name[4] == 't') |
| { /* reset */ |
| return -KEY_reset; |
| } |
| |
| goto unknown; |
| |
| case 'm': |
| if (name[2] == 'd' && |
| name[3] == 'i' && |
| name[4] == 'r') |
| { /* rmdir */ |
| return -KEY_rmdir; |
| } |
| |
| goto unknown; |
| |
| default: |
| goto unknown; |
| } |
| |
| case 's': |
| switch (name[1]) |
| { |
| case 'e': |
| if (name[2] == 'm' && |
| name[3] == 'o' && |
| name[4] == 'p') |
| { /* semop */ |
| return -KEY_semop; |
| } |
| |
| goto unknown; |
| |
| case 'h': |
| if (name[2] == 'i' && |
| name[3] == 'f' && |
| name[4] == 't') |
| { /* shift */ |
| return -KEY_shift; |
| } |
| |
| goto unknown; |
| |
| case 'l': |
| if (name[2] == 'e' && |
| name[3] == 'e' && |
| name[4] == 'p') |
| { /* sleep */ |
| return -KEY_sleep; |
| } |
| |
| goto unknown; |
| |
| case 'p': |
| if (name[2] == 'l' && |
| name[3] == 'i' && |
| name[4] == 't') |
| { /* split */ |
| return KEY_split; |
| } |
| |
| goto unknown; |
| |
| case 'r': |
| if (name[2] == 'a' && |
| name[3] == 'n' && |
| name[4] == 'd') |
| { /* srand */ |
| return -KEY_srand; |
| } |
| |
| goto unknown; |
| |
| case 't': |
| switch (name[2]) |
| { |
| case 'a': |
| if (name[3] == 't' && |
| name[4] == 'e') |
| { /* state */ |
| return (all_keywords || FEATURE_STATE_IS_ENABLED ? KEY_state : 0); |
| } |
| |
| goto unknown; |
| |
| case 'u': |
| if (name[3] == 'd' && |
| name[4] == 'y') |
| { /* study */ |
| return KEY_study; |
| } |
| |
| goto unknown; |
| |
| default: |
| goto unknown; |
| } |
| |
| default: |
| goto unknown; |
| } |
| |
| case 't': |
| if (name[1] == 'i' && |
| name[2] == 'm' && |
| name[3] == 'e' && |
| name[4] == 's') |
| { /* times */ |
| return -KEY_times; |
| } |
| |
| goto unknown; |
| |
| case 'u': |
| switch (name[1]) |
| { |
| case 'm': |
| if (name[2] == 'a' && |
| name[3] == 's' && |
| name[4] == 'k') |
| { /* umask */ |
| return -KEY_umask; |
| } |
| |
| goto unknown; |
| |
| case 'n': |
| switch (name[2]) |
| { |
| case 'd': |
| if (name[3] == 'e' && |
| name[4] == 'f') |
| { /* undef */ |
| return KEY_undef; |
| } |
| |
| goto unknown; |
| |
| case 't': |
| if (name[3] == 'i') |
| { |
| switch (name[4]) |
| { |
| case 'e': |
| { /* untie */ |
| return -KEY_untie; |
| } |
| |
| case 'l': |
| { /* until */ |
| return KEY_until; |
| } |
| |
| default: |
| goto unknown; |
| } |
| } |
| |
| goto unknown; |
| |
| default: |
| goto unknown; |
| } |
| |
| case 't': |
| if (name[2] == 'i' && |
| name[3] == 'm' && |
| name[4] == 'e') |
| { /* utime */ |
| return -KEY_utime; |
| } |
| |
| goto unknown; |
| |
| default: |
| goto unknown; |
| } |
| |
| case 'w': |
| switch (name[1]) |
| { |
| case 'h': |
| if (name[2] == 'i' && |
| name[3] == 'l' && |
| name[4] == 'e') |
| { /* while */ |
| return KEY_while; |
| } |
| |
| goto unknown; |
| |
| case 'r': |
| if (name[2] == 'i' && |
| name[3] == 't' && |
| name[4] == 'e') |
| { /* write */ |
| return -KEY_write; |
| } |
| |
| goto unknown; |
| |
| default: |
| goto unknown; |
| } |
| |
| default: |
| goto unknown; |
| } |
| |
| case 6: /* 33 tokens of length 6 */ |
| switch (name[0]) |
| { |
| case 'a': |
| if (name[1] == 'c' && |
| name[2] == 'c' && |
| name[3] == 'e' && |
| name[4] == 'p' && |
| name[5] == 't') |
| { /* accept */ |
| return -KEY_accept; |
| } |
| |
| goto unknown; |
| |
| case 'c': |
| switch (name[1]) |
| { |
| case 'a': |
| if (name[2] == 'l' && |
| name[3] == 'l' && |
| name[4] == 'e' && |
| name[5] == 'r') |
| { /* caller */ |
| return -KEY_caller; |
| } |
| |
| goto unknown; |
| |
| case 'h': |
| if (name[2] == 'r' && |
| name[3] == 'o' && |
| name[4] == 'o' && |
| name[5] == 't') |
| { /* chroot */ |
| return -KEY_chroot; |
| } |
| |
| goto unknown; |
| |
| default: |
| goto unknown; |
| } |
| |
| case 'd': |
| if (name[1] == 'e' && |
| name[2] == 'l' && |
| name[3] == 'e' && |
| name[4] == 't' && |
| name[5] == 'e') |
| { /* delete */ |
| return KEY_delete; |
| } |
| |
| goto unknown; |
| |
| case 'e': |
| switch (name[1]) |
| { |
| case 'l': |
| if (name[2] == 's' && |
| name[3] == 'e' && |
| name[4] == 'i' && |
| name[5] == 'f') |
| { /* elseif */ |
| Perl_ck_warner_d(aTHX_ packWARN(WARN_SYNTAX), "elseif should be elsif"); |
| } |
| |
| goto unknown; |
| |
| case 'x': |
| if (name[2] == 'i' && |
| name[3] == 's' && |
| name[4] == 't' && |
| name[5] == 's') |
| { /* exists */ |
| return KEY_exists; |
| } |
| |
| goto unknown; |
| |
| default: |
| goto unknown; |
| } |
| |
| case 'f': |
| switch (name[1]) |
| { |
| case 'i': |
| if (name[2] == 'l' && |
| name[3] == 'e' && |
| name[4] == 'n' && |
| name[5] == 'o') |
| { /* fileno */ |
| return -KEY_fileno; |
| } |
| |
| goto unknown; |
| |
| case 'o': |
| if (name[2] == 'r' && |
| name[3] == 'm' && |
| name[4] == 'a' && |
| name[5] == 't') |
| { /* format */ |
| return KEY_format; |
| } |
| |
| goto unknown; |
| |
| default: |
| goto unknown; |
| } |
| |
| case 'g': |
| if (name[1] == 'm' && |
| name[2] == 't' && |
| name[3] == 'i' && |
| name[4] == 'm' && |
| name[5] == 'e') |
| { /* gmtime */ |
| return -KEY_gmtime; |
| } |
| |
| goto unknown; |
| |
| case 'l': |
| switch (name[1]) |
| { |
| case 'e': |
| if (name[2] == 'n' && |
| name[3] == 'g' && |
| name[4] == 't' && |
| name[5] == 'h') |
| { /* length */ |
| return -KEY_length; |
| } |
| |
| goto unknown; |
| |
| case 'i': |
| if (name[2] == 's' && |
| name[3] == 't' && |
| name[4] == 'e' && |
| name[5] == 'n') |
| { /* listen */ |
| return -KEY_listen; |
| } |
| |
| goto unknown; |
| |
| default: |
| goto unknown; |
| } |
| |
| case 'm': |
| if (name[1] == 's' && |
| name[2] == 'g') |
| { |
| switch (name[3]) |
| { |
| case 'c': |
| if (name[4] == 't' && |
| name[5] == 'l') |
| { /* msgctl */ |
| return -KEY_msgctl; |
| } |
| |
| goto unknown; |
| |
| case 'g': |
| if (name[4] == 'e' && |
| name[5] == 't') |
| { /* msgget */ |
| return -KEY_msgget; |
| } |
| |
| goto unknown; |
| |
| case 'r': |
| if (name[4] == 'c' && |
| name[5] == 'v') |
| { /* msgrcv */ |
| return -KEY_msgrcv; |
| } |
| |
| goto unknown; |
| |
| case 's': |
| if (name[4] == 'n' && |
| name[5] == 'd') |
| { /* msgsnd */ |
| return -KEY_msgsnd; |
| } |
| |
| goto unknown; |
| |
| default: |
| goto unknown; |
| } |
| } |
| |
| goto unknown; |
| |
| case 'p': |
| if (name[1] == 'r' && |
| name[2] == 'i' && |
| name[3] == 'n' && |
| name[4] == 't' && |
| name[5] == 'f') |
| { /* printf */ |
| return KEY_printf; |
| } |
| |
| goto unknown; |
| |
| case 'r': |
| switch (name[1]) |
| { |
| case 'e': |
| switch (name[2]) |
| { |
| case 'n': |
| if (name[3] == 'a' && |
| name[4] == 'm' && |
| name[5] == 'e') |
| { /* rename */ |
| return -KEY_rename; |
| } |
| |
| goto unknown; |
| |
| case 't': |
| if (name[3] == 'u' && |
| name[4] == 'r' && |
| name[5] == 'n') |
| { /* return */ |
| return KEY_return; |
| } |
| |
| goto unknown; |
| |
| default: |
| goto unknown; |
| } |
| |
| case 'i': |
| if (name[2] == 'n' && |
| name[3] == 'd' && |
| name[4] == 'e' && |
| name[5] == 'x') |
| { /* rindex */ |
| return -KEY_rindex; |
| } |
| |
| goto unknown; |
| |
| default: |
| goto unknown; |
| } |
| |
| case 's': |
| switch (name[1]) |
| { |
| case 'c': |
| if (name[2] == 'a' && |
| name[3] == 'l' && |
| name[4] == 'a' && |
| name[5] == 'r') |
| { /* scalar */ |
| return KEY_scalar; |
| } |
| |
| goto unknown; |
| |
| case 'e': |
| switch (name[2]) |
| { |
| case 'l': |
| if (name[3] == 'e' && |
| name[4] == 'c' && |
| name[5] == 't') |
| { /* select */ |
| return -KEY_select; |
| } |
| |
| goto unknown; |
| |
| case 'm': |
| switch (name[3]) |
| { |
| case 'c': |
| if (name[4] == 't' && |
| name[5] == 'l') |
| { /* semctl */ |
| return -KEY_semctl; |
| } |
| |
| goto unknown; |
| |
| case 'g': |
| if (name[4] == 'e' && |
| name[5] == 't') |
| { /* semget */ |
| return -KEY_semget; |
| } |
| |
| goto unknown; |
| |
| default: |
| goto unknown; |
| } |
| |
| default: |
| goto unknown; |
| } |
| |
| case 'h': |
| if (name[2] == 'm') |
| { |
| switch (name[3]) |
| { |
| case 'c': |
| if (name[4] == 't' && |
| name[5] == 'l') |
| { /* shmctl */ |
| return -KEY_shmctl; |
| } |
| |
| goto unknown; |
| |
| case 'g': |
| if (name[4] == 'e' && |
| name[5] == 't') |
| { /* shmget */ |
| return -KEY_shmget; |
| } |
| |
| goto unknown; |
| |
| default: |
| goto unknown; |
| } |
| } |
| |
| goto unknown; |
| |
| case 'o': |
| if (name[2] == 'c' && |
| name[3] == 'k' && |
| name[4] == 'e' && |
| name[5] == 't') |
| { /* socket */ |
| return -KEY_socket; |
| } |
| |
| goto unknown; |
| |
| case 'p': |
| if (name[2] == 'l' && |
| name[3] == 'i' && |
| name[4] == 'c' && |
| name[5] == 'e') |
| { /* splice */ |
| return -KEY_splice; |
| } |
| |
| goto unknown; |
| |
| case 'u': |
| if (name[2] == 'b' && |
| name[3] == 's' && |
| name[4] == 't' && |
| name[5] == 'r') |
| { /* substr */ |
| return -KEY_substr; |
| } |
| |
| goto unknown; |
| |
| case 'y': |
| if (name[2] == 's' && |
| name[3] == 't' && |
| name[4] == 'e' && |
| name[5] == 'm') |
| { /* system */ |
| return -KEY_system; |
| } |
| |
| goto unknown; |
| |
| default: |
| goto unknown; |
| } |
| |
| case 'u': |
| if (name[1] == 'n') |
| { |
| switch (name[2]) |
| { |
| case 'l': |
| switch (name[3]) |
| { |
| case 'e': |
| if (name[4] == 's' && |
| name[5] == 's') |
| { /* unless */ |
| return KEY_unless; |
| } |
| |
| goto unknown; |
| |
| case 'i': |
| if (name[4] == 'n' && |
| name[5] == 'k') |
| { /* unlink */ |
| return -KEY_unlink; |
| } |
| |
| goto unknown; |
| |
| default: |
| goto unknown; |
| } |
| |
| case 'p': |
| if (name[3] == 'a' && |
| name[4] == 'c' && |
| name[5] == 'k') |
| { /* unpack */ |
| return -KEY_unpack; |
| } |
| |
| goto unknown; |
| |
| default: |
| goto unknown; |
| } |
| } |
| |
| goto unknown; |
| |
| case 'v': |
| if (name[1] == 'a' && |
| name[2] == 'l' && |
| name[3] == 'u' && |
| name[4] == 'e' && |
| name[5] == 's') |
| { /* values */ |
| return -KEY_values; |
| } |
| |
| goto unknown; |
| |
| default: |
| goto unknown; |
| } |
| |
| case 7: /* 30 tokens of length 7 */ |
| switch (name[0]) |
| { |
| case 'D': |
| if (name[1] == 'E' && |
| name[2] == 'S' && |
| name[3] == 'T' && |
| name[4] == 'R' && |
| name[5] == 'O' && |
| name[6] == 'Y') |
| { /* DESTROY */ |
| return KEY_DESTROY; |
| } |
| |
| goto unknown; |
| |
| case '_': |
| 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___SUB___IS_ENABLED ? -KEY___SUB__ : 0); |
| } |
| |
| goto unknown; |
| |
| default: |
| goto unknown; |
| } |
| } |
| |
| goto unknown; |
| |
| case 'b': |
| if (name[1] == 'i' && |
| name[2] == 'n' && |
| name[3] == 'm' && |
| name[4] == 'o' && |
| name[5] == 'd' && |
| name[6] == 'e') |
| { /* binmode */ |
| return -KEY_binmode; |
| } |
| |
| goto unknown; |
| |
| case 'c': |
| if (name[1] == 'o' && |
| name[2] == 'n' && |
| name[3] == 'n' && |
| name[4] == 'e' && |
| name[5] == 'c' && |
| name[6] == 't') |
| { /* connect */ |
| return -KEY_connect; |
| } |
| |
| goto unknown; |
| |
| case 'd': |
| switch (name[1]) |
| { |
| case 'b': |
| if (name[2] == 'm' && |
| name[3] == 'o' && |
| name[4] == 'p' && |
| name[5] == 'e' && |
| name[6] == 'n') |
| { /* dbmopen */ |
| return -KEY_dbmopen; |
| } |
| |
| goto unknown; |
| |
| case 'e': |
| if (name[2] == 'f') |
| { |
| switch (name[3]) |
| { |
| case 'a': |
| if (name[4] == 'u' && |
| name[5] == 'l' && |
| name[6] == 't') |
| { /* default */ |
| return (all_keywords || FEATURE_SWITCH_IS_ENABLED ? KEY_default : 0); |
| } |
| |
| goto unknown; |
| |
| case 'i': |
| if (name[4] == 'n' && |
| name[5] == 'e' && |
| name[6] == 'd') |
| { /* defined */ |
| return KEY_defined; |
| } |
| |
| goto unknown; |
| |
| default: |
| goto unknown; |
| } |
| } |
| |
| goto unknown; |
| |
| default: |
| goto unknown; |
| } |
| |
| case 'f': |
| if (name[1] == 'o' && |
| name[2] == 'r' && |
| name[3] == 'e' && |
| name[4] == 'a' && |
| name[5] == 'c' && |
| name[6] == 'h') |
| { /* foreach */ |
| return KEY_foreach; |
| } |
| |
| goto unknown; |
| |
| case 'g': |
| if (name[1] == 'e' && |
| name[2] == 't' && |
| name[3] == 'p') |
| { |
| switch (name[4]) |
| { |
| case 'g': |
| if (name[5] == 'r' && |
| name[6] == 'p') |
| { /* getpgrp */ |
| return -KEY_getpgrp; |
| } |
| |
| goto unknown; |
| |
| case 'p': |
| if (name[5] == 'i' && |
| name[6] == 'd') |
| { /* getppid */ |
| return -KEY_getppid; |
| } |
| |
| goto unknown; |
| |
| default: |
| goto unknown; |
| } |
| } |
| |
| goto unknown; |
| |
| case 'l': |
| if (name[1] == 'c' && |
| name[2] == 'f' && |
| name[3] == 'i' && |
| name[4] == 'r' && |
| name[5] == 's' && |
| name[6] == 't') |
| { /* lcfirst */ |
| return -KEY_lcfirst; |
| } |
| |
| goto unknown; |
| |
| case 'o': |
| if (name[1] == 'p' && |
| name[2] == 'e' && |
| name[3] == 'n' && |
| name[4] == 'd' && |
| name[5] == 'i' && |
| name[6] == 'r') |
| { /* opendir */ |
| return -KEY_opendir; |
| } |
| |
| goto unknown; |
| |
| case 'p': |
| if (name[1] == 'a' && |
| name[2] == 'c' && |
| name[3] == 'k' && |
| name[4] == 'a' && |
| name[5] == 'g' && |
| name[6] == 'e') |
| { /* package */ |
| return KEY_package; |
| } |
| |
| goto unknown; |
| |
| case 'r': |
| if (name[1] == 'e') |
| { |
| switch (name[2]) |
| { |
| case 'a': |
| if (name[3] == 'd' && |
| name[4] == 'd' && |
| name[5] == 'i' && |
| name[6] == 'r') |
| { /* readdir */ |
| return -KEY_readdir; |
| } |
| |
| goto unknown; |
| |
| case 'q': |
| if (name[3] == 'u' && |
| name[4] == 'i' && |
| name[5] == 'r' && |
| name[6] == 'e') |
| { /* require */ |
| return KEY_require; |
| } |
| |
| goto unknown; |
| |
| case 'v': |
| if (name[3] == 'e' && |
| name[4] == 'r' && |
| name[5] == 's' && |
| name[6] == 'e') |
| { /* reverse */ |
| return -KEY_reverse; |
| } |
| |
| goto unknown; |
| |
| default: |
| goto unknown; |
| } |
| } |
| |
| goto unknown; |
| |
| case 's': |
| switch (name[1]) |
| { |
| case 'e': |
| switch (name[2]) |
| { |
| case 'e': |
| if (name[3] == 'k' && |
| name[4] == 'd' && |
| name[5] == 'i' && |
| name[6] == 'r') |
| { /* seekdir */ |
| return -KEY_seekdir; |
| } |
| |
| goto unknown; |
| |
| case 't': |
| if (name[3] == 'p' && |
| name[4] == 'g' && |
| name[5] == 'r' && |
| name[6] == 'p') |
| { /* setpgrp */ |
| return -KEY_setpgrp; |
| } |
| |
| goto unknown; |
| |
| default: |
| goto unknown; |
| } |
| |
| case 'h': |
| if (name[2] == 'm' && |
| name[3] == 'r' && |
| name[4] == 'e' && |
| name[5] == 'a' && |
| name[6] == 'd') |
| { /* shmread */ |
| return -KEY_shmread; |
| } |
| |
| goto unknown; |
| |
| case 'p': |
| if (name[2] == 'r' && |
| name[3] == 'i' && |
| name[4] == 'n' && |
| name[5] == 't' && |
| name[6] == 'f') |
| { /* sprintf */ |
| return -KEY_sprintf; |
| } |
| |
| goto unknown; |
| |
| case 'y': |
| switch (name[2]) |
| { |
| case 'm': |
| if (name[3] == 'l' && |
| name[4] == 'i' && |
| name[5] == 'n' && |
| name[6] == 'k') |
| { /* symlink */ |
| return -KEY_symlink; |
| } |
| |
| goto unknown; |
| |
| case 's': |
| switch (name[3]) |
| { |
| case 'c': |
| if (name[4] == 'a' && |
| name[5] == 'l' && |
| name[6] == 'l') |
| { /* syscall */ |
| return -KEY_syscall; |
| } |
| |
| goto unknown; |
| |
| case 'o': |
| if (name[4] == 'p' && |
| name[5] == 'e' && |
| name[6] == 'n') |
| { /* sysopen */ |
| return -KEY_sysopen; |
| } |
| |
| goto unknown; |
| |
| case 'r': |
| if (name[4] == 'e' && |
| name[5] == 'a' && |
| name[6] == 'd') |
| { /* sysread */ |
| return -KEY_sysread; |
| } |
| |
| goto unknown; |
| |
| case 's': |
| if (name[4] == 'e' && |
| name[5] == 'e' && |
| name[6] == 'k') |
| { /* sysseek */ |
| return -KEY_sysseek; |
| } |
| |
| goto unknown; |
| |
| default: |
| goto unknown; |
| } |
| |
| default: |
| goto unknown; |
| } |
| |
| default: |
| goto unknown; |
| } |
| |
| case 't': |
| if (name[1] == 'e' && |
| name[2] == 'l' && |
| name[3] == 'l' && |
| name[4] == 'd' && |
| name[5] == 'i' && |
| name[6] == 'r') |
| { /* telldir */ |
| return -KEY_telldir; |
| } |
| |
| goto unknown; |
| |
| case 'u': |
| switch (name[1]) |
| { |
| case 'c': |
| if (name[2] == 'f' && |
| name[3] == 'i' && |
| name[4] == 'r' && |
| name[5] == 's' && |
| name[6] == 't') |
| { /* ucfirst */ |
| return -KEY_ucfirst; |
| } |
| |
| goto unknown; |
| |
| case 'n': |
| if (name[2] == 's' && |
| name[3] == 'h' && |
| name[4] == 'i' && |
| name[5] == 'f' && |
| name[6] == 't') |
| { /* unshift */ |
| return -KEY_unshift; |
| } |
| |
| goto unknown; |
| |
| default: |
| goto unknown; |
| } |
| |
| case 'w': |
| if (name[1] == 'a' && |
| name[2] == 'i' && |
| name[3] == 't' && |
| name[4] == 'p' && |
| name[5] == 'i' && |
| name[6] == 'd') |
| { /* waitpid */ |
| return -KEY_waitpid; |
| } |
| |
| goto unknown; |
| |
| default: |
| goto unknown; |
| } |
| |
| case 8: /* 26 tokens of length 8 */ |
| switch (name[0]) |
| { |
| case 'A': |
| if (name[1] == 'U' && |
| name[2] == 'T' && |
| name[3] == 'O' && |
| name[4] == 'L' && |
| name[5] == 'O' && |
| name[6] == 'A' && |
| name[7] == 'D') |
| { /* AUTOLOAD */ |
| return KEY_AUTOLOAD; |
| } |
| |
| goto unknown; |
| |
| case '_': |
| if (name[1] == '_') |
| { |
| switch (name[2]) |
| { |
| case 'D': |
| if (name[3] == 'A' && |
| name[4] == 'T' && |
| name[5] == 'A' && |
| name[6] == '_' && |
| name[7] == '_') |
| { /* __DATA__ */ |
| return KEY___DATA__; |
| } |
| |
| goto unknown; |
| |
| case 'F': |
| if (name[3] == 'I' && |
| name[4] == 'L' && |
| name[5] == 'E' && |
| name[6] == '_' && |
| name[7] == '_') |
| { /* __FILE__ */ |
| return -KEY___FILE__; |
| } |
| |
| goto unknown; |
| |
| case 'L': |
| if (name[3] == 'I' && |
| name[4] == 'N' && |
| name[5] == 'E' && |
| name[6] == '_' && |
| name[7] == '_') |
| { /* __LINE__ */ |
| return -KEY___LINE__; |
| } |
| |
| goto unknown; |
| |
| default: |
| goto unknown; |
| } |
| } |
| |
| goto unknown; |
| |
| case 'c': |
| switch (name[1]) |
| { |
| case 'l': |
| if (name[2] == 'o' && |
| name[3] == 's' && |
| name[4] == 'e' && |
| name[5] == 'd' && |
| name[6] == 'i' && |
| name[7] == 'r') |
| { /* closedir */ |
| return -KEY_closedir; |
| } |
| |
| goto unknown; |
| |
| case 'o': |
| if (name[2] == 'n' && |
| name[3] == 't' && |
| name[4] == 'i' && |
| name[5] == 'n' && |
| name[6] == 'u' && |
| name[7] == 'e') |
| { /* continue */ |
| return -KEY_continue; |
| } |
| |
| goto unknown; |
| |
| default: |
| goto unknown; |
| } |
| |
| case 'd': |
| if (name[1] == 'b' && |
| name[2] == 'm' && |
| name[3] == 'c' && |
| name[4] == 'l' && |
| name[5] == 'o' && |
| name[6] == 's' && |
| name[7] == 'e') |
| { /* dbmclose */ |
| return -KEY_dbmclose; |
| } |
| |
| goto unknown; |
| |
| case 'e': |
| if (name[1] == 'n' && |
| name[2] == 'd') |
| { |
| switch (name[3]) |
| { |
| case 'g': |
| if (name[4] == 'r' && |
| name[5] == 'e' && |
| name[6] == 'n' && |
| name[7] == 't') |
| { /* endgrent */ |
| return -KEY_endgrent; |
| } |
| |
| goto unknown; |
| |
| case 'p': |
| if (name[4] == 'w' && |
| name[5] == 'e' && |
| name[6] == 'n' && |
| name[7] == 't') |
| { /* endpwent */ |
| return -KEY_endpwent; |
| } |
| |
| goto unknown; |
| |
| default: |
| goto unknown; |
| } |
| } |
| |
| goto unknown; |
| |
| case 'f': |
| if (name[1] == 'o' && |
| name[2] == 'r' && |
| name[3] == 'm' && |
| name[4] == 'l' && |
| name[5] == 'i' && |
| name[6] == 'n' && |
| name[7] == 'e') |
| { /* formline */ |
| return -KEY_formline; |
| } |
| |
| goto unknown; |
| |
| case 'g': |
| if (name[1] == 'e' && |
| name[2] == 't') |
| { |
| switch (name[3]) |
| { |
| case 'g': |
| if (name[4] == 'r') |
| { |
| switch (name[5]) |
| { |
| case 'e': |
| if (name[6] == 'n' && |
| name[7] == 't') |
| { /* getgrent */ |
| return -KEY_getgrent; |
| } |
| |
| goto unknown; |
| |
| case 'g': |
| if (name[6] == 'i' && |
| name[7] == 'd') |
| { /* getgrgid */ |
| return -KEY_getgrgid; |
| } |
| |
| goto unknown; |
| |
| case 'n': |
| if (name[6] == 'a' && |
| name[7] == 'm') |
| { /* getgrnam */ |
| return -KEY_getgrnam; |
| } |
| |
| goto unknown; |
| |
| default: |
| goto unknown; |
| } |
| } |
| |
| goto unknown; |
| |
| case 'l': |
| if (name[4] == 'o' && |
| name[5] == 'g' && |
| name[6] == 'i' && |
| name[7] == 'n') |
| { /* getlogin */ |
| return -KEY_getlogin; |
| } |
| |
| goto unknown; |
| |
| case 'p': |
| if (name[4] == 'w') |
| { |
| switch (name[5]) |
| { |
| case 'e': |
| if (name[6] == 'n' && |
| name[7] == 't') |
| { /* getpwent */ |
| return -KEY_getpwent; |
| } |
| |
| goto unknown; |
| |
| case 'n': |
| if (name[6] == 'a' && |
| name[7] == 'm') |
| { /* getpwnam */ |
| return -KEY_getpwnam; |
| } |
| |
| goto unknown; |
| |
| case 'u': |
| if (name[6] == 'i' && |
| name[7] == 'd') |
| { /* getpwuid */ |
| return -KEY_getpwuid; |
| } |
| |
| goto unknown; |
| |
| default: |
| goto unknown; |
| } |
| } |
| |
| goto unknown; |
| |
| default: |
| goto unknown; |
| } |
| } |
| |
| goto unknown; |
| |
| case 'r': |
| if (name[1] == 'e' && |
| name[2] == 'a' && |
| name[3] == 'd') |
| { |
| switch (name[4]) |
| { |
| case 'l': |
| if (name[5] == 'i' && |
| name[6] == 'n') |
| { |
| switch (name[7]) |
| { |
| case 'e': |
| { /* readline */ |
| return -KEY_readline; |
| } |
| |
| case 'k': |
| { /* readlink */ |
| return -KEY_readlink; |
| } |
| |
| default: |
| goto unknown; |
| } |
| } |
| |
| goto unknown; |
| |
| case 'p': |
| if (name[5] == 'i' && |
| name[6] == 'p' && |
| name[7] == 'e') |
| { /* readpipe */ |
| return -KEY_readpipe; |
| } |
| |
| goto unknown; |
| |
| default: |
| goto unknown; |
| } |
| } |
| |
| goto unknown; |
| |
| case 's': |
| switch (name[1]) |
| { |
| case 'e': |
| if (name[2] == 't') |
| { |
| switch (name[3]) |
| { |
| case 'g': |
| if (name[4] == 'r' && |
| name[5] == 'e' && |
| name[6] == 'n' && |
| name[7] == 't') |
| { /* setgrent */ |
| return -KEY_setgrent; |
| } |
| |
| goto unknown; |
| |
| case 'p': |
| if (name[4] == 'w' && |
| name[5] == 'e' && |
| name[6] == 'n' && |
| name[7] == 't') |
| { /* setpwent */ |
| return -KEY_setpwent; |
| } |
| |
| goto unknown; |
| |
| default: |
| goto unknown; |
| } |
| } |
| |
| goto unknown; |
| |
| case 'h': |
| switch (name[2]) |
| { |
| case 'm': |
| if (name[3] == 'w' && |
| name[4] == 'r' && |
| name[5] == 'i' && |
| name[6] == 't' && |
| name[7] == 'e') |
| { /* shmwrite */ |
| return -KEY_shmwrite; |
| } |
| |
| goto unknown; |
| |
| case 'u': |
| if (name[3] == 't' && |
| name[4] == 'd' && |
| name[5] == 'o' && |
| name[6] == 'w' && |
| name[7] == 'n') |
| { /* shutdown */ |
| return -KEY_shutdown; |
| } |
| |
| goto unknown; |
| |
| default: |
| goto unknown; |
| } |
| |
| case 'y': |
| if (name[2] == 's' && |
| name[3] == 'w' && |
| name[4] == 'r' && |
| name[5] == 'i' && |
| name[6] == 't' && |
| name[7] == 'e') |
| { /* syswrite */ |
| return -KEY_syswrite; |
| } |
| |
| goto unknown; |
| |
| default: |
| goto unknown; |
| } |
| |
| case 't': |
| if (name[1] == 'r' && |
| name[2] == 'u' && |
| name[3] == 'n' && |
| name[4] == 'c' && |
| name[5] == 'a' && |
| name[6] == 't' && |
| name[7] == 'e') |
| { /* truncate */ |
| return -KEY_truncate; |
| } |
| |
| goto unknown; |
| |
| default: |
| goto unknown; |
| } |
| |
| case 9: /* 10 tokens of length 9 */ |
| switch (name[0]) |
| { |
| case 'U': |
| if (name[1] == 'N' && |
| name[2] == 'I' && |
| name[3] == 'T' && |
| name[4] == 'C' && |
| name[5] == 'H' && |
| name[6] == 'E' && |
| name[7] == 'C' && |
| name[8] == 'K') |
| { /* UNITCHECK */ |
| return KEY_UNITCHECK; |
| } |
| |
| goto unknown; |
| |
| case 'e': |
| 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; |
| |
| 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_EVALBYTES_IS_ENABLED ? -KEY_evalbytes : 0); |
| } |
| |
| goto unknown; |
| |
| default: |
| goto unknown; |
| } |
| |
| case 'g': |
| if (name[1] == 'e' && |
| name[2] == 't' && |
| name[3] == 'n' && |
| name[4] == 'e' && |
| name[5] == 't' && |
| name[6] == 'e' && |
| name[7] == 'n' && |
| name[8] == 't') |
| { /* getnetent */ |
| return -KEY_getnetent; |
| } |
| |
| goto unknown; |
| |
| case 'l': |
| if (name[1] == 'o' && |
| name[2] == 'c' && |
| name[3] == 'a' && |
| name[4] == 'l' && |
| name[5] == 't' && |
| name[6] == 'i' && |
| name[7] == 'm' && |
| name[8] == 'e') |
| { /* localtime */ |
| return -KEY_localtime; |
| } |
| |
| goto unknown; |
| |
| case 'p': |
| if (name[1] == 'r' && |
| name[2] == 'o' && |
| name[3] == 't' && |
| name[4] == 'o' && |
| name[5] == 't' && |
| name[6] == 'y' && |
| name[7] == 'p' && |
| name[8] == 'e') |
| { /* prototype */ |
| return KEY_prototype; |
| } |
| |
| goto unknown; |
| |
| case 'q': |
| if (name[1] == 'u' && |
| name[2] == 'o' && |
| name[3] == 't' && |
| name[4] == 'e' && |
| name[5] == 'm' && |
| name[6] == 'e' && |
| name[7] == 't' && |
| name[8] == 'a') |
| { /* quotemeta */ |
| return -KEY_quotemeta; |
| } |
| |
| goto unknown; |
| |
| case 'r': |
| if (name[1] == 'e' && |
| name[2] == 'w' && |
| name[3] == 'i' && |
| name[4] == 'n' && |
| name[5] == 'd' && |
| name[6] == 'd' && |
| name[7] == 'i' && |
| name[8] == 'r') |
| { /* rewinddir */ |
| return -KEY_rewinddir; |
| } |
| |
| goto unknown; |
| |
| case 's': |
| if (name[1] == 'e' && |
| name[2] == 't' && |
| name[3] == 'n' && |
| name[4] == 'e' && |
| name[5] == 't' && |
| name[6] == 'e' && |
| name[7] == 'n' && |
| name[8] == 't') |
| { /* setnetent */ |
| return -KEY_setnetent; |
| } |
| |
| goto unknown; |
| |
| case 'w': |
| if (name[1] == 'a' && |
| name[2] == 'n' && |
| name[3] == 't' && |
| name[4] == 'a' && |
| name[5] == 'r' && |
| name[6] == 'r' && |
| name[7] == 'a' && |
| name[8] == 'y') |
| { /* wantarray */ |
| return -KEY_wantarray; |
| } |
| |
| goto unknown; |
| |
| default: |
| goto unknown; |
| } |
| |
| case 10: /* 9 tokens of length 10 */ |
| switch (name[0]) |
| { |
| case 'e': |
| if (name[1] == 'n' && |
| name[2] == 'd') |
| { |
| switch (name[3]) |
| { |
| case 'h': |
| if (name[4] == 'o' && |
| name[5] == 's' && |
| name[6] == 't' && |
| name[7] == 'e' && |
| name[8] == 'n' && |
| name[9] == 't') |
| { /* endhostent */ |
| return -KEY_endhostent; |
| } |
| |
| goto unknown; |
| |
| case 's': |
| if (name[4] == 'e' && |
| name[5] == 'r' && |
| name[6] == 'v' && |
| name[7] == 'e' && |
| name[8] == 'n' && |
| name[9] == 't') |
| { /* endservent */ |
| return -KEY_endservent; |
| } |
| |
| goto unknown; |
| |
| default: |
| goto unknown; |
| } |
| } |
| |
| goto unknown; |
| |
| case 'g': |
| if (name[1] == 'e' && |
| name[2] == 't') |
| { |
| switch (name[3]) |
| { |
| case 'h': |
| if (name[4] == 'o' && |
| name[5] == 's' && |
| name[6] == 't' && |
| name[7] == 'e' && |
| name[8] == 'n' && |
| name[9] == 't') |
| { /* gethostent */ |
| return -KEY_gethostent; |
| } |
| |
| goto unknown; |
| |
| case 's': |
| switch (name[4]) |
| { |
| case 'e': |
| if (name[5] == 'r' && |
| name[6] == 'v' && |
| name[7] == 'e' && |
| name[8] == 'n' && |
| name[9] == 't') |
| { /* getservent */ |
| return -KEY_getservent; |
| } |
| |
| goto unknown; |
| |
| case 'o': |
| if (name[5] == 'c' && |
| name[6] == 'k' && |
| name[7] == 'o' && |
| name[8] == 'p' && |
| name[9] == 't') |
| { /* getsockopt */ |
| return -KEY_getsockopt; |
| } |
| |
| goto unknown; |
| |
| default: |
| goto unknown; |
| } |
| |
| default: |
| goto unknown; |
| } |
| } |
| |
| goto unknown; |
| |
| case 's': |
| switch (name[1]) |
| { |
| case 'e': |
| if (name[2] == 't') |
| { |
| switch (name[3]) |
| { |
| case 'h': |
| if (name[4] == 'o' && |
| name[5] == 's' && |
| name[6] == 't' && |
| name[7] == 'e' && |
| name[8] == 'n' && |
| name[9] == 't') |
| { /* sethostent */ |
| return -KEY_sethostent; |
| } |
| |
| goto unknown; |
| |
| case 's': |
| switch (name[4]) |
| { |
| case 'e': |
| if (name[5] == 'r' && |
| name[6] == 'v' && |
| name[7] == 'e' && |
| name[8] == 'n' && |
| name[9] == 't') |
| { /* setservent */ |
| return -KEY_setservent; |
| } |
| |
| goto unknown; |
| |
| case 'o': |
| if (name[5] == 'c' && |
| name[6] == 'k' && |
| name[7] == 'o' && |
| name[8] == 'p' && |
| name[9] == 't') |
| { /* setsockopt */ |
| return -KEY_setsockopt; |
| } |
| |
| goto unknown; |
| |
| default: |
| goto unknown; |
| } |
| |
| default: |
| goto unknown; |
| } |
| } |
| |
| goto unknown; |
| |
| case 'o': |
| if (name[2] == 'c' && |
| name[3] == 'k' && |
| name[4] == 'e' && |
| name[5] == 't' && |
| name[6] == 'p' && |
| name[7] == 'a' && |
| name[8] == 'i' && |
| name[9] == 'r') |
| { /* socketpair */ |
| return -KEY_socketpair; |
| } |
| |
| goto unknown; |
| |
| default: |
| goto unknown; |
| } |
| |
| default: |
| goto unknown; |
| } |
| |
| case 11: /* 8 tokens of length 11 */ |
| switch (name[0]) |
| { |
| case '_': |
| if (name[1] == '_' && |
| name[2] == 'P' && |
| name[3] == 'A' && |
| name[4] == 'C' && |
| name[5] == 'K' && |
| name[6] == 'A' && |
| name[7] == 'G' && |
| name[8] == 'E' && |
| name[9] == '_' && |
| name[10] == '_') |
| { /* __PACKAGE__ */ |
| return -KEY___PACKAGE__; |
| } |
| |
| goto unknown; |
| |
| case 'e': |
| if (name[1] == 'n' && |
| name[2] == 'd' && |
| name[3] == 'p' && |
| name[4] == 'r' && |
| name[5] == 'o' && |
| name[6] == 't' && |
| name[7] == 'o' && |
| name[8] == 'e' && |
| name[9] == 'n' && |
| name[10] == 't') |
| { /* endprotoent */ |
| return -KEY_endprotoent; |
| } |
| |
| goto unknown; |
| |
| case 'g': |
| if (name[1] == 'e' && |
| name[2] == 't') |
| { |
| switch (name[3]) |
| { |
| case 'p': |
| switch (name[4]) |
| { |
| case 'e': |
| if (name[5] == 'e' && |
| name[6] == 'r' && |
| name[7] == 'n' && |
| name[8] == 'a' && |
| name[9] == 'm' && |
| name[10] == 'e') |
| { /* getpeername */ |
| return -KEY_getpeername; |
| } |
| |
| goto unknown; |
| |
| case 'r': |
| switch (name[5]) |
| { |
| case 'i': |
| if (name[6] == 'o' && |
| name[7] == 'r' && |
| name[8] == 'i' && |
| name[9] == 't' && |
| name[10] == 'y') |
| { /* getpriority */ |
| return -KEY_getpriority; |
| } |
| |
| goto unknown; |
| |
| case 'o': |
| if (name[6] == 't' && |
| name[7] == 'o' && |
| name[8] == 'e' && |
| name[9] == 'n' && |
| name[10] == 't') |
| { /* getprotoent */ |
| return -KEY_getprotoent; |
| } |
| |
| goto unknown; |
| |
| default: |
| goto unknown; |
| } |
| |
| default: |
| goto unknown; |
| } |
| |
| case 's': |
| if (name[4] == 'o' && |
| name[5] == 'c' && |
| name[6] == 'k' && |
| name[7] == 'n' && |
| name[8] == 'a' && |
| name[9] == 'm' && |
| name[10] == 'e') |
| { /* getsockname */ |
| return -KEY_getsockname; |
| } |
| |
| goto unknown; |
| |
| default: |
| goto unknown; |
| } |
| } |
| |
| goto unknown; |
| |
| case 's': |
| if (name[1] == 'e' && |
| name[2] == 't' && |
| name[3] == 'p' && |
| name[4] == 'r') |
| { |
| switch (name[5]) |
| { |
| case 'i': |
| if (name[6] == 'o' && |
| name[7] == 'r' && |
| name[8] == 'i' && |
| name[9] == 't' && |
| name[10] == 'y') |
| { /* setpriority */ |
| return -KEY_setpriority; |
| } |
| |
| goto unknown; |
| |
| case 'o': |
| if (name[6] == 't' && |
| name[7] == 'o' && |
| name[8] == 'e' && |
| name[9] == 'n' && |
| name[10] == 't') |
| { /* setprotoent */ |
| return -KEY_setprotoent; |
| } |
| |
| goto unknown; |
| |
| default: |
| goto unknown; |
| } |
| } |
| |
| goto unknown; |
| |
| default: |
| goto unknown; |
| } |
| |
| case 12: /* 2 tokens of length 12 */ |
| if (name[0] == 'g' && |
| name[1] == 'e' && |
| name[2] == 't' && |
| name[3] == 'n' && |
| name[4] == 'e' && |
| name[5] == 't' && |
| name[6] == 'b' && |
| name[7] == 'y') |
| { |
| switch (name[8]) |
| { |
| case 'a': |
| if (name[9] == 'd' && |
| name[10] == 'd' && |
| name[11] == 'r') |
| { /* getnetbyaddr */ |
| return -KEY_getnetbyaddr; |
| } |
| |
| goto unknown; |
| |
| case 'n': |
| if (name[9] == 'a' && |
| name[10] == 'm' && |
| name[11] == 'e') |
| { /* getnetbyname */ |
| return -KEY_getnetbyname; |
| } |
| |
| goto unknown; |
| |
| default: |
| goto unknown; |
| } |
| } |
| |
| goto unknown; |
| |
| case 13: /* 4 tokens of length 13 */ |
| if (name[0] == 'g' && |
| name[1] == 'e' && |
| name[2] == 't') |
| { |
| switch (name[3]) |
| { |
| case 'h': |
| if (name[4] == 'o' && |
| name[5] == 's' && |
| name[6] == 't' && |
| name[7] == 'b' && |
| name[8] == 'y') |
| { |
| switch (name[9]) |
| { |
| case 'a': |
| if (name[10] == 'd' && |
| name[11] == 'd' && |
| name[12] == 'r') |
| { /* gethostbyaddr */ |
| return -KEY_gethostbyaddr; |
| } |
| |
| goto unknown; |
| |
| case 'n': |
| if (name[10] == 'a' && |
| name[11] == 'm' && |
| name[12] == 'e') |
| { /* gethostbyname */ |
| return -KEY_gethostbyname; |
| } |
| |
| goto unknown; |
| |
| default: |
| goto unknown; |
| } |
| } |
| |
| goto unknown; |
| |
| case 's': |
| if (name[4] == 'e' && |
| name[5] == 'r' && |
| name[6] == 'v' && |
| name[7] == 'b' && |
| name[8] == 'y') |
| { |
| switch (name[9]) |
| { |
| case 'n': |
| if (name[10] == 'a' && |
| name[11] == 'm' && |
| name[12] == 'e') |
| { /* getservbyname */ |
| return -KEY_getservbyname; |
| } |
| |
| goto unknown; |
| |
| case 'p': |
| if (name[10] == 'o' && |
| name[11] == 'r' && |
| name[12] == 't') |
| { /* getservbyport */ |
| return -KEY_getservbyport; |
| } |
| |
| goto unknown; |
| |
| default: |
| goto unknown; |
| } |
| } |
| |
| goto unknown; |
| |
| default: |
| goto unknown; |
| } |
| } |
| |
| goto unknown; |
| |
| case 14: /* 1 tokens of length 14 */ |
| if (name[0] == 'g' && |
| name[1] == 'e' && |
| name[2] == 't' && |
| name[3] == 'p' && |
| name[4] == 'r' && |
| name[5] == 'o' && |
| name[6] == 't' && |
| name[7] == 'o' && |
| name[8] == 'b' && |
| name[9] == 'y' && |
| name[10] == 'n' && |
| name[11] == 'a' && |
| name[12] == 'm' && |
| name[13] == 'e') |
| { /* getprotobyname */ |
| return -KEY_getprotobyname; |
| } |
| |
| goto unknown; |
| |
| case 16: /* 1 tokens of length 16 */ |
| if (name[0] == 'g' && |
| name[1] == 'e' && |
| name[2] == 't' && |
| name[3] == 'p' && |
| name[4] == 'r' && |
| name[5] == 'o' && |
| name[6] == 't' && |
| name[7] == 'o' && |
| name[8] == 'b' && |
| name[9] == 'y' && |
| name[10] == 'n' && |
| name[11] == 'u' && |
| name[12] == 'm' && |
| name[13] == 'b' && |
| name[14] == 'e' && |
| name[15] == 'r') |
| { /* getprotobynumber */ |
| return -KEY_getprotobynumber; |
| } |
| |
| goto unknown; |
| |
| default: |
| goto unknown; |
| } |
| |
| unknown: |
| return 0; |
| } |
| |
| /* Generated from: |
| * e5a540774760ea54c761ef17ee4a153cc264e9a700b817d561e390730c457406 regen/keywords.pl |
| * ex: set ro: */ |