⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 y.output

📁 针对“虎书”中的tiger语言写的语法分析器 根据书中对tiger语言的描述写了72条文法
💻 OUTPUT
📖 第 1 页 / 共 5 页
字号:
	.  error

	program  goto 68
	lvalue  goto 14
	binary_operation_expr  goto 15
	assign_expr  goto 16
	function_expr  goto 17
	paren_expr  goto 18
	record_expr  goto 19
	case_expr  goto 20
	scope_expr  goto 21


state 28
	program : LPAREN error . RPAREN  (17)
	program : error . SEMICOLON program  (18)

	SEMICOLON  shift 22
	RPAREN  shift 69
	.  error


state 29
	paren_expr : LPAREN RPAREN .  (42)

	.  reduce 42


state 30
	binary_operation_expr : program . OR program  (23)
	binary_operation_expr : program . AND program  (24)
	binary_operation_expr : program . EQ program  (25)
	binary_operation_expr : program . LT program  (26)
	binary_operation_expr : program . LE program  (27)
	binary_operation_expr : program . GT program  (28)
	binary_operation_expr : program . GE program  (29)
	binary_operation_expr : program . NEQ program  (30)
	binary_operation_expr : program . PLUS program  (31)
	binary_operation_expr : program . MINUS program  (32)
	binary_operation_expr : program . TIMES program  (33)
	binary_operation_expr : program . DIVIDE program  (34)
	expr_seq : program .  (44)
	expr_seq : program . SEMICOLON expr_seq  (45)

	SEMICOLON  shift 70
	PLUS  shift 44
	MINUS  shift 45
	TIMES  shift 46
	DIVIDE  shift 47
	EQ  shift 48
	NEQ  shift 49
	LT  shift 50
	LE  shift 51
	GT  shift 52
	GE  shift 53
	AND  shift 54
	OR  shift 55
	RPAREN  reduce 44
	END  reduce 44


state 31
	paren_expr : LPAREN expr_seq . RPAREN  (43)

	RPAREN  shift 71
	.  error


state 32
	binary_operation_expr : program . OR program  (23)
	binary_operation_expr : program . AND program  (24)
	binary_operation_expr : program . EQ program  (25)
	binary_operation_expr : program . LT program  (26)
	binary_operation_expr : program . LE program  (27)
	binary_operation_expr : program . GT program  (28)
	binary_operation_expr : program . GE program  (29)
	binary_operation_expr : program . NEQ program  (30)
	binary_operation_expr : program . PLUS program  (31)
	binary_operation_expr : program . MINUS program  (32)
	binary_operation_expr : program . TIMES program  (33)
	binary_operation_expr : program . DIVIDE program  (34)
	binary_operation_expr : MINUS program .  (35)

	.  reduce 35


state 33
	binary_operation_expr : program . OR program  (23)
	binary_operation_expr : program . AND program  (24)
	binary_operation_expr : program . EQ program  (25)
	binary_operation_expr : program . LT program  (26)
	binary_operation_expr : program . LE program  (27)
	binary_operation_expr : program . GT program  (28)
	binary_operation_expr : program . GE program  (29)
	binary_operation_expr : program . NEQ program  (30)
	binary_operation_expr : program . PLUS program  (31)
	binary_operation_expr : program . MINUS program  (32)
	binary_operation_expr : program . TIMES program  (33)
	binary_operation_expr : program . DIVIDE program  (34)
	case_expr : IF program . THEN program  (50)
	case_expr : IF program . THEN program ELSE program  (51)

	PLUS  shift 44
	MINUS  shift 45
	TIMES  shift 46
	DIVIDE  shift 47
	EQ  shift 48
	NEQ  shift 49
	LT  shift 50
	LE  shift 51
	GT  shift 52
	GE  shift 53
	AND  shift 54
	OR  shift 55
	THEN  shift 72
	.  error


state 34
	program : WHILE program . DO program  (13)
	binary_operation_expr : program . OR program  (23)
	binary_operation_expr : program . AND program  (24)
	binary_operation_expr : program . EQ program  (25)
	binary_operation_expr : program . LT program  (26)
	binary_operation_expr : program . LE program  (27)
	binary_operation_expr : program . GT program  (28)
	binary_operation_expr : program . GE program  (29)
	binary_operation_expr : program . NEQ program  (30)
	binary_operation_expr : program . PLUS program  (31)
	binary_operation_expr : program . MINUS program  (32)
	binary_operation_expr : program . TIMES program  (33)
	binary_operation_expr : program . DIVIDE program  (34)

	PLUS  shift 44
	MINUS  shift 45
	TIMES  shift 46
	DIVIDE  shift 47
	EQ  shift 48
	NEQ  shift 49
	LT  shift 50
	LE  shift 51
	GT  shift 52
	GE  shift 53
	AND  shift 54
	OR  shift 55
	DO  shift 73
	.  error


