File Coverage

keywords.c
Criterion Covered Total %
statement 1002 1002 100.0
branch 1212 1968 61.6
condition n/a
subroutine n/a
total 2214 2970 74.5


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