1 /* -*- mode: C; 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: /* 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: /* 43 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 switch (name[2]) 1123 { 1124 case 'a': 1125 if (name[3] == 's' && 1126 name[4] == 's') 1127 { /* class */ 1128 return (all_keywords || FEATURE_CLASS_IS_ENABLED ? -KEY_class : 0); 1129 } 1130 1131 goto unknown; 1132 1133 case 'o': 1134 if (name[3] == 's' && 1135 name[4] == 'e') 1136 { /* close */ 1137 return -KEY_close; 1138 } 1139 1140 goto unknown; 1141 1142 default: 1143 goto unknown; 1144 } 1145 1146 case 'r': 1147 if (name[2] == 'y' && 1148 name[3] == 'p' && 1149 name[4] == 't') 1150 { /* crypt */ 1151 return -KEY_crypt; 1152 } 1153 1154 goto unknown; 1155 1156 default: 1157 goto unknown; 1158 } 1159 1160 case 'd': 1161 if (name[1] == 'e' && 1162 name[2] == 'f' && 1163 name[3] == 'e' && 1164 name[4] == 'r') 1165 { /* defer */ 1166 return (all_keywords || FEATURE_DEFER_IS_ENABLED ? KEY_defer : 0); 1167 } 1168 1169 goto unknown; 1170 1171 case 'e': 1172 if (name[1] == 'l' && 1173 name[2] == 's' && 1174 name[3] == 'i' && 1175 name[4] == 'f') 1176 { /* elsif */ 1177 return KEY_elsif; 1178 } 1179 1180 goto unknown; 1181 1182 case 'f': 1183 switch (name[1]) 1184 { 1185 case 'c': 1186 if (name[2] == 'n' && 1187 name[3] == 't' && 1188 name[4] == 'l') 1189 { /* fcntl */ 1190 return -KEY_fcntl; 1191 } 1192 1193 goto unknown; 1194 1195 case 'i': 1196 if (name[2] == 'e' && 1197 name[3] == 'l' && 1198 name[4] == 'd') 1199 { /* field */ 1200 return (all_keywords || FEATURE_CLASS_IS_ENABLED ? -KEY_field : 0); 1201 } 1202 1203 goto unknown; 1204 1205 case 'l': 1206 if (name[2] == 'o' && 1207 name[3] == 'c' && 1208 name[4] == 'k') 1209 { /* flock */ 1210 return -KEY_flock; 1211 } 1212 1213 goto unknown; 1214 1215 default: 1216 goto unknown; 1217 } 1218 1219 case 'g': 1220 if (name[1] == 'i' && 1221 name[2] == 'v' && 1222 name[3] == 'e' && 1223 name[4] == 'n') 1224 { /* given */ 1225 return (all_keywords || FEATURE_SWITCH_IS_ENABLED ? KEY_given : 0); 1226 } 1227 1228 goto unknown; 1229 1230 case 'i': 1231 switch (name[1]) 1232 { 1233 case 'n': 1234 if (name[2] == 'd' && 1235 name[3] == 'e' && 1236 name[4] == 'x') 1237 { /* index */ 1238 return -KEY_index; 1239 } 1240 1241 goto unknown; 1242 1243 case 'o': 1244 if (name[2] == 'c' && 1245 name[3] == 't' && 1246 name[4] == 'l') 1247 { /* ioctl */ 1248 return -KEY_ioctl; 1249 } 1250 1251 goto unknown; 1252 1253 default: 1254 goto unknown; 1255 } 1256 1257 case 'l': 1258 switch (name[1]) 1259 { 1260 case 'o': 1261 if (name[2] == 'c' && 1262 name[3] == 'a' && 1263 name[4] == 'l') 1264 { /* local */ 1265 return KEY_local; 1266 } 1267 1268 goto unknown; 1269 1270 case 's': 1271 if (name[2] == 't' && 1272 name[3] == 'a' && 1273 name[4] == 't') 1274 { /* lstat */ 1275 return -KEY_lstat; 1276 } 1277 1278 goto unknown; 1279 1280 default: 1281 goto unknown; 1282 } 1283 1284 case 'm': 1285 if (name[1] == 'k' && 1286 name[2] == 'd' && 1287 name[3] == 'i' && 1288 name[4] == 'r') 1289 { /* mkdir */ 1290 return -KEY_mkdir; 1291 } 1292 1293 goto unknown; 1294 1295 case 'p': 1296 if (name[1] == 'r' && 1297 name[2] == 'i' && 1298 name[3] == 'n' && 1299 name[4] == 't') 1300 { /* print */ 1301 return KEY_print; 1302 } 1303 1304 goto unknown; 1305 1306 case 'r': 1307 switch (name[1]) 1308 { 1309 case 'e': 1310 if (name[2] == 's' && 1311 name[3] == 'e' && 1312 name[4] == 't') 1313 { /* reset */ 1314 return -KEY_reset; 1315 } 1316 1317 goto unknown; 1318 1319 case 'm': 1320 if (name[2] == 'd' && 1321 name[3] == 'i' && 1322 name[4] == 'r') 1323 { /* rmdir */ 1324 return -KEY_rmdir; 1325 } 1326 1327 goto unknown; 1328 1329 default: 1330 goto unknown; 1331 } 1332 1333 case 's': 1334 switch (name[1]) 1335 { 1336 case 'e': 1337 if (name[2] == 'm' && 1338 name[3] == 'o' && 1339 name[4] == 'p') 1340 { /* semop */ 1341 return -KEY_semop; 1342 } 1343 1344 goto unknown; 1345 1346 case 'h': 1347 if (name[2] == 'i' && 1348 name[3] == 'f' && 1349 name[4] == 't') 1350 { /* shift */ 1351 return -KEY_shift; 1352 } 1353 1354 goto unknown; 1355 1356 case 'l': 1357 if (name[2] == 'e' && 1358 name[3] == 'e' && 1359 name[4] == 'p') 1360 { /* sleep */ 1361 return -KEY_sleep; 1362 } 1363 1364 goto unknown; 1365 1366 case 'p': 1367 if (name[2] == 'l' && 1368 name[3] == 'i' && 1369 name[4] == 't') 1370 { /* split */ 1371 return KEY_split; 1372 } 1373 1374 goto unknown; 1375 1376 case 'r': 1377 if (name[2] == 'a' && 1378 name[3] == 'n' && 1379 name[4] == 'd') 1380 { /* srand */ 1381 return -KEY_srand; 1382 } 1383 1384 goto unknown; 1385 1386 case 't': 1387 switch (name[2]) 1388 { 1389 case 'a': 1390 if (name[3] == 't' && 1391 name[4] == 'e') 1392 { /* state */ 1393 return (all_keywords || FEATURE_STATE_IS_ENABLED ? KEY_state : 0); 1394 } 1395 1396 goto unknown; 1397 1398 case 'u': 1399 if (name[3] == 'd' && 1400 name[4] == 'y') 1401 { /* study */ 1402 return KEY_study; 1403 } 1404 1405 goto unknown; 1406 1407 default: 1408 goto unknown; 1409 } 1410 1411 default: 1412 goto unknown; 1413 } 1414 1415 case 't': 1416 if (name[1] == 'i' && 1417 name[2] == 'm' && 1418 name[3] == 'e' && 1419 name[4] == 's') 1420 { /* times */ 1421 return -KEY_times; 1422 } 1423 1424 goto unknown; 1425 1426 case 'u': 1427 switch (name[1]) 1428 { 1429 case 'm': 1430 if (name[2] == 'a' && 1431 name[3] == 's' && 1432 name[4] == 'k') 1433 { /* umask */ 1434 return -KEY_umask; 1435 } 1436 1437 goto unknown; 1438 1439 case 'n': 1440 switch (name[2]) 1441 { 1442 case 'd': 1443 if (name[3] == 'e' && 1444 name[4] == 'f') 1445 { /* undef */ 1446 return KEY_undef; 1447 } 1448 1449 goto unknown; 1450 1451 case 't': 1452 if (name[3] == 'i') 1453 { 1454 switch (name[4]) 1455 { 1456 case 'e': 1457 { /* untie */ 1458 return -KEY_untie; 1459 } 1460 1461 case 'l': 1462 { /* until */ 1463 return KEY_until; 1464 } 1465 1466 default: 1467 goto unknown; 1468 } 1469 } 1470 1471 goto unknown; 1472 1473 default: 1474 goto unknown; 1475 } 1476 1477 case 't': 1478 if (name[2] == 'i' && 1479 name[3] == 'm' && 1480 name[4] == 'e') 1481 { /* utime */ 1482 return -KEY_utime; 1483 } 1484 1485 goto unknown; 1486 1487 default: 1488 goto unknown; 1489 } 1490 1491 case 'w': 1492 switch (name[1]) 1493 { 1494 case 'h': 1495 if (name[2] == 'i' && 1496 name[3] == 'l' && 1497 name[4] == 'e') 1498 { /* while */ 1499 return KEY_while; 1500 } 1501 1502 goto unknown; 1503 1504 case 'r': 1505 if (name[2] == 'i' && 1506 name[3] == 't' && 1507 name[4] == 'e') 1508 { /* write */ 1509 return -KEY_write; 1510 } 1511 1512 goto unknown; 1513 1514 default: 1515 goto unknown; 1516 } 1517 1518 default: 1519 goto unknown; 1520 } 1521 1522 case 6: /* 35 tokens of length 6 */ 1523 switch (name[0]) 1524 { 1525 case 'A': 1526 if (name[1] == 'D' && 1527 name[2] == 'J' && 1528 name[3] == 'U' && 1529 name[4] == 'S' && 1530 name[5] == 'T') 1531 { /* ADJUST */ 1532 return (all_keywords || FEATURE_CLASS_IS_ENABLED ? KEY_ADJUST : 0); 1533 } 1534 1535 goto unknown; 1536 1537 case 'a': 1538 if (name[1] == 'c' && 1539 name[2] == 'c' && 1540 name[3] == 'e' && 1541 name[4] == 'p' && 1542 name[5] == 't') 1543 { /* accept */ 1544 return -KEY_accept; 1545 } 1546 1547 goto unknown; 1548 1549 case 'c': 1550 switch (name[1]) 1551 { 1552 case 'a': 1553 if (name[2] == 'l' && 1554 name[3] == 'l' && 1555 name[4] == 'e' && 1556 name[5] == 'r') 1557 { /* caller */ 1558 return -KEY_caller; 1559 } 1560 1561 goto unknown; 1562 1563 case 'h': 1564 if (name[2] == 'r' && 1565 name[3] == 'o' && 1566 name[4] == 'o' && 1567 name[5] == 't') 1568 { /* chroot */ 1569 return -KEY_chroot; 1570 } 1571 1572 goto unknown; 1573 1574 default: 1575 goto unknown; 1576 } 1577 1578 case 'd': 1579 if (name[1] == 'e' && 1580 name[2] == 'l' && 1581 name[3] == 'e' && 1582 name[4] == 't' && 1583 name[5] == 'e') 1584 { /* delete */ 1585 return KEY_delete; 1586 } 1587 1588 goto unknown; 1589 1590 case 'e': 1591 switch (name[1]) 1592 { 1593 case 'l': 1594 if (name[2] == 's' && 1595 name[3] == 'e' && 1596 name[4] == 'i' && 1597 name[5] == 'f') 1598 { /* elseif */ 1599 Perl_ck_warner_d(aTHX_ packWARN(WARN_SYNTAX), "elseif should be elsif"); 1600 } 1601 1602 goto unknown; 1603 1604 case 'x': 1605 if (name[2] == 'i' && 1606 name[3] == 's' && 1607 name[4] == 't' && 1608 name[5] == 's') 1609 { /* exists */ 1610 return KEY_exists; 1611 } 1612 1613 goto unknown; 1614 1615 default: 1616 goto unknown; 1617 } 1618 1619 case 'f': 1620 switch (name[1]) 1621 { 1622 case 'i': 1623 if (name[2] == 'l' && 1624 name[3] == 'e' && 1625 name[4] == 'n' && 1626 name[5] == 'o') 1627 { /* fileno */ 1628 return -KEY_fileno; 1629 } 1630 1631 goto unknown; 1632 1633 case 'o': 1634 if (name[2] == 'r' && 1635 name[3] == 'm' && 1636 name[4] == 'a' && 1637 name[5] == 't') 1638 { /* format */ 1639 return KEY_format; 1640 } 1641 1642 goto unknown; 1643 1644 default: 1645 goto unknown; 1646 } 1647 1648 case 'g': 1649 if (name[1] == 'm' && 1650 name[2] == 't' && 1651 name[3] == 'i' && 1652 name[4] == 'm' && 1653 name[5] == 'e') 1654 { /* gmtime */ 1655 return -KEY_gmtime; 1656 } 1657 1658 goto unknown; 1659 1660 case 'l': 1661 switch (name[1]) 1662 { 1663 case 'e': 1664 if (name[2] == 'n' && 1665 name[3] == 'g' && 1666 name[4] == 't' && 1667 name[5] == 'h') 1668 { /* length */ 1669 return -KEY_length; 1670 } 1671 1672 goto unknown; 1673 1674 case 'i': 1675 if (name[2] == 's' && 1676 name[3] == 't' && 1677 name[4] == 'e' && 1678 name[5] == 'n') 1679 { /* listen */ 1680 return -KEY_listen; 1681 } 1682 1683 goto unknown; 1684 1685 default: 1686 goto unknown; 1687 } 1688 1689 case 'm': 1690 switch (name[1]) 1691 { 1692 case 'e': 1693 if (name[2] == 't' && 1694 name[3] == 'h' && 1695 name[4] == 'o' && 1696 name[5] == 'd') 1697 { /* method */ 1698 return (all_keywords || FEATURE_CLASS_IS_ENABLED ? -KEY_method : 0); 1699 } 1700 1701 goto unknown; 1702 1703 case 's': 1704 if (name[2] == 'g') 1705 { 1706 switch (name[3]) 1707 { 1708 case 'c': 1709 if (name[4] == 't' && 1710 name[5] == 'l') 1711 { /* msgctl */ 1712 return -KEY_msgctl; 1713 } 1714 1715 goto unknown; 1716 1717 case 'g': 1718 if (name[4] == 'e' && 1719 name[5] == 't') 1720 { /* msgget */ 1721 return -KEY_msgget; 1722 } 1723 1724 goto unknown; 1725 1726 case 'r': 1727 if (name[4] == 'c' && 1728 name[5] == 'v') 1729 { /* msgrcv */ 1730 return -KEY_msgrcv; 1731 } 1732 1733 goto unknown; 1734 1735 case 's': 1736 if (name[4] == 'n' && 1737 name[5] == 'd') 1738 { /* msgsnd */ 1739 return -KEY_msgsnd; 1740 } 1741 1742 goto unknown; 1743 1744 default: 1745 goto unknown; 1746 } 1747 } 1748 1749 goto unknown; 1750 1751 default: 1752 goto unknown; 1753 } 1754 1755 case 'p': 1756 if (name[1] == 'r' && 1757 name[2] == 'i' && 1758 name[3] == 'n' && 1759 name[4] == 't' && 1760 name[5] == 'f') 1761 { /* printf */ 1762 return KEY_printf; 1763 } 1764 1765 goto unknown; 1766 1767 case 'r': 1768 switch (name[1]) 1769 { 1770 case 'e': 1771 switch (name[2]) 1772 { 1773 case 'n': 1774 if (name[3] == 'a' && 1775 name[4] == 'm' && 1776 name[5] == 'e') 1777 { /* rename */ 1778 return -KEY_rename; 1779 } 1780 1781 goto unknown; 1782 1783 case 't': 1784 if (name[3] == 'u' && 1785 name[4] == 'r' && 1786 name[5] == 'n') 1787 { /* return */ 1788 return KEY_return; 1789 } 1790 1791 goto unknown; 1792 1793 default: 1794 goto unknown; 1795 } 1796 1797 case 'i': 1798 if (name[2] == 'n' && 1799 name[3] == 'd' && 1800 name[4] == 'e' && 1801 name[5] == 'x') 1802 { /* rindex */ 1803 return -KEY_rindex; 1804 } 1805 1806 goto unknown; 1807 1808 default: 1809 goto unknown; 1810 } 1811 1812 case 's': 1813 switch (name[1]) 1814 { 1815 case 'c': 1816 if (name[2] == 'a' && 1817 name[3] == 'l' && 1818 name[4] == 'a' && 1819 name[5] == 'r') 1820 { /* scalar */ 1821 return KEY_scalar; 1822 } 1823 1824 goto unknown; 1825 1826 case 'e': 1827 switch (name[2]) 1828 { 1829 case 'l': 1830 if (name[3] == 'e' && 1831 name[4] == 'c' && 1832 name[5] == 't') 1833 { /* select */ 1834 return -KEY_select; 1835 } 1836 1837 goto unknown; 1838 1839 case 'm': 1840 switch (name[3]) 1841 { 1842 case 'c': 1843 if (name[4] == 't' && 1844 name[5] == 'l') 1845 { /* semctl */ 1846 return -KEY_semctl; 1847 } 1848 1849 goto unknown; 1850 1851 case 'g': 1852 if (name[4] == 'e' && 1853 name[5] == 't') 1854 { /* semget */ 1855 return -KEY_semget; 1856 } 1857 1858 goto unknown; 1859 1860 default: 1861 goto unknown; 1862 } 1863 1864 default: 1865 goto unknown; 1866 } 1867 1868 case 'h': 1869 if (name[2] == 'm') 1870 { 1871 switch (name[3]) 1872 { 1873 case 'c': 1874 if (name[4] == 't' && 1875 name[5] == 'l') 1876 { /* shmctl */ 1877 return -KEY_shmctl; 1878 } 1879 1880 goto unknown; 1881 1882 case 'g': 1883 if (name[4] == 'e' && 1884 name[5] == 't') 1885 { /* shmget */ 1886 return -KEY_shmget; 1887 } 1888 1889 goto unknown; 1890 1891 default: 1892 goto unknown; 1893 } 1894 } 1895 1896 goto unknown; 1897 1898 case 'o': 1899 if (name[2] == 'c' && 1900 name[3] == 'k' && 1901 name[4] == 'e' && 1902 name[5] == 't') 1903 { /* socket */ 1904 return -KEY_socket; 1905 } 1906 1907 goto unknown; 1908 1909 case 'p': 1910 if (name[2] == 'l' && 1911 name[3] == 'i' && 1912 name[4] == 'c' && 1913 name[5] == 'e') 1914 { /* splice */ 1915 return -KEY_splice; 1916 } 1917 1918 goto unknown; 1919 1920 case 'u': 1921 if (name[2] == 'b' && 1922 name[3] == 's' && 1923 name[4] == 't' && 1924 name[5] == 'r') 1925 { /* substr */ 1926 return -KEY_substr; 1927 } 1928 1929 goto unknown; 1930 1931 case 'y': 1932 if (name[2] == 's' && 1933 name[3] == 't' && 1934 name[4] == 'e' && 1935 name[5] == 'm') 1936 { /* system */ 1937 return -KEY_system; 1938 } 1939 1940 goto unknown; 1941 1942 default: 1943 goto unknown; 1944 } 1945 1946 case 'u': 1947 if (name[1] == 'n') 1948 { 1949 switch (name[2]) 1950 { 1951 case 'l': 1952 switch (name[3]) 1953 { 1954 case 'e': 1955 if (name[4] == 's' && 1956 name[5] == 's') 1957 { /* unless */ 1958 return KEY_unless; 1959 } 1960 1961 goto unknown; 1962 1963 case 'i': 1964 if (name[4] == 'n' && 1965 name[5] == 'k') 1966 { /* unlink */ 1967 return -KEY_unlink; 1968 } 1969 1970 goto unknown; 1971 1972 default: 1973 goto unknown; 1974 } 1975 1976 case 'p': 1977 if (name[3] == 'a' && 1978 name[4] == 'c' && 1979 name[5] == 'k') 1980 { /* unpack */ 1981 return -KEY_unpack; 1982 } 1983 1984 goto unknown; 1985 1986 default: 1987 goto unknown; 1988 } 1989 } 1990 1991 goto unknown; 1992 1993 case 'v': 1994 if (name[1] == 'a' && 1995 name[2] == 'l' && 1996 name[3] == 'u' && 1997 name[4] == 'e' && 1998 name[5] == 's') 1999 { /* values */ 2000 return -KEY_values; 2001 } 2002 2003 goto unknown; 2004 2005 default: 2006 goto unknown; 2007 } 2008 2009 case 7: /* 31 tokens of length 7 */ 2010 switch (name[0]) 2011 { 2012 case 'D': 2013 if (name[1] == 'E' && 2014 name[2] == 'S' && 2015 name[3] == 'T' && 2016 name[4] == 'R' && 2017 name[5] == 'O' && 2018 name[6] == 'Y') 2019 { /* DESTROY */ 2020 return KEY_DESTROY; 2021 } 2022 2023 goto unknown; 2024 2025 case '_': 2026 if (name[1] == '_') 2027 { 2028 switch (name[2]) 2029 { 2030 case 'E': 2031 if (name[3] == 'N' && 2032 name[4] == 'D' && 2033 name[5] == '_' && 2034 name[6] == '_') 2035 { /* __END__ */ 2036 return KEY___END__; 2037 } 2038 2039 goto unknown; 2040 2041 case 'S': 2042 if (name[3] == 'U' && 2043 name[4] == 'B' && 2044 name[5] == '_' && 2045 name[6] == '_') 2046 { /* __SUB__ */ 2047 return (all_keywords || FEATURE___SUB___IS_ENABLED ? -KEY___SUB__ : 0); 2048 } 2049 2050 goto unknown; 2051 2052 default: 2053 goto unknown; 2054 } 2055 } 2056 2057 goto unknown; 2058 2059 case 'b': 2060 if (name[1] == 'i' && 2061 name[2] == 'n' && 2062 name[3] == 'm' && 2063 name[4] == 'o' && 2064 name[5] == 'd' && 2065 name[6] == 'e') 2066 { /* binmode */ 2067 return -KEY_binmode; 2068 } 2069 2070 goto unknown; 2071 2072 case 'c': 2073 if (name[1] == 'o' && 2074 name[2] == 'n' && 2075 name[3] == 'n' && 2076 name[4] == 'e' && 2077 name[5] == 'c' && 2078 name[6] == 't') 2079 { /* connect */ 2080 return -KEY_connect; 2081 } 2082 2083 goto unknown; 2084 2085 case 'd': 2086 switch (name[1]) 2087 { 2088 case 'b': 2089 if (name[2] == 'm' && 2090 name[3] == 'o' && 2091 name[4] == 'p' && 2092 name[5] == 'e' && 2093 name[6] == 'n') 2094 { /* dbmopen */ 2095 return -KEY_dbmopen; 2096 } 2097 2098 goto unknown; 2099 2100 case 'e': 2101 if (name[2] == 'f') 2102 { 2103 switch (name[3]) 2104 { 2105 case 'a': 2106 if (name[4] == 'u' && 2107 name[5] == 'l' && 2108 name[6] == 't') 2109 { /* default */ 2110 return (all_keywords || FEATURE_SWITCH_IS_ENABLED ? KEY_default : 0); 2111 } 2112 2113 goto unknown; 2114 2115 case 'i': 2116 if (name[4] == 'n' && 2117 name[5] == 'e' && 2118 name[6] == 'd') 2119 { /* defined */ 2120 return KEY_defined; 2121 } 2122 2123 goto unknown; 2124 2125 default: 2126 goto unknown; 2127 } 2128 } 2129 2130 goto unknown; 2131 2132 default: 2133 goto unknown; 2134 } 2135 2136 case 'f': 2137 switch (name[1]) 2138 { 2139 case 'i': 2140 if (name[2] == 'n' && 2141 name[3] == 'a' && 2142 name[4] == 'l' && 2143 name[5] == 'l' && 2144 name[6] == 'y') 2145 { /* finally */ 2146 return (all_keywords || FEATURE_TRY_IS_ENABLED ? KEY_finally : 0); 2147 } 2148 2149 goto unknown; 2150 2151 case 'o': 2152 if (name[2] == 'r' && 2153 name[3] == 'e' && 2154 name[4] == 'a' && 2155 name[5] == 'c' && 2156 name[6] == 'h') 2157 { /* foreach */ 2158 return KEY_foreach; 2159 } 2160 2161 goto unknown; 2162 2163 default: 2164 goto unknown; 2165 } 2166 2167 case 'g': 2168 if (name[1] == 'e' && 2169 name[2] == 't' && 2170 name[3] == 'p') 2171 { 2172 switch (name[4]) 2173 { 2174 case 'g': 2175 if (name[5] == 'r' && 2176 name[6] == 'p') 2177 { /* getpgrp */ 2178 return -KEY_getpgrp; 2179 } 2180 2181 goto unknown; 2182 2183 case 'p': 2184 if (name[5] == 'i' && 2185 name[6] == 'd') 2186 { /* getppid */ 2187 return -KEY_getppid; 2188 } 2189 2190 goto unknown; 2191 2192 default: 2193 goto unknown; 2194 } 2195 } 2196 2197 goto unknown; 2198 2199 case 'l': 2200 if (name[1] == 'c' && 2201 name[2] == 'f' && 2202 name[3] == 'i' && 2203 name[4] == 'r' && 2204 name[5] == 's' && 2205 name[6] == 't') 2206 { /* lcfirst */ 2207 return -KEY_lcfirst; 2208 } 2209 2210 goto unknown; 2211 2212 case 'o': 2213 if (name[1] == 'p' && 2214 name[2] == 'e' && 2215 name[3] == 'n' && 2216 name[4] == 'd' && 2217 name[5] == 'i' && 2218 name[6] == 'r') 2219 { /* opendir */ 2220 return -KEY_opendir; 2221 } 2222 2223 goto unknown; 2224 2225 case 'p': 2226 if (name[1] == 'a' && 2227 name[2] == 'c' && 2228 name[3] == 'k' && 2229 name[4] == 'a' && 2230 name[5] == 'g' && 2231 name[6] == 'e') 2232 { /* package */ 2233 return KEY_package; 2234 } 2235 2236 goto unknown; 2237 2238 case 'r': 2239 if (name[1] == 'e') 2240 { 2241 switch (name[2]) 2242 { 2243 case 'a': 2244 if (name[3] == 'd' && 2245 name[4] == 'd' && 2246 name[5] == 'i' && 2247 name[6] == 'r') 2248 { /* readdir */ 2249 return -KEY_readdir; 2250 } 2251 2252 goto unknown; 2253 2254 case 'q': 2255 if (name[3] == 'u' && 2256 name[4] == 'i' && 2257 name[5] == 'r' && 2258 name[6] == 'e') 2259 { /* require */ 2260 return KEY_require; 2261 } 2262 2263 goto unknown; 2264 2265 case 'v': 2266 if (name[3] == 'e' && 2267 name[4] == 'r' && 2268 name[5] == 's' && 2269 name[6] == 'e') 2270 { /* reverse */ 2271 return -KEY_reverse; 2272 } 2273 2274 goto unknown; 2275 2276 default: 2277 goto unknown; 2278 } 2279 } 2280 2281 goto unknown; 2282 2283 case 's': 2284 switch (name[1]) 2285 { 2286 case 'e': 2287 switch (name[2]) 2288 { 2289 case 'e': 2290 if (name[3] == 'k' && 2291 name[4] == 'd' && 2292 name[5] == 'i' && 2293 name[6] == 'r') 2294 { /* seekdir */ 2295 return -KEY_seekdir; 2296 } 2297 2298 goto unknown; 2299 2300 case 't': 2301 if (name[3] == 'p' && 2302 name[4] == 'g' && 2303 name[5] == 'r' && 2304 name[6] == 'p') 2305 { /* setpgrp */ 2306 return -KEY_setpgrp; 2307 } 2308 2309 goto unknown; 2310 2311 default: 2312 goto unknown; 2313 } 2314 2315 case 'h': 2316 if (name[2] == 'm' && 2317 name[3] == 'r' && 2318 name[4] == 'e' && 2319 name[5] == 'a' && 2320 name[6] == 'd') 2321 { /* shmread */ 2322 return -KEY_shmread; 2323 } 2324 2325 goto unknown; 2326 2327 case 'p': 2328 if (name[2] == 'r' && 2329 name[3] == 'i' && 2330 name[4] == 'n' && 2331 name[5] == 't' && 2332 name[6] == 'f') 2333 { /* sprintf */ 2334 return -KEY_sprintf; 2335 } 2336 2337 goto unknown; 2338 2339 case 'y': 2340 switch (name[2]) 2341 { 2342 case 'm': 2343 if (name[3] == 'l' && 2344 name[4] == 'i' && 2345 name[5] == 'n' && 2346 name[6] == 'k') 2347 { /* symlink */ 2348 return -KEY_symlink; 2349 } 2350 2351 goto unknown; 2352 2353 case 's': 2354 switch (name[3]) 2355 { 2356 case 'c': 2357 if (name[4] == 'a' && 2358 name[5] == 'l' && 2359 name[6] == 'l') 2360 { /* syscall */ 2361 return -KEY_syscall; 2362 } 2363 2364 goto unknown; 2365 2366 case 'o': 2367 if (name[4] == 'p' && 2368 name[5] == 'e' && 2369 name[6] == 'n') 2370 { /* sysopen */ 2371 return -KEY_sysopen; 2372 } 2373 2374 goto unknown; 2375 2376 case 'r': 2377 if (name[4] == 'e' && 2378 name[5] == 'a' && 2379 name[6] == 'd') 2380 { /* sysread */ 2381 return -KEY_sysread; 2382 } 2383 2384 goto unknown; 2385 2386 case 's': 2387 if (name[4] == 'e' && 2388 name[5] == 'e' && 2389 name[6] == 'k') 2390 { /* sysseek */ 2391 return -KEY_sysseek; 2392 } 2393 2394 goto unknown; 2395 2396 default: 2397 goto unknown; 2398 } 2399 2400 default: 2401 goto unknown; 2402 } 2403 2404 default: 2405 goto unknown; 2406 } 2407 2408 case 't': 2409 if (name[1] == 'e' && 2410 name[2] == 'l' && 2411 name[3] == 'l' && 2412 name[4] == 'd' && 2413 name[5] == 'i' && 2414 name[6] == 'r') 2415 { /* telldir */ 2416 return -KEY_telldir; 2417 } 2418 2419 goto unknown; 2420 2421 case 'u': 2422 switch (name[1]) 2423 { 2424 case 'c': 2425 if (name[2] == 'f' && 2426 name[3] == 'i' && 2427 name[4] == 'r' && 2428 name[5] == 's' && 2429 name[6] == 't') 2430 { /* ucfirst */ 2431 return -KEY_ucfirst; 2432 } 2433 2434 goto unknown; 2435 2436 case 'n': 2437 if (name[2] == 's' && 2438 name[3] == 'h' && 2439 name[4] == 'i' && 2440 name[5] == 'f' && 2441 name[6] == 't') 2442 { /* unshift */ 2443 return -KEY_unshift; 2444 } 2445 2446 goto unknown; 2447 2448 default: 2449 goto unknown; 2450 } 2451 2452 case 'w': 2453 if (name[1] == 'a' && 2454 name[2] == 'i' && 2455 name[3] == 't' && 2456 name[4] == 'p' && 2457 name[5] == 'i' && 2458 name[6] == 'd') 2459 { /* waitpid */ 2460 return -KEY_waitpid; 2461 } 2462 2463 goto unknown; 2464 2465 default: 2466 goto unknown; 2467 } 2468 2469 case 8: /* 26 tokens of length 8 */ 2470 switch (name[0]) 2471 { 2472 case 'A': 2473 if (name[1] == 'U' && 2474 name[2] == 'T' && 2475 name[3] == 'O' && 2476 name[4] == 'L' && 2477 name[5] == 'O' && 2478 name[6] == 'A' && 2479 name[7] == 'D') 2480 { /* AUTOLOAD */ 2481 return KEY_AUTOLOAD; 2482 } 2483 2484 goto unknown; 2485 2486 case '_': 2487 if (name[1] == '_') 2488 { 2489 switch (name[2]) 2490 { 2491 case 'D': 2492 if (name[3] == 'A' && 2493 name[4] == 'T' && 2494 name[5] == 'A' && 2495 name[6] == '_' && 2496 name[7] == '_') 2497 { /* __DATA__ */ 2498 return KEY___DATA__; 2499 } 2500 2501 goto unknown; 2502 2503 case 'F': 2504 if (name[3] == 'I' && 2505 name[4] == 'L' && 2506 name[5] == 'E' && 2507 name[6] == '_' && 2508 name[7] == '_') 2509 { /* __FILE__ */ 2510 return -KEY___FILE__; 2511 } 2512 2513 goto unknown; 2514 2515 case 'L': 2516 if (name[3] == 'I' && 2517 name[4] == 'N' && 2518 name[5] == 'E' && 2519 name[6] == '_' && 2520 name[7] == '_') 2521 { /* __LINE__ */ 2522 return -KEY___LINE__; 2523 } 2524 2525 goto unknown; 2526 2527 default: 2528 goto unknown; 2529 } 2530 } 2531 2532 goto unknown; 2533 2534 case 'c': 2535 switch (name[1]) 2536 { 2537 case 'l': 2538 if (name[2] == 'o' && 2539 name[3] == 's' && 2540 name[4] == 'e' && 2541 name[5] == 'd' && 2542 name[6] == 'i' && 2543 name[7] == 'r') 2544 { /* closedir */ 2545 return -KEY_closedir; 2546 } 2547 2548 goto unknown; 2549 2550 case 'o': 2551 if (name[2] == 'n' && 2552 name[3] == 't' && 2553 name[4] == 'i' && 2554 name[5] == 'n' && 2555 name[6] == 'u' && 2556 name[7] == 'e') 2557 { /* continue */ 2558 return -KEY_continue; 2559 } 2560 2561 goto unknown; 2562 2563 default: 2564 goto unknown; 2565 } 2566 2567 case 'd': 2568 if (name[1] == 'b' && 2569 name[2] == 'm' && 2570 name[3] == 'c' && 2571 name[4] == 'l' && 2572 name[5] == 'o' && 2573 name[6] == 's' && 2574 name[7] == 'e') 2575 { /* dbmclose */ 2576 return -KEY_dbmclose; 2577 } 2578 2579 goto unknown; 2580 2581 case 'e': 2582 if (name[1] == 'n' && 2583 name[2] == 'd') 2584 { 2585 switch (name[3]) 2586 { 2587 case 'g': 2588 if (name[4] == 'r' && 2589 name[5] == 'e' && 2590 name[6] == 'n' && 2591 name[7] == 't') 2592 { /* endgrent */ 2593 return -KEY_endgrent; 2594 } 2595 2596 goto unknown; 2597 2598 case 'p': 2599 if (name[4] == 'w' && 2600 name[5] == 'e' && 2601 name[6] == 'n' && 2602 name[7] == 't') 2603 { /* endpwent */ 2604 return -KEY_endpwent; 2605 } 2606 2607 goto unknown; 2608 2609 default: 2610 goto unknown; 2611 } 2612 } 2613 2614 goto unknown; 2615 2616 case 'f': 2617 if (name[1] == 'o' && 2618 name[2] == 'r' && 2619 name[3] == 'm' && 2620 name[4] == 'l' && 2621 name[5] == 'i' && 2622 name[6] == 'n' && 2623 name[7] == 'e') 2624 { /* formline */ 2625 return -KEY_formline; 2626 } 2627 2628 goto unknown; 2629 2630 case 'g': 2631 if (name[1] == 'e' && 2632 name[2] == 't') 2633 { 2634 switch (name[3]) 2635 { 2636 case 'g': 2637 if (name[4] == 'r') 2638 { 2639 switch (name[5]) 2640 { 2641 case 'e': 2642 if (name[6] == 'n' && 2643 name[7] == 't') 2644 { /* getgrent */ 2645 return -KEY_getgrent; 2646 } 2647 2648 goto unknown; 2649 2650 case 'g': 2651 if (name[6] == 'i' && 2652 name[7] == 'd') 2653 { /* getgrgid */ 2654 return -KEY_getgrgid; 2655 } 2656 2657 goto unknown; 2658 2659 case 'n': 2660 if (name[6] == 'a' && 2661 name[7] == 'm') 2662 { /* getgrnam */ 2663 return -KEY_getgrnam; 2664 } 2665 2666 goto unknown; 2667 2668 default: 2669 goto unknown; 2670 } 2671 } 2672 2673 goto unknown; 2674 2675 case 'l': 2676 if (name[4] == 'o' && 2677 name[5] == 'g' && 2678 name[6] == 'i' && 2679 name[7] == 'n') 2680 { /* getlogin */ 2681 return -KEY_getlogin; 2682 } 2683 2684 goto unknown; 2685 2686 case 'p': 2687 if (name[4] == 'w') 2688 { 2689 switch (name[5]) 2690 { 2691 case 'e': 2692 if (name[6] == 'n' && 2693 name[7] == 't') 2694 { /* getpwent */ 2695 return -KEY_getpwent; 2696 } 2697 2698 goto unknown; 2699 2700 case 'n': 2701 if (name[6] == 'a' && 2702 name[7] == 'm') 2703 { /* getpwnam */ 2704 return -KEY_getpwnam; 2705 } 2706 2707 goto unknown; 2708 2709 case 'u': 2710 if (name[6] == 'i' && 2711 name[7] == 'd') 2712 { /* getpwuid */ 2713 return -KEY_getpwuid; 2714 } 2715 2716 goto unknown; 2717 2718 default: 2719 goto unknown; 2720 } 2721 } 2722 2723 goto unknown; 2724 2725 default: 2726 goto unknown; 2727 } 2728 } 2729 2730 goto unknown; 2731 2732 case 'r': 2733 if (name[1] == 'e' && 2734 name[2] == 'a' && 2735 name[3] == 'd') 2736 { 2737 switch (name[4]) 2738 { 2739 case 'l': 2740 if (name[5] == 'i' && 2741 name[6] == 'n') 2742 { 2743 switch (name[7]) 2744 { 2745 case 'e': 2746 { /* readline */ 2747 return -KEY_readline; 2748 } 2749 2750 case 'k': 2751 { /* readlink */ 2752 return -KEY_readlink; 2753 } 2754 2755 default: 2756 goto unknown; 2757 } 2758 } 2759 2760 goto unknown; 2761 2762 case 'p': 2763 if (name[5] == 'i' && 2764 name[6] == 'p' && 2765 name[7] == 'e') 2766 { /* readpipe */ 2767 return -KEY_readpipe; 2768 } 2769 2770 goto unknown; 2771 2772 default: 2773 goto unknown; 2774 } 2775 } 2776 2777 goto unknown; 2778 2779 case 's': 2780 switch (name[1]) 2781 { 2782 case 'e': 2783 if (name[2] == 't') 2784 { 2785 switch (name[3]) 2786 { 2787 case 'g': 2788 if (name[4] == 'r' && 2789 name[5] == 'e' && 2790 name[6] == 'n' && 2791 name[7] == 't') 2792 { /* setgrent */ 2793 return -KEY_setgrent; 2794 } 2795 2796 goto unknown; 2797 2798 case 'p': 2799 if (name[4] == 'w' && 2800 name[5] == 'e' && 2801 name[6] == 'n' && 2802 name[7] == 't') 2803 { /* setpwent */ 2804 return -KEY_setpwent; 2805 } 2806 2807 goto unknown; 2808 2809 default: 2810 goto unknown; 2811 } 2812 } 2813 2814 goto unknown; 2815 2816 case 'h': 2817 switch (name[2]) 2818 { 2819 case 'm': 2820 if (name[3] == 'w' && 2821 name[4] == 'r' && 2822 name[5] == 'i' && 2823 name[6] == 't' && 2824 name[7] == 'e') 2825 { /* shmwrite */ 2826 return -KEY_shmwrite; 2827 } 2828 2829 goto unknown; 2830 2831 case 'u': 2832 if (name[3] == 't' && 2833 name[4] == 'd' && 2834 name[5] == 'o' && 2835 name[6] == 'w' && 2836 name[7] == 'n') 2837 { /* shutdown */ 2838 return -KEY_shutdown; 2839 } 2840 2841 goto unknown; 2842 2843 default: 2844 goto unknown; 2845 } 2846 2847 case 'y': 2848 if (name[2] == 's' && 2849 name[3] == 'w' && 2850 name[4] == 'r' && 2851 name[5] == 'i' && 2852 name[6] == 't' && 2853 name[7] == 'e') 2854 { /* syswrite */ 2855 return -KEY_syswrite; 2856 } 2857 2858 goto unknown; 2859 2860 default: 2861 goto unknown; 2862 } 2863 2864 case 't': 2865 if (name[1] == 'r' && 2866 name[2] == 'u' && 2867 name[3] == 'n' && 2868 name[4] == 'c' && 2869 name[5] == 'a' && 2870 name[6] == 't' && 2871 name[7] == 'e') 2872 { /* truncate */ 2873 return -KEY_truncate; 2874 } 2875 2876 goto unknown; 2877 2878 default: 2879 goto unknown; 2880 } 2881 2882 case 9: /* 11 tokens of length 9 */ 2883 switch (name[0]) 2884 { 2885 case 'U': 2886 if (name[1] == 'N' && 2887 name[2] == 'I' && 2888 name[3] == 'T' && 2889 name[4] == 'C' && 2890 name[5] == 'H' && 2891 name[6] == 'E' && 2892 name[7] == 'C' && 2893 name[8] == 'K') 2894 { /* UNITCHECK */ 2895 return KEY_UNITCHECK; 2896 } 2897 2898 goto unknown; 2899 2900 case '_': 2901 if (name[1] == '_' && 2902 name[2] == 'C' && 2903 name[3] == 'L' && 2904 name[4] == 'A' && 2905 name[5] == 'S' && 2906 name[6] == 'S' && 2907 name[7] == '_' && 2908 name[8] == '_') 2909 { /* __CLASS__ */ 2910 return (all_keywords || FEATURE_CLASS_IS_ENABLED ? -KEY___CLASS__ : 0); 2911 } 2912 2913 goto unknown; 2914 2915 case 'e': 2916 switch (name[1]) 2917 { 2918 case 'n': 2919 if (name[2] == 'd' && 2920 name[3] == 'n' && 2921 name[4] == 'e' && 2922 name[5] == 't' && 2923 name[6] == 'e' && 2924 name[7] == 'n' && 2925 name[8] == 't') 2926 { /* endnetent */ 2927 return -KEY_endnetent; 2928 } 2929 2930 goto unknown; 2931 2932 case 'v': 2933 if (name[2] == 'a' && 2934 name[3] == 'l' && 2935 name[4] == 'b' && 2936 name[5] == 'y' && 2937 name[6] == 't' && 2938 name[7] == 'e' && 2939 name[8] == 's') 2940 { /* evalbytes */ 2941 return (all_keywords || FEATURE_EVALBYTES_IS_ENABLED ? -KEY_evalbytes : 0); 2942 } 2943 2944 goto unknown; 2945 2946 default: 2947 goto unknown; 2948 } 2949 2950 case 'g': 2951 if (name[1] == 'e' && 2952 name[2] == 't' && 2953 name[3] == 'n' && 2954 name[4] == 'e' && 2955 name[5] == 't' && 2956 name[6] == 'e' && 2957 name[7] == 'n' && 2958 name[8] == 't') 2959 { /* getnetent */ 2960 return -KEY_getnetent; 2961 } 2962 2963 goto unknown; 2964 2965 case 'l': 2966 if (name[1] == 'o' && 2967 name[2] == 'c' && 2968 name[3] == 'a' && 2969 name[4] == 'l' && 2970 name[5] == 't' && 2971 name[6] == 'i' && 2972 name[7] == 'm' && 2973 name[8] == 'e') 2974 { /* localtime */ 2975 return -KEY_localtime; 2976 } 2977 2978 goto unknown; 2979 2980 case 'p': 2981 if (name[1] == 'r' && 2982 name[2] == 'o' && 2983 name[3] == 't' && 2984 name[4] == 'o' && 2985 name[5] == 't' && 2986 name[6] == 'y' && 2987 name[7] == 'p' && 2988 name[8] == 'e') 2989 { /* prototype */ 2990 return KEY_prototype; 2991 } 2992 2993 goto unknown; 2994 2995 case 'q': 2996 if (name[1] == 'u' && 2997 name[2] == 'o' && 2998 name[3] == 't' && 2999 name[4] == 'e' && 3000 name[5] == 'm' && 3001 name[6] == 'e' && 3002 name[7] == 't' && 3003 name[8] == 'a') 3004 { /* quotemeta */ 3005 return -KEY_quotemeta; 3006 } 3007 3008 goto unknown; 3009 3010 case 'r': 3011 if (name[1] == 'e' && 3012 name[2] == 'w' && 3013 name[3] == 'i' && 3014 name[4] == 'n' && 3015 name[5] == 'd' && 3016 name[6] == 'd' && 3017 name[7] == 'i' && 3018 name[8] == 'r') 3019 { /* rewinddir */ 3020 return -KEY_rewinddir; 3021 } 3022 3023 goto unknown; 3024 3025 case 's': 3026 if (name[1] == 'e' && 3027 name[2] == 't' && 3028 name[3] == 'n' && 3029 name[4] == 'e' && 3030 name[5] == 't' && 3031 name[6] == 'e' && 3032 name[7] == 'n' && 3033 name[8] == 't') 3034 { /* setnetent */ 3035 return -KEY_setnetent; 3036 } 3037 3038 goto unknown; 3039 3040 case 'w': 3041 if (name[1] == 'a' && 3042 name[2] == 'n' && 3043 name[3] == 't' && 3044 name[4] == 'a' && 3045 name[5] == 'r' && 3046 name[6] == 'r' && 3047 name[7] == 'a' && 3048 name[8] == 'y') 3049 { /* wantarray */ 3050 return -KEY_wantarray; 3051 } 3052 3053 goto unknown; 3054 3055 default: 3056 goto unknown; 3057 } 3058 3059 case 10: /* 9 tokens of length 10 */ 3060 switch (name[0]) 3061 { 3062 case 'e': 3063 if (name[1] == 'n' && 3064 name[2] == 'd') 3065 { 3066 switch (name[3]) 3067 { 3068 case 'h': 3069 if (name[4] == 'o' && 3070 name[5] == 's' && 3071 name[6] == 't' && 3072 name[7] == 'e' && 3073 name[8] == 'n' && 3074 name[9] == 't') 3075 { /* endhostent */ 3076 return -KEY_endhostent; 3077 } 3078 3079 goto unknown; 3080 3081 case 's': 3082 if (name[4] == 'e' && 3083 name[5] == 'r' && 3084 name[6] == 'v' && 3085 name[7] == 'e' && 3086 name[8] == 'n' && 3087 name[9] == 't') 3088 { /* endservent */ 3089 return -KEY_endservent; 3090 } 3091 3092 goto unknown; 3093 3094 default: 3095 goto unknown; 3096 } 3097 } 3098 3099 goto unknown; 3100 3101 case 'g': 3102 if (name[1] == 'e' && 3103 name[2] == 't') 3104 { 3105 switch (name[3]) 3106 { 3107 case 'h': 3108 if (name[4] == 'o' && 3109 name[5] == 's' && 3110 name[6] == 't' && 3111 name[7] == 'e' && 3112 name[8] == 'n' && 3113 name[9] == 't') 3114 { /* gethostent */ 3115 return -KEY_gethostent; 3116 } 3117 3118 goto unknown; 3119 3120 case 's': 3121 switch (name[4]) 3122 { 3123 case 'e': 3124 if (name[5] == 'r' && 3125 name[6] == 'v' && 3126 name[7] == 'e' && 3127 name[8] == 'n' && 3128 name[9] == 't') 3129 { /* getservent */ 3130 return -KEY_getservent; 3131 } 3132 3133 goto unknown; 3134 3135 case 'o': 3136 if (name[5] == 'c' && 3137 name[6] == 'k' && 3138 name[7] == 'o' && 3139 name[8] == 'p' && 3140 name[9] == 't') 3141 { /* getsockopt */ 3142 return -KEY_getsockopt; 3143 } 3144 3145 goto unknown; 3146 3147 default: 3148 goto unknown; 3149 } 3150 3151 default: 3152 goto unknown; 3153 } 3154 } 3155 3156 goto unknown; 3157 3158 case 's': 3159 switch (name[1]) 3160 { 3161 case 'e': 3162 if (name[2] == 't') 3163 { 3164 switch (name[3]) 3165 { 3166 case 'h': 3167 if (name[4] == 'o' && 3168 name[5] == 's' && 3169 name[6] == 't' && 3170 name[7] == 'e' && 3171 name[8] == 'n' && 3172 name[9] == 't') 3173 { /* sethostent */ 3174 return -KEY_sethostent; 3175 } 3176 3177 goto unknown; 3178 3179 case 's': 3180 switch (name[4]) 3181 { 3182 case 'e': 3183 if (name[5] == 'r' && 3184 name[6] == 'v' && 3185 name[7] == 'e' && 3186 name[8] == 'n' && 3187 name[9] == 't') 3188 { /* setservent */ 3189 return -KEY_setservent; 3190 } 3191 3192 goto unknown; 3193 3194 case 'o': 3195 if (name[5] == 'c' && 3196 name[6] == 'k' && 3197 name[7] == 'o' && 3198 name[8] == 'p' && 3199 name[9] == 't') 3200 { /* setsockopt */ 3201 return -KEY_setsockopt; 3202 } 3203 3204 goto unknown; 3205 3206 default: 3207 goto unknown; 3208 } 3209 3210 default: 3211 goto unknown; 3212 } 3213 } 3214 3215 goto unknown; 3216 3217 case 'o': 3218 if (name[2] == 'c' && 3219 name[3] == 'k' && 3220 name[4] == 'e' && 3221 name[5] == 't' && 3222 name[6] == 'p' && 3223 name[7] == 'a' && 3224 name[8] == 'i' && 3225 name[9] == 'r') 3226 { /* socketpair */ 3227 return -KEY_socketpair; 3228 } 3229 3230 goto unknown; 3231 3232 default: 3233 goto unknown; 3234 } 3235 3236 default: 3237 goto unknown; 3238 } 3239 3240 case 11: /* 8 tokens of length 11 */ 3241 switch (name[0]) 3242 { 3243 case '_': 3244 if (name[1] == '_' && 3245 name[2] == 'P' && 3246 name[3] == 'A' && 3247 name[4] == 'C' && 3248 name[5] == 'K' && 3249 name[6] == 'A' && 3250 name[7] == 'G' && 3251 name[8] == 'E' && 3252 name[9] == '_' && 3253 name[10] == '_') 3254 { /* __PACKAGE__ */ 3255 return -KEY___PACKAGE__; 3256 } 3257 3258 goto unknown; 3259 3260 case 'e': 3261 if (name[1] == 'n' && 3262 name[2] == 'd' && 3263 name[3] == 'p' && 3264 name[4] == 'r' && 3265 name[5] == 'o' && 3266 name[6] == 't' && 3267 name[7] == 'o' && 3268 name[8] == 'e' && 3269 name[9] == 'n' && 3270 name[10] == 't') 3271 { /* endprotoent */ 3272 return -KEY_endprotoent; 3273 } 3274 3275 goto unknown; 3276 3277 case 'g': 3278 if (name[1] == 'e' && 3279 name[2] == 't') 3280 { 3281 switch (name[3]) 3282 { 3283 case 'p': 3284 switch (name[4]) 3285 { 3286 case 'e': 3287 if (name[5] == 'e' && 3288 name[6] == 'r' && 3289 name[7] == 'n' && 3290 name[8] == 'a' && 3291 name[9] == 'm' && 3292 name[10] == 'e') 3293 { /* getpeername */ 3294 return -KEY_getpeername; 3295 } 3296 3297 goto unknown; 3298 3299 case 'r': 3300 switch (name[5]) 3301 { 3302 case 'i': 3303 if (name[6] == 'o' && 3304 name[7] == 'r' && 3305 name[8] == 'i' && 3306 name[9] == 't' && 3307 name[10] == 'y') 3308 { /* getpriority */ 3309 return -KEY_getpriority; 3310 } 3311 3312 goto unknown; 3313 3314 case 'o': 3315 if (name[6] == 't' && 3316 name[7] == 'o' && 3317 name[8] == 'e' && 3318 name[9] == 'n' && 3319 name[10] == 't') 3320 { /* getprotoent */ 3321 return -KEY_getprotoent; 3322 } 3323 3324 goto unknown; 3325 3326 default: 3327 goto unknown; 3328 } 3329 3330 default: 3331 goto unknown; 3332 } 3333 3334 case 's': 3335 if (name[4] == 'o' && 3336 name[5] == 'c' && 3337 name[6] == 'k' && 3338 name[7] == 'n' && 3339 name[8] == 'a' && 3340 name[9] == 'm' && 3341 name[10] == 'e') 3342 { /* getsockname */ 3343 return -KEY_getsockname; 3344 } 3345 3346 goto unknown; 3347 3348 default: 3349 goto unknown; 3350 } 3351 } 3352 3353 goto unknown; 3354 3355 case 's': 3356 if (name[1] == 'e' && 3357 name[2] == 't' && 3358 name[3] == 'p' && 3359 name[4] == 'r') 3360 { 3361 switch (name[5]) 3362 { 3363 case 'i': 3364 if (name[6] == 'o' && 3365 name[7] == 'r' && 3366 name[8] == 'i' && 3367 name[9] == 't' && 3368 name[10] == 'y') 3369 { /* setpriority */ 3370 return -KEY_setpriority; 3371 } 3372 3373 goto unknown; 3374 3375 case 'o': 3376 if (name[6] == 't' && 3377 name[7] == 'o' && 3378 name[8] == 'e' && 3379 name[9] == 'n' && 3380 name[10] == 't') 3381 { /* setprotoent */ 3382 return -KEY_setprotoent; 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 case 12: /* 2 tokens of length 12 */ 3399 if (name[0] == 'g' && 3400 name[1] == 'e' && 3401 name[2] == 't' && 3402 name[3] == 'n' && 3403 name[4] == 'e' && 3404 name[5] == 't' && 3405 name[6] == 'b' && 3406 name[7] == 'y') 3407 { 3408 switch (name[8]) 3409 { 3410 case 'a': 3411 if (name[9] == 'd' && 3412 name[10] == 'd' && 3413 name[11] == 'r') 3414 { /* getnetbyaddr */ 3415 return -KEY_getnetbyaddr; 3416 } 3417 3418 goto unknown; 3419 3420 case 'n': 3421 if (name[9] == 'a' && 3422 name[10] == 'm' && 3423 name[11] == 'e') 3424 { /* getnetbyname */ 3425 return -KEY_getnetbyname; 3426 } 3427 3428 goto unknown; 3429 3430 default: 3431 goto unknown; 3432 } 3433 } 3434 3435 goto unknown; 3436 3437 case 13: /* 4 tokens of length 13 */ 3438 if (name[0] == 'g' && 3439 name[1] == 'e' && 3440 name[2] == 't') 3441 { 3442 switch (name[3]) 3443 { 3444 case 'h': 3445 if (name[4] == 'o' && 3446 name[5] == 's' && 3447 name[6] == 't' && 3448 name[7] == 'b' && 3449 name[8] == 'y') 3450 { 3451 switch (name[9]) 3452 { 3453 case 'a': 3454 if (name[10] == 'd' && 3455 name[11] == 'd' && 3456 name[12] == 'r') 3457 { /* gethostbyaddr */ 3458 return -KEY_gethostbyaddr; 3459 } 3460 3461 goto unknown; 3462 3463 case 'n': 3464 if (name[10] == 'a' && 3465 name[11] == 'm' && 3466 name[12] == 'e') 3467 { /* gethostbyname */ 3468 return -KEY_gethostbyname; 3469 } 3470 3471 goto unknown; 3472 3473 default: 3474 goto unknown; 3475 } 3476 } 3477 3478 goto unknown; 3479 3480 case 's': 3481 if (name[4] == 'e' && 3482 name[5] == 'r' && 3483 name[6] == 'v' && 3484 name[7] == 'b' && 3485 name[8] == 'y') 3486 { 3487 switch (name[9]) 3488 { 3489 case 'n': 3490 if (name[10] == 'a' && 3491 name[11] == 'm' && 3492 name[12] == 'e') 3493 { /* getservbyname */ 3494 return -KEY_getservbyname; 3495 } 3496 3497 goto unknown; 3498 3499 case 'p': 3500 if (name[10] == 'o' && 3501 name[11] == 'r' && 3502 name[12] == 't') 3503 { /* getservbyport */ 3504 return -KEY_getservbyport; 3505 } 3506 3507 goto unknown; 3508 3509 default: 3510 goto unknown; 3511 } 3512 } 3513 3514 goto unknown; 3515 3516 default: 3517 goto unknown; 3518 } 3519 } 3520 3521 goto unknown; 3522 3523 case 14: /* 1 tokens of length 14 */ 3524 if (name[0] == 'g' && 3525 name[1] == 'e' && 3526 name[2] == 't' && 3527 name[3] == 'p' && 3528 name[4] == 'r' && 3529 name[5] == 'o' && 3530 name[6] == 't' && 3531 name[7] == 'o' && 3532 name[8] == 'b' && 3533 name[9] == 'y' && 3534 name[10] == 'n' && 3535 name[11] == 'a' && 3536 name[12] == 'm' && 3537 name[13] == 'e') 3538 { /* getprotobyname */ 3539 return -KEY_getprotobyname; 3540 } 3541 3542 goto unknown; 3543 3544 case 16: /* 1 tokens of length 16 */ 3545 if (name[0] == 'g' && 3546 name[1] == 'e' && 3547 name[2] == 't' && 3548 name[3] == 'p' && 3549 name[4] == 'r' && 3550 name[5] == 'o' && 3551 name[6] == 't' && 3552 name[7] == 'o' && 3553 name[8] == 'b' && 3554 name[9] == 'y' && 3555 name[10] == 'n' && 3556 name[11] == 'u' && 3557 name[12] == 'm' && 3558 name[13] == 'b' && 3559 name[14] == 'e' && 3560 name[15] == 'r') 3561 { /* getprotobynumber */ 3562 return -KEY_getprotobynumber; 3563 } 3564 3565 goto unknown; 3566 3567 default: 3568 goto unknown; 3569 } 3570 3571 unknown: 3572 return 0; 3573 } 3574 3575 /* Generated from: 3576 * c8b75109fa56ce3ea3f30503a3b398f02e49036dc60d5fb36ea5ba9ffd6c596e regen/keywords.pl 3577 * ex: set ro ft=c: */ 3578