📄 y.output
字号:
IF shift 7
WHILE shift 8
FOR shift 9
LET shift 10
BREAK shift 11
NIL shift 12
. error
program goto 92
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 57
lvalue : lvalue DOT . ID (21)
ID shift 93
. error
state 58
assign_expr : lvalue ASSIGN . program (36)
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 94
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
59: shift/reduce conflict (shift 44, reduce 18) on PLUS
59: shift/reduce conflict (shift 45, reduce 18) on MINUS
59: shift/reduce conflict (shift 46, reduce 18) on TIMES
59: shift/reduce conflict (shift 47, reduce 18) on DIVIDE
59: shift/reduce conflict (shift 48, reduce 18) on EQ
59: shift/reduce conflict (shift 49, reduce 18) on NEQ
59: shift/reduce conflict (shift 50, reduce 18) on LT
59: shift/reduce conflict (shift 51, reduce 18) on LE
59: shift/reduce conflict (shift 52, reduce 18) on GT
59: shift/reduce conflict (shift 53, reduce 18) on GE
59: shift/reduce conflict (shift 54, reduce 18) on AND
59: shift/reduce conflict (shift 55, reduce 18) on OR
state 59
program : error SEMICOLON program . (18)
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
$end reduce 18
COMMA reduce 18
SEMICOLON reduce 18
RPAREN reduce 18
RBRACK reduce 18
RBRACE reduce 18
THEN reduce 18
ELSE reduce 18
TO reduce 18
DO reduce 18
IN reduce 18
END reduce 18
FUNCTION reduce 18
VAR reduce 18
TYPE reduce 18
state 60
function_expr : ID LPAREN RPAREN . (38)
. reduce 38
state 61
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_list : program . (40)
expr_list : program . COMMA expr_list (41)
COMMA shift 95
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 40
state 62
function_expr : ID LPAREN expr_list . RPAREN (39)
RPAREN shift 96
. error
state 63
program : ID LBRACK program . RBRACK OF program (11)
lvalue : ID LBRACK program . RBRACK (20)
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)
RBRACK shift 97
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
. error
state 64
fieldexpr_list : ID . EQ program (48)
fieldexpr_list : ID . EQ program COMMA fieldexpr_list (49)
EQ shift 98
. error
state 65
record_expr : ID LBRACE RBRACE . (46)
. reduce 46
state 66
record_expr : ID LBRACE fieldexpr_list . RBRACE (47)
RBRACE shift 99
. error
state 67
lvalue : ID DOT ID . (19)
. reduce 19
68: shift/reduce conflict (shift 44, reduce 37) on PLUS
68: shift/reduce conflict (shift 45, reduce 37) on MINUS
68: shift/reduce conflict (shift 46, reduce 37) on TIMES
68: shift/reduce conflict (shift 47, reduce 37) on DIVIDE
68: shift/reduce conflict (shift 48, reduce 37) on EQ
68: shift/reduce conflict (shift 49, reduce 37) on NEQ
68: shift/reduce conflict (shift 50, reduce 37) on LT
68: shift/reduce conflict (shift 51, reduce 37) on LE
68: shift/reduce conflict (shift 52, reduce 37) on GT
68: shift/reduce conflict (shift 53, reduce 37) on GE
68: shift/reduce conflict (shift 54, reduce 37) on AND
68: shift/reduce conflict (shift 55, reduce 37) on OR
state 68
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)
assign_expr : ID ASSIGN program . (37)
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
$end reduce 37
COMMA reduce 37
SEMICOLON reduce 37
RPAREN reduce 37
RBRACK reduce 37
RBRACE reduce 37
THEN reduce 37
ELSE reduce 37
TO reduce 37
DO reduce 37
IN reduce 37
END reduce 37
FUNCTION reduce 37
VAR reduce 37
TYPE reduce 37
state 69
program : LPAREN error RPAREN . (17)
. reduce 17
state 70
expr_seq : program SEMICOLON . expr_seq (45)
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 30
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
expr_seq goto 100
state 71
paren_expr : LPAREN expr_seq RPAREN . (43)
. reduce 43
state 72
case_expr : IF program THEN . program (50)
case_expr : IF program THEN . program ELSE program (51)
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 101
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 73
program : WHILE program DO . program (13)
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 102
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 74
program : FOR ID ASSIGN . program TO program DO program (14)
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 103
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 75
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)
LPAREN shift 104
. error
state 76
variable_dec : VAR ID . ASSIGN program (66)
variable_dec : VAR ID . COLON ID ASSIGN program (67)
COLON shift 105
ASSIGN shift 106
. error
state 77
type_dec : TYPE ID . EQ type (59)
EQ shift 107
. error
state 78
scope_expr : LET dec_list IN . END (52)
scope_expr : LET dec_list IN . expr_seq END (53)
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
END shift 108
BREAK shift 11
NIL shift 12
. error
program goto 30
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
expr_seq goto 109
state 79
dec_list : dec dec_list . (55)
. reduce 55
state 80
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 PLUS program . (31)
binary_operation_expr : program . MINUS program (32)
binary_operation_expr : program . TIMES program (33)
binary_operation_expr : program . DIVIDE program (34)
TIMES shift 46
DIVIDE shift 47
$end reduce 31
COMMA reduce 31
SEMICOLON reduce 31
RPAREN reduce 31
RBRACK reduce 31
RBRACE reduce 31
PLUS reduce 31
MINUS reduce 31
EQ reduce 31
NEQ reduce 31
LT reduce 31
LE reduce 31
GT reduce 31
GE reduce 31
AND reduce 31
OR reduce 31
THEN reduce 31
ELSE reduce 31
TO reduce 31
DO reduce 31
IN reduce 31
END reduce 31
FUNCTION reduce 31
VAR reduce 31
TYPE reduce 31
state 81
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 MINUS program . (32)
binary_operation_expr : program . TIMES program (33)
binary_operation_expr : program . DIVIDE program (34)
TIMES shift 46
DIVIDE shift 47
$end reduce 32
COMMA reduce 32
SEMICOLON reduce 32
RPAREN reduce 32
RBRACK reduce 32
RBRACE reduce 32
PLUS reduce 32
MINUS reduce 32
EQ reduce 32
NEQ reduce 32
LT reduce 32
LE reduce 32
GT reduce 32
GE reduce 32
AND reduce 32
OR reduce 32
THEN reduce 32
ELSE reduce 32
TO reduce 32
DO reduce 32
IN reduce 32
END reduce 32
FUNCTION reduce 32
VAR reduce 32
TYPE reduce 32
state 82
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 TIMES program . (33)
binary_operation_expr : program . DIVIDE program (34)
. reduce 33
state 83
binary_operation_expr : program . OR program (23)
binary_operation_expr : program . AND program (24)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -