|
|
1.1 ! root 1: 0 $accept : cmd_list $end ! 2: ! 3: 1 cmd_list : ! 4: 2 | cmd_list cmd ! 5: 3 | cmd_list rcmd ! 6: ! 7: 4 cmd : USER SP username CRLF ! 8: 5 | PASS SP password CRLF ! 9: 6 | PORT SP host_port CRLF ! 10: 7 | PASV CRLF ! 11: 8 | TYPE SP type_code CRLF ! 12: 9 | STRU SP struct_code CRLF ! 13: 10 | MODE SP mode_code CRLF ! 14: 11 | ALLO SP NUMBER CRLF ! 15: 12 | ALLO SP NUMBER SP R SP NUMBER CRLF ! 16: 13 | RETR check_login SP pathname CRLF ! 17: 14 | STOR check_login SP pathname CRLF ! 18: 15 | APPE check_login SP pathname CRLF ! 19: 16 | NLST check_login CRLF ! 20: 17 | NLST check_login SP STRING CRLF ! 21: 18 | LIST check_login CRLF ! 22: 19 | LIST check_login SP pathname CRLF ! 23: 20 | STAT check_login SP pathname CRLF ! 24: 21 | STAT CRLF ! 25: 22 | DELE check_login SP pathname CRLF ! 26: 23 | RNTO SP pathname CRLF ! 27: 24 | ABOR CRLF ! 28: 25 | CWD check_login CRLF ! 29: 26 | CWD check_login SP pathname CRLF ! 30: 27 | HELP CRLF ! 31: 28 | HELP SP STRING CRLF ! 32: 29 | NOOP CRLF ! 33: 30 | MKD check_login SP pathname CRLF ! 34: 31 | RMD check_login SP pathname CRLF ! 35: 32 | PWD check_login CRLF ! 36: 33 | CDUP check_login CRLF ! 37: 34 | SITE SP HELP CRLF ! 38: 35 | SITE SP HELP SP STRING CRLF ! 39: 36 | SITE SP UMASK check_login CRLF ! 40: 37 | SITE SP UMASK check_login SP octal_number CRLF ! 41: 38 | SITE SP CHMOD check_login SP octal_number SP pathname CRLF ! 42: 39 | SITE SP IDLE CRLF ! 43: 40 | SITE SP IDLE SP NUMBER CRLF ! 44: 41 | STOU check_login SP pathname CRLF ! 45: 42 | SYST CRLF ! 46: 43 | SIZE check_login SP pathname CRLF ! 47: 44 | MDTM check_login SP pathname CRLF ! 48: 45 | QUIT CRLF ! 49: 46 | error CRLF ! 50: ! 51: 47 rcmd : RNFR check_login SP pathname CRLF ! 52: ! 53: 48 username : STRING ! 54: ! 55: 49 password : ! 56: 50 | STRING ! 57: ! 58: 51 byte_size : NUMBER ! 59: ! 60: 52 host_port : NUMBER COMMA NUMBER COMMA NUMBER COMMA NUMBER COMMA NUMBER COMMA NUMBER ! 61: ! 62: 53 form_code : N ! 63: 54 | T ! 64: 55 | C ! 65: ! 66: 56 type_code : A ! 67: 57 | A SP form_code ! 68: 58 | E ! 69: 59 | E SP form_code ! 70: 60 | I ! 71: 61 | L ! 72: 62 | L SP byte_size ! 73: 63 | L byte_size ! 74: ! 75: 64 struct_code : F ! 76: 65 | R ! 77: 66 | P ! 78: ! 79: 67 mode_code : S ! 80: 68 | B ! 81: 69 | C ! 82: ! 83: 70 pathname : pathstring ! 84: ! 85: 71 pathstring : STRING ! 86: ! 87: 72 octal_number : NUMBER ! 88: ! 89: 73 check_login : ! 90: ! 91: state 0 ! 92: $accept : . cmd_list $end (0) ! 93: cmd_list : . (1) ! 94: ! 95: . reduce 1 ! 96: ! 97: cmd_list goto 1 ! 98: ! 99: ! 100: state 1 ! 101: $accept : cmd_list . $end (0) ! 102: cmd_list : cmd_list . cmd (2) ! 103: cmd_list : cmd_list . rcmd (3) ! 104: ! 105: $end accept ! 106: error shift 2 ! 107: USER shift 3 ! 108: PASS shift 4 ! 109: QUIT shift 5 ! 110: PORT shift 6 ! 111: PASV shift 7 ! 112: TYPE shift 8 ! 113: STRU shift 9 ! 114: MODE shift 10 ! 115: RETR shift 11 ! 116: STOR shift 12 ! 117: APPE shift 13 ! 118: ALLO shift 14 ! 119: RNFR shift 15 ! 120: RNTO shift 16 ! 121: ABOR shift 17 ! 122: DELE shift 18 ! 123: CWD shift 19 ! 124: LIST shift 20 ! 125: NLST shift 21 ! 126: SITE shift 22 ! 127: STAT shift 23 ! 128: HELP shift 24 ! 129: NOOP shift 25 ! 130: MKD shift 26 ! 131: RMD shift 27 ! 132: PWD shift 28 ! 133: CDUP shift 29 ! 134: STOU shift 30 ! 135: SYST shift 31 ! 136: SIZE shift 32 ! 137: MDTM shift 33 ! 138: . error ! 139: ! 140: cmd goto 34 ! 141: rcmd goto 35 ! 142: ! 143: ! 144: state 2 ! 145: cmd : error . CRLF (46) ! 146: ! 147: CRLF shift 36 ! 148: . error ! 149: ! 150: ! 151: state 3 ! 152: cmd : USER . SP username CRLF (4) ! 153: ! 154: SP shift 37 ! 155: . error ! 156: ! 157: ! 158: state 4 ! 159: cmd : PASS . SP password CRLF (5) ! 160: ! 161: SP shift 38 ! 162: . error ! 163: ! 164: ! 165: state 5 ! 166: cmd : QUIT . CRLF (45) ! 167: ! 168: CRLF shift 39 ! 169: . error ! 170: ! 171: ! 172: state 6 ! 173: cmd : PORT . SP host_port CRLF (6) ! 174: ! 175: SP shift 40 ! 176: . error ! 177: ! 178: ! 179: state 7 ! 180: cmd : PASV . CRLF (7) ! 181: ! 182: CRLF shift 41 ! 183: . error ! 184: ! 185: ! 186: state 8 ! 187: cmd : TYPE . SP type_code CRLF (8) ! 188: ! 189: SP shift 42 ! 190: . error ! 191: ! 192: ! 193: state 9 ! 194: cmd : STRU . SP struct_code CRLF (9) ! 195: ! 196: SP shift 43 ! 197: . error ! 198: ! 199: ! 200: state 10 ! 201: cmd : MODE . SP mode_code CRLF (10) ! 202: ! 203: SP shift 44 ! 204: . error ! 205: ! 206: ! 207: state 11 ! 208: cmd : RETR . check_login SP pathname CRLF (13) ! 209: check_login : . (73) ! 210: ! 211: . reduce 73 ! 212: ! 213: check_login goto 45 ! 214: ! 215: ! 216: state 12 ! 217: cmd : STOR . check_login SP pathname CRLF (14) ! 218: check_login : . (73) ! 219: ! 220: . reduce 73 ! 221: ! 222: check_login goto 46 ! 223: ! 224: ! 225: state 13 ! 226: cmd : APPE . check_login SP pathname CRLF (15) ! 227: check_login : . (73) ! 228: ! 229: . reduce 73 ! 230: ! 231: check_login goto 47 ! 232: ! 233: ! 234: state 14 ! 235: cmd : ALLO . SP NUMBER CRLF (11) ! 236: cmd : ALLO . SP NUMBER SP R SP NUMBER CRLF (12) ! 237: ! 238: SP shift 48 ! 239: . error ! 240: ! 241: ! 242: state 15 ! 243: rcmd : RNFR . check_login SP pathname CRLF (47) ! 244: check_login : . (73) ! 245: ! 246: . reduce 73 ! 247: ! 248: check_login goto 49 ! 249: ! 250: ! 251: state 16 ! 252: cmd : RNTO . SP pathname CRLF (23) ! 253: ! 254: SP shift 50 ! 255: . error ! 256: ! 257: ! 258: state 17 ! 259: cmd : ABOR . CRLF (24) ! 260: ! 261: CRLF shift 51 ! 262: . error ! 263: ! 264: ! 265: state 18 ! 266: cmd : DELE . check_login SP pathname CRLF (22) ! 267: check_login : . (73) ! 268: ! 269: . reduce 73 ! 270: ! 271: check_login goto 52 ! 272: ! 273: ! 274: state 19 ! 275: cmd : CWD . check_login CRLF (25) ! 276: cmd : CWD . check_login SP pathname CRLF (26) ! 277: check_login : . (73) ! 278: ! 279: . reduce 73 ! 280: ! 281: check_login goto 53 ! 282: ! 283: ! 284: state 20 ! 285: cmd : LIST . check_login CRLF (18) ! 286: cmd : LIST . check_login SP pathname CRLF (19) ! 287: check_login : . (73) ! 288: ! 289: . reduce 73 ! 290: ! 291: check_login goto 54 ! 292: ! 293: ! 294: state 21 ! 295: cmd : NLST . check_login CRLF (16) ! 296: cmd : NLST . check_login SP STRING CRLF (17) ! 297: check_login : . (73) ! 298: ! 299: . reduce 73 ! 300: ! 301: check_login goto 55 ! 302: ! 303: ! 304: state 22 ! 305: cmd : SITE . SP HELP CRLF (34) ! 306: cmd : SITE . SP HELP SP STRING CRLF (35) ! 307: cmd : SITE . SP UMASK check_login CRLF (36) ! 308: cmd : SITE . SP UMASK check_login SP octal_number CRLF (37) ! 309: cmd : SITE . SP CHMOD check_login SP octal_number SP pathname CRLF (38) ! 310: cmd : SITE . SP IDLE CRLF (39) ! 311: cmd : SITE . SP IDLE SP NUMBER CRLF (40) ! 312: ! 313: SP shift 56 ! 314: . error ! 315: ! 316: ! 317: state 23 ! 318: cmd : STAT . check_login SP pathname CRLF (20) ! 319: cmd : STAT . CRLF (21) ! 320: check_login : . (73) ! 321: ! 322: CRLF shift 57 ! 323: SP reduce 73 ! 324: ! 325: check_login goto 58 ! 326: ! 327: ! 328: state 24 ! 329: cmd : HELP . CRLF (27) ! 330: cmd : HELP . SP STRING CRLF (28) ! 331: ! 332: SP shift 59 ! 333: CRLF shift 60 ! 334: . error ! 335: ! 336: ! 337: state 25 ! 338: cmd : NOOP . CRLF (29) ! 339: ! 340: CRLF shift 61 ! 341: . error ! 342: ! 343: ! 344: state 26 ! 345: cmd : MKD . check_login SP pathname CRLF (30) ! 346: check_login : . (73) ! 347: ! 348: . reduce 73 ! 349: ! 350: check_login goto 62 ! 351: ! 352: ! 353: state 27 ! 354: cmd : RMD . check_login SP pathname CRLF (31) ! 355: check_login : . (73) ! 356: ! 357: . reduce 73 ! 358: ! 359: check_login goto 63 ! 360: ! 361: ! 362: state 28 ! 363: cmd : PWD . check_login CRLF (32) ! 364: check_login : . (73) ! 365: ! 366: . reduce 73 ! 367: ! 368: check_login goto 64 ! 369: ! 370: ! 371: state 29 ! 372: cmd : CDUP . check_login CRLF (33) ! 373: check_login : . (73) ! 374: ! 375: . reduce 73 ! 376: ! 377: check_login goto 65 ! 378: ! 379: ! 380: state 30 ! 381: cmd : STOU . check_login SP pathname CRLF (41) ! 382: check_login : . (73) ! 383: ! 384: . reduce 73 ! 385: ! 386: check_login goto 66 ! 387: ! 388: ! 389: state 31 ! 390: cmd : SYST . CRLF (42) ! 391: ! 392: CRLF shift 67 ! 393: . error ! 394: ! 395: ! 396: state 32 ! 397: cmd : SIZE . check_login SP pathname CRLF (43) ! 398: check_login : . (73) ! 399: ! 400: . reduce 73 ! 401: ! 402: check_login goto 68 ! 403: ! 404: ! 405: state 33 ! 406: cmd : MDTM . check_login SP pathname CRLF (44) ! 407: check_login : . (73) ! 408: ! 409: . reduce 73 ! 410: ! 411: check_login goto 69 ! 412: ! 413: ! 414: state 34 ! 415: cmd_list : cmd_list cmd . (2) ! 416: ! 417: . reduce 2 ! 418: ! 419: ! 420: state 35 ! 421: cmd_list : cmd_list rcmd . (3) ! 422: ! 423: . reduce 3 ! 424: ! 425: ! 426: state 36 ! 427: cmd : error CRLF . (46) ! 428: ! 429: . reduce 46 ! 430: ! 431: ! 432: state 37 ! 433: cmd : USER SP . username CRLF (4) ! 434: ! 435: STRING shift 70 ! 436: . error ! 437: ! 438: username goto 71 ! 439: ! 440: ! 441: state 38 ! 442: cmd : PASS SP . password CRLF (5) ! 443: password : . (49) ! 444: ! 445: STRING shift 72 ! 446: CRLF reduce 49 ! 447: ! 448: password goto 73 ! 449: ! 450: ! 451: state 39 ! 452: cmd : QUIT CRLF . (45) ! 453: ! 454: . reduce 45 ! 455: ! 456: ! 457: state 40 ! 458: cmd : PORT SP . host_port CRLF (6) ! 459: ! 460: NUMBER shift 74 ! 461: . error ! 462: ! 463: host_port goto 75 ! 464: ! 465: ! 466: state 41 ! 467: cmd : PASV CRLF . (7) ! 468: ! 469: . reduce 7 ! 470: ! 471: ! 472: state 42 ! 473: cmd : TYPE SP . type_code CRLF (8) ! 474: ! 475: A shift 76 ! 476: E shift 77 ! 477: I shift 78 ! 478: L shift 79 ! 479: . error ! 480: ! 481: type_code goto 80 ! 482: ! 483: ! 484: state 43 ! 485: cmd : STRU SP . struct_code CRLF (9) ! 486: ! 487: F shift 81 ! 488: P shift 82 ! 489: R shift 83 ! 490: . error ! 491: ! 492: struct_code goto 84 ! 493: ! 494: ! 495: state 44 ! 496: cmd : MODE SP . mode_code CRLF (10) ! 497: ! 498: B shift 85 ! 499: C shift 86 ! 500: S shift 87 ! 501: . error ! 502: ! 503: mode_code goto 88 ! 504: ! 505: ! 506: state 45 ! 507: cmd : RETR check_login . SP pathname CRLF (13) ! 508: ! 509: SP shift 89 ! 510: . error ! 511: ! 512: ! 513: state 46 ! 514: cmd : STOR check_login . SP pathname CRLF (14) ! 515: ! 516: SP shift 90 ! 517: . error ! 518: ! 519: ! 520: state 47 ! 521: cmd : APPE check_login . SP pathname CRLF (15) ! 522: ! 523: SP shift 91 ! 524: . error ! 525: ! 526: ! 527: state 48 ! 528: cmd : ALLO SP . NUMBER CRLF (11) ! 529: cmd : ALLO SP . NUMBER SP R SP NUMBER CRLF (12) ! 530: ! 531: NUMBER shift 92 ! 532: . error ! 533: ! 534: ! 535: state 49 ! 536: rcmd : RNFR check_login . SP pathname CRLF (47) ! 537: ! 538: SP shift 93 ! 539: . error ! 540: ! 541: ! 542: state 50 ! 543: cmd : RNTO SP . pathname CRLF (23) ! 544: ! 545: STRING shift 94 ! 546: . error ! 547: ! 548: pathname goto 95 ! 549: pathstring goto 96 ! 550: ! 551: ! 552: state 51 ! 553: cmd : ABOR CRLF . (24) ! 554: ! 555: . reduce 24 ! 556: ! 557: ! 558: state 52 ! 559: cmd : DELE check_login . SP pathname CRLF (22) ! 560: ! 561: SP shift 97 ! 562: . error ! 563: ! 564: ! 565: state 53 ! 566: cmd : CWD check_login . CRLF (25) ! 567: cmd : CWD check_login . SP pathname CRLF (26) ! 568: ! 569: SP shift 98 ! 570: CRLF shift 99 ! 571: . error ! 572: ! 573: ! 574: state 54 ! 575: cmd : LIST check_login . CRLF (18) ! 576: cmd : LIST check_login . SP pathname CRLF (19) ! 577: ! 578: SP shift 100 ! 579: CRLF shift 101 ! 580: . error ! 581: ! 582: ! 583: state 55 ! 584: cmd : NLST check_login . CRLF (16) ! 585: cmd : NLST check_login . SP STRING CRLF (17) ! 586: ! 587: SP shift 102 ! 588: CRLF shift 103 ! 589: . error ! 590: ! 591: ! 592: state 56 ! 593: cmd : SITE SP . HELP CRLF (34) ! 594: cmd : SITE SP . HELP SP STRING CRLF (35) ! 595: cmd : SITE SP . UMASK check_login CRLF (36) ! 596: cmd : SITE SP . UMASK check_login SP octal_number CRLF (37) ! 597: cmd : SITE SP . CHMOD check_login SP octal_number SP pathname CRLF (38) ! 598: cmd : SITE SP . IDLE CRLF (39) ! 599: cmd : SITE SP . IDLE SP NUMBER CRLF (40) ! 600: ! 601: HELP shift 104 ! 602: UMASK shift 105 ! 603: IDLE shift 106 ! 604: CHMOD shift 107 ! 605: . error ! 606: ! 607: ! 608: state 57 ! 609: cmd : STAT CRLF . (21) ! 610: ! 611: . reduce 21 ! 612: ! 613: ! 614: state 58 ! 615: cmd : STAT check_login . SP pathname CRLF (20) ! 616: ! 617: SP shift 108 ! 618: . error ! 619: ! 620: ! 621: state 59 ! 622: cmd : HELP SP . STRING CRLF (28) ! 623: ! 624: STRING shift 109 ! 625: . error ! 626: ! 627: ! 628: state 60 ! 629: cmd : HELP CRLF . (27) ! 630: ! 631: . reduce 27 ! 632: ! 633: ! 634: state 61 ! 635: cmd : NOOP CRLF . (29) ! 636: ! 637: . reduce 29 ! 638: ! 639: ! 640: state 62 ! 641: cmd : MKD check_login . SP pathname CRLF (30) ! 642: ! 643: SP shift 110 ! 644: . error ! 645: ! 646: ! 647: state 63 ! 648: cmd : RMD check_login . SP pathname CRLF (31) ! 649: ! 650: SP shift 111 ! 651: . error ! 652: ! 653: ! 654: state 64 ! 655: cmd : PWD check_login . CRLF (32) ! 656: ! 657: CRLF shift 112 ! 658: . error ! 659: ! 660: ! 661: state 65 ! 662: cmd : CDUP check_login . CRLF (33) ! 663: ! 664: CRLF shift 113 ! 665: . error ! 666: ! 667: ! 668: state 66 ! 669: cmd : STOU check_login . SP pathname CRLF (41) ! 670: ! 671: SP shift 114 ! 672: . error ! 673: ! 674: ! 675: state 67 ! 676: cmd : SYST CRLF . (42) ! 677: ! 678: . reduce 42 ! 679: ! 680: ! 681: state 68 ! 682: cmd : SIZE check_login . SP pathname CRLF (43) ! 683: ! 684: SP shift 115 ! 685: . error ! 686: ! 687: ! 688: state 69 ! 689: cmd : MDTM check_login . SP pathname CRLF (44) ! 690: ! 691: SP shift 116 ! 692: . error ! 693: ! 694: ! 695: state 70 ! 696: username : STRING . (48) ! 697: ! 698: . reduce 48 ! 699: ! 700: ! 701: state 71 ! 702: cmd : USER SP username . CRLF (4) ! 703: ! 704: CRLF shift 117 ! 705: . error ! 706: ! 707: ! 708: state 72 ! 709: password : STRING . (50) ! 710: ! 711: . reduce 50 ! 712: ! 713: ! 714: state 73 ! 715: cmd : PASS SP password . CRLF (5) ! 716: ! 717: CRLF shift 118 ! 718: . error ! 719: ! 720: ! 721: state 74 ! 722: host_port : NUMBER . COMMA NUMBER COMMA NUMBER COMMA NUMBER COMMA NUMBER COMMA NUMBER (52) ! 723: ! 724: COMMA shift 119 ! 725: . error ! 726: ! 727: ! 728: state 75 ! 729: cmd : PORT SP host_port . CRLF (6) ! 730: ! 731: CRLF shift 120 ! 732: . error ! 733: ! 734: ! 735: state 76 ! 736: type_code : A . (56) ! 737: type_code : A . SP form_code (57) ! 738: ! 739: SP shift 121 ! 740: CRLF reduce 56 ! 741: ! 742: ! 743: state 77 ! 744: type_code : E . (58) ! 745: type_code : E . SP form_code (59) ! 746: ! 747: SP shift 122 ! 748: CRLF reduce 58 ! 749: ! 750: ! 751: state 78 ! 752: type_code : I . (60) ! 753: ! 754: . reduce 60 ! 755: ! 756: ! 757: state 79 ! 758: type_code : L . (61) ! 759: type_code : L . SP byte_size (62) ! 760: type_code : L . byte_size (63) ! 761: ! 762: SP shift 123 ! 763: NUMBER shift 124 ! 764: CRLF reduce 61 ! 765: ! 766: byte_size goto 125 ! 767: ! 768: ! 769: state 80 ! 770: cmd : TYPE SP type_code . CRLF (8) ! 771: ! 772: CRLF shift 126 ! 773: . error ! 774: ! 775: ! 776: state 81 ! 777: struct_code : F . (64) ! 778: ! 779: . reduce 64 ! 780: ! 781: ! 782: state 82 ! 783: struct_code : P . (66) ! 784: ! 785: . reduce 66 ! 786: ! 787: ! 788: state 83 ! 789: struct_code : R . (65) ! 790: ! 791: . reduce 65 ! 792: ! 793: ! 794: state 84 ! 795: cmd : STRU SP struct_code . CRLF (9) ! 796: ! 797: CRLF shift 127 ! 798: . error ! 799: ! 800: ! 801: state 85 ! 802: mode_code : B . (68) ! 803: ! 804: . reduce 68 ! 805: ! 806: ! 807: state 86 ! 808: mode_code : C . (69) ! 809: ! 810: . reduce 69 ! 811: ! 812: ! 813: state 87 ! 814: mode_code : S . (67) ! 815: ! 816: . reduce 67 ! 817: ! 818: ! 819: state 88 ! 820: cmd : MODE SP mode_code . CRLF (10) ! 821: ! 822: CRLF shift 128 ! 823: . error ! 824: ! 825: ! 826: state 89 ! 827: cmd : RETR check_login SP . pathname CRLF (13) ! 828: ! 829: STRING shift 94 ! 830: . error ! 831: ! 832: pathname goto 129 ! 833: pathstring goto 96 ! 834: ! 835: ! 836: state 90 ! 837: cmd : STOR check_login SP . pathname CRLF (14) ! 838: ! 839: STRING shift 94 ! 840: . error ! 841: ! 842: pathname goto 130 ! 843: pathstring goto 96 ! 844: ! 845: ! 846: state 91 ! 847: cmd : APPE check_login SP . pathname CRLF (15) ! 848: ! 849: STRING shift 94 ! 850: . error ! 851: ! 852: pathname goto 131 ! 853: pathstring goto 96 ! 854: ! 855: ! 856: state 92 ! 857: cmd : ALLO SP NUMBER . CRLF (11) ! 858: cmd : ALLO SP NUMBER . SP R SP NUMBER CRLF (12) ! 859: ! 860: SP shift 132 ! 861: CRLF shift 133 ! 862: . error ! 863: ! 864: ! 865: state 93 ! 866: rcmd : RNFR check_login SP . pathname CRLF (47) ! 867: ! 868: STRING shift 94 ! 869: . error ! 870: ! 871: pathname goto 134 ! 872: pathstring goto 96 ! 873: ! 874: ! 875: state 94 ! 876: pathstring : STRING . (71) ! 877: ! 878: . reduce 71 ! 879: ! 880: ! 881: state 95 ! 882: cmd : RNTO SP pathname . CRLF (23) ! 883: ! 884: CRLF shift 135 ! 885: . error ! 886: ! 887: ! 888: state 96 ! 889: pathname : pathstring . (70) ! 890: ! 891: . reduce 70 ! 892: ! 893: ! 894: state 97 ! 895: cmd : DELE check_login SP . pathname CRLF (22) ! 896: ! 897: STRING shift 94 ! 898: . error ! 899: ! 900: pathname goto 136 ! 901: pathstring goto 96 ! 902: ! 903: ! 904: state 98 ! 905: cmd : CWD check_login SP . pathname CRLF (26) ! 906: ! 907: STRING shift 94 ! 908: . error ! 909: ! 910: pathname goto 137 ! 911: pathstring goto 96 ! 912: ! 913: ! 914: state 99 ! 915: cmd : CWD check_login CRLF . (25) ! 916: ! 917: . reduce 25 ! 918: ! 919: ! 920: state 100 ! 921: cmd : LIST check_login SP . pathname CRLF (19) ! 922: ! 923: STRING shift 94 ! 924: . error ! 925: ! 926: pathname goto 138 ! 927: pathstring goto 96 ! 928: ! 929: ! 930: state 101 ! 931: cmd : LIST check_login CRLF . (18) ! 932: ! 933: . reduce 18 ! 934: ! 935: ! 936: state 102 ! 937: cmd : NLST check_login SP . STRING CRLF (17) ! 938: ! 939: STRING shift 139 ! 940: . error ! 941: ! 942: ! 943: state 103 ! 944: cmd : NLST check_login CRLF . (16) ! 945: ! 946: . reduce 16 ! 947: ! 948: ! 949: state 104 ! 950: cmd : SITE SP HELP . CRLF (34) ! 951: cmd : SITE SP HELP . SP STRING CRLF (35) ! 952: ! 953: SP shift 140 ! 954: CRLF shift 141 ! 955: . error ! 956: ! 957: ! 958: state 105 ! 959: cmd : SITE SP UMASK . check_login CRLF (36) ! 960: cmd : SITE SP UMASK . check_login SP octal_number CRLF (37) ! 961: check_login : . (73) ! 962: ! 963: . reduce 73 ! 964: ! 965: check_login goto 142 ! 966: ! 967: ! 968: state 106 ! 969: cmd : SITE SP IDLE . CRLF (39) ! 970: cmd : SITE SP IDLE . SP NUMBER CRLF (40) ! 971: ! 972: SP shift 143 ! 973: CRLF shift 144 ! 974: . error ! 975: ! 976: ! 977: state 107 ! 978: cmd : SITE SP CHMOD . check_login SP octal_number SP pathname CRLF (38) ! 979: check_login : . (73) ! 980: ! 981: . reduce 73 ! 982: ! 983: check_login goto 145 ! 984: ! 985: ! 986: state 108 ! 987: cmd : STAT check_login SP . pathname CRLF (20) ! 988: ! 989: STRING shift 94 ! 990: . error ! 991: ! 992: pathname goto 146 ! 993: pathstring goto 96 ! 994: ! 995: ! 996: state 109 ! 997: cmd : HELP SP STRING . CRLF (28) ! 998: ! 999: CRLF shift 147 ! 1000: . error ! 1001: ! 1002: ! 1003: state 110 ! 1004: cmd : MKD check_login SP . pathname CRLF (30) ! 1005: ! 1006: STRING shift 94 ! 1007: . error ! 1008: ! 1009: pathname goto 148 ! 1010: pathstring goto 96 ! 1011: ! 1012: ! 1013: state 111 ! 1014: cmd : RMD check_login SP . pathname CRLF (31) ! 1015: ! 1016: STRING shift 94 ! 1017: . error ! 1018: ! 1019: pathname goto 149 ! 1020: pathstring goto 96 ! 1021: ! 1022: ! 1023: state 112 ! 1024: cmd : PWD check_login CRLF . (32) ! 1025: ! 1026: . reduce 32 ! 1027: ! 1028: ! 1029: state 113 ! 1030: cmd : CDUP check_login CRLF . (33) ! 1031: ! 1032: . reduce 33 ! 1033: ! 1034: ! 1035: state 114 ! 1036: cmd : STOU check_login SP . pathname CRLF (41) ! 1037: ! 1038: STRING shift 94 ! 1039: . error ! 1040: ! 1041: pathname goto 150 ! 1042: pathstring goto 96 ! 1043: ! 1044: ! 1045: state 115 ! 1046: cmd : SIZE check_login SP . pathname CRLF (43) ! 1047: ! 1048: STRING shift 94 ! 1049: . error ! 1050: ! 1051: pathname goto 151 ! 1052: pathstring goto 96 ! 1053: ! 1054: ! 1055: state 116 ! 1056: cmd : MDTM check_login SP . pathname CRLF (44) ! 1057: ! 1058: STRING shift 94 ! 1059: . error ! 1060: ! 1061: pathname goto 152 ! 1062: pathstring goto 96 ! 1063: ! 1064: ! 1065: state 117 ! 1066: cmd : USER SP username CRLF . (4) ! 1067: ! 1068: . reduce 4 ! 1069: ! 1070: ! 1071: state 118 ! 1072: cmd : PASS SP password CRLF . (5) ! 1073: ! 1074: . reduce 5 ! 1075: ! 1076: ! 1077: state 119 ! 1078: host_port : NUMBER COMMA . NUMBER COMMA NUMBER COMMA NUMBER COMMA NUMBER COMMA NUMBER (52) ! 1079: ! 1080: NUMBER shift 153 ! 1081: . error ! 1082: ! 1083: ! 1084: state 120 ! 1085: cmd : PORT SP host_port CRLF . (6) ! 1086: ! 1087: . reduce 6 ! 1088: ! 1089: ! 1090: state 121 ! 1091: type_code : A SP . form_code (57) ! 1092: ! 1093: C shift 154 ! 1094: N shift 155 ! 1095: T shift 156 ! 1096: . error ! 1097: ! 1098: form_code goto 157 ! 1099: ! 1100: ! 1101: state 122 ! 1102: type_code : E SP . form_code (59) ! 1103: ! 1104: C shift 154 ! 1105: N shift 155 ! 1106: T shift 156 ! 1107: . error ! 1108: ! 1109: form_code goto 158 ! 1110: ! 1111: ! 1112: state 123 ! 1113: type_code : L SP . byte_size (62) ! 1114: ! 1115: NUMBER shift 124 ! 1116: . error ! 1117: ! 1118: byte_size goto 159 ! 1119: ! 1120: ! 1121: state 124 ! 1122: byte_size : NUMBER . (51) ! 1123: ! 1124: . reduce 51 ! 1125: ! 1126: ! 1127: state 125 ! 1128: type_code : L byte_size . (63) ! 1129: ! 1130: . reduce 63 ! 1131: ! 1132: ! 1133: state 126 ! 1134: cmd : TYPE SP type_code CRLF . (8) ! 1135: ! 1136: . reduce 8 ! 1137: ! 1138: ! 1139: state 127 ! 1140: cmd : STRU SP struct_code CRLF . (9) ! 1141: ! 1142: . reduce 9 ! 1143: ! 1144: ! 1145: state 128 ! 1146: cmd : MODE SP mode_code CRLF . (10) ! 1147: ! 1148: . reduce 10 ! 1149: ! 1150: ! 1151: state 129 ! 1152: cmd : RETR check_login SP pathname . CRLF (13) ! 1153: ! 1154: CRLF shift 160 ! 1155: . error ! 1156: ! 1157: ! 1158: state 130 ! 1159: cmd : STOR check_login SP pathname . CRLF (14) ! 1160: ! 1161: CRLF shift 161 ! 1162: . error ! 1163: ! 1164: ! 1165: state 131 ! 1166: cmd : APPE check_login SP pathname . CRLF (15) ! 1167: ! 1168: CRLF shift 162 ! 1169: . error ! 1170: ! 1171: ! 1172: state 132 ! 1173: cmd : ALLO SP NUMBER SP . R SP NUMBER CRLF (12) ! 1174: ! 1175: R shift 163 ! 1176: . error ! 1177: ! 1178: ! 1179: state 133 ! 1180: cmd : ALLO SP NUMBER CRLF . (11) ! 1181: ! 1182: . reduce 11 ! 1183: ! 1184: ! 1185: state 134 ! 1186: rcmd : RNFR check_login SP pathname . CRLF (47) ! 1187: ! 1188: CRLF shift 164 ! 1189: . error ! 1190: ! 1191: ! 1192: state 135 ! 1193: cmd : RNTO SP pathname CRLF . (23) ! 1194: ! 1195: . reduce 23 ! 1196: ! 1197: ! 1198: state 136 ! 1199: cmd : DELE check_login SP pathname . CRLF (22) ! 1200: ! 1201: CRLF shift 165 ! 1202: . error ! 1203: ! 1204: ! 1205: state 137 ! 1206: cmd : CWD check_login SP pathname . CRLF (26) ! 1207: ! 1208: CRLF shift 166 ! 1209: . error ! 1210: ! 1211: ! 1212: state 138 ! 1213: cmd : LIST check_login SP pathname . CRLF (19) ! 1214: ! 1215: CRLF shift 167 ! 1216: . error ! 1217: ! 1218: ! 1219: state 139 ! 1220: cmd : NLST check_login SP STRING . CRLF (17) ! 1221: ! 1222: CRLF shift 168 ! 1223: . error ! 1224: ! 1225: ! 1226: state 140 ! 1227: cmd : SITE SP HELP SP . STRING CRLF (35) ! 1228: ! 1229: STRING shift 169 ! 1230: . error ! 1231: ! 1232: ! 1233: state 141 ! 1234: cmd : SITE SP HELP CRLF . (34) ! 1235: ! 1236: . reduce 34 ! 1237: ! 1238: ! 1239: state 142 ! 1240: cmd : SITE SP UMASK check_login . CRLF (36) ! 1241: cmd : SITE SP UMASK check_login . SP octal_number CRLF (37) ! 1242: ! 1243: SP shift 170 ! 1244: CRLF shift 171 ! 1245: . error ! 1246: ! 1247: ! 1248: state 143 ! 1249: cmd : SITE SP IDLE SP . NUMBER CRLF (40) ! 1250: ! 1251: NUMBER shift 172 ! 1252: . error ! 1253: ! 1254: ! 1255: state 144 ! 1256: cmd : SITE SP IDLE CRLF . (39) ! 1257: ! 1258: . reduce 39 ! 1259: ! 1260: ! 1261: state 145 ! 1262: cmd : SITE SP CHMOD check_login . SP octal_number SP pathname CRLF (38) ! 1263: ! 1264: SP shift 173 ! 1265: . error ! 1266: ! 1267: ! 1268: state 146 ! 1269: cmd : STAT check_login SP pathname . CRLF (20) ! 1270: ! 1271: CRLF shift 174 ! 1272: . error ! 1273: ! 1274: ! 1275: state 147 ! 1276: cmd : HELP SP STRING CRLF . (28) ! 1277: ! 1278: . reduce 28 ! 1279: ! 1280: ! 1281: state 148 ! 1282: cmd : MKD check_login SP pathname . CRLF (30) ! 1283: ! 1284: CRLF shift 175 ! 1285: . error ! 1286: ! 1287: ! 1288: state 149 ! 1289: cmd : RMD check_login SP pathname . CRLF (31) ! 1290: ! 1291: CRLF shift 176 ! 1292: . error ! 1293: ! 1294: ! 1295: state 150 ! 1296: cmd : STOU check_login SP pathname . CRLF (41) ! 1297: ! 1298: CRLF shift 177 ! 1299: . error ! 1300: ! 1301: ! 1302: state 151 ! 1303: cmd : SIZE check_login SP pathname . CRLF (43) ! 1304: ! 1305: CRLF shift 178 ! 1306: . error ! 1307: ! 1308: ! 1309: state 152 ! 1310: cmd : MDTM check_login SP pathname . CRLF (44) ! 1311: ! 1312: CRLF shift 179 ! 1313: . error ! 1314: ! 1315: ! 1316: state 153 ! 1317: host_port : NUMBER COMMA NUMBER . COMMA NUMBER COMMA NUMBER COMMA NUMBER COMMA NUMBER (52) ! 1318: ! 1319: COMMA shift 180 ! 1320: . error ! 1321: ! 1322: ! 1323: state 154 ! 1324: form_code : C . (55) ! 1325: ! 1326: . reduce 55 ! 1327: ! 1328: ! 1329: state 155 ! 1330: form_code : N . (53) ! 1331: ! 1332: . reduce 53 ! 1333: ! 1334: ! 1335: state 156 ! 1336: form_code : T . (54) ! 1337: ! 1338: . reduce 54 ! 1339: ! 1340: ! 1341: state 157 ! 1342: type_code : A SP form_code . (57) ! 1343: ! 1344: . reduce 57 ! 1345: ! 1346: ! 1347: state 158 ! 1348: type_code : E SP form_code . (59) ! 1349: ! 1350: . reduce 59 ! 1351: ! 1352: ! 1353: state 159 ! 1354: type_code : L SP byte_size . (62) ! 1355: ! 1356: . reduce 62 ! 1357: ! 1358: ! 1359: state 160 ! 1360: cmd : RETR check_login SP pathname CRLF . (13) ! 1361: ! 1362: . reduce 13 ! 1363: ! 1364: ! 1365: state 161 ! 1366: cmd : STOR check_login SP pathname CRLF . (14) ! 1367: ! 1368: . reduce 14 ! 1369: ! 1370: ! 1371: state 162 ! 1372: cmd : APPE check_login SP pathname CRLF . (15) ! 1373: ! 1374: . reduce 15 ! 1375: ! 1376: ! 1377: state 163 ! 1378: cmd : ALLO SP NUMBER SP R . SP NUMBER CRLF (12) ! 1379: ! 1380: SP shift 181 ! 1381: . error ! 1382: ! 1383: ! 1384: state 164 ! 1385: rcmd : RNFR check_login SP pathname CRLF . (47) ! 1386: ! 1387: . reduce 47 ! 1388: ! 1389: ! 1390: state 165 ! 1391: cmd : DELE check_login SP pathname CRLF . (22) ! 1392: ! 1393: . reduce 22 ! 1394: ! 1395: ! 1396: state 166 ! 1397: cmd : CWD check_login SP pathname CRLF . (26) ! 1398: ! 1399: . reduce 26 ! 1400: ! 1401: ! 1402: state 167 ! 1403: cmd : LIST check_login SP pathname CRLF . (19) ! 1404: ! 1405: . reduce 19 ! 1406: ! 1407: ! 1408: state 168 ! 1409: cmd : NLST check_login SP STRING CRLF . (17) ! 1410: ! 1411: . reduce 17 ! 1412: ! 1413: ! 1414: state 169 ! 1415: cmd : SITE SP HELP SP STRING . CRLF (35) ! 1416: ! 1417: CRLF shift 182 ! 1418: . error ! 1419: ! 1420: ! 1421: state 170 ! 1422: cmd : SITE SP UMASK check_login SP . octal_number CRLF (37) ! 1423: ! 1424: NUMBER shift 183 ! 1425: . error ! 1426: ! 1427: octal_number goto 184 ! 1428: ! 1429: ! 1430: state 171 ! 1431: cmd : SITE SP UMASK check_login CRLF . (36) ! 1432: ! 1433: . reduce 36 ! 1434: ! 1435: ! 1436: state 172 ! 1437: cmd : SITE SP IDLE SP NUMBER . CRLF (40) ! 1438: ! 1439: CRLF shift 185 ! 1440: . error ! 1441: ! 1442: ! 1443: state 173 ! 1444: cmd : SITE SP CHMOD check_login SP . octal_number SP pathname CRLF (38) ! 1445: ! 1446: NUMBER shift 183 ! 1447: . error ! 1448: ! 1449: octal_number goto 186 ! 1450: ! 1451: ! 1452: state 174 ! 1453: cmd : STAT check_login SP pathname CRLF . (20) ! 1454: ! 1455: . reduce 20 ! 1456: ! 1457: ! 1458: state 175 ! 1459: cmd : MKD check_login SP pathname CRLF . (30) ! 1460: ! 1461: . reduce 30 ! 1462: ! 1463: ! 1464: state 176 ! 1465: cmd : RMD check_login SP pathname CRLF . (31) ! 1466: ! 1467: . reduce 31 ! 1468: ! 1469: ! 1470: state 177 ! 1471: cmd : STOU check_login SP pathname CRLF . (41) ! 1472: ! 1473: . reduce 41 ! 1474: ! 1475: ! 1476: state 178 ! 1477: cmd : SIZE check_login SP pathname CRLF . (43) ! 1478: ! 1479: . reduce 43 ! 1480: ! 1481: ! 1482: state 179 ! 1483: cmd : MDTM check_login SP pathname CRLF . (44) ! 1484: ! 1485: . reduce 44 ! 1486: ! 1487: ! 1488: state 180 ! 1489: host_port : NUMBER COMMA NUMBER COMMA . NUMBER COMMA NUMBER COMMA NUMBER COMMA NUMBER (52) ! 1490: ! 1491: NUMBER shift 187 ! 1492: . error ! 1493: ! 1494: ! 1495: state 181 ! 1496: cmd : ALLO SP NUMBER SP R SP . NUMBER CRLF (12) ! 1497: ! 1498: NUMBER shift 188 ! 1499: . error ! 1500: ! 1501: ! 1502: state 182 ! 1503: cmd : SITE SP HELP SP STRING CRLF . (35) ! 1504: ! 1505: . reduce 35 ! 1506: ! 1507: ! 1508: state 183 ! 1509: octal_number : NUMBER . (72) ! 1510: ! 1511: . reduce 72 ! 1512: ! 1513: ! 1514: state 184 ! 1515: cmd : SITE SP UMASK check_login SP octal_number . CRLF (37) ! 1516: ! 1517: CRLF shift 189 ! 1518: . error ! 1519: ! 1520: ! 1521: state 185 ! 1522: cmd : SITE SP IDLE SP NUMBER CRLF . (40) ! 1523: ! 1524: . reduce 40 ! 1525: ! 1526: ! 1527: state 186 ! 1528: cmd : SITE SP CHMOD check_login SP octal_number . SP pathname CRLF (38) ! 1529: ! 1530: SP shift 190 ! 1531: . error ! 1532: ! 1533: ! 1534: state 187 ! 1535: host_port : NUMBER COMMA NUMBER COMMA NUMBER . COMMA NUMBER COMMA NUMBER COMMA NUMBER (52) ! 1536: ! 1537: COMMA shift 191 ! 1538: . error ! 1539: ! 1540: ! 1541: state 188 ! 1542: cmd : ALLO SP NUMBER SP R SP NUMBER . CRLF (12) ! 1543: ! 1544: CRLF shift 192 ! 1545: . error ! 1546: ! 1547: ! 1548: state 189 ! 1549: cmd : SITE SP UMASK check_login SP octal_number CRLF . (37) ! 1550: ! 1551: . reduce 37 ! 1552: ! 1553: ! 1554: state 190 ! 1555: cmd : SITE SP CHMOD check_login SP octal_number SP . pathname CRLF (38) ! 1556: ! 1557: STRING shift 94 ! 1558: . error ! 1559: ! 1560: pathname goto 193 ! 1561: pathstring goto 96 ! 1562: ! 1563: ! 1564: state 191 ! 1565: host_port : NUMBER COMMA NUMBER COMMA NUMBER COMMA . NUMBER COMMA NUMBER COMMA NUMBER (52) ! 1566: ! 1567: NUMBER shift 194 ! 1568: . error ! 1569: ! 1570: ! 1571: state 192 ! 1572: cmd : ALLO SP NUMBER SP R SP NUMBER CRLF . (12) ! 1573: ! 1574: . reduce 12 ! 1575: ! 1576: ! 1577: state 193 ! 1578: cmd : SITE SP CHMOD check_login SP octal_number SP pathname . CRLF (38) ! 1579: ! 1580: CRLF shift 195 ! 1581: . error ! 1582: ! 1583: ! 1584: state 194 ! 1585: host_port : NUMBER COMMA NUMBER COMMA NUMBER COMMA NUMBER . COMMA NUMBER COMMA NUMBER (52) ! 1586: ! 1587: COMMA shift 196 ! 1588: . error ! 1589: ! 1590: ! 1591: state 195 ! 1592: cmd : SITE SP CHMOD check_login SP octal_number SP pathname CRLF . (38) ! 1593: ! 1594: . reduce 38 ! 1595: ! 1596: ! 1597: state 196 ! 1598: host_port : NUMBER COMMA NUMBER COMMA NUMBER COMMA NUMBER COMMA . NUMBER COMMA NUMBER (52) ! 1599: ! 1600: NUMBER shift 197 ! 1601: . error ! 1602: ! 1603: ! 1604: state 197 ! 1605: host_port : NUMBER COMMA NUMBER COMMA NUMBER COMMA NUMBER COMMA NUMBER . COMMA NUMBER (52) ! 1606: ! 1607: COMMA shift 198 ! 1608: . error ! 1609: ! 1610: ! 1611: state 198 ! 1612: host_port : NUMBER COMMA NUMBER COMMA NUMBER COMMA NUMBER COMMA NUMBER COMMA . NUMBER (52) ! 1613: ! 1614: NUMBER shift 199 ! 1615: . error ! 1616: ! 1617: ! 1618: state 199 ! 1619: host_port : NUMBER COMMA NUMBER COMMA NUMBER COMMA NUMBER COMMA NUMBER COMMA NUMBER . (52) ! 1620: ! 1621: . reduce 52 ! 1622: ! 1623: ! 1624: 65 terminals, 16 nonterminals ! 1625: 74 grammar rules, 200 states
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.