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
 |