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