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