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