state 35
	program : FOR ID . ASSIGN program TO program DO program  (14)

	ASSIGN  shift 74
	.  error


state 36
	function_dec : FUNCTION . ID LPAREN RPAREN EQ program  (68)
	function_dec : FUNCTION . ID LPAREN RPAREN COLON ID EQ program  (69)
	function_dec : FUNCTION . ID LPAREN field_list RPAREN EQ program  (70)
	function_dec : FUNCTION . ID LPAREN field_list RPAREN COLON ID EQ program  (71)

	ID  shift 75
	.  error


state 37
	variable_dec : VAR . ID ASSIGN program  (66)
	variable_dec : VAR . ID COLON ID ASSIGN program  (67)

	ID  shift 76
	.  error


state 38
	type_dec : TYPE . ID EQ type  (59)

	ID  shift 77
	.  error


state 39
	scope_expr : LET dec_list . IN END  (52)
	scope_expr : LET dec_list . IN expr_seq END  (53)

	IN  shift 78
	.  error


state 40
	dec_list : dec .  (54)
	dec_list : dec . dec_list  (55)

	FUNCTION  shift 36
	VAR  shift 37
	TYPE  shift 38
	IN  reduce 54

	dec_list  goto 79
	dec  goto 40
	type_dec  goto 41
	variable_dec  goto 42
	function_dec  goto 43


state 41
	dec : type_dec .  (56)

	.  reduce 56


state 42
	dec : variable_dec .  (57)

	.  reduce 57


state 43
	dec : function_dec .  (58)

	.  reduce 58


state 44
	binary_operation_expr : program PLUS . program  (31)

	error  shift 1
	ID  shift 2
	STRING  shift 3
	INT  shift 4
	LPAREN  shift 5
	MINUS  shift 6
	IF  shift 7
	WHILE  shift 8
	FOR  shift 9
	LET  shift 10
	BREAK  shift 11
	NIL  shift 12
	.  error

	program  goto 80
	lvalue  goto 14
	binary_operation_expr  goto 15
	assign_expr  goto 16
	function_expr  goto 17
	paren_expr  goto 18
	record_expr  goto 19
	case_expr  goto 20
	scope_expr  goto 21


state 45
	binary_operation_expr : program MINUS . program  (32)

	error  shift 1
	ID  shift 2
	STRING  shift 3
	INT  shift 4
	LPAREN  shift 5
	MINUS  shift 6
	IF  shift 7
	WHILE  shift 8
	FOR  shift 9
	LET  shift 10
	BREAK  shift 11
	NIL  shift 12
	.  error

	program  goto 81
	lvalue  goto 14
	binary_operation_expr  goto 15
	assign_expr  goto 16
	function_expr  goto 17
	paren_expr  goto 18
	record_expr  goto 19
	case_expr  goto 20
	scope_expr  goto 21


state 46
	binary_operation_expr : program TIMES . program  (33)

	error  shift 1
	ID  shift 2
	STRING  shift 3
	INT  shift 4
	LPAREN  shift 5
	MINUS  shift 6
	IF  shift 7
	WHILE  shift 8
	FOR  shift 9
	LET  shift 10
	BREAK  shift 11
	NIL  shift 12
	.  error

	program  goto 82
	lvalue  goto 14
	binary_operation_expr  goto 15
	assign_expr  goto 16
	function_expr  goto 17
	paren_expr  goto 18
	record_expr  goto 19
	case_expr  goto 20
	scope_expr  goto 21


state 47
	binary_operation_expr : program DIVIDE . program  (34)

	error  shift 1
	ID  shift 2
	STRING  shift 3
	INT  shift 4
	LPAREN  shift 5
	MINUS  shift 6
	IF  shift 7
	WHILE  shift 8
	FOR  shift 9
	LET  shift 10
	BREAK  shift 11
	NIL  shift 12
	.  error

	program  goto 83
	lvalue  goto 14
	binary_operation_expr  goto 15
	assign_expr  goto 16
	function_expr  goto 17
	paren_expr  goto 18
	record_expr  goto 19
	case_expr  goto 20
	scope_expr  goto 21


state 48
	binary_operation_expr : program EQ . program  (25)

	error  shift 1
	ID  shift 2
	STRING  shift 3
	INT  shift 4
	LPAREN  shift 5
	MINUS  shift 6
	IF  shift 7
	WHILE  shift 8
	FOR  shift 9
	LET  shift 10
	BREAK  shift 11
	NIL  shift 12
	.  error

	program  goto 84
	lvalue  goto 14
	binary_operation_expr  goto 15
	assign_expr  goto 16
	function_expr  goto 17
	paren_expr  goto 18
	record_expr  goto 19
	case_expr  goto 20
	scope_expr  goto 21


