return WORD;
}
-/* Weights are the number of occurrences of that keyword in about 135M of
- input to Perl_keyword from a lot of real perl. This routine is about 20%
- faster than the routine it replaces. */
+/*
+ * The following code was generated by perl_keyword.pl.
+ */
I32
-Perl_keyword (pTHX_ char *name, I32 len) {
- /* Initially switch on the length of the name. */
- switch (len) {
- case 1:
- /* Names all of length 1. */
- /* m q s x y */
- /* Offset 0 gives the best switch position. */
- switch (name[0]) {
- case 'm':
+Perl_keyword (pTHX_ char *name, I32 len)
+{
+ switch (len)
+ {
+ case 1: /* 5 tokens of length 1 */
+ switch (name[0])
{
- return KEY_m; /* Weight 148776 */
+ case 'm':
+ { /* m */
+ return KEY_m;
+ }
+
+ goto unknown;
+
+ case 'q':
+ { /* q */
+ return KEY_q;
+ }
+
+ goto unknown;
+
+ case 's':
+ { /* s */
+ return KEY_s;
+ }
+
+ goto unknown;
+
+ case 'x':
+ { /* x */
+ return -KEY_x;
+ }
+
+ goto unknown;
+
+ case 'y':
+ { /* y */
+ return KEY_y;
+ }
+
+ goto unknown;
+
+ default:
+ goto unknown;
}
- break;
- case 'q':
+
+ case 2: /* 18 tokens of length 2 */
+ switch (name[0])
{
- return KEY_q; /* Weight 69076 */
+ 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;
+ }
+
+ goto unknown;
+
+ case 't':
+ { /* gt */
+ return -KEY_gt;
+ }
+
+ goto unknown;
+
+ 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;
+ }
+
+ goto unknown;
+
+ case 'e':
+ { /* le */
+ return -KEY_le;
+ }
+
+ goto unknown;
+
+ case 't':
+ { /* lt */
+ return -KEY_lt;
+ }
+
+ goto unknown;
+
+ 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;
+ }
+
+ goto unknown;
+
+ case 'o':
+ { /* no */
+ return KEY_no;
+ }
+
+ goto unknown;
+
+ 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;
+ }
+
+ goto unknown;
+
+ case 'r':
+ { /* qr */
+ return KEY_qr;
+ }
+
+ goto unknown;
+
+ case 'w':
+ { /* qw */
+ return KEY_qw;
+ }
+
+ goto unknown;
+
+ case 'x':
+ { /* qx */
+ return KEY_qx;
+ }
+
+ goto unknown;
+
+ 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;
}
- break;
- case 's':
+
+ case 3: /* 28 tokens of length 3 */
+ switch (name[0])
{
- return KEY_s; /* Weight 403691 */
+ 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 'r':
+ if (name[2] == 'r')
+ { /* err */
+ return -KEY_err;
+ }
+
+ 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;
+ }
+
+ goto unknown;
+
+ case 's':
+ { /* pos */
+ return KEY_pos;
+ }
+
+ goto unknown;
+
+ 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 '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;
}
- break;
- case 'x':
+
+ case 4: /* 40 tokens of length 4 */
+ switch (name[0])
{
- return -KEY_x; /* Weight 38549 */
+ 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':
+ if (name[1] == '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;
+ }
+ }
+
+ goto unknown;
+
+ default:
+ goto unknown;
}
- break;
- case 'y':
+
+ case 5: /* 36 tokens of length 5 */
+ switch (name[0])
{
- return KEY_y; /* Weight 567 */
- }
- break;
- }
- break;
- case 2:
- /* Names all of length 2. */
- /* do eq ge gt if lc le lt my ne no or qq qr qw qx tr uc */
- /* Offset 0 gives the best switch position. */
- switch (name[0]) {
- case 'd':
- if (name[1] == 'o') {
- return KEY_do; /* Weight 96004 */
- }
- break;
- case 'e':
- if (name[1] == 'q') {
- return -KEY_eq; /* Weight 797065 */
- }
- break;
- case 'g':
- if (name[1] == 'e') {
- return -KEY_ge; /* Weight 5666 */
- }
- if (name[1] == 't') {
- return -KEY_gt; /* Weight 897 */
- }
- break;
- case 'i':
- if (name[1] == 'f') {
- return KEY_if; /* Weight 2482605 */
- }
- break;
- case 'l':
- if (name[1] == 'c') {
- return -KEY_lc; /* Weight 38487 */
- }
- if (name[1] == 'e') {
- return -KEY_le; /* Weight 4052 */
- }
- if (name[1] == 't') {
- return -KEY_lt; /* Weight 335 */
- }
- break;
- case 'm':
- if (name[1] == 'y') {
- return KEY_my; /* Weight 3785925 */
- }
- break;
- case 'n':
- if (name[1] == 'e') {
- return -KEY_ne; /* Weight 112906 */
- }
- if (name[1] == 'o') {
- return KEY_no; /* Weight 61989 */
- }
- break;
- case 'o':
- if (name[1] == 'r') {
- return -KEY_or; /* Weight 405163 */
- }
- break;
- case 'q':
- if (name[1] == 'w') {
- return KEY_qw; /* Weight 415641 */
- }
- if (name[1] == 'q') {
- return KEY_qq; /* Weight 55149 */
- }
- if (name[1] == 'r') {
- return KEY_qr; /* Weight 28519 */
- }
- if (name[1] == 'x') {
- return KEY_qx; /* Weight 177 */
- }
- break;
- case 't':
- if (name[1] == 'r') {
- return KEY_tr; /* Weight 22665 */
- }
- break;
- case 'u':
- if (name[1] == 'c') {
- return -KEY_uc; /* Weight 16961 */
- }
- break;
- }
- break;
- case 3:
- /* Names all of length 3. */
- /* END abs and chr cmp cos die eof err exp for hex int log map not oct ord
- our pop pos ref sin sub tie use vec xor */
- /* Offset 0 gives the best switch position. */
- switch (*name++) {
- case 'E':
- if (name[0] == 'N' && name[1] == 'D') {
- return KEY_END; /* Weight 3565 */
- }
- break;
- case 'a':
- if (name[0] == 'n' && name[1] == 'd') {
- return -KEY_and; /* Weight 284867 */
- }
- if (name[0] == 'b' && name[1] == 's') {
- return -KEY_abs; /* Weight 7767 */
- }
- break;
- case 'c':
- if (name[0] == 'h' && name[1] == 'r') {
- return -KEY_chr; /* Weight 35654 */
- }
- if (name[0] == 'm' && name[1] == 'p') {
- return -KEY_cmp; /* Weight 6808 */
- }
- if (name[0] == 'o' && name[1] == 's') {
- return -KEY_cos; /* Weight 447 */
- }
- break;
- case 'd':
- if (name[0] == 'i' && name[1] == 'e') {
- return -KEY_die; /* Weight 192203 */
- }
- break;
- case 'e':
- if (name[0] == 'o' && name[1] == 'f') {
- return -KEY_eof; /* Weight 1618 */
- }
- if (name[0] == 'r' && name[1] == 'r') {
- return -KEY_err; /* Weight 522 */
- }
- if (name[0] == 'x' && name[1] == 'p') {
- return -KEY_exp; /* Weight 423 */
- }
- break;
- case 'f':
- if (name[0] == 'o' && name[1] == 'r') {
- return KEY_for; /* Weight 118158 */
- }
- break;
- case 'h':
- if (name[0] == 'e' && name[1] == 'x') {
- return -KEY_hex; /* Weight 3629 */
- }
- break;
- case 'i':
- if (name[0] == 'n' && name[1] == 't') {
- return -KEY_int; /* Weight 18549 */
- }
- break;
- case 'l':
- if (name[0] == 'o' && name[1] == 'g') {
- return -KEY_log;
- }
- break;
- case 'm':
- if (name[0] == 'a' && name[1] == 'p') {
- return KEY_map; /* Weight 115207 */
- }
- break;
- case 'n':
- if (name[0] == 'o' && name[1] == 't') {
- return -KEY_not; /* Weight 55868 */
- }
- break;
- case 'o':
- if (name[0] == 'u' && name[1] == 'r') {
- return KEY_our; /* Weight 194417 */
- }
- if (name[0] == 'r' && name[1] == 'd') {
- return -KEY_ord; /* Weight 22221 */
- }
- if (name[0] == 'c' && name[1] == 't') {
- return -KEY_oct; /* Weight 4195 */
- }
- break;
- case 'p':
- if (name[0] == 'o' && name[1] == 'p') {
- return -KEY_pop; /* Weight 46933 */
- }
- if (name[0] == 'o' && name[1] == 's') {
- return KEY_pos; /* Weight 5503 */
- }
- break;
- case 'r':
- if (name[0] == 'e' && name[1] == 'f') {
- return -KEY_ref; /* Weight 347102 */
- }
- break;
- case 's':
- if (name[0] == 'u' && name[1] == 'b') {
- return KEY_sub; /* Weight 2053554 */
- }
- if (name[0] == 'i' && name[1] == 'n') {
- return -KEY_sin; /* Weight 499 */
- }
- break;
- case 't':
- if (name[0] == 'i' && name[1] == 'e') {
- return KEY_tie; /* Weight 10131 */
- }
- break;
- case 'u':
- if (name[0] == 's' && name[1] == 'e') {
- return KEY_use; /* Weight 686081 */
- }
- break;
- case 'v':
- if (name[0] == 'e' && name[1] == 'c') {
- return -KEY_vec; /* Weight 110566 */
- }
- break;
- case 'x':
- if (name[0] == 'o' && name[1] == 'r') {
- return -KEY_xor; /* Weight 619 */
- }
- break;
- }
- break;
- case 4:
- /* Names all of length 4. */
- /* CORE INIT bind chop dump each else eval exec exit fork getc glob goto
- grep join keys kill last link lock next open pack pipe push rand read
- recv redo seek send sort sqrt stat tell tied time wait warn */
- /* Offset 0 gives the best switch position. */
- switch (*name++) {
- case 'C':
- if (!memcmp(name, "ORE", 3)) {
- /* C */
- return -KEY_CORE; /* Weight 47391 */
- }
- break;
- case 'I':
- if (!memcmp(name, "NIT", 3)) {
- /* I */
- return KEY_INIT; /* Weight 418 */
- }
- break;
- case 'b':
- if (!memcmp(name, "ind", 3)) {
- /* b */
- return -KEY_bind; /* Weight 290 */
- }
- break;
- case 'c':
- if (!memcmp(name, "hop", 3)) {
- /* c */
- return -KEY_chop; /* Weight 10172 */
- }
- break;
- case 'd':
- if (!memcmp(name, "ump", 3)) {
- /* d */
- return -KEY_dump; /* Weight 274 */
- }
- break;
- case 'e':
- if (!memcmp(name, "lse", 3)) {
- /* e */
- return KEY_else; /* Weight 527806 */
- }
- if (!memcmp(name, "val", 3)) {
- /* e */
- return KEY_eval; /* Weight 136977 */
- }
- if (!memcmp(name, "ach", 3)) {
- /* e */
- return -KEY_each; /* Weight 18414 */
- }
- if (!memcmp(name, "xit", 3)) {
- /* e */
- return -KEY_exit; /* Weight 8262 */
- }
- if (!memcmp(name, "xec", 3)) {
- /* e */
- return -KEY_exec; /* Weight 429 */
- }
- break;
- case 'f':
- if (!memcmp(name, "ork", 3)) {
- /* f */
- return -KEY_fork; /* Weight 327 */
- }
- break;
- case 'g':
- if (!memcmp(name, "oto", 3)) {
- /* g */
- return KEY_goto; /* Weight 109258 */
- }
- if (!memcmp(name, "rep", 3)) {
- /* g */
- return KEY_grep; /* Weight 75912 */
- }
- if (!memcmp(name, "lob", 3)) {
- /* g */
- return KEY_glob; /* Weight 2172 */
- }
- if (!memcmp(name, "etc", 3)) {
- /* g */
- return -KEY_getc; /* Weight 981 */
- }
- break;
- case 'j':
- if (!memcmp(name, "oin", 3)) {
- /* j */
- return -KEY_join; /* Weight 130820 */
- }
- break;
- case 'k':
- if (!memcmp(name, "eys", 3)) {
- /* k */
- return -KEY_keys; /* Weight 131427 */
- }
- if (!memcmp(name, "ill", 3)) {
- /* k */
- return -KEY_kill; /* Weight 382 */
- }
- break;
- case 'l':
- if (!memcmp(name, "ast", 3)) {
- /* l */
- return KEY_last; /* Weight 95078 */
- }
- if (!memcmp(name, "ock", 3)) {
- /* l */
- return -KEY_lock; /* Weight 4210 */
- }
- if (!memcmp(name, "ink", 3)) {
- /* l */
- return -KEY_link; /* Weight 425 */
- }
- break;
- case 'n':
- if (!memcmp(name, "ext", 3)) {
- /* n */
- return KEY_next; /* Weight 153355 */
- }
- break;
- case 'o':
- if (!memcmp(name, "pen", 3)) {
- /* o */
- return -KEY_open; /* Weight 39060 */
- }
- break;
- case 'p':
- if (!memcmp(name, "ush", 3)) {
- /* p */
- return -KEY_push; /* Weight 256975 */
- }
- if (!memcmp(name, "ack", 3)) {
- /* p */
- return -KEY_pack; /* Weight 14491 */
- }
- if (!memcmp(name, "ipe", 3)) {
- /* p */
- return -KEY_pipe; /* Weight 344 */
- }
- break;
- case 'r':
- if (!memcmp(name, "ead", 3)) {
- /* r */
- return -KEY_read; /* Weight 9434 */
- }
- if (!memcmp(name, "edo", 3)) {
- /* r */
- return KEY_redo; /* Weight 5219 */
- }
- if (!memcmp(name, "and", 3)) {
- /* r */
- return -KEY_rand; /* Weight 1824 */
- }
- if (!memcmp(name, "ecv", 3)) {
- /* r */
- return -KEY_recv; /* Weight 250 */
- }
- break;
- case 's':
- if (!memcmp(name, "tat", 3)) {
- /* s */
- return -KEY_stat; /* Weight 36702 */
- }
- if (!memcmp(name, "ort", 3)) {
- /* s */
- return KEY_sort; /* Weight 36394 */
- }
- if (!memcmp(name, "eek", 3)) {
- /* s */
- return -KEY_seek; /* Weight 2174 */
- }
- if (!memcmp(name, "qrt", 3)) {
- /* s */
- return -KEY_sqrt; /* Weight 766 */
- }
- if (!memcmp(name, "end", 3)) {
- /* s */
- return -KEY_send; /* Weight 496 */
- }
- break;
- case 't':
- if (!memcmp(name, "ime", 3)) {
- /* t */
- return -KEY_time; /* Weight 32168 */
- }
- if (!memcmp(name, "ied", 3)) {
- /* t */
- return KEY_tied; /* Weight 9749 */
- }
- if (!memcmp(name, "ell", 3)) {
- /* t */
- return -KEY_tell; /* Weight 2578 */
- }
- break;
- case 'w':
- if (!memcmp(name, "arn", 3)) {
- /* w */
- return -KEY_warn; /* Weight 91372 */
- }
- if (!memcmp(name, "ait", 3)) {
- /* w */
- return -KEY_wait;
- }
- break;
- }
- break;
- case 5:
- /* Names all of length 5. */
- /* BEGIN CHECK alarm atan2 bless chdir chmod chomp chown close crypt elsif
- fcntl flock index ioctl local lstat mkdir print reset rmdir semop shift
- sleep split srand study times umask undef untie until utime while write
- */
- /* Offset 3 gives the best switch position. */
- switch (name[3]) {
- case 'C':
- if (!memcmp(name, "CHECK", 5)) {
- /* ^ */
- return KEY_CHECK; /* Weight 538 */
- }
- break;
- case 'I':
- if (!memcmp(name, "BEGIN", 5)) {
- /* ^ */
- return KEY_BEGIN; /* Weight 24125 */
- }
- break;
- case 'a':
- if (!memcmp(name, "local", 5)) {
- /* ^ */
- return KEY_local; /* Weight 262973 */
- }
- if (!memcmp(name, "lstat", 5)) {
- /* ^ */
- return -KEY_lstat; /* Weight 13859 */
- }
- break;
- case 'c':
- if (!memcmp(name, "flock", 5)) {
- /* ^ */
- return -KEY_flock; /* Weight 260 */
- }
- break;
- case 'd':
- if (!memcmp(name, "study", 5)) {
- /* ^ */
- return KEY_study; /* Weight 1933 */
- }
- break;
- case 'e':
- if (!memcmp(name, "undef", 5)) {
- /* ^ */
- return KEY_undef; /* Weight 311156 */
- }
- if (!memcmp(name, "index", 5)) {
- /* ^ */
- return -KEY_index; /* Weight 51465 */
- }
- if (!memcmp(name, "sleep", 5)) {
- /* ^ */
- return -KEY_sleep; /* Weight 519 */
- }
- if (!memcmp(name, "times", 5)) {
- /* ^ */
- return -KEY_times; /* Weight 310 */
- }
- if (!memcmp(name, "reset", 5)) {
- /* ^ */
- return -KEY_reset; /* Weight 127 */
- }
- break;
- case 'f':
- if (!memcmp(name, "shift", 5)) {
- /* ^ */
- return -KEY_shift; /* Weight 904125 */
- }
- break;
- case 'i':
- if (!memcmp(name, "elsif", 5)) {
- /* ^ */
- return KEY_elsif; /* Weight 322365 */
- }
- if (!memcmp(name, "split", 5)) {
- /* ^ */
- return KEY_split; /* Weight 93678 */
- }
- if (!memcmp(name, "chdir", 5)) {
- /* ^ */
- return -KEY_chdir; /* Weight 20317 */
- }
- if (!memcmp(name, "mkdir", 5)) {
- /* ^ */
- return -KEY_mkdir; /* Weight 2951 */
- }
- if (!memcmp(name, "rmdir", 5)) {
- /* ^ */
- return -KEY_rmdir; /* Weight 2493 */
- }
- if (!memcmp(name, "until", 5)) {
- /* ^ */
- return KEY_until; /* Weight 818 */
- }
- if (!memcmp(name, "untie", 5)) {
- /* ^ */
- return KEY_untie; /* Weight 420 */
- }
- break;
- case 'l':
- if (!memcmp(name, "while", 5)) {
- /* ^ */
- return KEY_while; /* Weight 120305 */
- }
- break;
- case 'm':
- if (!memcmp(name, "chomp", 5)) {
- /* ^ */
- return -KEY_chomp; /* Weight 22337 */
+ 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':
+ if (name[1] == 'l' &&
+ name[2] == 'e' &&
+ name[3] == 's' &&
+ name[4] == 's')
+ { /* bless */
+ return -KEY_bless;
+ }
+
+ 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 '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':
+ if (name[2] == 'u' &&
+ name[3] == 'd' &&
+ name[4] == 'y')
+ { /* study */
+ return KEY_study;
+ }
+
+ 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;
+ }
+
+ goto unknown;
+
+ case 'l':
+ { /* until */
+ return KEY_until;
+ }
+
+ goto unknown;
+
+ 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;
}
- if (!memcmp(name, "utime", 5)) {
- /* ^ */
- return -KEY_utime; /* Weight 3849 */
+
+ 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 */
+ if(ckWARN_d(WARN_SYNTAX))
+ Perl_warner(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;
}
- break;
- case 'n':
- if (!memcmp(name, "print", 5)) {
- /* ^ */
- return KEY_print; /* Weight 220904 */
- }
- if (!memcmp(name, "atan2", 5)) {
- /* ^ */
- return -KEY_atan2; /* Weight 350 */
- }
- if (!memcmp(name, "srand", 5)) {
- /* ^ */
- return -KEY_srand; /* Weight 41 */
- }
- break;
- case 'o':
- if (!memcmp(name, "chmod", 5)) {
- /* ^ */
- return -KEY_chmod; /* Weight 18455 */
- }
- if (!memcmp(name, "semop", 5)) {
- /* ^ */
- return -KEY_semop;
- }
- break;
- case 'p':
- if (!memcmp(name, "crypt", 5)) {
- /* ^ */
- return -KEY_crypt; /* Weight 8 */
- }
- break;
- case 'r':
- if (!memcmp(name, "alarm", 5)) {
- /* ^ */
- return -KEY_alarm;
- }
- break;
- case 's':
- if (!memcmp(name, "bless", 5)) {
- /* ^ */
- return -KEY_bless; /* Weight 62111 */
- }
- if (!memcmp(name, "close", 5)) {
- /* ^ */
- return -KEY_close; /* Weight 44077 */
- }
- if (!memcmp(name, "umask", 5)) {
- /* ^ */
- return -KEY_umask; /* Weight 1658 */
- }
- break;
- case 't':
- if (!memcmp(name, "write", 5)) {
- /* ^ */
- return -KEY_write; /* Weight 2525 */
- }
- if (!memcmp(name, "fcntl", 5)) {
- /* ^ */
- return -KEY_fcntl; /* Weight 1257 */
- }
- if (!memcmp(name, "ioctl", 5)) {
- /* ^ */
- return -KEY_ioctl; /* Weight 967 */
- }
- break;
- case 'w':
- if (!memcmp(name, "chown", 5)) {
- /* ^ */
- return -KEY_chown; /* Weight 34 */
- }
- break;
- }
- break;
- case 6:
- /* Names all of length 6. */
- /* accept caller chroot delete elseif exists fileno format gmtime length
- listen msgctl msgget msgrcv msgsnd printf rename return rindex scalar
- select semctl semget shmctl shmget socket splice substr system unless
- unlink unpack values */
- /* Offset 3 gives the best switch position. */
- switch (name[3]) {
- case 'a':
- if (!memcmp(name, "unpack", 6)) {
- /* ^ */
- return -KEY_unpack; /* Weight 7849 */
- }
- if (!memcmp(name, "rename", 6)) {
- /* ^ */
- return -KEY_rename; /* Weight 4918 */
- }
- break;
- case 'c':
- if (!memcmp(name, "semctl", 6)) {
- /* ^ */
- return -KEY_semctl; /* Weight 17 */
- }
- if (!memcmp(name, "msgctl", 6)) {
- /* ^ */
- return -KEY_msgctl;
- }
- if (!memcmp(name, "shmctl", 6)) {
- /* ^ */
- return -KEY_shmctl;
- }
- break;
- case 'd':
- if (!memcmp(name, "rindex", 6)) {
- /* ^ */
- return -KEY_rindex; /* Weight 5005 */
- }
- break;
- case 'e':
- if (!memcmp(name, "unless", 6)) {
- /* ^ */
- return KEY_unless; /* Weight 913955 */
- }
- if (!memcmp(name, "delete", 6)) {
- /* ^ */
- return KEY_delete; /* Weight 74966 */
- }
- if (!memcmp(name, "select", 6)) {
- /* ^ */
- return -KEY_select; /* Weight 12209 */
- }
- if (!memcmp(name, "fileno", 6)) {
- /* ^ */
- return -KEY_fileno; /* Weight 8591 */
- }
- if (!memcmp(name, "accept", 6)) {
- /* ^ */
- return -KEY_accept; /* Weight 233 */
- }
- if (!memcmp(name, "elseif", 6)) {
- /* ^ */
- /* This is somewhat hacky. */
- if(ckWARN_d(WARN_SYNTAX))
- Perl_warner(aTHX_ packWARN(WARN_SYNTAX), "elseif should be elsif");
- break;
- }
- break;
- case 'g':
- if (!memcmp(name, "length", 6)) {
- /* ^ */
- return -KEY_length; /* Weight 163975 */
- }
- if (!memcmp(name, "msgget", 6)) {
- /* ^ */
- return -KEY_msgget;
- }
- if (!memcmp(name, "semget", 6)) {
- /* ^ */
- return -KEY_semget;
- }
- if (!memcmp(name, "shmget", 6)) {
- /* ^ */
- return -KEY_shmget;
- }
- break;
- case 'i':
- if (!memcmp(name, "splice", 6)) {
- /* ^ */
- return -KEY_splice; /* Weight 25143 */
- }
- if (!memcmp(name, "unlink", 6)) {
- /* ^ */
- return -KEY_unlink; /* Weight 18616 */
- }
- if (!memcmp(name, "gmtime", 6)) {
- /* ^ */
- return -KEY_gmtime; /* Weight 4040 */
- }
- break;
- case 'k':
- if (!memcmp(name, "socket", 6)) {
- /* ^ */
- return -KEY_socket;
- }
- break;
- case 'l':
- if (!memcmp(name, "caller", 6)) {
- /* ^ */
- return -KEY_caller; /* Weight 148457 */
- }
- if (!memcmp(name, "scalar", 6)) {
- /* ^ */
- return KEY_scalar; /* Weight 43953 */
- }
- break;
- case 'm':
- if (!memcmp(name, "format", 6)) {
- /* ^ */
- return KEY_format; /* Weight 1735 */
- }
- break;
- case 'n':
- if (!memcmp(name, "printf", 6)) {
- /* ^ */
- return KEY_printf; /* Weight 6874 */
- }
- break;
- case 'o':
- if (!memcmp(name, "chroot", 6)) {
- /* ^ */
- return -KEY_chroot;
- }
- break;
- case 'r':
- if (!memcmp(name, "msgrcv", 6)) {
- /* ^ */
- return -KEY_msgrcv;
- }
- break;
- case 's':
- if (!memcmp(name, "exists", 6)) {
- /* ^ */
- return KEY_exists; /* Weight 145939 */
- }
- if (!memcmp(name, "substr", 6)) {
- /* ^ */
- return -KEY_substr; /* Weight 121344 */
- }
- if (!memcmp(name, "msgsnd", 6)) {
- /* ^ */
- return -KEY_msgsnd;
- }
- break;
- case 't':
- if (!memcmp(name, "system", 6)) {
- /* ^ */
- return -KEY_system; /* Weight 4326 */
- }
- if (!memcmp(name, "listen", 6)) {
- /* ^ */
- return -KEY_listen;
- }
- break;
- case 'u':
- if (!memcmp(name, "return", 6)) {
- /* ^ */
- return KEY_return; /* Weight 1401629 */
- }
- if (!memcmp(name, "values", 6)) {
- /* ^ */
- return -KEY_values; /* Weight 10110 */
- }
- break;
- }
- break;
- case 7:
- /* Names all of length 7. */
- /* DESTROY __END__ binmode connect dbmopen defined foreach getpgrp getppid
- lcfirst opendir package readdir require reverse seekdir setpgrp shmread
- sprintf symlink syscall sysopen sysread sysseek telldir ucfirst unshift
- waitpid */
- /* Offset 3 gives the best switch position. */
- switch (name[3]) {
- case 'N':
- if (!memcmp(name, "__END__", 7)) {
- /* ^ */
- return KEY___END__; /* Weight 112636 */
- }
- break;
- case 'T':
- if (!memcmp(name, "DESTROY", 7)) {
- /* ^ */
- return KEY_DESTROY; /* Weight 7 */
- }
- break;
- case 'c':
- if (!memcmp(name, "syscall", 7)) {
- /* ^ */
- return -KEY_syscall; /* Weight 560 */
- }
- break;
- case 'd':
- if (!memcmp(name, "readdir", 7)) {
- /* ^ */
- return -KEY_readdir; /* Weight 11716 */
- }
- break;
- case 'e':
- if (!memcmp(name, "foreach", 7)) {
- /* ^ */
- return KEY_foreach; /* Weight 281720 */
- }
- if (!memcmp(name, "reverse", 7)) {
- /* ^ */
- return -KEY_reverse; /* Weight 10571 */
- }
- break;
- case 'h':
- if (!memcmp(name, "unshift", 7)) {
- /* ^ */
- return -KEY_unshift; /* Weight 36504 */
- }
- break;
- case 'i':
- if (!memcmp(name, "defined", 7)) {
- /* ^ */
- return KEY_defined; /* Weight 694277 */
- }
- if (!memcmp(name, "sprintf", 7)) {
- /* ^ */
- return -KEY_sprintf; /* Weight 72704 */
- }
- if (!memcmp(name, "ucfirst", 7)) {
- /* ^ */
- return -KEY_ucfirst; /* Weight 1012 */
- }
- if (!memcmp(name, "lcfirst", 7)) {
- /* ^ */
- return -KEY_lcfirst; /* Weight 165 */
- }
- break;
- case 'k':
- if (!memcmp(name, "package", 7)) {
- /* ^ */
- return KEY_package; /* Weight 245661 */
- }
- if (!memcmp(name, "seekdir", 7)) {
- /* ^ */
- return -KEY_seekdir; /* Weight 20 */
- }
- break;
- case 'l':
- if (!memcmp(name, "symlink", 7)) {
- /* ^ */
- return -KEY_symlink; /* Weight 386 */
- }
- if (!memcmp(name, "telldir", 7)) {
- /* ^ */
- return -KEY_telldir; /* Weight 294 */
- }
- break;
- case 'm':
- if (!memcmp(name, "binmode", 7)) {
- /* ^ */
- return -KEY_binmode; /* Weight 12301 */
- }
- break;
- case 'n':
- if (!memcmp(name, "opendir", 7)) {
- /* ^ */
- return -KEY_opendir; /* Weight 9007 */
- }
- if (!memcmp(name, "connect", 7)) {
- /* ^ */
- return -KEY_connect; /* Weight 526 */
- }
- break;
- case 'o':
- if (!memcmp(name, "sysopen", 7)) {
- /* ^ */
- return -KEY_sysopen; /* Weight 1230 */
- }
- if (!memcmp(name, "dbmopen", 7)) {
- /* ^ */
- return -KEY_dbmopen;
- }
- break;
- case 'p':
- if (!memcmp(name, "getppid", 7)) {
- /* ^ */
- return -KEY_getppid; /* Weight 10 */
- }
- if (!memcmp(name, "getpgrp", 7)) {
- /* ^ */
- return -KEY_getpgrp;
- }
- if (!memcmp(name, "setpgrp", 7)) {
- /* ^ */
- return -KEY_setpgrp;
- }
- break;
- case 'r':
- if (!memcmp(name, "sysread", 7)) {
- /* ^ */
- return -KEY_sysread; /* Weight 3729 */
- }
- if (!memcmp(name, "shmread", 7)) {
- /* ^ */
- return -KEY_shmread;
- }
- break;
- case 's':
- if (!memcmp(name, "sysseek", 7)) {
- /* ^ */
- return -KEY_sysseek; /* Weight 721 */
- }
- break;
- case 't':
- if (!memcmp(name, "waitpid", 7)) {
- /* ^ */
- return -KEY_waitpid; /* Weight 414 */
- }
- break;
- case 'u':
- if (!memcmp(name, "require", 7)) {
- /* ^ */
- return KEY_require; /* Weight 375220 */
- }
- break;
- }
- break;
- case 8:
- /* Names all of length 8. */
- /* AUTOLOAD __DATA__ __FILE__ __LINE__ closedir continue dbmclose endgrent
- endpwent formline getgrent getgrgid getgrnam getlogin getpwent getpwnam
- getpwuid readline readlink readpipe setgrent setpwent shmwrite shutdown
- syswrite truncate */
- /* Offset 3 gives the best switch position. */
- switch (name[3]) {
- case 'A':
- if (!memcmp(name, "__DATA__", 8)) {
- /* ^ */
- return KEY___DATA__; /* Weight 395 */
- }
- break;
- case 'I':
- if (!memcmp(name, "__FILE__", 8)) {
- /* ^ */
- return -KEY___FILE__; /* Weight 888 */
- }
- if (!memcmp(name, "__LINE__", 8)) {
- /* ^ */
- return -KEY___LINE__; /* Weight 209 */
- }
- break;
- case 'O':
- if (!memcmp(name, "AUTOLOAD", 8)) {
- /* ^ */
- return KEY_AUTOLOAD; /* Weight 2713 */
- }
- break;
- case 'c':
- if (!memcmp(name, "dbmclose", 8)) {
- /* ^ */
- return -KEY_dbmclose;
- }
- break;
- case 'd':
- if (!memcmp(name, "readlink", 8)) {
- /* ^ */
- return -KEY_readlink; /* Weight 1537 */
- }
- if (!memcmp(name, "readline", 8)) {
- /* ^ */
- return -KEY_readline; /* Weight 19 */
- }
- if (!memcmp(name, "readpipe", 8)) {
- /* ^ */
- return -KEY_readpipe;
- }
- break;
- case 'g':
- if (!memcmp(name, "getgrgid", 8)) {
- /* ^ */
- return -KEY_getgrgid; /* Weight 67 */
- }
- if (!memcmp(name, "getgrnam", 8)) {
- /* ^ */
- return -KEY_getgrnam; /* Weight 11 */
- }
- if (!memcmp(name, "endgrent", 8)) {
- /* ^ */
- return -KEY_endgrent;
- }
- if (!memcmp(name, "getgrent", 8)) {
- /* ^ */
- return -KEY_getgrent;
- }
- if (!memcmp(name, "setgrent", 8)) {
- /* ^ */
- return -KEY_setgrent;
- }
- break;
- case 'l':
- if (!memcmp(name, "getlogin", 8)) {
- /* ^ */
- return -KEY_getlogin; /* Weight 158 */
- }
- break;
- case 'm':
- if (!memcmp(name, "formline", 8)) {
- /* ^ */
- return -KEY_formline; /* Weight 959 */
- }
- break;
- case 'n':
- if (!memcmp(name, "truncate", 8)) {
- /* ^ */
- return -KEY_truncate; /* Weight 1351 */
- }
- break;
- case 'p':
- if (!memcmp(name, "getpwuid", 8)) {
- /* ^ */
- return -KEY_getpwuid; /* Weight 681 */
- }
- if (!memcmp(name, "getpwnam", 8)) {
- /* ^ */
- return -KEY_getpwnam; /* Weight 483 */
- }
- if (!memcmp(name, "getpwent", 8)) {
- /* ^ */
- return -KEY_getpwent; /* Weight 12 */
- }
- if (!memcmp(name, "endpwent", 8)) {
- /* ^ */
- return -KEY_endpwent;
- }
- if (!memcmp(name, "setpwent", 8)) {
- /* ^ */
- return -KEY_setpwent;
- }
- break;
- case 's':
- if (!memcmp(name, "closedir", 8)) {
- /* ^ */
- return -KEY_closedir; /* Weight 11986 */
- }
- break;
- case 't':
- if (!memcmp(name, "continue", 8)) {
- /* ^ */
- return -KEY_continue; /* Weight 2925 */
- }
- if (!memcmp(name, "shutdown", 8)) {
- /* ^ */
- return -KEY_shutdown;
- }
- break;
- case 'w':
- if (!memcmp(name, "syswrite", 8)) {
- /* ^ */
- return -KEY_syswrite; /* Weight 4437 */
- }
- if (!memcmp(name, "shmwrite", 8)) {
- /* ^ */
- return -KEY_shmwrite;
- }
- break;
- }
- break;
- case 9:
- /* Names all of length 9. */
- /* endnetent getnetent localtime prototype quotemeta rewinddir setnetent
- wantarray */
- /* Offset 0 gives the best switch position. */
- switch (*name++) {
- case 'e':
- if (!memcmp(name, "ndnetent", 8)) {
- /* e */
- return -KEY_endnetent;
- }
- break;
- case 'g':
- if (!memcmp(name, "etnetent", 8)) {
- /* g */
- return -KEY_getnetent;
- }
- break;
- case 'l':
- if (!memcmp(name, "ocaltime", 8)) {
- /* l */
- return -KEY_localtime; /* Weight 7993 */
- }
- break;
- case 'p':
- if (!memcmp(name, "rototype", 8)) {
- /* p */
- return KEY_prototype; /* Weight 1602 */
- }
- break;
- case 'q':
- if (!memcmp(name, "uotemeta", 8)) {
- /* q */
- return -KEY_quotemeta; /* Weight 3120 */
- }
- break;
- case 'r':
- if (!memcmp(name, "ewinddir", 8)) {
- /* r */
- return -KEY_rewinddir; /* Weight 218 */
- }
- break;
- case 's':
- if (!memcmp(name, "etnetent", 8)) {
- /* s */
- return -KEY_setnetent; /* Weight 1 */
- }
- break;
- case 'w':
- if (!memcmp(name, "antarray", 8)) {
- /* w */
- return -KEY_wantarray; /* Weight 43024 */
- }
- break;
- }
- break;
- case 10:
- /* Names all of length 10. */
- /* endhostent endservent gethostent getservent getsockopt sethostent
- setservent setsockopt socketpair */
- /* Offset 6 gives the best switch position. */
- switch (name[6]) {
- case 'k':
- if (!memcmp(name, "setsockopt", 10)) {
- /* ^ */
- return -KEY_setsockopt; /* Weight 356 */
- }
- if (!memcmp(name, "getsockopt", 10)) {
- /* ^ */
- return -KEY_getsockopt; /* Weight 243 */
- }
- break;
- case 'p':
- if (!memcmp(name, "socketpair", 10)) {
- /* ^ */
- return -KEY_socketpair;
- }
- break;
- case 't':
- if (!memcmp(name, "gethostent", 10)) {
- /* ^ */
- return -KEY_gethostent; /* Weight 3 */
- }
- if (!memcmp(name, "endhostent", 10)) {
- /* ^ */
- return -KEY_endhostent;
- }
- if (!memcmp(name, "sethostent", 10)) {
- /* ^ */
- return -KEY_sethostent;
- }
- break;
- case 'v':
- if (!memcmp(name, "getservent", 10)) {
- /* ^ */
- return -KEY_getservent; /* Weight 4 */
- }
- if (!memcmp(name, "endservent", 10)) {
- /* ^ */
- return -KEY_endservent;
- }
- if (!memcmp(name, "setservent", 10)) {
- /* ^ */
- return -KEY_setservent;
- }
- break;
- }
- break;
- case 11:
- /* Names all of length 11. */
- /* __PACKAGE__ endprotoent getpeername getpriority getprotoent getsockname
- setpriority setprotoent */
- /* Offset 5 gives the best switch position. */
- switch (name[5]) {
- case 'K':
- if (!memcmp(name, "__PACKAGE__", 11)) {
- /* ^ */
- return -KEY___PACKAGE__; /* Weight 36767 */
- }
- break;
- case 'c':
- if (!memcmp(name, "getsockname", 11)) {
- /* ^ */
- return -KEY_getsockname; /* Weight 235 */
- }
- break;
- case 'e':
- if (!memcmp(name, "getpeername", 11)) {
- /* ^ */
- return -KEY_getpeername; /* Weight 713 */
- }
- break;
- case 'i':
- if (!memcmp(name, "getpriority", 11)) {
- /* ^ */
- return -KEY_getpriority; /* Weight 5 */
- }
- if (!memcmp(name, "setpriority", 11)) {
- /* ^ */
- return -KEY_setpriority; /* Weight 2 */
- }
- break;
- case 'o':
- if (!memcmp(name, "endprotoent", 11)) {
- /* ^ */
- return -KEY_endprotoent;
- }
- if (!memcmp(name, "getprotoent", 11)) {
- /* ^ */
- return -KEY_getprotoent;
- }
- if (!memcmp(name, "setprotoent", 11)) {
- /* ^ */
- return -KEY_setprotoent;
- }
- break;
- }
- break;
- case 12:
- /* Names all of length 12. */
- /* getnetbyaddr getnetbyname */
- /* Offset 9 gives the best switch position. */
- switch (name[9]) {
- case 'a':
- if (!memcmp(name, "getnetbyname", 12)) {
- /* ^ */
- return -KEY_getnetbyname;
- }
- break;
- case 'd':
- if (!memcmp(name, "getnetbyaddr", 12)) {
- /* ^ */
- return -KEY_getnetbyaddr;
- }
- break;
- }
- break;
- case 13:
- /* Names all of length 13. */
- /* gethostbyaddr gethostbyname getservbyname getservbyport */
- /* Offset 10 gives the best switch position. */
- switch (name[10]) {
- case 'a':
- if (!memcmp(name, "gethostbyname", 13)) {
- /* ^ */
- return -KEY_gethostbyname; /* Weight 970 */
+
+ case 7: /* 28 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' &&
+ name[3] == 'i' &&
+ name[4] == 'n' &&
+ name[5] == 'e' &&
+ name[6] == 'd')
+ { /* defined */
+ return KEY_defined;
+ }
+
+ 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;
+ }
+
+ goto unknown;
+
+ case 'k':
+ { /* readlink */
+ return -KEY_readlink;
+ }
+
+ goto unknown;
+
+ 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: /* 8 tokens of length 9 */
+ switch (name[0])
+ {
+ 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;
}
- if (!memcmp(name, "getservbyname", 13)) {
- /* ^ */
- return -KEY_getservbyname; /* Weight 299 */
+
+ 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;
}
- break;
- case 'd':
- if (!memcmp(name, "gethostbyaddr", 13)) {
- /* ^ */
- return -KEY_gethostbyaddr; /* Weight 68 */
+
+ 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;
+ }
}
- break;
- case 'o':
- if (!memcmp(name, "getservbyport", 13)) {
- /* ^ */
- return -KEY_getservbyport;
+
+ 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;
+ }
}
- break;
- }
- break;
- case 14:
- if (!memcmp(name, "getprotobyname", 14)) {
- return -KEY_getprotobyname; /* Weight 755 */
- }
- break;
- case 16:
- if (!memcmp(name, "getprotobynumber", 16)) {
- return -KEY_getprotobynumber; /* Weight 232 */
- }
- break;
+
+ 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;
}