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