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