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