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