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