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