#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)
{
PERL_ARGS_ASSERT_KEYWORD;
switch
(len)
{
case
1:
switch
(name[0])
{
case
'm'
:
{
return
KEY_m;
}
case
'q'
:
{
return
KEY_q;
}
case
's'
:
{
return
KEY_s;
}
case
'x'
:
{
return
-KEY_x;
}
case
'y'
:
{
return
KEY_y;
}
default
:
goto
unknown;
}
case
2:
switch
(name[0])
{
case
'd'
:
if
(name[1] ==
'o'
)
{
return
KEY_do;
}
goto
unknown;
case
'e'
:
if
(name[1] ==
'q'
)
{
return
-KEY_eq;
}
goto
unknown;
case
'f'
:
if
(name[1] ==
'c'
)
{
return
(all_keywords || FEATURE_FC_IS_ENABLED ? -KEY_fc : 0);
}
goto
unknown;
case
'g'
:
switch
(name[1])
{
case
'e'
:
{
return
-KEY_ge;
}
case
't'
:
{
return
-KEY_gt;
}
default
:
goto
unknown;
}
case
'i'
:
if
(name[1] ==
'f'
)
{
return
KEY_if;
}
goto
unknown;
case
'l'
:
switch
(name[1])
{
case
'c'
:
{
return
-KEY_lc;
}
case
'e'
:
{
return
-KEY_le;
}
case
't'
:
{
return
-KEY_lt;
}
default
:
goto
unknown;
}
case
'm'
:
if
(name[1] ==
'y'
)
{
return
KEY_my;
}
goto
unknown;
case
'n'
:
switch
(name[1])
{
case
'e'
:
{
return
-KEY_ne;
}
case
'o'
:
{
return
KEY_no;
}
default
:
goto
unknown;
}
case
'o'
:
if
(name[1] ==
'r'
)
{
return
-KEY_or;
}
goto
unknown;
case
'q'
:
switch
(name[1])
{
case
'q'
:
{
return
KEY_qq;
}
case
'r'
:
{
return
KEY_qr;
}
case
'w'
:
{
return
KEY_qw;
}
case
'x'
:
{
return
KEY_qx;
}
default
:
goto
unknown;
}
case
't'
:
if
(name[1] ==
'r'
)
{
return
KEY_tr;
}
goto
unknown;
case
'u'
:
if
(name[1] ==
'c'
)
{
return
-KEY_uc;
}
goto
unknown;
default
:
goto
unknown;
}
case
3:
switch
(name[0])
{
case
'E'
:
if
(name[1] ==
'N'
&&
name[2] ==
'D'
)
{
return
KEY_END;
}
goto
unknown;
case
'a'
:
switch
(name[1])
{
case
'b'
:
if
(name[2] ==
's'
)
{
return
-KEY_abs;
}
goto
unknown;
case
'n'
:
if
(name[2] ==
'd'
)
{
return
-KEY_and;
}
goto
unknown;
default
:
goto
unknown;
}
case
'c'
:
switch
(name[1])
{
case
'h'
:
if
(name[2] ==
'r'
)
{
return
-KEY_chr;
}
goto
unknown;
case
'm'
:
if
(name[2] ==
'p'
)
{
return
-KEY_cmp;
}
goto
unknown;
case
'o'
:
if
(name[2] ==
's'
)
{
return
-KEY_cos;
}
goto
unknown;
default
:
goto
unknown;
}
case
'd'
:
if
(name[1] ==
'i'
&&
name[2] ==
'e'
)
{
return
-KEY_die;
}
goto
unknown;
case
'e'
:
switch
(name[1])
{
case
'o'
:
if
(name[2] ==
'f'
)
{
return
-KEY_eof;
}
goto
unknown;
case
'x'
:
if
(name[2] ==
'p'
)
{
return
-KEY_exp;
}
goto
unknown;
default
:
goto
unknown;
}
case
'f'
:
if
(name[1] ==
'o'
&&
name[2] ==
'r'
)
{
return
KEY_for;
}
goto
unknown;
case
'h'
:
if
(name[1] ==
'e'
&&
name[2] ==
'x'
)
{
return
-KEY_hex;
}
goto
unknown;
case
'i'
:
switch
(name[1])
{
case
'n'
:
if
(name[2] ==
't'
)
{
return
-KEY_int;
}
goto
unknown;
case
's'
:
if
(name[2] ==
'a'
)
{
return
(all_keywords || FEATURE_ISA_IS_ENABLED ? -KEY_isa : 0);
}
goto
unknown;
default
:
goto
unknown;
}
case
'l'
:
if
(name[1] ==
'o'
&&
name[2] ==
'g'
)
{
return
-KEY_log;
}
goto
unknown;
case
'm'
:
if
(name[1] ==
'a'
&&
name[2] ==
'p'
)
{
return
KEY_map;
}
goto
unknown;
case
'n'
:
if
(name[1] ==
'o'
&&
name[2] ==
't'
)
{
return
-KEY_not;
}
goto
unknown;
case
'o'
:
switch
(name[1])
{
case
'c'
:
if
(name[2] ==
't'
)
{
return
-KEY_oct;
}
goto
unknown;
case
'r'
:
if
(name[2] ==
'd'
)
{
return
-KEY_ord;
}
goto
unknown;
case
'u'
:
if
(name[2] ==
'r'
)
{
return
KEY_our;
}
goto
unknown;
default
:
goto
unknown;
}
case
'p'
:
if
(name[1] ==
'o'
)
{
switch
(name[2])
{
case
'p'
:
{
return
-KEY_pop;
}
case
's'
:
{
return
KEY_pos;
}
default
:
goto
unknown;
}
}
goto
unknown;
case
'r'
:
if
(name[1] ==
'e'
&&
name[2] ==
'f'
)
{
return
-KEY_ref;
}
goto
unknown;
case
's'
:
switch
(name[1])
{
case
'a'
:
if
(name[2] ==
'y'
)
{
return
(all_keywords || FEATURE_SAY_IS_ENABLED ? KEY_say : 0);
}
goto
unknown;
case
'i'
:
if
(name[2] ==
'n'
)
{
return
-KEY_sin;
}
goto
unknown;
case
'u'
:
if
(name[2] ==
'b'
)
{
return
KEY_sub;
}
goto
unknown;
default
:
goto
unknown;
}
case
't'
:
switch
(name[1])
{
case
'i'
:
if
(name[2] ==
'e'
)
{
return
-KEY_tie;
}
goto
unknown;
case
'r'
:
if
(name[2] ==
'y'
)
{
return
(all_keywords || FEATURE_TRY_IS_ENABLED ? KEY_try : 0);
}
goto
unknown;
default
:
goto
unknown;
}
case
'u'
:
if
(name[1] ==
's'
&&
name[2] ==
'e'
)
{
return
KEY_use;
}
goto
unknown;
case
'v'
:
if
(name[1] ==
'e'
&&
name[2] ==
'c'
)
{
return
-KEY_vec;
}
goto
unknown;
case
'x'
:
if
(name[1] ==
'o'
&&
name[2] ==
'r'
)
{
return
-KEY_xor;
}
goto
unknown;
default
:
goto
unknown;
}
case
4:
switch
(name[0])
{
case
'I'
:
if
(name[1] ==
'N'
&&
name[2] ==
'I'
&&
name[3] ==
'T'
)
{
return
KEY_INIT;
}
goto
unknown;
case
'b'
:
if
(name[1] ==
'i'
&&
name[2] ==
'n'
&&
name[3] ==
'd'
)
{
return
-KEY_bind;
}
goto
unknown;
case
'c'
:
if
(name[1] ==
'h'
&&
name[2] ==
'o'
&&
name[3] ==
'p'
)
{
return
-KEY_chop;
}
goto
unknown;
case
'd'
:
if
(name[1] ==
'u'
&&
name[2] ==
'm'
&&
name[3] ==
'p'
)
{
return
-KEY_dump;
}
goto
unknown;
case
'e'
:
switch
(name[1])
{
case
'a'
:
if
(name[2] ==
'c'
&&
name[3] ==
'h'
)
{
return
-KEY_each;
}
goto
unknown;
case
'l'
:
if
(name[2] ==
's'
&&
name[3] ==
'e'
)
{
return
KEY_else;
}
goto
unknown;
case
'v'
:
if
(name[2] ==
'a'
&&
name[3] ==
'l'
)
{
return
KEY_eval;
}
goto
unknown;
case
'x'
:
switch
(name[2])
{
case
'e'
:
if
(name[3] ==
'c'
)
{
return
-KEY_exec;
}
goto
unknown;
case
'i'
:
if
(name[3] ==
't'
)
{
return
-KEY_exit;
}
goto
unknown;
default
:
goto
unknown;
}
default
:
goto
unknown;
}
case
'f'
:
if
(name[1] ==
'o'
&&
name[2] ==
'r'
&&
name[3] ==
'k'
)
{
return
-KEY_fork;
}
goto
unknown;
case
'g'
:
switch
(name[1])
{
case
'e'
:
if
(name[2] ==
't'
&&
name[3] ==
'c'
)
{
return
-KEY_getc;
}
goto
unknown;
case
'l'
:
if
(name[2] ==
'o'
&&
name[3] ==
'b'
)
{
return
KEY_glob;
}
goto
unknown;
case
'o'
:
if
(name[2] ==
't'
&&
name[3] ==
'o'
)
{
return
KEY_goto;
}
goto
unknown;
case
'r'
:
if
(name[2] ==
'e'
&&
name[3] ==
'p'
)
{
return
KEY_grep;
}
goto
unknown;
default
:
goto
unknown;
}
case
'j'
:
if
(name[1] ==
'o'
&&
name[2] ==
'i'
&&
name[3] ==
'n'
)
{
return
-KEY_join;
}
goto
unknown;
case
'k'
:
switch
(name[1])
{
case
'e'
:
if
(name[2] ==
'y'
&&
name[3] ==
's'
)
{
return
-KEY_keys;
}
goto
unknown;
case
'i'
:
if
(name[2] ==
'l'
&&
name[3] ==
'l'
)
{
return
-KEY_kill;
}
goto
unknown;
default
:
goto
unknown;
}
case
'l'
:
switch
(name[1])
{
case
'a'
:
if
(name[2] ==
's'
&&
name[3] ==
't'
)
{
return
KEY_last;
}
goto
unknown;
case
'i'
:
if
(name[2] ==
'n'
&&
name[3] ==
'k'
)
{
return
-KEY_link;
}
goto
unknown;
case
'o'
:
if
(name[2] ==
'c'
&&
name[3] ==
'k'
)
{
return
-KEY_lock;
}
goto
unknown;
default
:
goto
unknown;
}
case
'n'
:
if
(name[1] ==
'e'
&&
name[2] ==
'x'
&&
name[3] ==
't'
)
{
return
KEY_next;
}
goto
unknown;
case
'o'
:
if
(name[1] ==
'p'
&&
name[2] ==
'e'
&&
name[3] ==
'n'
)
{
return
-KEY_open;
}
goto
unknown;
case
'p'
:
switch
(name[1])
{
case
'a'
:
if
(name[2] ==
'c'
&&
name[3] ==
'k'
)
{
return
-KEY_pack;
}
goto
unknown;
case
'i'
:
if
(name[2] ==
'p'
&&
name[3] ==
'e'
)
{
return
-KEY_pipe;
}
goto
unknown;
case
'u'
:
if
(name[2] ==
's'
&&
name[3] ==
'h'
)
{
return
-KEY_push;
}
goto
unknown;
default
:
goto
unknown;
}
case
'r'
:
switch
(name[1])
{
case
'a'
:
if
(name[2] ==
'n'
&&
name[3] ==
'd'
)
{
return
-KEY_rand;
}
goto
unknown;
case
'e'
:
switch
(name[2])
{
case
'a'
:
if
(name[3] ==
'd'
)
{
return
-KEY_read;
}
goto
unknown;
case
'c'
:
if
(name[3] ==
'v'
)
{
return
-KEY_recv;
}
goto
unknown;
case
'd'
:
if
(name[3] ==
'o'
)
{
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'
)
{
return
-KEY_seek;
}
goto
unknown;
case
'n'
:
if
(name[3] ==
'd'
)
{
return
-KEY_send;
}
goto
unknown;
default
:
goto
unknown;
}
case
'o'
:
if
(name[2] ==
'r'
&&
name[3] ==
't'
)
{
return
KEY_sort;
}
goto
unknown;
case
'q'
:
if
(name[2] ==
'r'
&&
name[3] ==
't'
)
{
return
-KEY_sqrt;
}
goto
unknown;
case
't'
:
if
(name[2] ==
'a'
&&
name[3] ==
't'
)
{
return
-KEY_stat;
}
goto
unknown;
default
:
goto
unknown;
}
case
't'
:
switch
(name[1])
{
case
'e'
:
if
(name[2] ==
'l'
&&
name[3] ==
'l'
)
{
return
-KEY_tell;
}
goto
unknown;
case
'i'
:
switch
(name[2])
{
case
'e'
:
if
(name[3] ==
'd'
)
{
return
-KEY_tied;
}
goto
unknown;
case
'm'
:
if
(name[3] ==
'e'
)
{
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'
)
{
return
-KEY_wait;
}
goto
unknown;
case
'r'
:
if
(name[3] ==
'n'
)
{
return
-KEY_warn;
}
goto
unknown;
default
:
goto
unknown;
}
case
'h'
:
if
(name[2] ==
'e'
&&
name[3] ==
'n'
)
{
return
(all_keywords || FEATURE_SWITCH_IS_ENABLED ? KEY_when : 0);
}
goto
unknown;
default
:
goto
unknown;
}
default
:
goto
unknown;
}
case
5:
switch
(name[0])
{
case
'B'
:
if
(name[1] ==
'E'
&&
name[2] ==
'G'
&&
name[3] ==
'I'
&&
name[4] ==
'N'
)
{
return
KEY_BEGIN;
}
goto
unknown;
case
'C'
:
if
(name[1] ==
'H'
&&
name[2] ==
'E'
&&
name[3] ==
'C'
&&
name[4] ==
'K'
)
{
return
KEY_CHECK;
}
goto
unknown;
case
'a'
:
switch
(name[1])
{
case
'l'
:
if
(name[2] ==
'a'
&&
name[3] ==
'r'
&&
name[4] ==
'm'
)
{
return
-KEY_alarm;
}
goto
unknown;
case
't'
:
if
(name[2] ==
'a'
&&
name[3] ==
'n'
&&
name[4] ==
'2'
)
{
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'
)
{
return
-KEY_bless;
}
goto
unknown;
case
'r'
:
if
(name[2] ==
'e'
&&
name[3] ==
'a'
&&
name[4] ==
'k'
)
{
return
(all_keywords || FEATURE_SWITCH_IS_ENABLED ? -KEY_break : 0);
}
goto
unknown;
default
:
goto
unknown;
}
case
'c'
:
switch
(name[1])
{
case
'a'
:
if
(name[2] ==
't'
&&
name[3] ==
'c'
&&
name[4] ==
'h'
)
{
return
(all_keywords || FEATURE_TRY_IS_ENABLED ? KEY_catch : 0);
}
goto
unknown;
case
'h'
:
switch
(name[2])
{
case
'd'
:
if
(name[3] ==
'i'
&&
name[4] ==
'r'
)
{
return
-KEY_chdir;
}
goto
unknown;
case
'm'
:
if
(name[3] ==
'o'
&&
name[4] ==
'd'
)
{
return
-KEY_chmod;
}
goto
unknown;
case
'o'
:
switch
(name[3])
{
case
'm'
:
if
(name[4] ==
'p'
)
{
return
-KEY_chomp;
}
goto
unknown;
case
'w'
:
if
(name[4] ==
'n'
)
{
return
-KEY_chown;
}
goto
unknown;
default
:
goto
unknown;
}
default
:
goto
unknown;
}
case
'l'
:
switch
(name[2])
{
case
'a'
:
if
(name[3] ==
's'
&&
name[4] ==
's'
)
{
return
(all_keywords || FEATURE_CLASS_IS_ENABLED ? -KEY_class : 0);
}
goto
unknown;
case
'o'
:
if
(name[3] ==
's'
&&
name[4] ==
'e'
)
{
return
-KEY_close;
}
goto
unknown;
default
:
goto
unknown;
}
case
'r'
:
if
(name[2] ==
'y'
&&
name[3] ==
'p'
&&
name[4] ==
't'
)
{
return
-KEY_crypt;
}
goto
unknown;
default
:
goto
unknown;
}
case
'd'
:
if
(name[1] ==
'e'
&&
name[2] ==
'f'
&&
name[3] ==
'e'
&&
name[4] ==
'r'
)
{
return
(all_keywords || FEATURE_DEFER_IS_ENABLED ? KEY_defer : 0);
}
goto
unknown;
case
'e'
:
if
(name[1] ==
'l'
&&
name[2] ==
's'
&&
name[3] ==
'i'
&&
name[4] ==
'f'
)
{
return
KEY_elsif;
}
goto
unknown;
case
'f'
:
switch
(name[1])
{
case
'c'
:
if
(name[2] ==
'n'
&&
name[3] ==
't'
&&
name[4] ==
'l'
)
{
return
-KEY_fcntl;
}
goto
unknown;
case
'i'
:
if
(name[2] ==
'e'
&&
name[3] ==
'l'
&&
name[4] ==
'd'
)
{
return
(all_keywords || FEATURE_CLASS_IS_ENABLED ? -KEY_field : 0);
}
goto
unknown;
case
'l'
:
if
(name[2] ==
'o'
&&
name[3] ==
'c'
&&
name[4] ==
'k'
)
{
return
-KEY_flock;
}
goto
unknown;
default
:
goto
unknown;
}
case
'g'
:
if
(name[1] ==
'i'
&&
name[2] ==
'v'
&&
name[3] ==
'e'
&&
name[4] ==
'n'
)
{
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'
)
{
return
-KEY_index;
}
goto
unknown;
case
'o'
:
if
(name[2] ==
'c'
&&
name[3] ==
't'
&&
name[4] ==
'l'
)
{
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'
)
{
return
KEY_local;
}
goto
unknown;
case
's'
:
if
(name[2] ==
't'
&&
name[3] ==
'a'
&&
name[4] ==
't'
)
{
return
-KEY_lstat;
}
goto
unknown;
default
:
goto
unknown;
}
case
'm'
:
if
(name[1] ==
'k'
&&
name[2] ==
'd'
&&
name[3] ==
'i'
&&
name[4] ==
'r'
)
{
return
-KEY_mkdir;
}
goto
unknown;
case
'p'
:
if
(name[1] ==
'r'
&&
name[2] ==
'i'
&&
name[3] ==
'n'
&&
name[4] ==
't'
)
{
return
KEY_print;
}
goto
unknown;
case
'r'
:
switch
(name[1])
{
case
'e'
:
if
(name[2] ==
's'
&&
name[3] ==
'e'
&&
name[4] ==
't'
)
{
return
-KEY_reset;
}
goto
unknown;
case
'm'
:
if
(name[2] ==
'd'
&&
name[3] ==
'i'
&&
name[4] ==
'r'
)
{
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'
)
{
return
-KEY_semop;
}
goto
unknown;
case
'h'
:
if
(name[2] ==
'i'
&&
name[3] ==
'f'
&&
name[4] ==
't'
)
{
return
-KEY_shift;
}
goto
unknown;
case
'l'
:
if
(name[2] ==
'e'
&&
name[3] ==
'e'
&&
name[4] ==
'p'
)
{
return
-KEY_sleep;
}
goto
unknown;
case
'p'
:
if
(name[2] ==
'l'
&&
name[3] ==
'i'
&&
name[4] ==
't'
)
{
return
KEY_split;
}
goto
unknown;
case
'r'
:
if
(name[2] ==
'a'
&&
name[3] ==
'n'
&&
name[4] ==
'd'
)
{
return
-KEY_srand;
}
goto
unknown;
case
't'
:
switch
(name[2])
{
case
'a'
:
if
(name[3] ==
't'
&&
name[4] ==
'e'
)
{
return
(all_keywords || FEATURE_STATE_IS_ENABLED ? KEY_state : 0);
}
goto
unknown;
case
'u'
:
if
(name[3] ==
'd'
&&
name[4] ==
'y'
)
{
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'
)
{
return
-KEY_times;
}
goto
unknown;
case
'u'
:
switch
(name[1])
{
case
'm'
:
if
(name[2] ==
'a'
&&
name[3] ==
's'
&&
name[4] ==
'k'
)
{
return
-KEY_umask;
}
goto
unknown;
case
'n'
:
switch
(name[2])
{
case
'd'
:
if
(name[3] ==
'e'
&&
name[4] ==
'f'
)
{
return
KEY_undef;
}
goto
unknown;
case
't'
:
if
(name[3] ==
'i'
)
{
switch
(name[4])
{
case
'e'
:
{
return
-KEY_untie;
}
case
'l'
:
{
return
KEY_until;
}
default
:
goto
unknown;
}
}
goto
unknown;
default
:
goto
unknown;
}
case
't'
:
if
(name[2] ==
'i'
&&
name[3] ==
'm'
&&
name[4] ==
'e'
)
{
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'
)
{
return
KEY_while;
}
goto
unknown;
case
'r'
:
if
(name[2] ==
'i'
&&
name[3] ==
't'
&&
name[4] ==
'e'
)
{
return
-KEY_write;
}
goto
unknown;
default
:
goto
unknown;
}
default
:
goto
unknown;
}
case
6:
switch
(name[0])
{
case
'A'
:
if
(name[1] ==
'D'
&&
name[2] ==
'J'
&&
name[3] ==
'U'
&&
name[4] ==
'S'
&&
name[5] ==
'T'
)
{
return
(all_keywords || FEATURE_CLASS_IS_ENABLED ? KEY_ADJUST : 0);
}
goto
unknown;
case
'a'
:
if
(name[1] ==
'c'
&&
name[2] ==
'c'
&&
name[3] ==
'e'
&&
name[4] ==
'p'
&&
name[5] ==
't'
)
{
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'
)
{
return
-KEY_caller;
}
goto
unknown;
case
'h'
:
if
(name[2] ==
'r'
&&
name[3] ==
'o'
&&
name[4] ==
'o'
&&
name[5] ==
't'
)
{
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'
)
{
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'
)
{
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'
)
{
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'
)
{
return
-KEY_fileno;
}
goto
unknown;
case
'o'
:
if
(name[2] ==
'r'
&&
name[3] ==
'm'
&&
name[4] ==
'a'
&&
name[5] ==
't'
)
{
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'
)
{
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'
)
{
return
-KEY_length;
}
goto
unknown;
case
'i'
:
if
(name[2] ==
's'
&&
name[3] ==
't'
&&
name[4] ==
'e'
&&
name[5] ==
'n'
)
{
return
-KEY_listen;
}
goto
unknown;
default
:
goto
unknown;
}
case
'm'
:
switch
(name[1])
{
case
'e'
:
if
(name[2] ==
't'
&&
name[3] ==
'h'
&&
name[4] ==
'o'
&&
name[5] ==
'd'
)
{
return
(all_keywords || FEATURE_CLASS_IS_ENABLED ? -KEY_method : 0);
}
goto
unknown;
case
's'
:
if
(name[2] ==
'g'
)
{
switch
(name[3])
{
case
'c'
:
if
(name[4] ==
't'
&&
name[5] ==
'l'
)
{
return
-KEY_msgctl;
}
goto
unknown;
case
'g'
:
if
(name[4] ==
'e'
&&
name[5] ==
't'
)
{
return
-KEY_msgget;
}
goto
unknown;
case
'r'
:
if
(name[4] ==
'c'
&&
name[5] ==
'v'
)
{
return
-KEY_msgrcv;
}
goto
unknown;
case
's'
:
if
(name[4] ==
'n'
&&
name[5] ==
'd'
)
{
return
-KEY_msgsnd;
}
goto
unknown;
default
:
goto
unknown;
}
}
goto
unknown;
default
:
goto
unknown;
}
case
'p'
:
if
(name[1] ==
'r'
&&
name[2] ==
'i'
&&
name[3] ==
'n'
&&
name[4] ==
't'
&&
name[5] ==
'f'
)
{
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'
)
{
return
-KEY_rename;
}
goto
unknown;
case
't'
:
if
(name[3] ==
'u'
&&
name[4] ==
'r'
&&
name[5] ==
'n'
)
{
return
KEY_return;
}
goto
unknown;
default
:
goto
unknown;
}
case
'i'
:
if
(name[2] ==
'n'
&&
name[3] ==
'd'
&&
name[4] ==
'e'
&&
name[5] ==
'x'
)
{
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'
)
{
return
KEY_scalar;
}
goto
unknown;
case
'e'
:
switch
(name[2])
{
case
'l'
:
if
(name[3] ==
'e'
&&
name[4] ==
'c'
&&
name[5] ==
't'
)
{
return
-KEY_select;
}
goto
unknown;
case
'm'
:
switch
(name[3])
{
case
'c'
:
if
(name[4] ==
't'
&&
name[5] ==
'l'
)
{
return
-KEY_semctl;
}
goto
unknown;
case
'g'
:
if
(name[4] ==
'e'
&&
name[5] ==
't'
)
{
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'
)
{
return
-KEY_shmctl;
}
goto
unknown;
case
'g'
:
if
(name[4] ==
'e'
&&
name[5] ==
't'
)
{
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'
)
{
return
-KEY_socket;
}
goto
unknown;
case
'p'
:
if
(name[2] ==
'l'
&&
name[3] ==
'i'
&&
name[4] ==
'c'
&&
name[5] ==
'e'
)
{
return
-KEY_splice;
}
goto
unknown;
case
'u'
:
if
(name[2] ==
'b'
&&
name[3] ==
's'
&&
name[4] ==
't'
&&
name[5] ==
'r'
)
{
return
-KEY_substr;
}
goto
unknown;
case
'y'
:
if
(name[2] ==
's'
&&
name[3] ==
't'
&&
name[4] ==
'e'
&&
name[5] ==
'm'
)
{
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'
)
{
return
KEY_unless;
}
goto
unknown;
case
'i'
:
if
(name[4] ==
'n'
&&
name[5] ==
'k'
)
{
return
-KEY_unlink;
}
goto
unknown;
default
:
goto
unknown;
}
case
'p'
:
if
(name[3] ==
'a'
&&
name[4] ==
'c'
&&
name[5] ==
'k'
)
{
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'
)
{
return
-KEY_values;
}
goto
unknown;
default
:
goto
unknown;
}
case
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'
)
{
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] ==
'_'
)
{
return
KEY___END__;
}
goto
unknown;
case
'S'
:
if
(name[3] ==
'U'
&&
name[4] ==
'B'
&&
name[5] ==
'_'
&&
name[6] ==
'_'
)
{
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'
)
{
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'
)
{
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'
)
{
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'
)
{
return
(all_keywords || FEATURE_SWITCH_IS_ENABLED ? KEY_default : 0);
}
goto
unknown;
case
'i'
:
if
(name[4] ==
'n'
&&
name[5] ==
'e'
&&
name[6] ==
'd'
)
{
return
KEY_defined;
}
goto
unknown;
default
:
goto
unknown;
}
}
goto
unknown;
default
:
goto
unknown;
}
case
'f'
:
switch
(name[1])
{
case
'i'
:
if
(name[2] ==
'n'
&&
name[3] ==
'a'
&&
name[4] ==
'l'
&&
name[5] ==
'l'
&&
name[6] ==
'y'
)
{
return
(all_keywords || FEATURE_TRY_IS_ENABLED ? KEY_finally : 0);
}
goto
unknown;
case
'o'
:
if
(name[2] ==
'r'
&&
name[3] ==
'e'
&&
name[4] ==
'a'
&&
name[5] ==
'c'
&&
name[6] ==
'h'
)
{
return
KEY_foreach;
}
goto
unknown;
default
:
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'
)
{
return
-KEY_getpgrp;
}
goto
unknown;
case
'p'
:
if
(name[5] ==
'i'
&&
name[6] ==
'd'
)
{
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'
)
{
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'
)
{
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'
)
{
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'
)
{
return
-KEY_readdir;
}
goto
unknown;
case
'q'
:
if
(name[3] ==
'u'
&&
name[4] ==
'i'
&&
name[5] ==
'r'
&&
name[6] ==
'e'
)
{
return
KEY_require;
}
goto
unknown;
case
'v'
:
if
(name[3] ==
'e'
&&
name[4] ==
'r'
&&
name[5] ==
's'
&&
name[6] ==
'e'
)
{
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'
)
{
return
-KEY_seekdir;
}
goto
unknown;
case
't'
:
if
(name[3] ==
'p'
&&
name[4] ==
'g'
&&
name[5] ==
'r'
&&
name[6] ==
'p'
)
{
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'
)
{
return
-KEY_shmread;
}
goto
unknown;
case
'p'
:
if
(name[2] ==
'r'
&&
name[3] ==
'i'
&&
name[4] ==
'n'
&&
name[5] ==
't'
&&
name[6] ==
'f'
)
{
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'
)
{
return
-KEY_symlink;
}
goto
unknown;
case
's'
:
switch
(name[3])
{
case
'c'
:
if
(name[4] ==
'a'
&&
name[5] ==
'l'
&&
name[6] ==
'l'
)
{
return
-KEY_syscall;
}
goto
unknown;
case
'o'
:
if
(name[4] ==
'p'
&&
name[5] ==
'e'
&&
name[6] ==
'n'
)
{
return
-KEY_sysopen;
}
goto
unknown;
case
'r'
:
if
(name[4] ==
'e'
&&
name[5] ==
'a'
&&
name[6] ==
'd'
)
{
return
-KEY_sysread;
}
goto
unknown;
case
's'
:
if
(name[4] ==
'e'
&&
name[5] ==
'e'
&&
name[6] ==
'k'
)
{
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'
)
{
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'
)
{
return
-KEY_ucfirst;
}
goto
unknown;
case
'n'
:
if
(name[2] ==
's'
&&
name[3] ==
'h'
&&
name[4] ==
'i'
&&
name[5] ==
'f'
&&
name[6] ==
't'
)
{
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'
)
{
return
-KEY_waitpid;
}
goto
unknown;
default
:
goto
unknown;
}
case
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'
)
{
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] ==
'_'
)
{
return
KEY___DATA__;
}
goto
unknown;
case
'F'
:
if
(name[3] ==
'I'
&&
name[4] ==
'L'
&&
name[5] ==
'E'
&&
name[6] ==
'_'
&&
name[7] ==
'_'
)
{
return
-KEY___FILE__;
}
goto
unknown;
case
'L'
:
if
(name[3] ==
'I'
&&
name[4] ==
'N'
&&
name[5] ==
'E'
&&
name[6] ==
'_'
&&
name[7] ==
'_'
)
{
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'
)
{
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'
)
{
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'
)
{
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'
)
{
return
-KEY_endgrent;
}
goto
unknown;
case
'p'
:
if
(name[4] ==
'w'
&&
name[5] ==
'e'
&&
name[6] ==
'n'
&&
name[7] ==
't'
)
{
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'
)
{
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'
)
{
return
-KEY_getgrent;
}
goto
unknown;
case
'g'
:
if
(name[6] ==
'i'
&&
name[7] ==
'd'
)
{
return
-KEY_getgrgid;
}
goto
unknown;
case
'n'
:
if
(name[6] ==
'a'
&&
name[7] ==
'm'
)
{
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'
)
{
return
-KEY_getlogin;
}
goto
unknown;
case
'p'
:
if
(name[4] ==
'w'
)
{
switch
(name[5])
{
case
'e'
:
if
(name[6] ==
'n'
&&
name[7] ==
't'
)
{
return
-KEY_getpwent;
}
goto
unknown;
case
'n'
:
if
(name[6] ==
'a'
&&
name[7] ==
'm'
)
{
return
-KEY_getpwnam;
}
goto
unknown;
case
'u'
:
if
(name[6] ==
'i'
&&
name[7] ==
'd'
)
{
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'
:
{
return
-KEY_readline;
}
case
'k'
:
{
return
-KEY_readlink;
}
default
:
goto
unknown;
}
}
goto
unknown;
case
'p'
:
if
(name[5] ==
'i'
&&
name[6] ==
'p'
&&
name[7] ==
'e'
)
{
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'
)
{
return
-KEY_setgrent;
}
goto
unknown;
case
'p'
:
if
(name[4] ==
'w'
&&
name[5] ==
'e'
&&
name[6] ==
'n'
&&
name[7] ==
't'
)
{
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'
)
{
return
-KEY_shmwrite;
}
goto
unknown;
case
'u'
:
if
(name[3] ==
't'
&&
name[4] ==
'd'
&&
name[5] ==
'o'
&&
name[6] ==
'w'
&&
name[7] ==
'n'
)
{
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'
)
{
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'
)
{
return
-KEY_truncate;
}
goto
unknown;
default
:
goto
unknown;
}
case
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'
)
{
return
KEY_UNITCHECK;
}
goto
unknown;
case
'_'
:
if
(name[1] ==
'_'
&&
name[2] ==
'C'
&&
name[3] ==
'L'
&&
name[4] ==
'A'
&&
name[5] ==
'S'
&&
name[6] ==
'S'
&&
name[7] ==
'_'
&&
name[8] ==
'_'
)
{
return
(all_keywords || FEATURE_CLASS_IS_ENABLED ? -KEY___CLASS__ : 0);
}
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'
)
{
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'
)
{
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'
)
{
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'
)
{
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'
)
{
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'
)
{
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'
)
{
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'
)
{
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'
)
{
return
-KEY_wantarray;
}
goto
unknown;
default
:
goto
unknown;
}
case
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'
)
{
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'
)
{
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'
)
{
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'
)
{
return
-KEY_getservent;
}
goto
unknown;
case
'o'
:
if
(name[5] ==
'c'
&&
name[6] ==
'k'
&&
name[7] ==
'o'
&&
name[8] ==
'p'
&&
name[9] ==
't'
)
{
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'
)
{
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'
)
{
return
-KEY_setservent;
}
goto
unknown;
case
'o'
:
if
(name[5] ==
'c'
&&
name[6] ==
'k'
&&
name[7] ==
'o'
&&
name[8] ==
'p'
&&
name[9] ==
't'
)
{
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'
)
{
return
-KEY_socketpair;
}
goto
unknown;
default
:
goto
unknown;
}
default
:
goto
unknown;
}
case
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] ==
'_'
)
{
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'
)
{
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'
)
{
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'
)
{
return
-KEY_getpriority;
}
goto
unknown;
case
'o'
:
if
(name[6] ==
't'
&&
name[7] ==
'o'
&&
name[8] ==
'e'
&&
name[9] ==
'n'
&&
name[10] ==
't'
)
{
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'
)
{
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'
)
{
return
-KEY_setpriority;
}
goto
unknown;
case
'o'
:
if
(name[6] ==
't'
&&
name[7] ==
'o'
&&
name[8] ==
'e'
&&
name[9] ==
'n'
&&
name[10] ==
't'
)
{
return
-KEY_setprotoent;
}
goto
unknown;
default
:
goto
unknown;
}
}
goto
unknown;
default
:
goto
unknown;
}
case
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'
)
{
return
-KEY_getnetbyaddr;
}
goto
unknown;
case
'n'
:
if
(name[9] ==
'a'
&&
name[10] ==
'm'
&&
name[11] ==
'e'
)
{
return
-KEY_getnetbyname;
}
goto
unknown;
default
:
goto
unknown;
}
}
goto
unknown;
case
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'
)
{
return
-KEY_gethostbyaddr;
}
goto
unknown;
case
'n'
:
if
(name[10] ==
'a'
&&
name[11] ==
'm'
&&
name[12] ==
'e'
)
{
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'
)
{
return
-KEY_getservbyname;
}
goto
unknown;
case
'p'
:
if
(name[10] ==
'o'
&&
name[11] ==
'r'
&&
name[12] ==
't'
)
{
return
-KEY_getservbyport;
}
goto
unknown;
default
:
goto
unknown;
}
}
goto
unknown;
default
:
goto
unknown;
}
}
goto
unknown;
case
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'
)
{
return
-KEY_getprotobyname;
}
goto
unknown;
case
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'
)
{
return
-KEY_getprotobynumber;
}
goto
unknown;
default
:
goto
unknown;
}
unknown:
return
0;
}