1 0 $accept : cmd_list $end
7 4 cmd : USER SP username CRLF
8 5 | PASS SP password CRLF
9 6 | PORT SP host_port 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
25 22 | DELE check_login SP pathname CRLF
26 23 | RNTO SP pathname CRLF
28 25 | CWD check_login CRLF
29 26 | CWD check_login SP pathname CRLF
31 28 | HELP SP STRING 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
46 43 | SIZE check_login SP pathname CRLF
47 44 | MDTM check_login SP pathname CRLF
51 47 rcmd : RNFR check_login SP pathname CRLF
60 52 host_port : NUMBER COMMA NUMBER COMMA NUMBER COMMA NUMBER COMMA NUMBER COMMA NUMBER
83 70 pathname : pathstring
85 71 pathstring : STRING
87 72 octal_number : NUMBER
92 $accept : . cmd_list $end (0)
101 $accept : cmd_list . $end (0)
102 cmd_list : cmd_list . cmd (2)
103 cmd_list : cmd_list . rcmd (3)
145 cmd : error . CRLF (46)
152 cmd : USER . SP username CRLF (4)
159 cmd : PASS . SP password CRLF (5)
166 cmd : QUIT . CRLF (45)
173 cmd : PORT . SP host_port CRLF (6)
180 cmd : PASV . CRLF (7)
187 cmd : TYPE . SP type_code CRLF (8)
194 cmd : STRU . SP struct_code CRLF (9)
201 cmd : MODE . SP mode_code CRLF (10)
208 cmd : RETR . check_login SP pathname CRLF (13)
217 cmd : STOR . check_login SP pathname CRLF (14)
226 cmd : APPE . check_login SP pathname CRLF (15)
235 cmd : ALLO . SP NUMBER CRLF (11)
236 cmd : ALLO . SP NUMBER SP R SP NUMBER CRLF (12)
243 rcmd : RNFR . check_login SP pathname CRLF (47)
252 cmd : RNTO . SP pathname CRLF (23)
259 cmd : ABOR . CRLF (24)
266 cmd : DELE . check_login SP pathname CRLF (22)
275 cmd : CWD . check_login CRLF (25)
276 cmd : CWD . check_login SP pathname CRLF (26)
285 cmd : LIST . check_login CRLF (18)
286 cmd : LIST . check_login SP pathname CRLF (19)
295 cmd : NLST . check_login CRLF (16)
296 cmd : NLST . check_login SP STRING CRLF (17)
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)
318 cmd : STAT . check_login SP pathname CRLF (20)
319 cmd : STAT . CRLF (21)
329 cmd : HELP . CRLF (27)
330 cmd : HELP . SP STRING CRLF (28)
338 cmd : NOOP . CRLF (29)
345 cmd : MKD . check_login SP pathname CRLF (30)
354 cmd : RMD . check_login SP pathname CRLF (31)
363 cmd : PWD . check_login CRLF (32)
372 cmd : CDUP . check_login CRLF (33)
381 cmd : STOU . check_login SP pathname CRLF (41)
390 cmd : SYST . CRLF (42)
397 cmd : SIZE . check_login SP pathname CRLF (43)
406 cmd : MDTM . check_login SP pathname CRLF (44)
415 cmd_list : cmd_list cmd . (2)
421 cmd_list : cmd_list rcmd . (3)
427 cmd : error CRLF . (46)
433 cmd : USER SP . username CRLF (4)
442 cmd : PASS SP . password CRLF (5)
452 cmd : QUIT CRLF . (45)
458 cmd : PORT SP . host_port CRLF (6)
467 cmd : PASV CRLF . (7)
473 cmd : TYPE SP . type_code CRLF (8)
485 cmd : STRU SP . struct_code CRLF (9)
496 cmd : MODE SP . mode_code CRLF (10)
507 cmd : RETR check_login . SP pathname CRLF (13)
514 cmd : STOR check_login . SP pathname CRLF (14)
521 cmd : APPE check_login . SP pathname CRLF (15)
528 cmd : ALLO SP . NUMBER CRLF (11)
529 cmd : ALLO SP . NUMBER SP R SP NUMBER CRLF (12)
536 rcmd : RNFR check_login . SP pathname CRLF (47)
543 cmd : RNTO SP . pathname CRLF (23)
553 cmd : ABOR CRLF . (24)
559 cmd : DELE check_login . SP pathname CRLF (22)
566 cmd : CWD check_login . CRLF (25)
567 cmd : CWD check_login . SP pathname CRLF (26)
575 cmd : LIST check_login . CRLF (18)
576 cmd : LIST check_login . SP pathname CRLF (19)
584 cmd : NLST check_login . CRLF (16)
585 cmd : NLST check_login . SP STRING CRLF (17)
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)
609 cmd : STAT CRLF . (21)
615 cmd : STAT check_login . SP pathname CRLF (20)
622 cmd : HELP SP . STRING CRLF (28)
629 cmd : HELP CRLF . (27)
635 cmd : NOOP CRLF . (29)
641 cmd : MKD check_login . SP pathname CRLF (30)
648 cmd : RMD check_login . SP pathname CRLF (31)
655 cmd : PWD check_login . CRLF (32)
662 cmd : CDUP check_login . CRLF (33)
669 cmd : STOU check_login . SP pathname CRLF (41)
676 cmd : SYST CRLF . (42)
682 cmd : SIZE check_login . SP pathname CRLF (43)
689 cmd : MDTM check_login . SP pathname CRLF (44)
696 username : STRING . (48)
702 cmd : USER SP username . CRLF (4)
709 password : STRING . (50)
715 cmd : PASS SP password . CRLF (5)
722 host_port : NUMBER . COMMA NUMBER COMMA NUMBER COMMA NUMBER COMMA NUMBER COMMA NUMBER (52)
729 cmd : PORT SP host_port . CRLF (6)
737 type_code : A . SP form_code (57)
745 type_code : E . SP form_code (59)
759 type_code : L . SP byte_size (62)
760 type_code : L . byte_size (63)
770 cmd : TYPE SP type_code . CRLF (8)
777 struct_code : F . (64)
783 struct_code : P . (66)
789 struct_code : R . (65)
795 cmd : STRU SP struct_code . CRLF (9)
820 cmd : MODE SP mode_code . CRLF (10)
827 cmd : RETR check_login SP . pathname CRLF (13)
837 cmd : STOR check_login SP . pathname CRLF (14)
847 cmd : APPE check_login SP . pathname CRLF (15)
857 cmd : ALLO SP NUMBER . CRLF (11)
858 cmd : ALLO SP NUMBER . SP R SP NUMBER CRLF (12)
866 rcmd : RNFR check_login SP . pathname CRLF (47)
876 pathstring : STRING . (71)
882 cmd : RNTO SP pathname . CRLF (23)
889 pathname : pathstring . (70)
895 cmd : DELE check_login SP . pathname CRLF (22)
905 cmd : CWD check_login SP . pathname CRLF (26)
915 cmd : CWD check_login CRLF . (25)
921 cmd : LIST check_login SP . pathname CRLF (19)
931 cmd : LIST check_login CRLF . (18)
937 cmd : NLST check_login SP . STRING CRLF (17)
944 cmd : NLST check_login CRLF . (16)
950 cmd : SITE SP HELP . CRLF (34)
951 cmd : SITE SP HELP . SP STRING CRLF (35)
959 cmd : SITE SP UMASK . check_login CRLF (36)
960 cmd : SITE SP UMASK . check_login SP octal_number CRLF (37)
969 cmd : SITE SP IDLE . CRLF (39)
970 cmd : SITE SP IDLE . SP NUMBER CRLF (40)
978 cmd : SITE SP CHMOD . check_login SP octal_number SP pathname CRLF (38)
987 cmd : STAT check_login SP . pathname CRLF (20)
997 cmd : HELP SP STRING . CRLF (28)
1004 cmd : MKD check_login SP . pathname CRLF (30)
1014 cmd : RMD check_login SP . pathname CRLF (31)
1024 cmd : PWD check_login CRLF . (32)
1030 cmd : CDUP check_login CRLF . (33)
1036 cmd : STOU check_login SP . pathname CRLF (41)
1046 cmd : SIZE check_login SP . pathname CRLF (43)
1056 cmd : MDTM check_login SP . pathname CRLF (44)
1066 cmd : USER SP username CRLF . (4)
1072 cmd : PASS SP password CRLF . (5)
1078 host_port : NUMBER COMMA . NUMBER COMMA NUMBER COMMA NUMBER COMMA NUMBER COMMA NUMBER (52)
1085 cmd : PORT SP host_port CRLF . (6)
1091 type_code : A SP . form_code (57)
1102 type_code : E SP . form_code (59)
1113 byte_size : NUMBER . (51)
1119 type_code : L SP . byte_size (62)
1128 type_code : L byte_size . (63)
1134 cmd : TYPE SP type_code CRLF . (8)
1140 cmd : STRU SP struct_code CRLF . (9)
1146 cmd : MODE SP mode_code CRLF . (10)
1152 cmd : RETR check_login SP pathname . CRLF (13)
1159 cmd : STOR check_login SP pathname . CRLF (14)
1166 cmd : APPE check_login SP pathname . CRLF (15)
1173 cmd : ALLO SP NUMBER SP . R SP NUMBER CRLF (12)
1180 cmd : ALLO SP NUMBER CRLF . (11)
1186 rcmd : RNFR check_login SP pathname . CRLF (47)
1193 cmd : RNTO SP pathname CRLF . (23)
1199 cmd : DELE check_login SP pathname . CRLF (22)
1206 cmd : CWD check_login SP pathname . CRLF (26)
1213 cmd : LIST check_login SP pathname . CRLF (19)
1220 cmd : NLST check_login SP STRING . CRLF (17)
1227 cmd : SITE SP HELP SP . STRING CRLF (35)
1234 cmd : SITE SP HELP CRLF . (34)
1240 cmd : SITE SP UMASK check_login . CRLF (36)
1241 cmd : SITE SP UMASK check_login . SP octal_number CRLF (37)
1249 cmd : SITE SP IDLE SP . NUMBER CRLF (40)
1256 cmd : SITE SP IDLE CRLF . (39)
1262 cmd : SITE SP CHMOD check_login . SP octal_number SP pathname CRLF (38)
1269 cmd : STAT check_login SP pathname . CRLF (20)
1276 cmd : HELP SP STRING CRLF . (28)
1282 cmd : MKD check_login SP pathname . CRLF (30)
1289 cmd : RMD check_login SP pathname . CRLF (31)
1296 cmd : STOU check_login SP pathname . CRLF (41)
1303 cmd : SIZE check_login SP pathname . CRLF (43)
1310 cmd : MDTM check_login SP pathname . CRLF (44)
1317 host_port : NUMBER COMMA NUMBER . COMMA NUMBER COMMA NUMBER COMMA NUMBER COMMA NUMBER (52)
1324 form_code : C . (55)
1330 form_code : N . (53)
1336 form_code : T . (54)
1342 type_code : A SP form_code . (57)
1348 type_code : E SP form_code . (59)
1354 type_code : L SP byte_size . (62)
1360 cmd : RETR check_login SP pathname CRLF . (13)
1366 cmd : STOR check_login SP pathname CRLF . (14)
1372 cmd : APPE check_login SP pathname CRLF . (15)
1378 cmd : ALLO SP NUMBER SP R . SP NUMBER CRLF (12)
1385 rcmd : RNFR check_login SP pathname CRLF . (47)
1391 cmd : DELE check_login SP pathname CRLF . (22)
1397 cmd : CWD check_login SP pathname CRLF . (26)
1403 cmd : LIST check_login SP pathname CRLF . (19)
1409 cmd : NLST check_login SP STRING CRLF . (17)
1415 cmd : SITE SP HELP SP STRING . CRLF (35)
1422 cmd : SITE SP UMASK check_login SP . octal_number CRLF (37)
1427 octal_number goto 184
1431 cmd : SITE SP UMASK check_login CRLF . (36)
1437 cmd : SITE SP IDLE SP NUMBER . CRLF (40)
1444 cmd : SITE SP CHMOD check_login SP . octal_number SP pathname CRLF (38)
1449 octal_number goto 186
1453 cmd : STAT check_login SP pathname CRLF . (20)
1459 cmd : MKD check_login SP pathname CRLF . (30)
1465 cmd : RMD check_login SP pathname CRLF . (31)
1471 cmd : STOU check_login SP pathname CRLF . (41)
1477 cmd : SIZE check_login SP pathname CRLF . (43)
1483 cmd : MDTM check_login SP pathname CRLF . (44)
1489 host_port : NUMBER COMMA NUMBER COMMA . NUMBER COMMA NUMBER COMMA NUMBER COMMA NUMBER (52)
1496 cmd : ALLO SP NUMBER SP R SP . NUMBER CRLF (12)
1503 cmd : SITE SP HELP SP STRING CRLF . (35)
1509 octal_number : NUMBER . (72)
1515 cmd : SITE SP UMASK check_login SP octal_number . CRLF (37)
1522 cmd : SITE SP IDLE SP NUMBER CRLF . (40)
1528 cmd : SITE SP CHMOD check_login SP octal_number . SP pathname CRLF (38)
1535 host_port : NUMBER COMMA NUMBER COMMA NUMBER . COMMA NUMBER COMMA NUMBER COMMA NUMBER (52)
1542 cmd : ALLO SP NUMBER SP R SP NUMBER . CRLF (12)
1549 cmd : SITE SP UMASK check_login SP octal_number CRLF . (37)
1555 cmd : SITE SP CHMOD check_login SP octal_number SP . pathname CRLF (38)
1565 host_port : NUMBER COMMA NUMBER COMMA NUMBER COMMA . NUMBER COMMA NUMBER COMMA NUMBER (52)
1572 cmd : ALLO SP NUMBER SP R SP NUMBER CRLF . (12)
1578 cmd : SITE SP CHMOD check_login SP octal_number SP pathname . CRLF (38)
1585 host_port : NUMBER COMMA NUMBER COMMA NUMBER COMMA NUMBER . COMMA NUMBER COMMA NUMBER (52)
1592 cmd : SITE SP CHMOD check_login SP octal_number SP pathname CRLF . (38)
1598 host_port : NUMBER COMMA NUMBER COMMA NUMBER COMMA NUMBER COMMA . NUMBER COMMA NUMBER (52)
1605 host_port : NUMBER COMMA NUMBER COMMA NUMBER COMMA NUMBER COMMA NUMBER . COMMA NUMBER (52)
1612 host_port : NUMBER COMMA NUMBER COMMA NUMBER COMMA NUMBER COMMA NUMBER COMMA . NUMBER (52)
1619 host_port : NUMBER COMMA NUMBER COMMA NUMBER COMMA NUMBER COMMA NUMBER COMMA NUMBER . (52)
1624 65 terminals, 16 nonterminals
1625 74 grammar rules, 200 states