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