1626 lines
		
	
	
		
			22 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			1626 lines
		
	
	
		
			22 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
|    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
 | 
