0 $accept : cmd_list $end 1 cmd_list : 2 | cmd_list cmd 3 | cmd_list rcmd 4 cmd : USER SP username CRLF 5 | PASS SP password CRLF 6 | PORT SP host_port CRLF 7 | PASV CRLF 8 | TYPE SP type_code CRLF 9 | STRU SP struct_code CRLF 10 | MODE SP mode_code CRLF 11 | ALLO SP NUMBER CRLF 12 | ALLO SP NUMBER SP R SP NUMBER CRLF 13 | RETR check_login SP pathname CRLF 14 | STOR check_login SP pathname CRLF 15 | APPE check_login SP pathname CRLF 16 | NLST check_login CRLF 17 | NLST check_login SP STRING CRLF 18 | LIST check_login CRLF 19 | LIST check_login SP pathname CRLF 20 | STAT check_login SP pathname CRLF 21 | STAT CRLF 22 | DELE check_login SP pathname CRLF 23 | RNTO SP pathname CRLF 24 | ABOR CRLF 25 | CWD check_login CRLF 26 | CWD check_login SP pathname CRLF 27 | HELP CRLF 28 | HELP SP STRING CRLF 29 | NOOP CRLF 30 | MKD check_login SP pathname CRLF 31 | RMD check_login SP pathname CRLF 32 | PWD check_login CRLF 33 | CDUP check_login CRLF 34 | SITE SP HELP CRLF 35 | SITE SP HELP SP STRING CRLF 36 | SITE SP UMASK check_login CRLF 37 | SITE SP UMASK check_login SP octal_number CRLF 38 | SITE SP CHMOD check_login SP octal_number SP pathname CRLF 39 | SITE SP IDLE CRLF 40 | SITE SP IDLE SP NUMBER CRLF 41 | STOU check_login SP pathname CRLF 42 | SYST CRLF 43 | SIZE check_login SP pathname CRLF 44 | MDTM check_login SP pathname CRLF 45 | QUIT CRLF 46 | error CRLF 47 rcmd : RNFR check_login SP pathname CRLF 48 username : STRING 49 password : 50 | STRING 51 byte_size : NUMBER 52 host_port : NUMBER COMMA NUMBER COMMA NUMBER COMMA NUMBER COMMA NUMBER COMMA NUMBER 53 form_code : N 54 | T 55 | C 56 type_code : A 57 | A SP form_code 58 | E 59 | E SP form_code 60 | I 61 | L 62 | L SP byte_size 63 | L byte_size 64 struct_code : F 65 | R 66 | P 67 mode_code : S 68 | B 69 | C 70 pathname : pathstring 71 pathstring : STRING 72 octal_number : NUMBER 73 check_login : state 0 $accept : . cmd_list $end (0) cmd_list : . (1) . reduce 1 cmd_list goto 1 state 1 $accept : cmd_list . $end (0) cmd_list : cmd_list . cmd (2) cmd_list : cmd_list . rcmd (3) $end accept error shift 2 USER shift 3 PASS shift 4 QUIT shift 5 PORT shift 6 PASV shift 7 TYPE shift 8 STRU shift 9 MODE shift 10 RETR shift 11 STOR shift 12 APPE shift 13 ALLO shift 14 RNFR shift 15 RNTO shift 16 ABOR shift 17 DELE shift 18 CWD shift 19 LIST shift 20 NLST shift 21 SITE shift 22 STAT shift 23 HELP shift 24 NOOP shift 25 MKD shift 26 RMD shift 27 PWD shift 28 CDUP shift 29 STOU shift 30 SYST shift 31 SIZE shift 32 MDTM shift 33 . error cmd goto 34 rcmd goto 35 state 2 cmd : error . CRLF (46) CRLF shift 36 . error state 3 cmd : USER . SP username CRLF (4) SP shift 37 . error state 4 cmd : PASS . SP password CRLF (5) SP shift 38 . error state 5 cmd : QUIT . CRLF (45) CRLF shift 39 . error state 6 cmd : PORT . SP host_port CRLF (6) SP shift 40 . error state 7 cmd : PASV . CRLF (7) CRLF shift 41 . error state 8 cmd : TYPE . SP type_code CRLF (8) SP shift 42 . error state 9 cmd : STRU . SP struct_code CRLF (9) SP shift 43 . error state 10 cmd : MODE . SP mode_code CRLF (10) SP shift 44 . error state 11 cmd : RETR . check_login SP pathname CRLF (13) check_login : . (73) . reduce 73 check_login goto 45 state 12 cmd : STOR . check_login SP pathname CRLF (14) check_login : . (73) . reduce 73 check_login goto 46 state 13 cmd : APPE . check_login SP pathname CRLF (15) check_login : . (73) . reduce 73 check_login goto 47 state 14 cmd : ALLO . SP NUMBER CRLF (11) cmd : ALLO . SP NUMBER SP R SP NUMBER CRLF (12) SP shift 48 . error state 15 rcmd : RNFR . check_login SP pathname CRLF (47) check_login : . (73) . reduce 73 check_login goto 49 state 16 cmd : RNTO . SP pathname CRLF (23) SP shift 50 . error state 17 cmd : ABOR . CRLF (24) CRLF shift 51 . error state 18 cmd : DELE . check_login SP pathname CRLF (22) check_login : . (73) . reduce 73 check_login goto 52 state 19 cmd : CWD . check_login CRLF (25) cmd : CWD . check_login SP pathname CRLF (26) check_login : . (73) . reduce 73 check_login goto 53 state 20 cmd : LIST . check_login CRLF (18) cmd : LIST . check_login SP pathname CRLF (19) check_login : . (73) . reduce 73 check_login goto 54 state 21 cmd : NLST . check_login CRLF (16) cmd : NLST . check_login SP STRING CRLF (17) check_login : . (73) . reduce 73 check_login goto 55 state 22 cmd : SITE . SP HELP CRLF (34) cmd : SITE . SP HELP SP STRING CRLF (35) cmd : SITE . SP UMASK check_login CRLF (36) cmd : SITE . SP UMASK check_login SP octal_number CRLF (37) cmd : SITE . SP CHMOD check_login SP octal_number SP pathname CRLF (38) cmd : SITE . SP IDLE CRLF (39) cmd : SITE . SP IDLE SP NUMBER CRLF (40) SP shift 56 . error state 23 cmd : STAT . check_login SP pathname CRLF (20) cmd : STAT . CRLF (21) check_login : . (73) CRLF shift 57 SP reduce 73 check_login goto 58 state 24 cmd : HELP . CRLF (27) cmd : HELP . SP STRING CRLF (28) SP shift 59 CRLF shift 60 . error state 25 cmd : NOOP . CRLF (29) CRLF shift 61 . error state 26 cmd : MKD . check_login SP pathname CRLF (30) check_login : . (73) . reduce 73 check_login goto 62 state 27 cmd : RMD . check_login SP pathname CRLF (31) check_login : . (73) . reduce 73 check_login goto 63 state 28 cmd : PWD . check_login CRLF (32) check_login : . (73) . reduce 73 check_login goto 64 state 29 cmd : CDUP . check_login CRLF (33) check_login : . (73) . reduce 73 check_login goto 65 state 30 cmd : STOU . check_login SP pathname CRLF (41) check_login : . (73) . reduce 73 check_login goto 66 state 31 cmd : SYST . CRLF (42) CRLF shift 67 . error state 32 cmd : SIZE . check_login SP pathname CRLF (43) check_login : . (73) . reduce 73 check_login goto 68 state 33 cmd : MDTM . check_login SP pathname CRLF (44) check_login : . (73) . reduce 73 check_login goto 69 state 34 cmd_list : cmd_list cmd . (2) . reduce 2 state 35 cmd_list : cmd_list rcmd . (3) . reduce 3 state 36 cmd : error CRLF . (46) . reduce 46 state 37 cmd : USER SP . username CRLF (4) STRING shift 70 . error username goto 71 state 38 cmd : PASS SP . password CRLF (5) password : . (49) STRING shift 72 CRLF reduce 49 password goto 73 state 39 cmd : QUIT CRLF . (45) . reduce 45 state 40 cmd : PORT SP . host_port CRLF (6) NUMBER shift 74 . error host_port goto 75 state 41 cmd : PASV CRLF . (7) . reduce 7 state 42 cmd : TYPE SP . type_code CRLF (8) A shift 76 E shift 77 I shift 78 L shift 79 . error type_code goto 80 state 43 cmd : STRU SP . struct_code CRLF (9) F shift 81 P shift 82 R shift 83 . error struct_code goto 84 state 44 cmd : MODE SP . mode_code CRLF (10) B shift 85 C shift 86 S shift 87 . error mode_code goto 88 state 45 cmd : RETR check_login . SP pathname CRLF (13) SP shift 89 . error state 46 cmd : STOR check_login . SP pathname CRLF (14) SP shift 90 . error state 47 cmd : APPE check_login . SP pathname CRLF (15) SP shift 91 . error state 48 cmd : ALLO SP . NUMBER CRLF (11) cmd : ALLO SP . NUMBER SP R SP NUMBER CRLF (12) NUMBER shift 92 . error state 49 rcmd : RNFR check_login . SP pathname CRLF (47) SP shift 93 . error state 50 cmd : RNTO SP . pathname CRLF (23) STRING shift 94 . error pathname goto 95 pathstring goto 96 state 51 cmd : ABOR CRLF . (24) . reduce 24 state 52 cmd : DELE check_login . SP pathname CRLF (22) SP shift 97 . error state 53 cmd : CWD check_login . CRLF (25) cmd : CWD check_login . SP pathname CRLF (26) SP shift 98 CRLF shift 99 . error state 54 cmd : LIST check_login . CRLF (18) cmd : LIST check_login . SP pathname CRLF (19) SP shift 100 CRLF shift 101 . error state 55 cmd : NLST check_login . CRLF (16) cmd : NLST check_login . SP STRING CRLF (17) SP shift 102 CRLF shift 103 . error state 56 cmd : SITE SP . HELP CRLF (34) cmd : SITE SP . HELP SP STRING CRLF (35) cmd : SITE SP . UMASK check_login CRLF (36) cmd : SITE SP . UMASK check_login SP octal_number CRLF (37) cmd : SITE SP . CHMOD check_login SP octal_number SP pathname CRLF (38) cmd : SITE SP . IDLE CRLF (39) cmd : SITE SP . IDLE SP NUMBER CRLF (40) HELP shift 104 UMASK shift 105 IDLE shift 106 CHMOD shift 107 . error state 57 cmd : STAT CRLF . (21) . reduce 21 state 58 cmd : STAT check_login . SP pathname CRLF (20) SP shift 108 . error state 59 cmd : HELP SP . STRING CRLF (28) STRING shift 109 . error state 60 cmd : HELP CRLF . (27) . reduce 27 state 61 cmd : NOOP CRLF . (29) . reduce 29 state 62 cmd : MKD check_login . SP pathname CRLF (30) SP shift 110 . error state 63 cmd : RMD check_login . SP pathname CRLF (31) SP shift 111 . error state 64 cmd : PWD check_login . CRLF (32) CRLF shift 112 . error state 65 cmd : CDUP check_login . CRLF (33) CRLF shift 113 . error state 66 cmd : STOU check_login . SP pathname CRLF (41) SP shift 114 . error state 67 cmd : SYST CRLF . (42) . reduce 42 state 68 cmd : SIZE check_login . SP pathname CRLF (43) SP shift 115 . error state 69 cmd : MDTM check_login . SP pathname CRLF (44) SP shift 116 . error state 70 username : STRING . (48) . reduce 48 state 71 cmd : USER SP username . CRLF (4) CRLF shift 117 . error state 72 password : STRING . (50) . reduce 50 state 73 cmd : PASS SP password . CRLF (5) CRLF shift 118 . error state 74 host_port : NUMBER . COMMA NUMBER COMMA NUMBER COMMA NUMBER COMMA NUMBER COMMA NUMBER (52) COMMA shift 119 . error state 75 cmd : PORT SP host_port . CRLF (6) CRLF shift 120 . error state 76 type_code : A . (56) type_code : A . SP form_code (57) SP shift 121 CRLF reduce 56 state 77 type_code : E . (58) type_code : E . SP form_code (59) SP shift 122 CRLF reduce 58 state 78 type_code : I . (60) . reduce 60 state 79 type_code : L . (61) type_code : L . SP byte_size (62) type_code : L . byte_size (63) SP shift 123 NUMBER shift 124 CRLF reduce 61 byte_size goto 125 state 80 cmd : TYPE SP type_code . CRLF (8) CRLF shift 126 . error state 81 struct_code : F . (64) . reduce 64 state 82 struct_code : P . (66) . reduce 66 state 83 struct_code : R . (65) . reduce 65 state 84 cmd : STRU SP struct_code . CRLF (9) CRLF shift 127 . error state 85 mode_code : B . (68) . reduce 68 state 86 mode_code : C . (69) . reduce 69 state 87 mode_code : S . (67) . reduce 67 state 88 cmd : MODE SP mode_code . CRLF (10) CRLF shift 128 . error state 89 cmd : RETR check_login SP . pathname CRLF (13) STRING shift 94 . error pathname goto 129 pathstring goto 96 state 90 cmd : STOR check_login SP . pathname CRLF (14) STRING shift 94 . error pathname goto 130 pathstring goto 96 state 91 cmd : APPE check_login SP . pathname CRLF (15) STRING shift 94 . error pathname goto 131 pathstring goto 96 state 92 cmd : ALLO SP NUMBER . CRLF (11) cmd : ALLO SP NUMBER . SP R SP NUMBER CRLF (12) SP shift 132 CRLF shift 133 . error state 93 rcmd : RNFR check_login SP . pathname CRLF (47) STRING shift 94 . error pathname goto 134 pathstring goto 96 state 94 pathstring : STRING . (71) . reduce 71 state 95 cmd : RNTO SP pathname . CRLF (23) CRLF shift 135 . error state 96 pathname : pathstring . (70) . reduce 70 state 97 cmd : DELE check_login SP . pathname CRLF (22) STRING shift 94 . error pathname goto 136 pathstring goto 96 state 98 cmd : CWD check_login SP . pathname CRLF (26) STRING shift 94 . error pathname goto 137 pathstring goto 96 state 99 cmd : CWD check_login CRLF . (25) . reduce 25 state 100 cmd : LIST check_login SP . pathname CRLF (19) STRING shift 94 . error pathname goto 138 pathstring goto 96 state 101 cmd : LIST check_login CRLF . (18) . reduce 18 state 102 cmd : NLST check_login SP . STRING CRLF (17) STRING shift 139 . error state 103 cmd : NLST check_login CRLF . (16) . reduce 16 state 104 cmd : SITE SP HELP . CRLF (34) cmd : SITE SP HELP . SP STRING CRLF (35) SP shift 140 CRLF shift 141 . error state 105 cmd : SITE SP UMASK . check_login CRLF (36) cmd : SITE SP UMASK . check_login SP octal_number CRLF (37) check_login : . (73) . reduce 73 check_login goto 142 state 106 cmd : SITE SP IDLE . CRLF (39) cmd : SITE SP IDLE . SP NUMBER CRLF (40) SP shift 143 CRLF shift 144 . error state 107 cmd : SITE SP CHMOD . check_login SP octal_number SP pathname CRLF (38) check_login : . (73) . reduce 73 check_login goto 145 state 108 cmd : STAT check_login SP . pathname CRLF (20) STRING shift 94 . error pathname goto 146 pathstring goto 96 state 109 cmd : HELP SP STRING . CRLF (28) CRLF shift 147 . error state 110 cmd : MKD check_login SP . pathname CRLF (30) STRING shift 94 . error pathname goto 148 pathstring goto 96 state 111 cmd : RMD check_login SP . pathname CRLF (31) STRING shift 94 . error pathname goto 149 pathstring goto 96 state 112 cmd : PWD check_login CRLF . (32) . reduce 32 state 113 cmd : CDUP check_login CRLF . (33) . reduce 33 state 114 cmd : STOU check_login SP . pathname CRLF (41) STRING shift 94 . error pathname goto 150 pathstring goto 96 state 115 cmd : SIZE check_login SP . pathname CRLF (43) STRING shift 94 . error pathname goto 151 pathstring goto 96 state 116 cmd : MDTM check_login SP . pathname CRLF (44) STRING shift 94 . error pathname goto 152 pathstring goto 96 state 117 cmd : USER SP username CRLF . (4) . reduce 4 state 118 cmd : PASS SP password CRLF . (5) . reduce 5 state 119 host_port : NUMBER COMMA . NUMBER COMMA NUMBER COMMA NUMBER COMMA NUMBER COMMA NUMBER (52) NUMBER shift 153 . error state 120 cmd : PORT SP host_port CRLF . (6) . reduce 6 state 121 type_code : A SP . form_code (57) C shift 154 N shift 155 T shift 156 . error form_code goto 157 state 122 type_code : E SP . form_code (59) C shift 154 N shift 155 T shift 156 . error form_code goto 158 state 123 type_code : L SP . byte_size (62) NUMBER shift 124 . error byte_size goto 159 state 124 byte_size : NUMBER . (51) . reduce 51 state 125 type_code : L byte_size . (63) . reduce 63 state 126 cmd : TYPE SP type_code CRLF . (8) . reduce 8 state 127 cmd : STRU SP struct_code CRLF . (9) . reduce 9 state 128 cmd : MODE SP mode_code CRLF . (10) . reduce 10 state 129 cmd : RETR check_login SP pathname . CRLF (13) CRLF shift 160 . error state 130 cmd : STOR check_login SP pathname . CRLF (14) CRLF shift 161 . error state 131 cmd : APPE check_login SP pathname . CRLF (15) CRLF shift 162 . error state 132 cmd : ALLO SP NUMBER SP . R SP NUMBER CRLF (12) R shift 163 . error state 133 cmd : ALLO SP NUMBER CRLF . (11) . reduce 11 state 134 rcmd : RNFR check_login SP pathname . CRLF (47) CRLF shift 164 . error state 135 cmd : RNTO SP pathname CRLF . (23) . reduce 23 state 136 cmd : DELE check_login SP pathname . CRLF (22) CRLF shift 165 . error state 137 cmd : CWD check_login SP pathname . CRLF (26) CRLF shift 166 . error state 138 cmd : LIST check_login SP pathname . CRLF (19) CRLF shift 167 . error state 139 cmd : NLST check_login SP STRING . CRLF (17) CRLF shift 168 . error state 140 cmd : SITE SP HELP SP . STRING CRLF (35) STRING shift 169 . error state 141 cmd : SITE SP HELP CRLF . (34) . reduce 34 state 142 cmd : SITE SP UMASK check_login . CRLF (36) cmd : SITE SP UMASK check_login . SP octal_number CRLF (37) SP shift 170 CRLF shift 171 . error state 143 cmd : SITE SP IDLE SP . NUMBER CRLF (40) NUMBER shift 172 . error state 144 cmd : SITE SP IDLE CRLF . (39) . reduce 39 state 145 cmd : SITE SP CHMOD check_login . SP octal_number SP pathname CRLF (38) SP shift 173 . error state 146 cmd : STAT check_login SP pathname . CRLF (20) CRLF shift 174 . error state 147 cmd : HELP SP STRING CRLF . (28) . reduce 28 state 148 cmd : MKD check_login SP pathname . CRLF (30) CRLF shift 175 . error state 149 cmd : RMD check_login SP pathname . CRLF (31) CRLF shift 176 . error state 150 cmd : STOU check_login SP pathname . CRLF (41) CRLF shift 177 . error state 151 cmd : SIZE check_login SP pathname . CRLF (43) CRLF shift 178 . error state 152 cmd : MDTM check_login SP pathname . CRLF (44) CRLF shift 179 . error state 153 host_port : NUMBER COMMA NUMBER . COMMA NUMBER COMMA NUMBER COMMA NUMBER COMMA NUMBER (52) COMMA shift 180 . error state 154 form_code : C . (55) . reduce 55 state 155 form_code : N . (53) . reduce 53 state 156 form_code : T . (54) . reduce 54 state 157 type_code : A SP form_code . (57) . reduce 57 state 158 type_code : E SP form_code . (59) . reduce 59 state 159 type_code : L SP byte_size . (62) . reduce 62 state 160 cmd : RETR check_login SP pathname CRLF . (13) . reduce 13 state 161 cmd : STOR check_login SP pathname CRLF . (14) . reduce 14 state 162 cmd : APPE check_login SP pathname CRLF . (15) . reduce 15 state 163 cmd : ALLO SP NUMBER SP R . SP NUMBER CRLF (12) SP shift 181 . error state 164 rcmd : RNFR check_login SP pathname CRLF . (47) . reduce 47 state 165 cmd : DELE check_login SP pathname CRLF . (22) . reduce 22 state 166 cmd : CWD check_login SP pathname CRLF . (26) . reduce 26 state 167 cmd : LIST check_login SP pathname CRLF . (19) . reduce 19 state 168 cmd : NLST check_login SP STRING CRLF . (17) . reduce 17 state 169 cmd : SITE SP HELP SP STRING . CRLF (35) CRLF shift 182 . error state 170 cmd : SITE SP UMASK check_login SP . octal_number CRLF (37) NUMBER shift 183 . error octal_number goto 184 state 171 cmd : SITE SP UMASK check_login CRLF . (36) . reduce 36 state 172 cmd : SITE SP IDLE SP NUMBER . CRLF (40) CRLF shift 185 . error state 173 cmd : SITE SP CHMOD check_login SP . octal_number SP pathname CRLF (38) NUMBER shift 183 . error octal_number goto 186 state 174 cmd : STAT check_login SP pathname CRLF . (20) . reduce 20 state 175 cmd : MKD check_login SP pathname CRLF . (30) . reduce 30 state 176 cmd : RMD check_login SP pathname CRLF . (31) . reduce 31 state 177 cmd : STOU check_login SP pathname CRLF . (41) . reduce 41 state 178 cmd : SIZE check_login SP pathname CRLF . (43) . reduce 43 state 179 cmd : MDTM check_login SP pathname CRLF . (44) . reduce 44 state 180 host_port : NUMBER COMMA NUMBER COMMA . NUMBER COMMA NUMBER COMMA NUMBER COMMA NUMBER (52) NUMBER shift 187 . error state 181 cmd : ALLO SP NUMBER SP R SP . NUMBER CRLF (12) NUMBER shift 188 . error state 182 cmd : SITE SP HELP SP STRING CRLF . (35) . reduce 35 state 183 octal_number : NUMBER . (72) . reduce 72 state 184 cmd : SITE SP UMASK check_login SP octal_number . CRLF (37) CRLF shift 189 . error state 185 cmd : SITE SP IDLE SP NUMBER CRLF . (40) . reduce 40 state 186 cmd : SITE SP CHMOD check_login SP octal_number . SP pathname CRLF (38) SP shift 190 . error state 187 host_port : NUMBER COMMA NUMBER COMMA NUMBER . COMMA NUMBER COMMA NUMBER COMMA NUMBER (52) COMMA shift 191 . error state 188 cmd : ALLO SP NUMBER SP R SP NUMBER . CRLF (12) CRLF shift 192 . error state 189 cmd : SITE SP UMASK check_login SP octal_number CRLF . (37) . reduce 37 state 190 cmd : SITE SP CHMOD check_login SP octal_number SP . pathname CRLF (38) STRING shift 94 . error pathname goto 193 pathstring goto 96 state 191 host_port : NUMBER COMMA NUMBER COMMA NUMBER COMMA . NUMBER COMMA NUMBER COMMA NUMBER (52) NUMBER shift 194 . error state 192 cmd : ALLO SP NUMBER SP R SP NUMBER CRLF . (12) . reduce 12 state 193 cmd : SITE SP CHMOD check_login SP octal_number SP pathname . CRLF (38) CRLF shift 195 . error state 194 host_port : NUMBER COMMA NUMBER COMMA NUMBER COMMA NUMBER . COMMA NUMBER COMMA NUMBER (52) COMMA shift 196 . error state 195 cmd : SITE SP CHMOD check_login SP octal_number SP pathname CRLF . (38) . reduce 38 state 196 host_port : NUMBER COMMA NUMBER COMMA NUMBER COMMA NUMBER COMMA . NUMBER COMMA NUMBER (52) NUMBER shift 197 . error state 197 host_port : NUMBER COMMA NUMBER COMMA NUMBER COMMA NUMBER COMMA NUMBER . COMMA NUMBER (52) COMMA shift 198 . error state 198 host_port : NUMBER COMMA NUMBER COMMA NUMBER COMMA NUMBER COMMA NUMBER COMMA . NUMBER (52) NUMBER shift 199 . error state 199 host_port : NUMBER COMMA NUMBER COMMA NUMBER COMMA NUMBER COMMA NUMBER COMMA NUMBER . (52) . reduce 52 65 terminals, 16 nonterminals 74 grammar rules, 200 states