state 49
	binary_operation_expr : program NEQ . program  (30)

	error  shift 1
	ID  shift 2
	STRING  shift 3
	INT  shift 4
	LPAREN  shift 5
	MINUS  shift 6
	IF  shift 7
	WHILE  shift 8
	FOR  shift 9
	LET  shift 10
	BREAK  shift 11
	NIL  shift 12
	.  error

	program  goto 85
	lvalue  goto 14
	binary_operation_expr  goto 15
	assign_expr  goto 16
	function_expr  goto 17
	paren_expr  goto 18
	record_expr  goto 19
	case_expr  goto 20
	scope_expr  goto 21


state 50
	binary_operation_expr : program LT . program  (26)

	error  shift 1
	ID  shift 2
	STRING  shift 3
	INT  shift 4
	LPAREN  shift 5
	MINUS  shift 6
	IF  shift 7
	WHILE  shift 8
	FOR  shift 9
	LET  shift 10
	BREAK  shift 11
	NIL  shift 12
	.  error

	program  goto 86
	lvalue  goto 14
	binary_operation_expr  goto 15
	assign_expr  goto 16
	function_expr  goto 17
	paren_expr  goto 18
	record_expr  goto 19
	case_expr  goto 20
	scope_expr  goto 21


state 51
	binary_operation_expr : program LE . program  (27)

	error  shift 1
	ID  shift 2
	STRING  shift 3
	INT  shift 4
	LPAREN  shift 5
	MINUS  shift 6
	IF  shift 7
	WHILE  shift 8
	FOR  shift 9
	LET  shift 10
	BREAK  shift 11
	NIL  shift 12
	.  error

	program  goto 87
	lvalue  goto 14
	binary_operation_expr  goto 15
	assign_expr  goto 16
	function_expr  goto 17
	paren_expr  goto 18
	record_expr  goto 19
	case_expr  goto 20
	scope_expr  goto 21


state 52
	binary_operation_expr : program GT . program  (28)

	error  shift 1
	ID  shift 2
	STRING  shift 3
	INT  shift 4
	LPAREN  shift 5
	MINUS  shift 6
	IF  shift 7
	WHILE  shift 8
	FOR  shift 9
	LET  shift 10
	BREAK  shift 11
	NIL  shift 12
	.  error

	program  goto 88
	lvalue  goto 14
	binary_operation_expr  goto 15
	assign_expr  goto 16
	function_expr  goto 17
	paren_expr  goto 18
	record_expr  goto 19
	case_expr  goto 20
	scope_expr  goto 21


state 53
	binary_operation_expr : program GE . program  (29)

	error  shift 1
	ID  shift 2
	STRING  shift 3
	INT  shift 4
	LPAREN  shift 5
	MINUS  shift 6
	IF  shift 7
	WHILE  shift 8
	FOR  shift 9
	LET  shift 10
	BREAK  shift 11
	NIL  shift 12
	.  error

	program  goto 89
	lvalue  goto 14
	binary_operation_expr  goto 15
	assign_expr  goto 16
	function_expr  goto 17
	paren_expr  goto 18
	record_expr  goto 19
	case_expr  goto 20
	scope_expr  goto 21


state 54
	binary_operation_expr : program AND . program  (24)

	error  shift 1
	ID  shift 2
	STRING  shift 3
	INT  shift 4
	LPAREN  shift 5
	MINUS  shift 6
	IF  shift 7
	WHILE  shift 8
	FOR  shift 9
	LET  shift 10
	BREAK  shift 11
	NIL  shift 12
	.  error

	program  goto 90
	lvalue  goto 14
	binary_operation_expr  goto 15
	assign_expr  goto 16
	function_expr  goto 17
	paren_expr  goto 18
	record_expr  goto 19
	case_expr  goto 20
	scope_expr  goto 21


state 55
	binary_operation_expr : program OR . program  (23)

	error  shift 1
	ID  shift 2
	STRING  shift 3
	INT  shift 4
	LPAREN  shift 5
	MINUS  shift 6
	IF  shift 7
	WHILE  shift 8
	FOR  shift 9
	LET  shift 10
	BREAK  shift 11
	NIL  shift 12
	.  error

	program  goto 91
	lvalue  goto 14
	binary_operation_expr  goto 15
	assign_expr  goto 16
	function_expr  goto 17
	paren_expr  goto 18
	record_expr  goto 19
	case_expr  goto 20
	scope_expr  goto 21


state 56
	lvalue : lvalue LBRACK . program RBRACK  (22)

	error  shift 1
	ID  shift 2
	STRING  shift 3
	INT  shift 4
	LPAREN  shift 5
	MINUS  shift 6

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -