diff options
author | Nicholas Clark <nick@ccl4.org> | 2011-01-24 10:30:51 +0000 |
---|---|---|
committer | Nicholas Clark <nick@ccl4.org> | 2011-01-24 10:30:51 +0000 |
commit | 26ea9e123d12cb8db56e9e161eaec98bd295b821 (patch) | |
tree | 4324a860211114b3044a6c0e0ec81d40e1b2be2b /keywords.c | |
parent | 858e1d20cc10250fd3c36107b4f5fff9b80332aa (diff) | |
download | perl-26ea9e123d12cb8db56e9e161eaec98bd295b821.tar.gz |
Break out the generated function Perl_keywords() into keywords.c, a new file.
As it and Perl_yylex() both need FEATURE_IS_ENABLED, feature_is_enabled() is
no longer static, and the two macro definitions move from toke.c to perl.h
Previously, one had to cut and paste the output of perl_keywords.pl into the
middle of toke.c, and it was not clear that it was generated code.
Diffstat (limited to 'keywords.c')
-rw-r--r-- | keywords.c | 3397 |
1 files changed, 3397 insertions, 0 deletions
diff --git a/keywords.c b/keywords.c new file mode 100644 index 0000000000..199eaedf68 --- /dev/null +++ b/keywords.c @@ -0,0 +1,3397 @@ +/* + * The following code was generated by perl_keyword.pl. + */ + +#include "EXTERN.h" +#define PERL_IN_KEYWORDS_C +#include "perl.h" +#include "keywords.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: /* 18 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 '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_IS_ENABLED("say") ? 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_IS_ENABLED("switch") ? 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_IS_ENABLED("switch") ? -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_IS_ENABLED("switch") ? 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_IS_ENABLED("state") ? 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: /* 29 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] == '_' && + name[2] == 'E' && + name[3] == 'N' && + name[4] == 'D' && + name[5] == '_' && + name[6] == '_') + { /* __END__ */ + return KEY___END__; + } + + 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_IS_ENABLED("switch") ? 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: /* 9 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': + 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; + } + + 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; +} |