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