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