📄 parse.v
字号:
CONSTCHAR shift 35
ID shift 12
LPAREN shift 40
NOT shift 43
id goto 46
expression goto 101
var goto 75
or_expression goto 59
and_expression goto 60
simple_expression goto 61
additive_expression goto 62
term goto 63
factor goto 64
call goto 65
state 71
while_stmt : WHILE LPAREN . expression RPAREN statement
NUM shift 33
FLOATNUM shift 34
CONSTCHAR shift 35
ID shift 12
LPAREN shift 40
NOT shift 43
id goto 46
expression goto 102
var goto 75
or_expression goto 59
and_expression goto 60
simple_expression goto 61
additive_expression goto 62
term goto 63
factor goto 64
call goto 65
state 72
break_stmt : BREAK SEMI . (45)
. reduce 45
state 73
return_stmt : RETURN SEMI . (42)
. reduce 42
state 74
return_stmt : RETURN expression . SEMI
SEMI shift 103
state 75
factor : var . (67)
. reduce 67
state 76
factor : LPAREN expression . RPAREN
RPAREN shift 104
state 77
factor : NOT factor . (72)
. reduce 72
state 78
var_declaration : type_specifier id . SEMI
var_declaration : type_specifier id . LBRACKET NUM $$1 RBRACKET SEMI
LBRACKET shift 14
SEMI shift 16
state 79
var : id LBRACKET . expression RBRACKET
NUM shift 33
FLOATNUM shift 34
CONSTCHAR shift 35
ID shift 12
LPAREN shift 40
NOT shift 43
id goto 46
expression goto 105
var goto 75
or_expression goto 59
and_expression goto 60
simple_expression goto 61
additive_expression goto 62
term goto 63
factor goto 64
call goto 65
state 80
call : id LPAREN . args RPAREN
call : id LPAREN . RPAREN
NUM shift 33
FLOATNUM shift 34
CONSTCHAR shift 35
ID shift 12
LPAREN shift 40
RPAREN shift 106
NOT shift 43
id goto 46
expression goto 107
var goto 75
or_expression goto 59
and_expression goto 60
simple_expression goto 61
additive_expression goto 62
term goto 63
factor goto 64
call goto 65
args goto 108
arg_list goto 109
state 81
compound_stmt : LBC local_declarations RBC . (22)
. reduce 22
state 82
local_declarations : local_declarations var_declaration . (26)
. reduce 26
state 83
compound_stmt : LBC local_declarations statement_list . RBC
statement_list : statement_list . statement
NUM shift 33
FLOATNUM shift 34
CONSTCHAR shift 35
ID shift 12
IF shift 36
WHILE shift 37
BREAK shift 38
RETURN shift 39
LPAREN shift 40
LBC shift 26
RBC shift 110
SEMI shift 42
NOT shift 43
id goto 46
compound_stmt goto 47
statement goto 85
expression_stmt goto 51
if_stmt goto 52
while_stmt goto 53
return_stmt goto 54
assign_stmt goto 55
break_stmt goto 56
expression goto 57
var goto 58
or_expression goto 59
and_expression goto 60
simple_expression goto 61
additive_expression goto 62
term goto 63
factor goto 64
call goto 65
state 84
compound_stmt : LBC statement_list RBC . (25)
. reduce 25
state 85
statement_list : statement_list statement . (28)
. reduce 28
state 86
expression_stmt : expression SEMI . (37)
. reduce 37
state 87
assign_stmt : var ASSIGN . expression SEMI
NUM shift 33
FLOATNUM shift 34
CONSTCHAR shift 35
ID shift 12
LPAREN shift 40
NOT shift 43
id goto 46
expression goto 111
var goto 75
or_expression goto 59
and_expression goto 60
simple_expression goto 61
additive_expression goto 62
term goto 63
factor goto 64
call goto 65
state 88
or_expression : or_expression OR . and_expression
NUM shift 33
FLOATNUM shift 34
CONSTCHAR shift 35
ID shift 12
LPAREN shift 40
NOT shift 43
id goto 46
var goto 75
and_expression goto 112
simple_expression goto 61
additive_expression goto 62
term goto 63
factor goto 64
call goto 65
state 89
and_expression : and_expression AND . simple_expression
NUM shift 33
FLOATNUM shift 34
CONSTCHAR shift 35
ID shift 12
LPAREN shift 40
NOT shift 43
id goto 46
var goto 75
simple_expression goto 113
additive_expression goto 62
term goto 63
factor goto 64
call goto 65
state 90
simple_expression : additive_expression EQ . additive_expression
NUM shift 33
FLOATNUM shift 34
CONSTCHAR shift 35
ID shift 12
LPAREN shift 40
NOT shift 43
id goto 46
var goto 75
additive_expression goto 114
term goto 63
factor goto 64
call goto 65
state 91
simple_expression : additive_expression LT . additive_expression
NUM shift 33
FLOATNUM shift 34
CONSTCHAR shift 35
ID shift 12
LPAREN shift 40
NOT shift 43
id goto 46
var goto 75
additive_expression goto 115
term goto 63
factor goto 64
call goto 65
state 92
simple_expression : additive_expression LE . additive_expression
NUM shift 33
FLOATNUM shift 34
CONSTCHAR shift 35
ID shift 12
LPAREN shift 40
NOT shift 43
id goto 46
var goto 75
additive_expression goto 116
term goto 63
factor goto 64
call goto 65
state 93
simple_expression : additive_expression GT . additive_expression
NUM shift 33
FLOATNUM shift 34
CONSTCHAR shift 35
ID shift 12
LPAREN shift 40
NOT shift 43
id goto 46
var goto 75
additive_expression goto 117
term goto 63
factor goto 64
call goto 65
state 94
simple_expression : additive_expression GE . additive_expression
NUM shift 33
FLOATNUM shift 34
CONSTCHAR shift 35
ID shift 12
LPAREN shift 40
NOT shift 43
id goto 46
var goto 75
additive_expression goto 118
term goto 63
factor goto 64
call goto 65
state 95
simple_expression : additive_expression NE . additive_expression
NUM shift 33
FLOATNUM shift 34
CONSTCHAR shift 35
ID shift 12
LPAREN shift 40
NOT shift 43
id goto 46
var goto 75
additive_expression goto 119
term goto 63
factor goto 64
call goto 65
state 96
additive_expression : additive_expression PLUS . term
NUM shift 33
FLOATNUM shift 34
CONSTCHAR shift 35
ID shift 12
LPAREN shift 40
NOT shift 43
id goto 46
var goto 75
term goto 120
factor goto 64
call goto 65
state 97
additive_expression : additive_expression MINUS . term
NUM shift 33
FLOATNUM shift 34
CONSTCHAR shift 35
ID shift 12
LPAREN shift 40
NOT shift 43
id goto 46
var goto 75
term goto 121
factor goto 64
call goto 65
state 98
term : term TIMES . factor
NUM shift 33
FLOATNUM shift 34
CONSTCHAR shift 35
ID shift 12
LPAREN shift 40
NOT shift 43
id goto 46
var goto 75
factor goto 122
call goto 65
state 99
term : term OVER . factor
NUM shift 33
FLOATNUM shift 34
CONSTCHAR shift 35
ID shift 12
LPAREN shift 40
NOT shift 43
id goto 46
var goto 75
factor goto 123
call goto 65
state 100
param : type_specifier id LBRACKET RBRACKET . (21)
. reduce 21
state 101
if_stmt : IF LPAREN expression . RPAREN statement ELSE statement
if_stmt : IF LPAREN expression . RPAREN statement
RPAREN shift 124
state 102
while_stmt : WHILE LPAREN expression . RPAREN statement
RPAREN shift 125
state 103
return_stmt : RETURN expression SEMI . (43)
. reduce 43
state 104
factor : LPAREN expression RPAREN . (66)
. reduce 66
state 105
var : id LBRACKET expression . RBRACKET
RBRACKET shift 126
state 106
call : id LPAREN RPAREN . (74)
. reduce 74
state 107
arg_list : expression . COMMA arg_list
arg_list : expression . (77)
COMMA shift 127
. reduce 77
state 108
call : id LPAREN args . RPAREN
RPAREN shift 128
state 109
args : arg_list . (75)
. reduce 75
state 110
compound_stmt : LBC local_declarations statement_list RBC . (23)
. reduce 23
state 111
assign_stmt : var ASSIGN expression . SEMI
SEMI shift 129
state 112
or_expression : or_expression OR and_expression . (49)
and_expression : and_expression . AND simple_expression
AND shift 89
. reduce 49
state 113
and_expression : and_expression AND simple_expression . (51)
. reduce 51
state 114
simple_expression : additive_expression EQ additive_expression . (57)
additive_expression : additive_expression . PLUS term
additive_expression : additive_expression . MINUS term
PLUS shift 96
MINUS shift 97
. reduce 57
state 115
simple_expression : additive_expression LT additive_expression . (56)
additive_expression : additive_expression . PLUS term
additive_expression : additive_expression . MINUS term
PLUS shift 96
MINUS shift 97
. reduce 56
state 116
simple_expression : additive_expression LE additive_expression . (55)
additive_expression : additive_expression . PLUS term
additive_expression : additive_expression . MINUS term
PLUS shift 96
MINUS shift 97
. reduce 55
state 117
simple_expression : additive_expression GT additive_expression . (54)
additive_expression : additive_expression . PLUS term
additive_expression : additive_expression . MINUS term
PLUS shift 96
MINUS shift 97
. reduce 54
state 118
simple_expression : additive_expression GE additive_expression . (53)
additive_expression : additive_expression . PLUS term
additive_expression : additive_expression . MINUS term
PLUS shift 96
MINUS shift 97
. reduce 53
state 119
simple_expression : additive_expression NE additive_expression . (58)
additive_expression : additive_expression . PLUS term
additive_expression : additive_expression . MINUS term
PLUS shift 96
MINUS shift 97
. reduce 58
state 120
additive_expression : additive_expression PLUS term . (60)
term : term . TIMES factor
term : term . OVER factor
TIMES shift 98
OVER shift 99
. reduce 60
state 121
additive_expression : additive_expression MINUS term . (61)
term : term . TIMES factor
term : term . OVER factor
TIMES shift 98
OVER shift 99
. reduce 61
state 122
term : term TIMES factor . (63)
. reduce 63
state 123
term : term OVER factor . (64)
. reduce 64
state 124
if_stmt : IF LPAREN expression RPAREN . statement ELSE statement
if_stmt : IF LPAREN expression RPAREN . statement
NUM shift 33
FLOATNUM shift 34
CONSTCHAR shift 35
ID shift 12
IF shift 36
WHILE shift 37
BREAK shift 38
RETURN shift 39
LPAREN shift 40
LBC shift 26
SEMI shift 42
NOT shift 43
id goto 46
compound_stmt goto 47
statement goto 130
expression_stmt goto 51
if_stmt goto 52
while_stmt goto 53
return_stmt goto 54
assign_stmt goto 55
break_stmt goto 56
expression goto 57
var goto 58
or_expression goto 59
and_expression goto 60
simple_expression goto 61
additive_expression goto 62
term goto 63
factor goto 64
call goto 65
state 125
while_stmt : WHILE LPAREN expression RPAREN . statement
NUM shift 33
FLOATNUM shift 34
CONSTCHAR shift 35
ID shift 12
IF shift 36
WHILE shift 37
BREAK shift 38
RETURN shift 39
LPAREN shift 40
LBC shift 26
SEMI shift 42
NOT shift 43
id goto 46
compound_stmt goto 47
statement goto 131
expression_stmt goto 51
if_stmt goto 52
while_stmt goto 53
return_stmt goto 54
assign_stmt goto 55
break_stmt goto 56
expression goto 57
var goto 58
or_expression goto 59
and_expression goto 60
simple_expression goto 61
additive_expression goto 62
term goto 63
factor goto 64
call goto 65
state 126
var : id LBRACKET expression RBRACKET . (47)
. reduce 47
state 127
arg_list : expression COMMA . arg_list
NUM shift 33
FLOATNUM shift 34
CONSTCHAR shift 35
ID shift 12
LPAREN shift 40
NOT shift 43
id goto 46
expression goto 107
var goto 75
or_expression goto 59
and_expression goto 60
simple_expression goto 61
additive_expression goto 62
term goto 63
factor goto 64
call goto 65
arg_list goto 132
state 128
call : id LPAREN args RPAREN . (73)
. reduce 73
state 129
assign_stmt : var ASSIGN expression SEMI . (44)
. reduce 44
130: shift-reduce conflict (shift 133, reduce 40) on ELSE
state 130
if_stmt : IF LPAREN expression RPAREN statement . ELSE statement
if_stmt : IF LPAREN expression RPAREN statement . (40)
ELSE shift 133
. reduce 40
state 131
while_stmt : WHILE LPAREN expression RPAREN statement . (41)
. reduce 41
state 132
arg_list : expression COMMA arg_list . (76)
. reduce 76
state 133
if_stmt : IF LPAREN expression RPAREN statement ELSE . statement
NUM shift 33
FLOATNUM shift 34
CONSTCHAR shift 35
ID shift 12
IF shift 36
WHILE shift 37
BREAK shift 38
RETURN shift 39
LPAREN shift 40
LBC shift 26
SEMI shift 42
NOT shift 43
id goto 46
compound_stmt goto 47
statement goto 134
expression_stmt goto 51
if_stmt goto 52
while_stmt goto 53
return_stmt goto 54
assign_stmt goto 55
break_stmt goto 56
expression goto 57
var goto 58
or_expression goto 59
and_expression goto 60
simple_expression goto 61
additive_expression goto 62
term goto 63
factor goto 64
call goto 65
state 134
if_stmt : IF LPAREN expression RPAREN statement ELSE statement . (39)
. reduce 39
State 130 contains 1 shift-reduce conflict
37 tokens, 33 nonterminals
78 grammar rules, 135 states
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -