📄 cm_parse.v
字号:
call goto 70
state 102
rel_expression : rel_expression PLUS . term
ID shift 42
NUM shift 43
FLOATNUM shift 44
CONSTCHAR shift 45
NOT shift 46
LPAREN shift 47
id goto 52
var goto 82
term goto 129
factor goto 69
call goto 70
state 103
rel_expression : rel_expression MINUS . term
ID shift 42
NUM shift 43
FLOATNUM shift 44
CONSTCHAR shift 45
NOT shift 46
LPAREN shift 47
id goto 52
var goto 82
term goto 130
factor goto 69
call goto 70
state 104
term : term TIMES . factor
ID shift 42
NUM shift 43
FLOATNUM shift 44
CONSTCHAR shift 45
NOT shift 46
LPAREN shift 47
id goto 52
var goto 82
factor goto 131
call goto 70
state 105
term : term OVER . factor
ID shift 42
NUM shift 43
FLOATNUM shift 44
CONSTCHAR shift 45
NOT shift 46
LPAREN shift 47
id goto 52
var goto 82
factor goto 132
call goto 70
state 106
param : type_specifier ID $$2 LBRACKET . RBRACKET
RBRACKET shift 133
state 107
selection_stmt : IF LPAREN expression . RPAREN statement ELSE statement
selection_stmt : IF LPAREN expression . RPAREN statement
RPAREN shift 134
state 108
while_stmt : WHILE LPAREN expression . RPAREN statement
RPAREN shift 135
state 109
for_expression : empty . (57)
. reduce 57
state 110
for_stmt : FOR LPAREN for_expression . SEMICOLON for_expression SEMICOLON for_expression RPAREN statement
SEMICOLON shift 136
state 111
for_expression : var . ASSIGN expression
factor : var . (80)
ASSIGN shift 137
. reduce 80
state 112
for_expression : or_expression . (56)
or_expression : or_expression . OR and_expression
OR shift 94
. reduce 56
state 113
return_stmt : RETURN expression SEMICOLON . (52)
. reduce 52
state 114
var : ID $$3 LBRACKET . expression RBRACKET
ID shift 42
NUM shift 43
FLOATNUM shift 44
CONSTCHAR shift 45
NOT shift 46
LPAREN shift 47
id goto 52
expression goto 138
var goto 63
or_expression goto 64
and_expression goto 65
additive_expression goto 66
rel_expression goto 67
term goto 68
factor goto 69
call goto 70
state 115
factor : LPAREN expression RPAREN . (79)
. reduce 79
state 116
call : id LPAREN RPAREN . (87)
. reduce 87
state 117
arg_list : expression . COMMA arg_list
arg_list : expression . (89)
COMMA shift 139
. reduce 89
state 118
call : id LPAREN arg_list . RPAREN
RPAREN shift 140
state 119
compound_stmt : LBRACE local_declarations statement_list RBRACE . (32)
. reduce 32
state 120
expression : var ASSIGN expression . (53)
. reduce 53
state 121
or_expression : or_expression OR and_expression . (62)
and_expression : and_expression . AND additive_expression
AND shift 95
. reduce 62
state 122
and_expression : and_expression AND additive_expression . (64)
additive_expression : additive_expression . EQ rel_expression
additive_expression : additive_expression . LT rel_expression
additive_expression : additive_expression . GT rel_expression
additive_expression : additive_expression . LE rel_expression
additive_expression : additive_expression . GE rel_expression
additive_expression : additive_expression . NE rel_expression
EQ shift 96
LT shift 97
LE shift 98
GT shift 99
GE shift 100
NE shift 101
. reduce 64
state 123
additive_expression : additive_expression EQ rel_expression . (66)
rel_expression : rel_expression . PLUS term
rel_expression : rel_expression . MINUS term
PLUS shift 102
MINUS shift 103
. reduce 66
state 124
additive_expression : additive_expression LT rel_expression . (67)
rel_expression : rel_expression . PLUS term
rel_expression : rel_expression . MINUS term
PLUS shift 102
MINUS shift 103
. reduce 67
state 125
additive_expression : additive_expression LE rel_expression . (69)
rel_expression : rel_expression . PLUS term
rel_expression : rel_expression . MINUS term
PLUS shift 102
MINUS shift 103
. reduce 69
state 126
additive_expression : additive_expression GT rel_expression . (68)
rel_expression : rel_expression . PLUS term
rel_expression : rel_expression . MINUS term
PLUS shift 102
MINUS shift 103
. reduce 68
state 127
additive_expression : additive_expression GE rel_expression . (70)
rel_expression : rel_expression . PLUS term
rel_expression : rel_expression . MINUS term
PLUS shift 102
MINUS shift 103
. reduce 70
state 128
additive_expression : additive_expression NE rel_expression . (71)
rel_expression : rel_expression . PLUS term
rel_expression : rel_expression . MINUS term
PLUS shift 102
MINUS shift 103
. reduce 71
state 129
rel_expression : rel_expression PLUS term . (73)
term : term . TIMES factor
term : term . OVER factor
TIMES shift 104
OVER shift 105
. reduce 73
state 130
rel_expression : rel_expression MINUS term . (74)
term : term . TIMES factor
term : term . OVER factor
TIMES shift 104
OVER shift 105
. reduce 74
state 131
term : term TIMES factor . (76)
. reduce 76
state 132
term : term OVER factor . (77)
. reduce 77
state 133
param : type_specifier ID $$2 LBRACKET RBRACKET . (30)
. reduce 30
state 134
selection_stmt : IF LPAREN expression RPAREN . statement ELSE statement
selection_stmt : IF LPAREN expression RPAREN . statement
IF shift 38
WHILE shift 39
FOR shift 40
RETURN shift 41
ID shift 42
NUM shift 43
FLOATNUM shift 44
CONSTCHAR shift 45
NOT shift 46
LPAREN shift 47
SEMICOLON shift 48
LBRACE shift 32
id goto 52
compound_stmt goto 53
statement goto 141
expression_stmt goto 57
selection_stmt goto 58
while_stmt goto 59
for_stmt goto 60
return_stmt goto 61
expression goto 62
var goto 63
or_expression goto 64
and_expression goto 65
additive_expression goto 66
rel_expression goto 67
term goto 68
factor goto 69
call goto 70
state 135
while_stmt : WHILE LPAREN expression RPAREN . statement
IF shift 38
WHILE shift 39
FOR shift 40
RETURN shift 41
ID shift 42
NUM shift 43
FLOATNUM shift 44
CONSTCHAR shift 45
NOT shift 46
LPAREN shift 47
SEMICOLON shift 48
LBRACE shift 32
id goto 52
compound_stmt goto 53
statement goto 142
expression_stmt goto 57
selection_stmt goto 58
while_stmt goto 59
for_stmt goto 60
return_stmt goto 61
expression goto 62
var goto 63
or_expression goto 64
and_expression goto 65
additive_expression goto 66
rel_expression goto 67
term goto 68
factor goto 69
call goto 70
state 136
for_stmt : FOR LPAREN for_expression SEMICOLON . for_expression SEMICOLON for_expression RPAREN statement
empty : . (58)
ID shift 42
NUM shift 43
FLOATNUM shift 44
CONSTCHAR shift 45
NOT shift 46
LPAREN shift 47
. reduce 58
empty goto 109
id goto 52
for_expression goto 143
var goto 111
or_expression goto 112
and_expression goto 65
additive_expression goto 66
rel_expression goto 67
term goto 68
factor goto 69
call goto 70
state 137
for_expression : var ASSIGN . expression
ID shift 42
NUM shift 43
FLOATNUM shift 44
CONSTCHAR shift 45
NOT shift 46
LPAREN shift 47
id goto 52
expression goto 144
var goto 63
or_expression goto 64
and_expression goto 65
additive_expression goto 66
rel_expression goto 67
term goto 68
factor goto 69
call goto 70
state 138
var : ID $$3 LBRACKET expression . RBRACKET
RBRACKET shift 145
state 139
arg_list : expression COMMA . arg_list
ID shift 42
NUM shift 43
FLOATNUM shift 44
CONSTCHAR shift 45
NOT shift 46
LPAREN shift 47
id goto 52
expression goto 117
var goto 63
or_expression goto 64
and_expression goto 65
additive_expression goto 66
rel_expression goto 67
term goto 68
factor goto 69
call goto 70
arg_list goto 146
state 140
call : id LPAREN arg_list RPAREN . (86)
. reduce 86
141: shift-reduce conflict (shift 147, reduce 48) on ELSE
state 141
selection_stmt : IF LPAREN expression RPAREN statement . ELSE statement
selection_stmt : IF LPAREN expression RPAREN statement . (48)
ELSE shift 147
. reduce 48
state 142
while_stmt : WHILE LPAREN expression RPAREN statement . (49)
. reduce 49
state 143
for_stmt : FOR LPAREN for_expression SEMICOLON for_expression . SEMICOLON for_expression RPAREN statement
SEMICOLON shift 148
state 144
for_expression : var ASSIGN expression . (55)
. reduce 55
state 145
var : ID $$3 LBRACKET expression RBRACKET . (61)
. reduce 61
state 146
arg_list : expression COMMA arg_list . (88)
. reduce 88
state 147
selection_stmt : IF LPAREN expression RPAREN statement ELSE . statement
IF shift 38
WHILE shift 39
FOR shift 40
RETURN shift 41
ID shift 42
NUM shift 43
FLOATNUM shift 44
CONSTCHAR shift 45
NOT shift 46
LPAREN shift 47
SEMICOLON shift 48
LBRACE shift 32
id goto 52
compound_stmt goto 53
statement goto 149
expression_stmt goto 57
selection_stmt goto 58
while_stmt goto 59
for_stmt goto 60
return_stmt goto 61
expression goto 62
var goto 63
or_expression goto 64
and_expression goto 65
additive_expression goto 66
rel_expression goto 67
term goto 68
factor goto 69
call goto 70
state 148
for_stmt : FOR LPAREN for_expression SEMICOLON for_expression SEMICOLON . for_expression RPAREN statement
empty : . (58)
ID shift 42
NUM shift 43
FLOATNUM shift 44
CONSTCHAR shift 45
NOT shift 46
LPAREN shift 47
. reduce 58
empty goto 109
id goto 52
for_expression goto 150
var goto 111
or_expression goto 112
and_expression goto 65
additive_expression goto 66
rel_expression goto 67
term goto 68
factor goto 69
call goto 70
state 149
selection_stmt : IF LPAREN expression RPAREN statement ELSE statement . (47)
. reduce 47
state 150
for_stmt : FOR LPAREN for_expression SEMICOLON for_expression SEMICOLON for_expression . RPAREN statement
RPAREN shift 151
state 151
for_stmt : FOR LPAREN for_expression SEMICOLON for_expression SEMICOLON for_expression RPAREN . statement
IF shift 38
WHILE shift 39
FOR shift 40
RETURN shift 41
ID shift 42
NUM shift 43
FLOATNUM shift 44
CONSTCHAR shift 45
NOT shift 46
LPAREN shift 47
SEMICOLON shift 48
LBRACE shift 32
id goto 52
compound_stmt goto 53
statement goto 152
expression_stmt goto 57
selection_stmt goto 58
while_stmt goto 59
for_stmt goto 60
return_stmt goto 61
expression goto 62
var goto 63
or_expression goto 64
and_expression goto 65
additive_expression goto 66
rel_expression goto 67
term goto 68
factor goto 69
call goto 70
state 152
for_stmt : FOR LPAREN for_expression SEMICOLON for_expression SEMICOLON for_expression RPAREN statement . (50)
. reduce 50
State 19 contains 1 shift-reduce conflict
State 141 contains 1 shift-reduce conflict
37 tokens, 38 nonterminals
90 grammar rules, 153 states
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -