This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
make perl core quiet under -Wfloat-equal
[perl5.git] / keywords.c
CommitLineData
f133ac5d
NC
1/* -*- buffer-read-only: t -*-
2 * !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
3 * This file is built by regen/keywords.pl from its data.
4 * Any changes made here will be lost!
26ea9e12
NC
5 */
6
7#include "EXTERN.h"
8#define PERL_IN_KEYWORDS_C
9#include "perl.h"
10#include "keywords.h"
2846acbf 11#include "feature.h"
26ea9e12
NC
12
13I32
14Perl_keyword (pTHX_ const char *name, I32 len, bool all_keywords)
15{
f133ac5d 16 dVAR;
26ea9e12 17
f133ac5d 18 PERL_ARGS_ASSERT_KEYWORD;
26ea9e12
NC
19
20 switch (len)
21 {
22 case 1: /* 5 tokens of length 1 */
23 switch (name[0])
24 {
25 case 'm':
26 { /* m */
27 return KEY_m;
28 }
29
30 case 'q':
31 { /* q */
32 return KEY_q;
33 }
34
35 case 's':
36 { /* s */
37 return KEY_s;
38 }
39
40 case 'x':
41 { /* x */
42 return -KEY_x;
43 }
44
45 case 'y':
46 { /* y */
47 return KEY_y;
48 }
49
50 default:
51 goto unknown;
52 }
53
838f2281 54 case 2: /* 19 tokens of length 2 */
26ea9e12
NC
55 switch (name[0])
56 {
57 case 'd':
58 if (name[1] == 'o')
59 { /* do */
60 return KEY_do;
61 }
62
63 goto unknown;
64
65 case 'e':
66 if (name[1] == 'q')
67 { /* eq */
68 return -KEY_eq;
69 }
70
71 goto unknown;
72
838f2281
BF
73 case 'f':
74 if (name[1] == 'c')
75 { /* fc */
76 return (all_keywords || FEATURE_FC_IS_ENABLED ? -KEY_fc : 0);
77 }
78
79 goto unknown;
80
26ea9e12
NC
81 case 'g':
82 switch (name[1])
83 {
84 case 'e':
85 { /* ge */
86 return -KEY_ge;
87 }
88
89 case 't':
90 { /* gt */
91 return -KEY_gt;
92 }
93
94 default:
95 goto unknown;
96 }
97
98 case 'i':
99 if (name[1] == 'f')
100 { /* if */
101 return KEY_if;
102 }
103
104 goto unknown;
105
106 case 'l':
107 switch (name[1])
108 {
109 case 'c':
110 { /* lc */
111 return -KEY_lc;
112 }
113
114 case 'e':
115 { /* le */
116 return -KEY_le;
117 }
118
119 case 't':
120 { /* lt */
121 return -KEY_lt;
122 }
123
124 default:
125 goto unknown;
126 }
127
128 case 'm':
129 if (name[1] == 'y')
130 { /* my */
131 return KEY_my;
132 }
133
134 goto unknown;
135
136 case 'n':
137 switch (name[1])
138 {
139 case 'e':
140 { /* ne */
141 return -KEY_ne;
142 }
143
144 case 'o':
145 { /* no */
146 return KEY_no;
147 }
148
149 default:
150 goto unknown;
151 }
152
153 case 'o':
154 if (name[1] == 'r')
155 { /* or */
156 return -KEY_or;
157 }
158
159 goto unknown;
160
161 case 'q':
162 switch (name[1])
163 {
164 case 'q':
165 { /* qq */
166 return KEY_qq;
167 }
168
169 case 'r':
170 { /* qr */
171 return KEY_qr;
172 }
173
174 case 'w':
175 { /* qw */
176 return KEY_qw;
177 }
178
179 case 'x':
180 { /* qx */
181 return KEY_qx;
182 }
183
184 default:
185 goto unknown;
186 }
187
188 case 't':
189 if (name[1] == 'r')
190 { /* tr */
191 return KEY_tr;
192 }
193
194 goto unknown;
195
196 case 'u':
197 if (name[1] == 'c')
198 { /* uc */
199 return -KEY_uc;
200 }
201
202 goto unknown;
203
204 default:
205 goto unknown;
206 }
207
208 case 3: /* 28 tokens of length 3 */
209 switch (name[0])
210 {
211 case 'E':
212 if (name[1] == 'N' &&
213 name[2] == 'D')
214 { /* END */
215 return KEY_END;
216 }
217
218 goto unknown;
219
220 case 'a':
221 switch (name[1])
222 {
223 case 'b':
224 if (name[2] == 's')
225 { /* abs */
226 return -KEY_abs;
227 }
228
229 goto unknown;
230
231 case 'n':
232 if (name[2] == 'd')
233 { /* and */
234 return -KEY_and;
235 }
236
237 goto unknown;
238
239 default:
240 goto unknown;
241 }
242
243 case 'c':
244 switch (name[1])
245 {
246 case 'h':
247 if (name[2] == 'r')
248 { /* chr */
249 return -KEY_chr;
250 }
251
252 goto unknown;
253
254 case 'm':
255 if (name[2] == 'p')
256 { /* cmp */
257 return -KEY_cmp;
258 }
259
260 goto unknown;
261
262 case 'o':
263 if (name[2] == 's')
264 { /* cos */
265 return -KEY_cos;
266 }
267
268 goto unknown;
269
270 default:
271 goto unknown;
272 }
273
274 case 'd':
275 if (name[1] == 'i' &&
276 name[2] == 'e')
277 { /* die */
278 return -KEY_die;
279 }
280
281 goto unknown;
282
283 case 'e':
284 switch (name[1])
285 {
286 case 'o':
287 if (name[2] == 'f')
288 { /* eof */
289 return -KEY_eof;
290 }
291
292 goto unknown;
293
294 case 'x':
295 if (name[2] == 'p')
296 { /* exp */
297 return -KEY_exp;
298 }
299
300 goto unknown;
301
302 default:
303 goto unknown;
304 }
305
306 case 'f':
307 if (name[1] == 'o' &&
308 name[2] == 'r')
309 { /* for */
310 return KEY_for;
311 }
312
313 goto unknown;
314
315 case 'h':
316 if (name[1] == 'e' &&
317 name[2] == 'x')
318 { /* hex */
319 return -KEY_hex;
320 }
321
322 goto unknown;
323
324 case 'i':
325 if (name[1] == 'n' &&
326 name[2] == 't')
327 { /* int */
328 return -KEY_int;
329 }
330
331 goto unknown;
332
333 case 'l':
334 if (name[1] == 'o' &&
335 name[2] == 'g')
336 { /* log */
337 return -KEY_log;
338 }
339
340 goto unknown;
341
342 case 'm':
343 if (name[1] == 'a' &&
344 name[2] == 'p')
345 { /* map */
346 return KEY_map;
347 }
348
349 goto unknown;
350
351 case 'n':
352 if (name[1] == 'o' &&
353 name[2] == 't')
354 { /* not */
355 return -KEY_not;
356 }
357
358 goto unknown;
359
360 case 'o':
361 switch (name[1])
362 {
363 case 'c':
364 if (name[2] == 't')
365 { /* oct */
366 return -KEY_oct;
367 }
368
369 goto unknown;
370
371 case 'r':
372 if (name[2] == 'd')
373 { /* ord */
374 return -KEY_ord;
375 }
376
377 goto unknown;
378
379 case 'u':
380 if (name[2] == 'r')
381 { /* our */
382 return KEY_our;
383 }
384
385 goto unknown;
386
387 default:
388 goto unknown;
389 }
390
391 case 'p':
392 if (name[1] == 'o')
393 {
394 switch (name[2])
395 {
396 case 'p':
397 { /* pop */
398 return -KEY_pop;
399 }
400
401 case 's':
402 { /* pos */
403 return KEY_pos;
404 }
405
406 default:
407 goto unknown;
408 }
409 }
410
411 goto unknown;
412
413 case 'r':
414 if (name[1] == 'e' &&
415 name[2] == 'f')
416 { /* ref */
417 return -KEY_ref;
418 }
419
420 goto unknown;
421
422 case 's':
423 switch (name[1])
424 {
425 case 'a':
426 if (name[2] == 'y')
427 { /* say */
2846acbf 428 return (all_keywords || FEATURE_SAY_IS_ENABLED ? KEY_say : 0);
26ea9e12
NC
429 }
430
431 goto unknown;
432
433 case 'i':
434 if (name[2] == 'n')
435 { /* sin */
436 return -KEY_sin;
437 }
438
439 goto unknown;
440
441 case 'u':
442 if (name[2] == 'b')
443 { /* sub */
444 return KEY_sub;
445 }
446
447 goto unknown;
448
449 default:
450 goto unknown;
451 }
452
453 case 't':
454 if (name[1] == 'i' &&
455 name[2] == 'e')
456 { /* tie */
457 return -KEY_tie;
458 }
459
460 goto unknown;
461
462 case 'u':
463 if (name[1] == 's' &&
464 name[2] == 'e')
465 { /* use */
466 return KEY_use;
467 }
468
469 goto unknown;
470
471 case 'v':
472 if (name[1] == 'e' &&
473 name[2] == 'c')
474 { /* vec */
475 return -KEY_vec;
476 }
477
478 goto unknown;
479
480 case 'x':
481 if (name[1] == 'o' &&
482 name[2] == 'r')
483 { /* xor */
484 return -KEY_xor;
485 }
486
487 goto unknown;
488
489 default:
490 goto unknown;
491 }
492
a96df643 493 case 4: /* 40 tokens of length 4 */
26ea9e12
NC
494 switch (name[0])
495 {
26ea9e12
NC
496 case 'I':
497 if (name[1] == 'N' &&
498 name[2] == 'I' &&
499 name[3] == 'T')
500 { /* INIT */
501 return KEY_INIT;
502 }
503
504 goto unknown;
505
506 case 'b':
507 if (name[1] == 'i' &&
508 name[2] == 'n' &&
509 name[3] == 'd')
510 { /* bind */
511 return -KEY_bind;
512 }
513
514 goto unknown;
515
516 case 'c':
517 if (name[1] == 'h' &&
518 name[2] == 'o' &&
519 name[3] == 'p')
520 { /* chop */
521 return -KEY_chop;
522 }
523
524 goto unknown;
525
526 case 'd':
527 if (name[1] == 'u' &&
528 name[2] == 'm' &&
529 name[3] == 'p')
530 { /* dump */
531 return -KEY_dump;
532 }
533
534 goto unknown;
535
536 case 'e':
537 switch (name[1])
538 {
539 case 'a':
540 if (name[2] == 'c' &&
541 name[3] == 'h')
542 { /* each */
543 return -KEY_each;
544 }
545
546 goto unknown;
547
548 case 'l':
549 if (name[2] == 's' &&
550 name[3] == 'e')
551 { /* else */
552 return KEY_else;
553 }
554
555 goto unknown;
556
557 case 'v':
558 if (name[2] == 'a' &&
559 name[3] == 'l')
560 { /* eval */
561 return KEY_eval;
562 }
563
564 goto unknown;
565
566 case 'x':
567 switch (name[2])
568 {
569 case 'e':
570 if (name[3] == 'c')
571 { /* exec */
572 return -KEY_exec;
573 }
574
575 goto unknown;
576
577 case 'i':
578 if (name[3] == 't')
579 { /* exit */
580 return -KEY_exit;
581 }
582
583 goto unknown;
584
585 default:
586 goto unknown;
587 }
588
589 default:
590 goto unknown;
591 }
592
593 case 'f':
594 if (name[1] == 'o' &&
595 name[2] == 'r' &&
596 name[3] == 'k')
597 { /* fork */
598 return -KEY_fork;
599 }
600
601 goto unknown;
602
603 case 'g':
604 switch (name[1])
605 {
606 case 'e':
607 if (name[2] == 't' &&
608 name[3] == 'c')
609 { /* getc */
610 return -KEY_getc;
611 }
612
613 goto unknown;
614
615 case 'l':
616 if (name[2] == 'o' &&
617 name[3] == 'b')
618 { /* glob */
619 return KEY_glob;
620 }
621
622 goto unknown;
623
624 case 'o':
625 if (name[2] == 't' &&
626 name[3] == 'o')
627 { /* goto */
628 return KEY_goto;
629 }
630
631 goto unknown;
632
633 case 'r':
634 if (name[2] == 'e' &&
635 name[3] == 'p')
636 { /* grep */
637 return KEY_grep;
638 }
639
640 goto unknown;
641
642 default:
643 goto unknown;
644 }
645
646 case 'j':
647 if (name[1] == 'o' &&
648 name[2] == 'i' &&
649 name[3] == 'n')
650 { /* join */
651 return -KEY_join;
652 }
653
654 goto unknown;
655
656 case 'k':
657 switch (name[1])
658 {
659 case 'e':
660 if (name[2] == 'y' &&
661 name[3] == 's')
662 { /* keys */
663 return -KEY_keys;
664 }
665
666 goto unknown;
667
668 case 'i':
669 if (name[2] == 'l' &&
670 name[3] == 'l')
671 { /* kill */
672 return -KEY_kill;
673 }
674
675 goto unknown;
676
677 default:
678 goto unknown;
679 }
680
681 case 'l':
682 switch (name[1])
683 {
684 case 'a':
685 if (name[2] == 's' &&
686 name[3] == 't')
687 { /* last */
688 return KEY_last;
689 }
690
691 goto unknown;
692
693 case 'i':
694 if (name[2] == 'n' &&
695 name[3] == 'k')
696 { /* link */
697 return -KEY_link;
698 }
699
700 goto unknown;
701
702 case 'o':
703 if (name[2] == 'c' &&
704 name[3] == 'k')
705 { /* lock */
706 return -KEY_lock;
707 }
708
709 goto unknown;
710
711 default:
712 goto unknown;
713 }
714
715 case 'n':
716 if (name[1] == 'e' &&
717 name[2] == 'x' &&
718 name[3] == 't')
719 { /* next */
720 return KEY_next;
721 }
722
723 goto unknown;
724
725 case 'o':
726 if (name[1] == 'p' &&
727 name[2] == 'e' &&
728 name[3] == 'n')
729 { /* open */
730 return -KEY_open;
731 }
732
733 goto unknown;
734
735 case 'p':
736 switch (name[1])
737 {
738 case 'a':
739 if (name[2] == 'c' &&
740 name[3] == 'k')
741 { /* pack */
742 return -KEY_pack;
743 }
744
745 goto unknown;
746
747 case 'i':
748 if (name[2] == 'p' &&
749 name[3] == 'e')
750 { /* pipe */
751 return -KEY_pipe;
752 }
753
754 goto unknown;
755
756 case 'u':
757 if (name[2] == 's' &&
758 name[3] == 'h')
759 { /* push */
760 return -KEY_push;
761 }
762
763 goto unknown;
764
765 default:
766 goto unknown;
767 }
768
769 case 'r':
770 switch (name[1])
771 {
772 case 'a':
773 if (name[2] == 'n' &&
774 name[3] == 'd')
775 { /* rand */
776 return -KEY_rand;
777 }
778
779 goto unknown;
780
781 case 'e':
782 switch (name[2])
783 {
784 case 'a':
785 if (name[3] == 'd')
786 { /* read */
787 return -KEY_read;
788 }
789
790 goto unknown;
791
792 case 'c':
793 if (name[3] == 'v')
794 { /* recv */
795 return -KEY_recv;
796 }
797
798 goto unknown;
799
800 case 'd':
801 if (name[3] == 'o')
802 { /* redo */
803 return KEY_redo;
804 }
805
806 goto unknown;
807
808 default:
809 goto unknown;
810 }
811
812 default:
813 goto unknown;
814 }
815
816 case 's':
817 switch (name[1])
818 {
819 case 'e':
820 switch (name[2])
821 {
822 case 'e':
823 if (name[3] == 'k')
824 { /* seek */
825 return -KEY_seek;
826 }
827
828 goto unknown;
829
830 case 'n':
831 if (name[3] == 'd')
832 { /* send */
833 return -KEY_send;
834 }
835
836 goto unknown;
837
838 default:
839 goto unknown;
840 }
841
842 case 'o':
843 if (name[2] == 'r' &&
844 name[3] == 't')
845 { /* sort */
846 return KEY_sort;
847 }
848
849 goto unknown;
850
851 case 'q':
852 if (name[2] == 'r' &&
853 name[3] == 't')
854 { /* sqrt */
855 return -KEY_sqrt;
856 }
857
858 goto unknown;
859
860 case 't':
861 if (name[2] == 'a' &&
862 name[3] == 't')
863 { /* stat */
864 return -KEY_stat;
865 }
866
867 goto unknown;
868
869 default:
870 goto unknown;
871 }
872
873 case 't':
874 switch (name[1])
875 {
876 case 'e':
877 if (name[2] == 'l' &&
878 name[3] == 'l')
879 { /* tell */
880 return -KEY_tell;
881 }
882
883 goto unknown;
884
885 case 'i':
886 switch (name[2])
887 {
888 case 'e':
889 if (name[3] == 'd')
890 { /* tied */
891 return -KEY_tied;
892 }
893
894 goto unknown;
895
896 case 'm':
897 if (name[3] == 'e')
898 { /* time */
899 return -KEY_time;
900 }
901
902 goto unknown;
903
904 default:
905 goto unknown;
906 }
907
908 default:
909 goto unknown;
910 }
911
912 case 'w':
913 switch (name[1])
914 {
915 case 'a':
916 switch (name[2])
917 {
918 case 'i':
919 if (name[3] == 't')
920 { /* wait */
921 return -KEY_wait;
922 }
923
924 goto unknown;
925
926 case 'r':
927 if (name[3] == 'n')
928 { /* warn */
929 return -KEY_warn;
930 }
931
932 goto unknown;
933
934 default:
935 goto unknown;
936 }
937
938 case 'h':
939 if (name[2] == 'e' &&
940 name[3] == 'n')
941 { /* when */
2846acbf 942 return (all_keywords || FEATURE_SWITCH_IS_ENABLED ? KEY_when : 0);
26ea9e12
NC
943 }
944
945 goto unknown;
946
947 default:
948 goto unknown;
949 }
950
951 default:
952 goto unknown;
953 }
954
955 case 5: /* 39 tokens of length 5 */
956 switch (name[0])
957 {
958 case 'B':
959 if (name[1] == 'E' &&
960 name[2] == 'G' &&
961 name[3] == 'I' &&
962 name[4] == 'N')
963 { /* BEGIN */
964 return KEY_BEGIN;
965 }
966
967 goto unknown;
968
969 case 'C':
970 if (name[1] == 'H' &&
971 name[2] == 'E' &&
972 name[3] == 'C' &&
973 name[4] == 'K')
974 { /* CHECK */
975 return KEY_CHECK;
976 }
977
978 goto unknown;
979
980 case 'a':
981 switch (name[1])
982 {
983 case 'l':
984 if (name[2] == 'a' &&
985 name[3] == 'r' &&
986 name[4] == 'm')
987 { /* alarm */
988 return -KEY_alarm;
989 }
990
991 goto unknown;
992
993 case 't':
994 if (name[2] == 'a' &&
995 name[3] == 'n' &&
996 name[4] == '2')
997 { /* atan2 */
998 return -KEY_atan2;
999 }
1000
1001 goto unknown;
1002
1003 default:
1004 goto unknown;
1005 }
1006
1007 case 'b':
1008 switch (name[1])
1009 {
1010 case 'l':
1011 if (name[2] == 'e' &&
1012 name[3] == 's' &&
1013 name[4] == 's')
1014 { /* bless */
1015 return -KEY_bless;
1016 }
1017
1018 goto unknown;
1019
1020 case 'r':
1021 if (name[2] == 'e' &&
1022 name[3] == 'a' &&
1023 name[4] == 'k')
1024 { /* break */
2846acbf 1025 return (all_keywords || FEATURE_SWITCH_IS_ENABLED ? -KEY_break : 0);
26ea9e12
NC
1026 }
1027
1028 goto unknown;
1029
1030 default:
1031 goto unknown;
1032 }
1033
1034 case 'c':
1035 switch (name[1])
1036 {
1037 case 'h':
1038 switch (name[2])
1039 {
1040 case 'd':
1041 if (name[3] == 'i' &&
1042 name[4] == 'r')
1043 { /* chdir */
1044 return -KEY_chdir;
1045 }
1046
1047 goto unknown;
1048
1049 case 'm':
1050 if (name[3] == 'o' &&
1051 name[4] == 'd')
1052 { /* chmod */
1053 return -KEY_chmod;
1054 }
1055
1056 goto unknown;
1057
1058 case 'o':
1059 switch (name[3])
1060 {
1061 case 'm':
1062 if (name[4] == 'p')
1063 { /* chomp */
1064 return -KEY_chomp;
1065 }
1066
1067 goto unknown;
1068
1069 case 'w':
1070 if (name[4] == 'n')
1071 { /* chown */
1072 return -KEY_chown;
1073 }
1074
1075 goto unknown;
1076
1077 default:
1078 goto unknown;
1079 }
1080
1081 default:
1082 goto unknown;
1083 }
1084
1085 case 'l':
1086 if (name[2] == 'o' &&
1087 name[3] == 's' &&
1088 name[4] == 'e')
1089 { /* close */
1090 return -KEY_close;
1091 }
1092
1093 goto unknown;
1094
1095 case 'r':
1096 if (name[2] == 'y' &&
1097 name[3] == 'p' &&
1098 name[4] == 't')
1099 { /* crypt */
1100 return -KEY_crypt;
1101 }
1102
1103 goto unknown;
1104
1105 default:
1106 goto unknown;
1107 }
1108
1109 case 'e':
1110 if (name[1] == 'l' &&
1111 name[2] == 's' &&
1112 name[3] == 'i' &&
1113 name[4] == 'f')
1114 { /* elsif */
1115 return KEY_elsif;
1116 }
1117
1118 goto unknown;
1119
1120 case 'f':
1121 switch (name[1])
1122 {
1123 case 'c':
1124 if (name[2] == 'n' &&
1125 name[3] == 't' &&
1126 name[4] == 'l')
1127 { /* fcntl */
1128 return -KEY_fcntl;
1129 }
1130
1131 goto unknown;
1132
1133 case 'l':
1134 if (name[2] == 'o' &&
1135 name[3] == 'c' &&
1136 name[4] == 'k')
1137 { /* flock */
1138 return -KEY_flock;
1139 }
1140
1141 goto unknown;
1142
1143 default:
1144 goto unknown;
1145 }
1146
1147 case 'g':
1148 if (name[1] == 'i' &&
1149 name[2] == 'v' &&
1150 name[3] == 'e' &&
1151 name[4] == 'n')
1152 { /* given */
2846acbf 1153 return (all_keywords || FEATURE_SWITCH_IS_ENABLED ? KEY_given : 0);
26ea9e12
NC
1154 }
1155
1156 goto unknown;
1157
1158 case 'i':
1159 switch (name[1])
1160 {
1161 case 'n':
1162 if (name[2] == 'd' &&
1163 name[3] == 'e' &&
1164 name[4] == 'x')
1165 { /* index */
1166 return -KEY_index;
1167 }
1168
1169 goto unknown;
1170
1171 case 'o':
1172 if (name[2] == 'c' &&
1173 name[3] == 't' &&
1174 name[4] == 'l')
1175 { /* ioctl */
1176 return -KEY_ioctl;
1177 }
1178
1179 goto unknown;
1180
1181 default:
1182 goto unknown;
1183 }
1184
1185 case 'l':
1186 switch (name[1])
1187 {
1188 case 'o':
1189 if (name[2] == 'c' &&
1190 name[3] == 'a' &&
1191 name[4] == 'l')
1192 { /* local */
1193 return KEY_local;
1194 }
1195
1196 goto unknown;
1197
1198 case 's':
1199 if (name[2] == 't' &&
1200 name[3] == 'a' &&
1201 name[4] == 't')
1202 { /* lstat */
1203 return -KEY_lstat;
1204 }
1205
1206 goto unknown;
1207
1208 default:
1209 goto unknown;
1210 }
1211
1212 case 'm':
1213 if (name[1] == 'k' &&
1214 name[2] == 'd' &&
1215 name[3] == 'i' &&
1216 name[4] == 'r')
1217 { /* mkdir */
1218 return -KEY_mkdir;
1219 }
1220
1221 goto unknown;
1222
1223 case 'p':
1224 if (name[1] == 'r' &&
1225 name[2] == 'i' &&
1226 name[3] == 'n' &&
1227 name[4] == 't')
1228 { /* print */
1229 return KEY_print;
1230 }
1231
1232 goto unknown;
1233
1234 case 'r':
1235 switch (name[1])
1236 {
1237 case 'e':
1238 if (name[2] == 's' &&
1239 name[3] == 'e' &&
1240 name[4] == 't')
1241 { /* reset */
1242 return -KEY_reset;
1243 }
1244
1245 goto unknown;
1246
1247 case 'm':
1248 if (name[2] == 'd' &&
1249 name[3] == 'i' &&
1250 name[4] == 'r')
1251 { /* rmdir */
1252 return -KEY_rmdir;
1253 }
1254
1255 goto unknown;
1256
1257 default:
1258 goto unknown;
1259 }
1260
1261 case 's':
1262 switch (name[1])
1263 {
1264 case 'e':
1265 if (name[2] == 'm' &&
1266 name[3] == 'o' &&
1267 name[4] == 'p')
1268 { /* semop */
1269 return -KEY_semop;
1270 }
1271
1272 goto unknown;
1273
1274 case 'h':
1275 if (name[2] == 'i' &&
1276 name[3] == 'f' &&
1277 name[4] == 't')
1278 { /* shift */
1279 return -KEY_shift;
1280 }
1281
1282 goto unknown;
1283
1284 case 'l':
1285 if (name[2] == 'e' &&
1286 name[3] == 'e' &&
1287 name[4] == 'p')
1288 { /* sleep */
1289 return -KEY_sleep;
1290 }
1291
1292 goto unknown;
1293
1294 case 'p':
1295 if (name[2] == 'l' &&
1296 name[3] == 'i' &&
1297 name[4] == 't')
1298 { /* split */
1299 return KEY_split;
1300 }
1301
1302 goto unknown;
1303
1304 case 'r':
1305 if (name[2] == 'a' &&
1306 name[3] == 'n' &&
1307 name[4] == 'd')
1308 { /* srand */
1309 return -KEY_srand;
1310 }
1311
1312 goto unknown;
1313
1314 case 't':
1315 switch (name[2])
1316 {
1317 case 'a':
1318 if (name[3] == 't' &&
1319 name[4] == 'e')
1320 { /* state */
2846acbf 1321 return (all_keywords || FEATURE_STATE_IS_ENABLED ? KEY_state : 0);
26ea9e12
NC
1322 }
1323
1324 goto unknown;
1325
1326 case 'u':
1327 if (name[3] == 'd' &&
1328 name[4] == 'y')
1329 { /* study */
1330 return KEY_study;
1331 }
1332
1333 goto unknown;
1334
1335 default:
1336 goto unknown;
1337 }
1338
1339 default:
1340 goto unknown;
1341 }
1342
1343 case 't':
1344 if (name[1] == 'i' &&
1345 name[2] == 'm' &&
1346 name[3] == 'e' &&
1347 name[4] == 's')
1348 { /* times */
1349 return -KEY_times;
1350 }
1351
1352 goto unknown;
1353
1354 case 'u':
1355 switch (name[1])
1356 {
1357 case 'm':
1358 if (name[2] == 'a' &&
1359 name[3] == 's' &&
1360 name[4] == 'k')
1361 { /* umask */
1362 return -KEY_umask;
1363 }
1364
1365 goto unknown;
1366
1367 case 'n':
1368 switch (name[2])
1369 {
1370 case 'd':
1371 if (name[3] == 'e' &&
1372 name[4] == 'f')
1373 { /* undef */
1374 return KEY_undef;
1375 }
1376
1377 goto unknown;
1378
1379 case 't':
1380 if (name[3] == 'i')
1381 {
1382 switch (name[4])
1383 {
1384 case 'e':
1385 { /* untie */
1386 return -KEY_untie;
1387 }
1388
1389 case 'l':
1390 { /* until */
1391 return KEY_until;
1392 }
1393
1394 default:
1395 goto unknown;
1396 }
1397 }
1398
1399 goto unknown;
1400
1401 default:
1402 goto unknown;
1403 }
1404
1405 case 't':
1406 if (name[2] == 'i' &&
1407 name[3] == 'm' &&
1408 name[4] == 'e')
1409 { /* utime */
1410 return -KEY_utime;
1411 }
1412
1413 goto unknown;
1414
1415 default:
1416 goto unknown;
1417 }
1418
1419 case 'w':
1420 switch (name[1])
1421 {
1422 case 'h':
1423 if (name[2] == 'i' &&
1424 name[3] == 'l' &&
1425 name[4] == 'e')
1426 { /* while */
1427 return KEY_while;
1428 }
1429
1430 goto unknown;
1431
1432 case 'r':
1433 if (name[2] == 'i' &&
1434 name[3] == 't' &&
1435 name[4] == 'e')
1436 { /* write */
1437 return -KEY_write;
1438 }
1439
1440 goto unknown;
1441
1442 default:
1443 goto unknown;
1444 }
1445
1446 default:
1447 goto unknown;
1448 }
1449
1450 case 6: /* 33 tokens of length 6 */
1451 switch (name[0])
1452 {
1453 case 'a':
1454 if (name[1] == 'c' &&
1455 name[2] == 'c' &&
1456 name[3] == 'e' &&
1457 name[4] == 'p' &&
1458 name[5] == 't')
1459 { /* accept */
1460 return -KEY_accept;
1461 }
1462
1463 goto unknown;
1464
1465 case 'c':
1466 switch (name[1])
1467 {
1468 case 'a':
1469 if (name[2] == 'l' &&
1470 name[3] == 'l' &&
1471 name[4] == 'e' &&
1472 name[5] == 'r')
1473 { /* caller */
1474 return -KEY_caller;
1475 }
1476
1477 goto unknown;
1478
1479 case 'h':
1480 if (name[2] == 'r' &&
1481 name[3] == 'o' &&
1482 name[4] == 'o' &&
1483 name[5] == 't')
1484 { /* chroot */
1485 return -KEY_chroot;
1486 }
1487
1488 goto unknown;
1489
1490 default:
1491 goto unknown;
1492 }
1493
1494 case 'd':
1495 if (name[1] == 'e' &&
1496 name[2] == 'l' &&
1497 name[3] == 'e' &&
1498 name[4] == 't' &&
1499 name[5] == 'e')
1500 { /* delete */
1501 return KEY_delete;
1502 }
1503
1504 goto unknown;
1505
1506 case 'e':
1507 switch (name[1])
1508 {
1509 case 'l':
1510 if (name[2] == 's' &&
1511 name[3] == 'e' &&
1512 name[4] == 'i' &&
1513 name[5] == 'f')
1514 { /* elseif */
1515 Perl_ck_warner_d(aTHX_ packWARN(WARN_SYNTAX), "elseif should be elsif");
1516 }
1517
1518 goto unknown;
1519
1520 case 'x':
1521 if (name[2] == 'i' &&
1522 name[3] == 's' &&
1523 name[4] == 't' &&
1524 name[5] == 's')
1525 { /* exists */
1526 return KEY_exists;
1527 }
1528
1529 goto unknown;
1530
1531 default:
1532 goto unknown;
1533 }
1534
1535 case 'f':
1536 switch (name[1])
1537 {
1538 case 'i':
1539 if (name[2] == 'l' &&
1540 name[3] == 'e' &&
1541 name[4] == 'n' &&
1542 name[5] == 'o')
1543 { /* fileno */
1544 return -KEY_fileno;
1545 }
1546
1547 goto unknown;
1548
1549 case 'o':
1550 if (name[2] == 'r' &&
1551 name[3] == 'm' &&
1552 name[4] == 'a' &&
1553 name[5] == 't')
1554 { /* format */
1555 return KEY_format;
1556 }
1557
1558 goto unknown;
1559
1560 default:
1561 goto unknown;
1562 }
1563
1564 case 'g':
1565 if (name[1] == 'm' &&
1566 name[2] == 't' &&
1567 name[3] == 'i' &&
1568 name[4] == 'm' &&
1569 name[5] == 'e')
1570 { /* gmtime */
1571 return -KEY_gmtime;
1572 }
1573
1574 goto unknown;
1575
1576 case 'l':
1577 switch (name[1])
1578 {
1579 case 'e':
1580 if (name[2] == 'n' &&
1581 name[3] == 'g' &&
1582 name[4] == 't' &&
1583 name[5] == 'h')
1584 { /* length */
1585 return -KEY_length;
1586 }
1587
1588 goto unknown;
1589
1590 case 'i':
1591 if (name[2] == 's' &&
1592 name[3] == 't' &&
1593 name[4] == 'e' &&
1594 name[5] == 'n')
1595 { /* listen */
1596 return -KEY_listen;
1597 }
1598
1599 goto unknown;
1600
1601 default:
1602 goto unknown;
1603 }
1604
1605 case 'm':
1606 if (name[1] == 's' &&
1607 name[2] == 'g')
1608 {
1609 switch (name[3])
1610 {
1611 case 'c':
1612 if (name[4] == 't' &&
1613 name[5] == 'l')
1614 { /* msgctl */
1615 return -KEY_msgctl;
1616 }
1617
1618 goto unknown;
1619
1620 case 'g':
1621 if (name[4] == 'e' &&
1622 name[5] == 't')
1623 { /* msgget */
1624 return -KEY_msgget;
1625 }
1626
1627 goto unknown;
1628
1629 case 'r':
1630 if (name[4] == 'c' &&
1631 name[5] == 'v')
1632 { /* msgrcv */
1633 return -KEY_msgrcv;
1634 }
1635
1636 goto unknown;
1637
1638 case 's':
1639 if (name[4] == 'n' &&
1640 name[5] == 'd')
1641 { /* msgsnd */
1642 return -KEY_msgsnd;
1643 }
1644
1645 goto unknown;
1646
1647 default:
1648 goto unknown;
1649 }
1650 }
1651
1652 goto unknown;
1653
1654 case 'p':
1655 if (name[1] == 'r' &&
1656 name[2] == 'i' &&
1657 name[3] == 'n' &&
1658 name[4] == 't' &&
1659 name[5] == 'f')
1660 { /* printf */
1661 return KEY_printf;
1662 }
1663
1664 goto unknown;
1665
1666 case 'r':
1667 switch (name[1])
1668 {
1669 case 'e':
1670 switch (name[2])
1671 {
1672 case 'n':
1673 if (name[3] == 'a' &&
1674 name[4] == 'm' &&
1675 name[5] == 'e')
1676 { /* rename */
1677 return -KEY_rename;
1678 }
1679
1680 goto unknown;
1681
1682 case 't':
1683 if (name[3] == 'u' &&
1684 name[4] == 'r' &&
1685 name[5] == 'n')
1686 { /* return */
1687 return KEY_return;
1688 }
1689
1690 goto unknown;
1691
1692 default:
1693 goto unknown;
1694 }
1695
1696 case 'i':
1697 if (name[2] == 'n' &&
1698 name[3] == 'd' &&
1699 name[4] == 'e' &&
1700 name[5] == 'x')
1701 { /* rindex */
1702 return -KEY_rindex;
1703 }
1704
1705 goto unknown;
1706
1707 default:
1708 goto unknown;
1709 }
1710
1711 case 's':
1712 switch (name[1])
1713 {
1714 case 'c':
1715 if (name[2] == 'a' &&
1716 name[3] == 'l' &&
1717 name[4] == 'a' &&
1718 name[5] == 'r')
1719 { /* scalar */
1720 return KEY_scalar;
1721 }
1722
1723 goto unknown;
1724
1725 case 'e':
1726 switch (name[2])
1727 {
1728 case 'l':
1729 if (name[3] == 'e' &&
1730 name[4] == 'c' &&
1731 name[5] == 't')
1732 { /* select */
1733 return -KEY_select;
1734 }
1735
1736 goto unknown;
1737
1738 case 'm':
1739 switch (name[3])
1740 {
1741 case 'c':
1742 if (name[4] == 't' &&
1743 name[5] == 'l')
1744 { /* semctl */
1745 return -KEY_semctl;
1746 }
1747
1748 goto unknown;
1749
1750 case 'g':
1751 if (name[4] == 'e' &&
1752 name[5] == 't')
1753 { /* semget */
1754 return -KEY_semget;
1755 }
1756
1757 goto unknown;
1758
1759 default:
1760 goto unknown;
1761 }
1762
1763 default:
1764 goto unknown;
1765 }
1766
1767 case 'h':
1768 if (name[2] == 'm')
1769 {
1770 switch (name[3])
1771 {
1772 case 'c':
1773 if (name[4] == 't' &&
1774 name[5] == 'l')
1775 { /* shmctl */
1776 return -KEY_shmctl;
1777 }
1778
1779 goto unknown;
1780
1781 case 'g':
1782 if (name[4] == 'e' &&
1783 name[5] == 't')
1784 { /* shmget */
1785 return -KEY_shmget;
1786 }
1787
1788 goto unknown;
1789
1790 default:
1791 goto unknown;
1792 }
1793 }
1794
1795 goto unknown;
1796
1797 case 'o':
1798 if (name[2] == 'c' &&
1799 name[3] == 'k' &&
1800 name[4] == 'e' &&
1801 name[5] == 't')
1802 { /* socket */
1803 return -KEY_socket;
1804 }
1805
1806 goto unknown;
1807
1808 case 'p':
1809 if (name[2] == 'l' &&
1810 name[3] == 'i' &&
1811 name[4] == 'c' &&
1812 name[5] == 'e')
1813 { /* splice */
1814 return -KEY_splice;
1815 }
1816
1817 goto unknown;
1818
1819 case 'u':
1820 if (name[2] == 'b' &&
1821 name[3] == 's' &&
1822 name[4] == 't' &&
1823 name[5] == 'r')
1824 { /* substr */
1825 return -KEY_substr;
1826 }
1827
1828 goto unknown;
1829
1830 case 'y':
1831 if (name[2] == 's' &&
1832 name[3] == 't' &&
1833 name[4] == 'e' &&
1834 name[5] == 'm')
1835 { /* system */
1836 return -KEY_system;
1837 }
1838
1839 goto unknown;
1840
1841 default:
1842 goto unknown;
1843 }
1844
1845 case 'u':
1846 if (name[1] == 'n')
1847 {
1848 switch (name[2])
1849 {
1850 case 'l':
1851 switch (name[3])
1852 {
1853 case 'e':
1854 if (name[4] == 's' &&
1855 name[5] == 's')
1856 { /* unless */
1857 return KEY_unless;
1858 }
1859
1860 goto unknown;
1861
1862 case 'i':
1863 if (name[4] == 'n' &&
1864 name[5] == 'k')
1865 { /* unlink */
1866 return -KEY_unlink;
1867 }
1868
1869 goto unknown;
1870
1871 default:
1872 goto unknown;
1873 }
1874
1875 case 'p':
1876 if (name[3] == 'a' &&
1877 name[4] == 'c' &&
1878 name[5] == 'k')
1879 { /* unpack */
1880 return -KEY_unpack;
1881 }
1882
1883 goto unknown;
1884
1885 default:
1886 goto unknown;
1887 }
1888 }
1889
1890 goto unknown;
1891
1892 case 'v':
1893 if (name[1] == 'a' &&
1894 name[2] == 'l' &&
1895 name[3] == 'u' &&
1896 name[4] == 'e' &&
1897 name[5] == 's')
1898 { /* values */
1899 return -KEY_values;
1900 }
1901
1902 goto unknown;
1903
1904 default:
1905 goto unknown;
1906 }
1907
84ed0108 1908 case 7: /* 30 tokens of length 7 */
26ea9e12
NC
1909 switch (name[0])
1910 {
1911 case 'D':
1912 if (name[1] == 'E' &&
1913 name[2] == 'S' &&
1914 name[3] == 'T' &&
1915 name[4] == 'R' &&
1916 name[5] == 'O' &&
1917 name[6] == 'Y')
1918 { /* DESTROY */
1919 return KEY_DESTROY;
1920 }
1921
1922 goto unknown;
1923
1924 case '_':
84ed0108
FC
1925 if (name[1] == '_')
1926 {
1927 switch (name[2])
1928 {
1929 case 'E':
1930 if (name[3] == 'N' &&
1931 name[4] == 'D' &&
1932 name[5] == '_' &&
1933 name[6] == '_')
1934 { /* __END__ */
1935 return KEY___END__;
1936 }
1937
1938 goto unknown;
1939
1940 case 'S':
1941 if (name[3] == 'U' &&
1942 name[4] == 'B' &&
1943 name[5] == '_' &&
1944 name[6] == '_')
1945 { /* __SUB__ */
2846acbf 1946 return (all_keywords || FEATURE___SUB___IS_ENABLED ? -KEY___SUB__ : 0);
84ed0108
FC
1947 }
1948
1949 goto unknown;
1950
1951 default:
1952 goto unknown;
1953 }
26ea9e12
NC
1954 }
1955
1956 goto unknown;
1957
1958 case 'b':
1959 if (name[1] == 'i' &&
1960 name[2] == 'n' &&
1961 name[3] == 'm' &&
1962 name[4] == 'o' &&
1963 name[5] == 'd' &&
1964 name[6] == 'e')
1965 { /* binmode */
1966 return -KEY_binmode;
1967 }
1968
1969 goto unknown;
1970
1971 case 'c':
1972 if (name[1] == 'o' &&
1973 name[2] == 'n' &&
1974 name[3] == 'n' &&
1975 name[4] == 'e' &&
1976 name[5] == 'c' &&
1977 name[6] == 't')
1978 { /* connect */
1979 return -KEY_connect;
1980 }
1981
1982 goto unknown;
1983
1984 case 'd':
1985 switch (name[1])
1986 {
1987 case 'b':
1988 if (name[2] == 'm' &&
1989 name[3] == 'o' &&
1990 name[4] == 'p' &&
1991 name[5] == 'e' &&
1992 name[6] == 'n')
1993 { /* dbmopen */
1994 return -KEY_dbmopen;
1995 }
1996
1997 goto unknown;
1998
1999 case 'e':
2000 if (name[2] == 'f')
2001 {
2002 switch (name[3])
2003 {
2004 case 'a':
2005 if (name[4] == 'u' &&
2006 name[5] == 'l' &&
2007 name[6] == 't')
2008 { /* default */
2846acbf 2009 return (all_keywords || FEATURE_SWITCH_IS_ENABLED ? KEY_default : 0);
26ea9e12
NC
2010 }
2011
2012 goto unknown;
2013
2014 case 'i':
2015 if (name[4] == 'n' &&
2016 name[5] == 'e' &&
2017 name[6] == 'd')
2018 { /* defined */
2019 return KEY_defined;
2020 }
2021
2022 goto unknown;
2023
2024 default:
2025 goto unknown;
2026 }
2027 }
2028
2029 goto unknown;
2030
2031 default:
2032 goto unknown;
2033 }
2034
2035 case 'f':
2036 if (name[1] == 'o' &&
2037 name[2] == 'r' &&
2038 name[3] == 'e' &&
2039 name[4] == 'a' &&
2040 name[5] == 'c' &&
2041 name[6] == 'h')
2042 { /* foreach */
2043 return KEY_foreach;
2044 }
2045
2046 goto unknown;
2047
2048 case 'g':
2049 if (name[1] == 'e' &&
2050 name[2] == 't' &&
2051 name[3] == 'p')
2052 {
2053 switch (name[4])
2054 {
2055 case 'g':
2056 if (name[5] == 'r' &&
2057 name[6] == 'p')
2058 { /* getpgrp */
2059 return -KEY_getpgrp;
2060 }
2061
2062 goto unknown;
2063
2064 case 'p':
2065 if (name[5] == 'i' &&
2066 name[6] == 'd')
2067 { /* getppid */
2068 return -KEY_getppid;
2069 }
2070
2071 goto unknown;
2072
2073 default:
2074 goto unknown;
2075 }
2076 }
2077
2078 goto unknown;
2079
2080 case 'l':
2081 if (name[1] == 'c' &&
2082 name[2] == 'f' &&
2083 name[3] == 'i' &&
2084 name[4] == 'r' &&
2085 name[5] == 's' &&
2086 name[6] == 't')
2087 { /* lcfirst */
2088 return -KEY_lcfirst;
2089 }
2090
2091 goto unknown;
2092
2093 case 'o':
2094 if (name[1] == 'p' &&
2095 name[2] == 'e' &&
2096 name[3] == 'n' &&
2097 name[4] == 'd' &&
2098 name[5] == 'i' &&
2099 name[6] == 'r')
2100 { /* opendir */
2101 return -KEY_opendir;
2102 }
2103
2104 goto unknown;
2105
2106 case 'p':
2107 if (name[1] == 'a' &&
2108 name[2] == 'c' &&
2109 name[3] == 'k' &&
2110 name[4] == 'a' &&
2111 name[5] == 'g' &&
2112 name[6] == 'e')
2113 { /* package */
2114 return KEY_package;
2115 }
2116
2117 goto unknown;
2118
2119 case 'r':
2120 if (name[1] == 'e')
2121 {
2122 switch (name[2])
2123 {
2124 case 'a':
2125 if (name[3] == 'd' &&
2126 name[4] == 'd' &&
2127 name[5] == 'i' &&
2128 name[6] == 'r')
2129 { /* readdir */
2130 return -KEY_readdir;
2131 }
2132
2133 goto unknown;
2134
2135 case 'q':
2136 if (name[3] == 'u' &&
2137 name[4] == 'i' &&
2138 name[5] == 'r' &&
2139 name[6] == 'e')
2140 { /* require */
2141 return KEY_require;
2142 }
2143
2144 goto unknown;
2145
2146 case 'v':
2147 if (name[3] == 'e' &&
2148 name[4] == 'r' &&
2149 name[5] == 's' &&
2150 name[6] == 'e')
2151 { /* reverse */
2152 return -KEY_reverse;
2153 }
2154
2155 goto unknown;
2156
2157 default:
2158 goto unknown;
2159 }
2160 }
2161
2162 goto unknown;
2163
2164 case 's':
2165 switch (name[1])
2166 {
2167 case 'e':
2168 switch (name[2])
2169 {
2170 case 'e':
2171 if (name[3] == 'k' &&
2172 name[4] == 'd' &&
2173 name[5] == 'i' &&
2174 name[6] == 'r')
2175 { /* seekdir */
2176 return -KEY_seekdir;
2177 }
2178
2179 goto unknown;
2180
2181 case 't':
2182 if (name[3] == 'p' &&
2183 name[4] == 'g' &&
2184 name[5] == 'r' &&
2185 name[6] == 'p')
2186 { /* setpgrp */
2187 return -KEY_setpgrp;
2188 }
2189
2190 goto unknown;
2191
2192 default:
2193 goto unknown;
2194 }
2195
2196 case 'h':
2197 if (name[2] == 'm' &&
2198 name[3] == 'r' &&
2199 name[4] == 'e' &&
2200 name[5] == 'a' &&
2201 name[6] == 'd')
2202 { /* shmread */
2203 return -KEY_shmread;
2204 }
2205
2206 goto unknown;
2207
2208 case 'p':
2209 if (name[2] == 'r' &&
2210 name[3] == 'i' &&
2211 name[4] == 'n' &&
2212 name[5] == 't' &&
2213 name[6] == 'f')
2214 { /* sprintf */
2215 return -KEY_sprintf;
2216 }
2217
2218 goto unknown;
2219
2220 case 'y':
2221 switch (name[2])
2222 {
2223 case 'm':
2224 if (name[3] == 'l' &&
2225 name[4] == 'i' &&
2226 name[5] == 'n' &&
2227 name[6] == 'k')
2228 { /* symlink */
2229 return -KEY_symlink;
2230 }
2231
2232 goto unknown;
2233
2234 case 's':
2235 switch (name[3])
2236 {
2237 case 'c':
2238 if (name[4] == 'a' &&
2239 name[5] == 'l' &&
2240 name[6] == 'l')
2241 { /* syscall */
2242 return -KEY_syscall;
2243 }
2244
2245 goto unknown;
2246
2247 case 'o':
2248 if (name[4] == 'p' &&
2249 name[5] == 'e' &&
2250 name[6] == 'n')
2251 { /* sysopen */
2252 return -KEY_sysopen;
2253 }
2254
2255 goto unknown;
2256
2257 case 'r':
2258 if (name[4] == 'e' &&
2259 name[5] == 'a' &&
2260 name[6] == 'd')
2261 { /* sysread */
2262 return -KEY_sysread;
2263 }
2264
2265 goto unknown;
2266
2267 case 's':
2268 if (name[4] == 'e' &&
2269 name[5] == 'e' &&
2270 name[6] == 'k')
2271 { /* sysseek */
2272 return -KEY_sysseek;
2273 }
2274
2275 goto unknown;
2276
2277 default:
2278 goto unknown;
2279 }
2280
2281 default:
2282 goto unknown;
2283 }
2284
2285 default:
2286 goto unknown;
2287 }
2288
2289 case 't':
2290 if (name[1] == 'e' &&
2291 name[2] == 'l' &&
2292 name[3] == 'l' &&
2293 name[4] == 'd' &&
2294 name[5] == 'i' &&
2295 name[6] == 'r')
2296 { /* telldir */
2297 return -KEY_telldir;
2298 }
2299
2300 goto unknown;
2301
2302 case 'u':
2303 switch (name[1])
2304 {
2305 case 'c':
2306 if (name[2] == 'f' &&
2307 name[3] == 'i' &&
2308 name[4] == 'r' &&
2309 name[5] == 's' &&
2310 name[6] == 't')
2311 { /* ucfirst */
2312 return -KEY_ucfirst;
2313 }
2314
2315 goto unknown;
2316
2317 case 'n':
2318 if (name[2] == 's' &&
2319 name[3] == 'h' &&
2320 name[4] == 'i' &&
2321 name[5] == 'f' &&
2322 name[6] == 't')
2323 { /* unshift */
2324 return -KEY_unshift;
2325 }
2326
2327 goto unknown;
2328
2329 default:
2330 goto unknown;
2331 }
2332
2333 case 'w':
2334 if (name[1] == 'a' &&
2335 name[2] == 'i' &&
2336 name[3] == 't' &&
2337 name[4] == 'p' &&
2338 name[5] == 'i' &&
2339 name[6] == 'd')
2340 { /* waitpid */
2341 return -KEY_waitpid;
2342 }
2343
2344 goto unknown;
2345
2346 default:
2347 goto unknown;
2348 }
2349
2350 case 8: /* 26 tokens of length 8 */
2351 switch (name[0])
2352 {
2353 case 'A':
2354 if (name[1] == 'U' &&
2355 name[2] == 'T' &&
2356 name[3] == 'O' &&
2357 name[4] == 'L' &&
2358 name[5] == 'O' &&
2359 name[6] == 'A' &&
2360 name[7] == 'D')
2361 { /* AUTOLOAD */
2362 return KEY_AUTOLOAD;
2363 }
2364
2365 goto unknown;
2366
2367 case '_':
2368 if (name[1] == '_')
2369 {
2370 switch (name[2])
2371 {
2372 case 'D':
2373 if (name[3] == 'A' &&
2374 name[4] == 'T' &&
2375 name[5] == 'A' &&
2376 name[6] == '_' &&
2377 name[7] == '_')
2378 { /* __DATA__ */
2379 return KEY___DATA__;
2380 }
2381
2382 goto unknown;
2383
2384 case 'F':
2385 if (name[3] == 'I' &&
2386 name[4] == 'L' &&
2387 name[5] == 'E' &&
2388 name[6] == '_' &&
2389 name[7] == '_')
2390 { /* __FILE__ */
2391 return -KEY___FILE__;
2392 }
2393
2394 goto unknown;
2395
2396 case 'L':
2397 if (name[3] == 'I' &&
2398 name[4] == 'N' &&
2399 name[5] == 'E' &&
2400 name[6] == '_' &&
2401 name[7] == '_')
2402 { /* __LINE__ */
2403 return -KEY___LINE__;
2404 }
2405
2406 goto unknown;
2407
2408 default:
2409 goto unknown;
2410 }
2411 }
2412
2413 goto unknown;
2414
2415 case 'c':
2416 switch (name[1])
2417 {
2418 case 'l':
2419 if (name[2] == 'o' &&
2420 name[3] == 's' &&
2421 name[4] == 'e' &&
2422 name[5] == 'd' &&
2423 name[6] == 'i' &&
2424 name[7] == 'r')
2425 { /* closedir */
2426 return -KEY_closedir;
2427 }
2428
2429 goto unknown;
2430
2431 case 'o':
2432 if (name[2] == 'n' &&
2433 name[3] == 't' &&
2434 name[4] == 'i' &&
2435 name[5] == 'n' &&
2436 name[6] == 'u' &&
2437 name[7] == 'e')
2438 { /* continue */
2439 return -KEY_continue;
2440 }
2441
2442 goto unknown;
2443
2444 default:
2445 goto unknown;
2446 }
2447
2448 case 'd':
2449 if (name[1] == 'b' &&
2450 name[2] == 'm' &&
2451 name[3] == 'c' &&
2452 name[4] == 'l' &&
2453 name[5] == 'o' &&
2454 name[6] == 's' &&
2455 name[7] == 'e')
2456 { /* dbmclose */
2457 return -KEY_dbmclose;
2458 }
2459
2460 goto unknown;
2461
2462 case 'e':
2463 if (name[1] == 'n' &&
2464 name[2] == 'd')
2465 {
2466 switch (name[3])
2467 {
2468 case 'g':
2469 if (name[4] == 'r' &&
2470 name[5] == 'e' &&
2471 name[6] == 'n' &&
2472 name[7] == 't')
2473 { /* endgrent */
2474 return -KEY_endgrent;
2475 }
2476
2477 goto unknown;
2478
2479 case 'p':
2480 if (name[4] == 'w' &&
2481 name[5] == 'e' &&
2482 name[6] == 'n' &&
2483 name[7] == 't')
2484 { /* endpwent */
2485 return -KEY_endpwent;
2486 }
2487
2488 goto unknown;
2489
2490 default:
2491 goto unknown;
2492 }
2493 }
2494
2495 goto unknown;
2496
2497 case 'f':
2498 if (name[1] == 'o' &&
2499 name[2] == 'r' &&
2500 name[3] == 'm' &&
2501 name[4] == 'l' &&
2502 name[5] == 'i' &&
2503 name[6] == 'n' &&
2504 name[7] == 'e')
2505 { /* formline */
2506 return -KEY_formline;
2507 }
2508
2509 goto unknown;
2510
2511 case 'g':
2512 if (name[1] == 'e' &&
2513 name[2] == 't')
2514 {
2515 switch (name[3])
2516 {
2517 case 'g':
2518 if (name[4] == 'r')
2519 {
2520 switch (name[5])
2521 {
2522 case 'e':
2523 if (name[6] == 'n' &&
2524 name[7] == 't')
2525 { /* getgrent */
2526 return -KEY_getgrent;
2527 }
2528
2529 goto unknown;
2530
2531 case 'g':
2532 if (name[6] == 'i' &&
2533 name[7] == 'd')
2534 { /* getgrgid */
2535 return -KEY_getgrgid;
2536 }
2537
2538 goto unknown;
2539
2540 case 'n':
2541 if (name[6] == 'a' &&
2542 name[7] == 'm')
2543 { /* getgrnam */
2544 return -KEY_getgrnam;
2545 }
2546
2547 goto unknown;
2548
2549 default:
2550 goto unknown;
2551 }
2552 }
2553
2554 goto unknown;
2555
2556 case 'l':
2557 if (name[4] == 'o' &&
2558 name[5] == 'g' &&
2559 name[6] == 'i' &&
2560 name[7] == 'n')
2561 { /* getlogin */
2562 return -KEY_getlogin;
2563 }
2564
2565 goto unknown;
2566
2567 case 'p':
2568 if (name[4] == 'w')
2569 {
2570 switch (name[5])
2571 {
2572 case 'e':
2573 if (name[6] == 'n' &&
2574 name[7] == 't')
2575 { /* getpwent */
2576 return -KEY_getpwent;
2577 }
2578
2579 goto unknown;
2580
2581 case 'n':
2582 if (name[6] == 'a' &&
2583 name[7] == 'm')
2584 { /* getpwnam */
2585 return -KEY_getpwnam;
2586 }
2587
2588 goto unknown;
2589
2590 case 'u':
2591 if (name[6] == 'i' &&
2592 name[7] == 'd')
2593 { /* getpwuid */
2594 return -KEY_getpwuid;
2595 }
2596
2597 goto unknown;
2598
2599 default:
2600 goto unknown;
2601 }
2602 }
2603
2604 goto unknown;
2605
2606 default:
2607 goto unknown;
2608 }
2609 }
2610
2611 goto unknown;
2612
2613 case 'r':
2614 if (name[1] == 'e' &&
2615 name[2] == 'a' &&
2616 name[3] == 'd')
2617 {
2618 switch (name[4])
2619 {
2620 case 'l':
2621 if (name[5] == 'i' &&
2622 name[6] == 'n')
2623 {
2624 switch (name[7])
2625 {
2626 case 'e':
2627 { /* readline */
2628 return -KEY_readline;
2629 }
2630
2631 case 'k':
2632 { /* readlink */
2633 return -KEY_readlink;
2634 }
2635
2636 default:
2637 goto unknown;
2638 }
2639 }
2640
2641 goto unknown;
2642
2643 case 'p':
2644 if (name[5] == 'i' &&
2645 name[6] == 'p' &&
2646 name[7] == 'e')
2647 { /* readpipe */
2648 return -KEY_readpipe;
2649 }
2650
2651 goto unknown;
2652
2653 default:
2654 goto unknown;
2655 }
2656 }
2657
2658 goto unknown;
2659
2660 case 's':
2661 switch (name[1])
2662 {
2663 case 'e':
2664 if (name[2] == 't')
2665 {
2666 switch (name[3])
2667 {
2668 case 'g':
2669 if (name[4] == 'r' &&
2670 name[5] == 'e' &&
2671 name[6] == 'n' &&
2672 name[7] == 't')
2673 { /* setgrent */
2674 return -KEY_setgrent;
2675 }
2676
2677 goto unknown;
2678
2679 case 'p':
2680 if (name[4] == 'w' &&
2681 name[5] == 'e' &&
2682 name[6] == 'n' &&
2683 name[7] == 't')
2684 { /* setpwent */
2685 return -KEY_setpwent;
2686 }
2687
2688 goto unknown;
2689
2690 default:
2691 goto unknown;
2692 }
2693 }
2694
2695 goto unknown;
2696
2697 case 'h':
2698 switch (name[2])
2699 {
2700 case 'm':
2701 if (name[3] == 'w' &&
2702 name[4] == 'r' &&
2703 name[5] == 'i' &&
2704 name[6] == 't' &&
2705 name[7] == 'e')
2706 { /* shmwrite */
2707 return -KEY_shmwrite;
2708 }
2709
2710 goto unknown;
2711
2712 case 'u':
2713 if (name[3] == 't' &&
2714 name[4] == 'd' &&
2715 name[5] == 'o' &&
2716 name[6] == 'w' &&
2717 name[7] == 'n')
2718 { /* shutdown */
2719 return -KEY_shutdown;
2720 }
2721
2722 goto unknown;
2723
2724 default:
2725 goto unknown;
2726 }
2727
2728 case 'y':
2729 if (name[2] == 's' &&
2730 name[3] == 'w' &&
2731 name[4] == 'r' &&
2732 name[5] == 'i' &&
2733 name[6] == 't' &&
2734 name[7] == 'e')
2735 { /* syswrite */
2736 return -KEY_syswrite;
2737 }
2738
2739 goto unknown;
2740
2741 default:
2742 goto unknown;
2743 }
2744
2745 case 't':
2746 if (name[1] == 'r' &&
2747 name[2] == 'u' &&
2748 name[3] == 'n' &&
2749 name[4] == 'c' &&
2750 name[5] == 'a' &&
2751 name[6] == 't' &&
2752 name[7] == 'e')
2753 { /* truncate */
2754 return -KEY_truncate;
2755 }
2756
2757 goto unknown;
2758
2759 default:
2760 goto unknown;
2761 }
2762
7d789282 2763 case 9: /* 10 tokens of length 9 */
26ea9e12
NC
2764 switch (name[0])
2765 {
2766 case 'U':
2767 if (name[1] == 'N' &&
2768 name[2] == 'I' &&
2769 name[3] == 'T' &&
2770 name[4] == 'C' &&
2771 name[5] == 'H' &&
2772 name[6] == 'E' &&
2773 name[7] == 'C' &&
2774 name[8] == 'K')
2775 { /* UNITCHECK */
2776 return KEY_UNITCHECK;
2777 }
2778
2779 goto unknown;
2780
2781 case 'e':
7d789282
FC
2782 switch (name[1])
2783 {
2784 case 'n':
2785 if (name[2] == 'd' &&
2786 name[3] == 'n' &&
2787 name[4] == 'e' &&
2788 name[5] == 't' &&
2789 name[6] == 'e' &&
2790 name[7] == 'n' &&
2791 name[8] == 't')
2792 { /* endnetent */
2793 return -KEY_endnetent;
2794 }
26ea9e12 2795
7d789282
FC
2796 goto unknown;
2797
2798 case 'v':
2799 if (name[2] == 'a' &&
2800 name[3] == 'l' &&
2801 name[4] == 'b' &&
2802 name[5] == 'y' &&
2803 name[6] == 't' &&
2804 name[7] == 'e' &&
2805 name[8] == 's')
2806 { /* evalbytes */
2846acbf 2807 return (all_keywords || FEATURE_EVALBYTES_IS_ENABLED ? -KEY_evalbytes : 0);
7d789282
FC
2808 }
2809
2810 goto unknown;
2811
2812 default:
2813 goto unknown;
2814 }
26ea9e12
NC
2815
2816 case 'g':
2817 if (name[1] == 'e' &&
2818 name[2] == 't' &&
2819 name[3] == 'n' &&
2820 name[4] == 'e' &&
2821 name[5] == 't' &&
2822 name[6] == 'e' &&
2823 name[7] == 'n' &&
2824 name[8] == 't')
2825 { /* getnetent */
2826 return -KEY_getnetent;
2827 }
2828
2829 goto unknown;
2830
2831 case 'l':
2832 if (name[1] == 'o' &&
2833 name[2] == 'c' &&
2834 name[3] == 'a' &&
2835 name[4] == 'l' &&
2836 name[5] == 't' &&
2837 name[6] == 'i' &&
2838 name[7] == 'm' &&
2839 name[8] == 'e')
2840 { /* localtime */
2841 return -KEY_localtime;
2842 }
2843
2844 goto unknown;
2845
2846 case 'p':
2847 if (name[1] == 'r' &&
2848 name[2] == 'o' &&
2849 name[3] == 't' &&
2850 name[4] == 'o' &&
2851 name[5] == 't' &&
2852 name[6] == 'y' &&
2853 name[7] == 'p' &&
2854 name[8] == 'e')
2855 { /* prototype */
2856 return KEY_prototype;
2857 }
2858
2859 goto unknown;
2860
2861 case 'q':
2862 if (name[1] == 'u' &&
2863 name[2] == 'o' &&
2864 name[3] == 't' &&
2865 name[4] == 'e' &&
2866 name[5] == 'm' &&
2867 name[6] == 'e' &&
2868 name[7] == 't' &&
2869 name[8] == 'a')
2870 { /* quotemeta */
2871 return -KEY_quotemeta;
2872 }
2873
2874 goto unknown;
2875
2876 case 'r':
2877 if (name[1] == 'e' &&
2878 name[2] == 'w' &&
2879 name[3] == 'i' &&
2880 name[4] == 'n' &&
2881 name[5] == 'd' &&
2882 name[6] == 'd' &&
2883 name[7] == 'i' &&
2884 name[8] == 'r')
2885 { /* rewinddir */
2886 return -KEY_rewinddir;
2887 }
2888
2889 goto unknown;
2890
2891 case 's':
2892 if (name[1] == 'e' &&
2893 name[2] == 't' &&
2894 name[3] == 'n' &&
2895 name[4] == 'e' &&
2896 name[5] == 't' &&
2897 name[6] == 'e' &&
2898 name[7] == 'n' &&
2899 name[8] == 't')
2900 { /* setnetent */
2901 return -KEY_setnetent;
2902 }
2903
2904 goto unknown;
2905
2906 case 'w':
2907 if (name[1] == 'a' &&
2908 name[2] == 'n' &&
2909 name[3] == 't' &&
2910 name[4] == 'a' &&
2911 name[5] == 'r' &&
2912 name[6] == 'r' &&
2913 name[7] == 'a' &&
2914 name[8] == 'y')
2915 { /* wantarray */
2916 return -KEY_wantarray;
2917 }
2918
2919 goto unknown;
2920
2921 default:
2922 goto unknown;
2923 }
2924
2925 case 10: /* 9 tokens of length 10 */
2926 switch (name[0])
2927 {
2928 case 'e':
2929 if (name[1] == 'n' &&
2930 name[2] == 'd')
2931 {
2932 switch (name[3])
2933 {
2934 case 'h':
2935 if (name[4] == 'o' &&
2936 name[5] == 's' &&
2937 name[6] == 't' &&
2938 name[7] == 'e' &&
2939 name[8] == 'n' &&
2940 name[9] == 't')
2941 { /* endhostent */
2942 return -KEY_endhostent;
2943 }
2944
2945 goto unknown;
2946
2947 case 's':
2948 if (name[4] == 'e' &&
2949 name[5] == 'r' &&
2950 name[6] == 'v' &&
2951 name[7] == 'e' &&
2952 name[8] == 'n' &&
2953 name[9] == 't')
2954 { /* endservent */
2955 return -KEY_endservent;
2956 }
2957
2958 goto unknown;
2959
2960 default:
2961 goto unknown;
2962 }
2963 }
2964
2965 goto unknown;
2966
2967 case 'g':
2968 if (name[1] == 'e' &&
2969 name[2] == 't')
2970 {
2971 switch (name[3])
2972 {
2973 case 'h':
2974 if (name[4] == 'o' &&
2975 name[5] == 's' &&
2976 name[6] == 't' &&
2977 name[7] == 'e' &&
2978 name[8] == 'n' &&
2979 name[9] == 't')
2980 { /* gethostent */
2981 return -KEY_gethostent;
2982 }
2983
2984 goto unknown;
2985
2986 case 's':
2987 switch (name[4])
2988 {
2989 case 'e':
2990 if (name[5] == 'r' &&
2991 name[6] == 'v' &&
2992 name[7] == 'e' &&
2993 name[8] == 'n' &&
2994 name[9] == 't')
2995 { /* getservent */
2996 return -KEY_getservent;
2997 }
2998
2999 goto unknown;
3000
3001 case 'o':
3002 if (name[5] == 'c' &&
3003 name[6] == 'k' &&
3004 name[7] == 'o' &&
3005 name[8] == 'p' &&
3006 name[9] == 't')
3007 { /* getsockopt */
3008 return -KEY_getsockopt;
3009 }
3010
3011 goto unknown;
3012
3013 default:
3014 goto unknown;
3015 }
3016
3017 default:
3018 goto unknown;
3019 }
3020 }
3021
3022 goto unknown;
3023
3024 case 's':
3025 switch (name[1])
3026 {
3027 case 'e':
3028 if (name[2] == 't')
3029 {
3030 switch (name[3])
3031 {
3032 case 'h':
3033 if (name[4] == 'o' &&
3034 name[5] == 's' &&
3035 name[6] == 't' &&
3036 name[7] == 'e' &&
3037 name[8] == 'n' &&
3038 name[9] == 't')
3039 { /* sethostent */
3040 return -KEY_sethostent;
3041 }
3042
3043 goto unknown;
3044
3045 case 's':
3046 switch (name[4])
3047 {
3048 case 'e':
3049 if (name[5] == 'r' &&
3050 name[6] == 'v' &&
3051 name[7] == 'e' &&
3052 name[8] == 'n' &&
3053 name[9] == 't')
3054 { /* setservent */
3055 return -KEY_setservent;
3056 }
3057
3058 goto unknown;
3059
3060 case 'o':
3061 if (name[5] == 'c' &&
3062 name[6] == 'k' &&
3063 name[7] == 'o' &&
3064 name[8] == 'p' &&
3065 name[9] == 't')
3066 { /* setsockopt */
3067 return -KEY_setsockopt;
3068 }
3069
3070 goto unknown;
3071
3072 default:
3073 goto unknown;
3074 }
3075
3076 default:
3077 goto unknown;
3078 }
3079 }
3080
3081 goto unknown;
3082
3083 case 'o':
3084 if (name[2] == 'c' &&
3085 name[3] == 'k' &&
3086 name[4] == 'e' &&
3087 name[5] == 't' &&
3088 name[6] == 'p' &&
3089 name[7] == 'a' &&
3090 name[8] == 'i' &&
3091 name[9] == 'r')
3092 { /* socketpair */
3093 return -KEY_socketpair;
3094 }
3095
3096 goto unknown;
3097
3098 default:
3099 goto unknown;
3100 }
3101
3102 default:
3103 goto unknown;
3104 }
3105
3106 case 11: /* 8 tokens of length 11 */
3107 switch (name[0])
3108 {
3109 case '_':
3110 if (name[1] == '_' &&
3111 name[2] == 'P' &&
3112 name[3] == 'A' &&
3113 name[4] == 'C' &&
3114 name[5] == 'K' &&
3115 name[6] == 'A' &&
3116 name[7] == 'G' &&
3117 name[8] == 'E' &&
3118 name[9] == '_' &&
3119 name[10] == '_')
3120 { /* __PACKAGE__ */
3121 return -KEY___PACKAGE__;
3122 }
3123
3124 goto unknown;
3125
3126 case 'e':
3127 if (name[1] == 'n' &&
3128 name[2] == 'd' &&
3129 name[3] == 'p' &&
3130 name[4] == 'r' &&
3131 name[5] == 'o' &&
3132 name[6] == 't' &&
3133 name[7] == 'o' &&
3134 name[8] == 'e' &&
3135 name[9] == 'n' &&
3136 name[10] == 't')
3137 { /* endprotoent */
3138 return -KEY_endprotoent;
3139 }
3140
3141 goto unknown;
3142
3143 case 'g':
3144 if (name[1] == 'e' &&
3145 name[2] == 't')
3146 {
3147 switch (name[3])
3148 {
3149 case 'p':
3150 switch (name[4])
3151 {
3152 case 'e':
3153 if (name[5] == 'e' &&
3154 name[6] == 'r' &&
3155 name[7] == 'n' &&
3156 name[8] == 'a' &&
3157 name[9] == 'm' &&
3158 name[10] == 'e')
3159 { /* getpeername */
3160 return -KEY_getpeername;
3161 }
3162
3163 goto unknown;
3164
3165 case 'r':
3166 switch (name[5])
3167 {
3168 case 'i':
3169 if (name[6] == 'o' &&
3170 name[7] == 'r' &&
3171 name[8] == 'i' &&
3172 name[9] == 't' &&
3173 name[10] == 'y')
3174 { /* getpriority */
3175 return -KEY_getpriority;
3176 }
3177
3178 goto unknown;
3179
3180 case 'o':
3181 if (name[6] == 't' &&
3182 name[7] == 'o' &&
3183 name[8] == 'e' &&
3184 name[9] == 'n' &&
3185 name[10] == 't')
3186 { /* getprotoent */
3187 return -KEY_getprotoent;
3188 }
3189
3190 goto unknown;
3191
3192 default:
3193 goto unknown;
3194 }
3195
3196 default:
3197 goto unknown;
3198 }
3199
3200 case 's':
3201 if (name[4] == 'o' &&
3202 name[5] == 'c' &&
3203 name[6] == 'k' &&
3204 name[7] == 'n' &&
3205 name[8] == 'a' &&
3206 name[9] == 'm' &&
3207 name[10] == 'e')
3208 { /* getsockname */
3209 return -KEY_getsockname;
3210 }
3211
3212 goto unknown;
3213
3214 default:
3215 goto unknown;
3216 }
3217 }
3218
3219 goto unknown;
3220
3221 case 's':
3222 if (name[1] == 'e' &&
3223 name[2] == 't' &&
3224 name[3] == 'p' &&
3225 name[4] == 'r')
3226 {
3227 switch (name[5])
3228 {
3229 case 'i':
3230 if (name[6] == 'o' &&
3231 name[7] == 'r' &&
3232 name[8] == 'i' &&
3233 name[9] == 't' &&
3234 name[10] == 'y')
3235 { /* setpriority */
3236 return -KEY_setpriority;
3237 }
3238
3239 goto unknown;
3240
3241 case 'o':
3242 if (name[6] == 't' &&
3243 name[7] == 'o' &&
3244 name[8] == 'e' &&
3245 name[9] == 'n' &&
3246 name[10] == 't')
3247 { /* setprotoent */
3248 return -KEY_setprotoent;
3249 }
3250
3251 goto unknown;
3252
3253 default:
3254 goto unknown;
3255 }
3256 }
3257
3258 goto unknown;
3259
3260 default:
3261 goto unknown;
3262 }
3263
3264 case 12: /* 2 tokens of length 12 */
3265 if (name[0] == 'g' &&
3266 name[1] == 'e' &&
3267 name[2] == 't' &&
3268 name[3] == 'n' &&
3269 name[4] == 'e' &&
3270 name[5] == 't' &&
3271 name[6] == 'b' &&
3272 name[7] == 'y')
3273 {
3274 switch (name[8])
3275 {
3276 case 'a':
3277 if (name[9] == 'd' &&
3278 name[10] == 'd' &&
3279 name[11] == 'r')
3280 { /* getnetbyaddr */
3281 return -KEY_getnetbyaddr;
3282 }
3283
3284 goto unknown;
3285
3286 case 'n':
3287 if (name[9] == 'a' &&
3288 name[10] == 'm' &&
3289 name[11] == 'e')
3290 { /* getnetbyname */
3291 return -KEY_getnetbyname;
3292 }
3293
3294 goto unknown;
3295
3296 default:
3297 goto unknown;
3298 }
3299 }
3300
3301 goto unknown;
3302
3303 case 13: /* 4 tokens of length 13 */
3304 if (name[0] == 'g' &&
3305 name[1] == 'e' &&
3306 name[2] == 't')
3307 {
3308 switch (name[3])
3309 {
3310 case 'h':
3311 if (name[4] == 'o' &&
3312 name[5] == 's' &&
3313 name[6] == 't' &&
3314 name[7] == 'b' &&
3315 name[8] == 'y')
3316 {
3317 switch (name[9])
3318 {
3319 case 'a':
3320 if (name[10] == 'd' &&
3321 name[11] == 'd' &&
3322 name[12] == 'r')
3323 { /* gethostbyaddr */
3324 return -KEY_gethostbyaddr;
3325 }
3326
3327 goto unknown;
3328
3329 case 'n':
3330 if (name[10] == 'a' &&
3331 name[11] == 'm' &&
3332 name[12] == 'e')
3333 { /* gethostbyname */
3334 return -KEY_gethostbyname;
3335 }
3336
3337 goto unknown;
3338
3339 default:
3340 goto unknown;
3341 }
3342 }
3343
3344 goto unknown;
3345
3346 case 's':
3347 if (name[4] == 'e' &&
3348 name[5] == 'r' &&
3349 name[6] == 'v' &&
3350 name[7] == 'b' &&
3351 name[8] == 'y')
3352 {
3353 switch (name[9])
3354 {
3355 case 'n':
3356 if (name[10] == 'a' &&
3357 name[11] == 'm' &&
3358 name[12] == 'e')
3359 { /* getservbyname */
3360 return -KEY_getservbyname;
3361 }
3362
3363 goto unknown;
3364
3365 case 'p':
3366 if (name[10] == 'o' &&
3367 name[11] == 'r' &&
3368 name[12] == 't')
3369 { /* getservbyport */
3370 return -KEY_getservbyport;
3371 }
3372
3373 goto unknown;
3374
3375 default:
3376 goto unknown;
3377 }
3378 }
3379
3380 goto unknown;
3381
3382 default:
3383 goto unknown;
3384 }
3385 }
3386
3387 goto unknown;
3388
3389 case 14: /* 1 tokens of length 14 */
3390 if (name[0] == 'g' &&
3391 name[1] == 'e' &&
3392 name[2] == 't' &&
3393 name[3] == 'p' &&
3394 name[4] == 'r' &&
3395 name[5] == 'o' &&
3396 name[6] == 't' &&
3397 name[7] == 'o' &&
3398 name[8] == 'b' &&
3399 name[9] == 'y' &&
3400 name[10] == 'n' &&
3401 name[11] == 'a' &&
3402 name[12] == 'm' &&
3403 name[13] == 'e')
3404 { /* getprotobyname */
3405 return -KEY_getprotobyname;
3406 }
3407
3408 goto unknown;
3409
3410 case 16: /* 1 tokens of length 16 */
3411 if (name[0] == 'g' &&
3412 name[1] == 'e' &&
3413 name[2] == 't' &&
3414 name[3] == 'p' &&
3415 name[4] == 'r' &&
3416 name[5] == 'o' &&
3417 name[6] == 't' &&
3418 name[7] == 'o' &&
3419 name[8] == 'b' &&
3420 name[9] == 'y' &&
3421 name[10] == 'n' &&
3422 name[11] == 'u' &&
3423 name[12] == 'm' &&
3424 name[13] == 'b' &&
3425 name[14] == 'e' &&
3426 name[15] == 'r')
3427 { /* getprotobynumber */
3428 return -KEY_getprotobynumber;
3429 }
3430
3431 goto unknown;
3432
3433 default:
3434 goto unknown;
3435 }
3436
3437unknown:
3438 return 0;
3439}
f133ac5d
NC
3440
3441/* Generated from:
a96df643 3442 * 7c6d47fd2890b2422a40331ec90eac08f9808209b01f2b9c113141410fea91b5 regen/keywords.pl
f133ac5d 3443 * ex: set ro: */